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

Егор Шаляпин

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

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

C-подобный:
#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 =)
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #2
Егор Шаляпин, я кому-то такое делал...

PHP:
#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|name> <cmd>");
}

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

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

	decl String:Arguments[256];
	GetCmdArgString(Arguments, sizeof(Arguments));

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

	decl String:target_name[MAX_TARGET_LENGTH];
	decl target_list[MAXPLAYERS], target_count, bool: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(reason, sizeof(reason), Arguments[len]);

		for (new i = 0; i < target_count; i++)
		{
			FakeClientCommand(target_list[i], Info);
		}
	}
	else
	{
		ReplyToTargetError(client, target_count);
	}

	return Plugin_Handled;
}
 
Последнее редактирование:
Сверху Снизу