Hejter
xor ebx, ebx
- Сообщения
- 1,759
- Реакции
- 393
Создаю ячейку и выбираю с помощью рандома.
Создаю таймер на регенерацию здоровья.
Проблема в том что, когда игроку попадается эта ячейка, ему пишет Регенерация 0 в 2.9999999с до 110HP, но регенерация не идет, только на 1-2 хп и потом останавливается.
PHP:
case 3:
{
new Handle:datapack = INVALID_HANDLE;
new Float:random_regen_timer = GetRandomFloat(1.0, 3.0);
CreateDataTimer(random_regen_timer, RegenTimer, datapack, TIMER_REPEAT);
PrintToChat(client, "Регенерация %dHP в %dс до %dHP.", regen_health, random_regen_timer, regen_maxhp);
isRegenActive[client] = true;
WritePackCell(datapack, client);
ResetPack(datapack);
}
PHP:
public Action:RegenTimer(Handle:timer, any:serial)
{
//new client = ReadPackCell(pack);
new client = GetClientFromSerial(serial);
if (client != 0)
{
new cHealth = GetClientHealth(client);
regen_health = GetRandomInt(1, 5);
if (isRegenActive[client] && client != 0)
{
SetEntityHealth(client, cHealth + regen_health);
}
else
{
return Plugin_Stop;
}
if (GetClientHealth(client) > regen_maxhp)
{
SetEntityHealth(client, regen_maxhp);
return Plugin_Stop;
}
}
return Plugin_Continue;
}