Создание таймера и принудительная анимация.

Sirse

http://zonasumraka.ru/
Сообщения
276
Реакции
108
В общем, пара вопросов.
Имеется такой код -

C-подобный:
public Action:Command_Throw(client, args) {
	if (GetConVarBool(g_CVarEnable)) {
		if (!client || !IsClientInGame(client)) {
		    return Plugin_Continue;
	    }
		if (!IsClientObserver(client) && CheckCommandAccess(client, "sm_throwknife", 0, true) && (g_iKnives[client] > 0)) {
		    if (!StrEqual(sWeapon, "knife")) {
			    ThrowKnife(client);
			} else {
			    ThrowKnife(client);
			}
	    }
		return Plugin_Handled;
	}
}

Мне нужно создать таймер, причём таким образом, чтобы задержка перед запуском ThrowKnife составляла Х времени. Желательно с примером кода =)
И ещё, возможно ли принудительно клиенту воспроизвести анимацию удара ножом?
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
PHP:
#include <sourcemod>

#define TIME_CHECK 1.0

// Создаем глобальную переменную, в которой будем хранить время активации команды клиентом
new Float:CheckTime[MAXPLAYERS + 1] = 0.0;

public OnPluginStart()
{
	RegConsoleCmd("test", CallBack);
}

public OnClientPutInServer(client)
{
	if (CheckTime[client] != 0.0)
	{
		CheckTime[client] = 0.0;
	}

}

public Action:CallBack(client, args)
{
	if (client > 0)
	{
		// Создаем новую переменную, в которой также будем хранить время активации команды клиентом
		new Float:time = GetGameTime();

		// Если разность текущего времени и времени предыдущей активации команды будет больше, чем TIME_CHECK
		if ((time - CheckTime[client]) > TIME_CHECK)
		{
			// То продолжаем выполнение команды

			// Твой код
		}

		// Сохраняем время активации
		CheckTime[client] = time;
	}

	return Plugin_Handled;
}

Код -> Anti Console Flood
 
Сверху Снизу