Таймер по началу раунда. Сообщение через 20 сек

Сообщения
17
Реакции
0
Здравствуйте форумчане) Вопросик таков:
Как вывести сообщение после 20 секунд раунда?

Пока что есть воть что:

public OnPluginStart()
{
HookEvent("round_start", round_start, EventHookMode_PostNoCopy);
CreateTimer(20.0, LoadStuff);
}


public round_start(Handle:event, const String:name[], bool:dontBroadcast)
{
PrintToChatAll("\x05[NSKGAMERS.RU] \x04Первый зомби появится через \x0320 секунд!", GetEventInt(event, "timelimit"));
PrintToChatAll("\x05[NSKGAMERS.RU] \x04Первый зомби появится через \x0320 секунд!", GetEventInt(event, "timelimit"));
PrintToChatAll("\x05[NSKGAMERS.RU] \x04Первый зомби появится через \x0320 секунд!", GetEventInt(event, "timelimit"));
PrintToChatAll("\x05[NSKGAMERS.RU] \x04Первый зомби появится через \x0320 секунд!", GetEventInt(event, "timelimit"));

}


А вот как сам таймер запустить по началу раунда?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #2
PHP:
public OnPluginStart()
	HookEvent("round_start", round_start, EventHookMode_PostNoCopy); 


public round_start(Handle:event, const String:name[], bool:dontBroadcast) 
	CreateTimer(20.0, LoadStuff); 

public Action:LoadStuff(Handle:hTimer)
{
	PrintToChatAll("\x05[NSKGAMERS.RU] \x04Первый зомби появится через \x0320 секунд!");
}

Если я правильно понял.

Но зачем GetEventInt(event, "timelimit") ?

И зомби должен появляться через 40 сек. Т.к через 20 сек после начала раунда напишет, что "зомби появится через 20" пройдет еще 20 и тогда он должен появляться.
 

The End Is Near...

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

new Handle:hTimer = INVALID_HANDLE;

public OnPluginStart()
{
	HookEvent("round_start", Event_OnRoundStart);
}

public Event_OnRoundStart(Handle:event, const String:name[], bool:silent)
{
	if (hTimer != INVALID_HANDLE)
	{
		KillTimer(hTimer);
	}

	hTimer = CreateTimer(20.0, CT_Timer);
}

public Action:CT_Timer(Handle:timer)
{
	PrintToChatAll("Message");

	hTimer = INVALID_HANDLE;
}
 
Сообщения
17
Реакции
0
Почему то не работает, либо я туплю.. Смотрите, сделал так:

public OnPluginStart()
{
HookEvent("round_start", round_start, EventHookMode_PostNoCopy);
}


public round_start(Handle:event, const String:name[], bool:dontBroadcast)
{
PrintToChatAll("\x05[NSKGAMERS.RU] \x04Первый зомби появится через \x0320 секунд!", GetEventInt(event, "timelimit"));
PrintToChatAll("\x05[NSKGAMERS.RU] \x04Первый зомби появится через \x0320 секунд!", GetEventInt(event, "timelimit"));
PrintToChatAll("\x05[NSKGAMERS.RU] \x04Первый зомби появится через \x0320 секунд!", GetEventInt(event, "timelimit"));
PrintToChatAll("\x05[NSKGAMERS.RU] \x04Первый зомби появится через \x0320 секунд!", GetEventInt(event, "timelimit"));
CreateTimer(20.0, CT_Timer);
}

public Action:CT_Timer(Handle:timer)
{
PrintToChatAll("\x05[NSKGAMERS.RU] \x04ПЕРВЫЙ ЗОМБИ ПОЯВИЛСЯ! \x03БЕГИ!!");
}


Вот по идее мне так и нужно, таймер как то рандомно работает( То через 5 сек напишет, то через 15 то через 20
то есть от 0 до 20 секунд. Что делать? ХЕЛП
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #5
Сергей Зырянов 43676215,

PHP:
public OnPluginStart()
	HookEvent("round_start", round_start, EventHookMode_PostNoCopy); 

public round_start(Handle:event, const String:name[], bool:dontBroadcast)
{
	PrintToChatAll("\x05[NSKGAMERS.RU] \x04Первый зомби появится через \x0320 секунд!");
	CreateTimer(20.0, LoadStuff);
}

public Action:LoadStuff(Handle:hTimer)
	PrintToChatAll("\x05[NSKGAMERS.RU] \x04ПЕРВЫЙ ЗОМБИ ПОЯВИЛСЯ! \x03БЕГИ!!");
 
  • Мне нравится
Реакции: Exle

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #7
PHP:
#include <sourcemod>

new Handle:hTimer = INVALID_HANDLE;

public OnPluginStart()
	HookEvent("round_start", round_start, EventHookMode_PostNoCopy); 

public round_start(Handle:event, const String:name[], bool:dontBroadcast)
{
	PrintToChatAll("\x05[NSKGAMERS.RU] \x04Первый зомби появится через \x0320 секунд!");
	if (hTimer != INVALID_HANDLE)
		KillTimer(hTimer);

	hTimer = CreateTimer(20.0, CT_Timer);
}

public Action:CT_Timer(Handle:timer)
{
	PrintToChatAll("\x05[NSKGAMERS.RU] \x04ПЕРВЫЙ ЗОМБИ ПОЯВИЛСЯ! \x03БЕГИ!!");
	hTimer = INVALID_HANDLE;
}
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #9
☆★☆БАТЯ☆★☆™, mp_restartgame 1
или еще что-то
 
Сверху Снизу