PDA

Просмотр полной версии : [Вопрос] Помогите с таймером



Andrik851
08.06.2019, 17:57
Добрый день помогите пожалуйста с системой бани у меня вот такая система где при заходе на определенные координаты игроку плюсуется гигиена но вот не могу ни как сделать проверку на абонемент(сообщение в чат выводится а гигиена все ровно начисляется) и таймер очень быстро начисляет помогите все это исправить



if (IsPlayerInRangeOfPoint(i, 3.5, 2496.9109,-619.2087,919.0159))
{
if(PlayerInfo[i][pBanya] == 0)//проверка на абонемент
{
SendClientMessage(i,COLOR_LIGHTBLUE,"[INFO] {FFFFFF}У вас нет Абонемента!");
}
PlayerInfo[i][pHealTime] ++;
if(PlayerInfo[i][pHealTime] >= (1+random(1)))
{
GameTextForPlayer(i, "+1 XЈ", 0, 1);
PlayerInfo[i][pGigiena] += 1;
}
if(PlayerInfo[i][pGigiena] == 100)
{
PlayerInfo[i][pGigiena] = 100;
PlayerInfo[i][pBanya] = 0;// здесь абонемент должен пропадать
SendClientMessage(i,COLOR_LIGHTBLUE,"[INFO] {FFFFFF}Вы помылись и можете идти!");
}
PlayerInfo[i][pHealTime] = 0;// да и когда прописал вот этот код гигиена вообще перестала начисляться
}
}

Andrik851
08.06.2019, 18:30
И причем сообщение в чат об отсуствии абонемента выводится со скоростью 2 сообщения в секунду

Andrik851
09.06.2019, 00:27
И гигиена начисляется постоянно даже когда достигла 100 все дальше продолжает начисляться

Andrik851
09.06.2019, 14:54
С таймером вопрос решен осталось только то что выводит слишком много сообщений о том что нет Абонемента и когда гигиена достигает ста не останавливается текст +1hp и снова начинается повтор сообщений что нет абонемента



if (IsPlayerInRangeOfPoint(i, 3.5, 2496.9109,-619.2087,919.0159))
{
if(PlayerInfo[i][pBanya] == 0)//проверка на абонемент
{
SendClientMessage(i,COLOR_LIGHTBLUE,"[INFO] {FFFFFF}У вас нет Абонемента!");

}
PlayerInfo[i][pHealTime] ++;
if(PlayerInfo[i][pHealTime] >= (1+random(1)))
{
GameTextForPlayer(i, "+1 XЈ", 0, 1);
PlayerInfo[i][pGigiena] += 1;
}

if(PlayerInfo[i][pGigiena] == 100)
{
PlayerInfo[i][pGigiena] = 100;
PlayerInfo[i][pBanya] = 0;// здесь абонемент должен пропадать
SendClientMessage(i,COLOR_LIGHTBLUE,"[INFO] {FFFFFF}Вы помылись и можете идти!");
}
PlayerInfo[i][pHealTime] = 0;
}