Дописать плагин Force cmd (Для знающий будет изи)

Тема в разделе "Counter-Strike: Global Offensive", создана пользователем Егор Шаляпин, 6 ноя 2015.

  1. Егор Шаляпин

    Егор Шаляпин

    Сообщения:
    8
    Симпатии:
    0
    Есть плагин Force cmd
    Нужно добавить чтоб при вводе @ALL вместо <userid>, команда всем игрокам на сервере отправлялось

    Исходник так выглядит:

    Код:
    #pragma semicolon 1
    #include <sourcemod>
    
    public Plugin:myinfo = 
    {
    	name	= "Force Cmd",
    	author	= "wS (♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥)",
    	version = "1.0"
    };
    
    public OnPluginStart()
    {
    	RegAdminCmd("force_cmd", force_cmd, ADMFLAG_ROOT, "force_cmd <userid> <cmd>");
    }
    
    public Action:force_cmd(admin, args)
    {
    	if (args != 2)
    	{
    		PrintToConsole(admin, "force_cmd <userid> <cmd>");
    		return Plugin_Handled;
    	}
    
    	decl String:Info[235]; GetCmdArg(1, Info, 235);
    	new target = GetClientOfUserId(StringToInt(Info));
    	if (target < 1)
    	{
    		PrintToConsole(admin, "userid '%s' not found", Info);
    		return Plugin_Handled;
    	}
    
    	GetCmdArg(2, Info, 235);
    	FakeClientCommand(target, "%s", Info);
    
    	return Plugin_Handled;
    }

    Помогите пожалуйста бесплатно, мани 0 =)
     
  2. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.973
    Симпатии:
    2.980
    Егор Шаляпин, я кому-то такое делал...

    PHP:
    #pragma semicolon 1
    #include <sourcemod>

    public Plugin:myinfo 
    {
        
    name    "Force Cmd",
        
    author    "wS (♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥)",
        
    version "1.0"
    };

    public 
    OnPluginStart()
    {
        
    RegAdminCmd("force_cmd"force_cmdADMFLAG_ROOT"force_cmd <#userid|name> <cmd>");
    }

    public 
    Action:force_cmd(clientargs)
    {
        if (
    args != 2)
        {
            
    ReplyToCommand(client"force_cmd <#userid|name> <cmd>");
            return 
    Plugin_Handled;
        }

        
    decl String:Info[128];
        
    GetCmdArg(2Info128);

        
    decl String:Arguments[256];
        
    GetCmdArgString(Argumentssizeof(Arguments));

        
    decl String:arg[65];
        new 
    len BreakString(Argumentsargsizeof(arg));
        
        if (
    len == -1)
        {
            
    /* Safely null terminate */
            
    len 0;
            
    Arguments[0] = '\0';
        }

        
    decl String:target_name[MAX_TARGET_LENGTH];
        
    decl target_list[MAXPLAYERS], target_countbool:tn_is_ml;
        
        if ((
    target_count ProcessTargetString(
                
    arg,
                
    client
                
    target_list
                
    MAXPLAYERS
                
    COMMAND_FILTER_CONNECTED,
                
    target_name,
                
    sizeof(target_name),
                
    tn_is_ml)) > 0)
        {
            
    decl String:reason[64];
            
    Format(reasonsizeof(reason), Arguments[len]);

            for (new 
    0target_counti++)
            {
                
    FakeClientCommand(target_list[i], Info);
            }
        }
        else
        {
            
    ReplyToTargetError(clienttarget_count);
        }

        return 
    Plugin_Handled;
    }
     
    Последнее редактирование: 7 ноя 2015