PDA

Просмотр полной версии : [Вопрос] Флуд сообщением



Mr.DeViLsS
10.06.2014, 21:14
почему вот флудит каждую секунду?

stock PayDayTimer()
{
new newhour,newminute,newsecond, ghour;
gettime(newhour, newminute, newsecond);
if((newhour > ghour) || (newhour == 0 && ghour == 23))
{
va_SendClientMessageToAll(COLOR_WHITE, "Russian World: Сейчас времени: %d:00 часов", newhour);
ghour = newhour;
SetWorldTime(newhour);
foreach(Player, j)
{
if(GetPVarInt(j, "Logged") == 0) return 1;
}
}
return true;
}

ведь по условию должно выводить каждый час, в --:00. PayDayTimer(); - используется в односекундном паблике.

DeimoS
10.06.2014, 21:56
Условие неверное. ghour объявляется вместе с всеми переменными и оно всегда будет равно нулю, ибо значения ему не устанавливается
И вообще, что за извращение?

stock PayDayTimer()
{
new payday_hour, payday_minute, payday_second;
gettime(payday_hour, payday_minute, payday_second);
if(!payday_minute && !payday_second)
{
va_SendClientMessageToAll(COLOR_WHITE, "Russian World: Сейчас времени: %d:00 часов", payday_hour);
SetWorldTime(payday_hour);
foreach(Player, j)
{
if(GetPVarInt(j, "Logged") == 0) continue;//Тут нужно использовать continue
}
}
return true;
}
Или же ghour сделайте глобальной переменной