Primo
типа серьёзный тип
- Сообщения
- 1,532
- Реакции
- 759
Решил начать знакомство с таймерами, поэтому для начала решил сделать регенерацию hp игрокам.
Имеется такой код:
Проблема в том, что таймер работает только для одного игрока. Есть альтернативные варианты регенерации? Или что я сделал не так?
Имеется такой код:
PHP:
new Handle:Timer[MAXPLAYERS];
public VErtoe_Round_Start(Handle:event, const String:name[], bool:dontBroadcast)
{
//new client = GetClientOfUserId(GetEventInt(event, "userid"));
PrintToChatAll("Посетите нашу страницу \x01\x07vk.com/vertoe");
PrintToChatAll("Вступайте в нашу группу Steam \x01\x07VErtoe Gaming");
for(new client=1; client <= GetMaxClients(); client++)
{
if(Timer[client] == INVALID_HANDLE)
{
Timer[client] = CreateTimer(2.0, PlayerHeal, client, TIMER_REPEAT);
}
}
}
public VErtoe_Round_End(Handle:event, const String:name[], bool:dontBroadcast)
{
for(new i=1; i <= GetMaxClients(); i++)
{
KillTimer(Timer[i]);
}
}
public Action:PlayerHeal(Handle:timer, any:client)
{
if(IsClientInGame(client))
{
if(Player[Regen][client] >= 1)
{
if(GetClientHealth(client) <= 100)
{
SetEntityHealth(client, GetClientHealth(client) + Player[Regen][client]);
}
}
else
{
KillTimer(timer);
}
}
}
Проблема в том, что таймер работает только для одного игрока. Есть альтернативные варианты регенерации? Или что я сделал не так?