Проблема системы в том что если 1 день получил бонус на 2 не получаю..
PHP код:
stock Bonus(playerid)
{
if(PlayerInfo[playerid][pProigral]==0)
{
if(PlayerInfo[playerid][pPoluchil]==0)
{
if(PlayerInfo[playerid][pBonusDay]==0)
{
PlayerInfo[playerid][pExp] += 1;
SendClientMessage(playerid,COLOR_LIGHTGREEN,"Вы получили бонус ");
PlayerInfo[playerid][pBonusDay]=1;
PlayerInfo[playerid][pPoluchil]=1; // это значит что игрок получил бонус
new hour,minut,sec;
gettime(hour,minut,sec);//узнаём время
new wremya = 23 - hour;//отнимаем 23 от часа который у игрока сейчас
SetTimer("Obnul",wremya*60*60*1000,false);//запускаем таймер который обнулит переменную получения бонуса
new mtr[144];
format(mtr,144,"Вы сможете получить следующий бонус через {FFFFFF}%d часов",wremya);
SendClientMessage(playerid,COLOR_LIGHTGREEN,mtr);
return true;
}
if(PlayerInfo[playerid][pBonusDay]==1)
{
PlayerInfo[playerid][pExp] += 2;
SendClientMessage(playerid,COLOR_LIGHTGREEN,"Вы получили бонус ");
PlayerInfo[playerid][pBonusDay]=2;
PlayerInfo[playerid][pPoluchil]=1;
new hour,minut,sec;
gettime(hour,minut,sec);
new wremya = 23 - hour;
SetTimer("Obnul",wremya*60*60*1000,false);
new mtr[144];
format(mtr,144,"Вы сможете получить следующий бонус через {FFFFFF}%d часов",wremya);
SendClientMessage(playerid,COLOR_LIGHTGREEN,mtr);
return true;
}
}
}
else
{
if(PlayerInfo[playerid][pBonusDay]!=0)
{
SendClientMessage(playerid,COLOR_LIGHTGREEN,"Чтобы получать бонусы Вы должны играть каждый день. Начинайте с начала.");
PlayerInfo[playerid][pBonusDay]=0;
PlayerInfo[playerid][pPoluchil]=0;
if(PlayerInfo[playerid][pBonusDay]==0)
{
PlayerInfo[playerid][pExp] += 1;
SendClientMessage(playerid,COLOR_LIGHTGREEN,"Вы получили бонус ");
PlayerInfo[playerid][pBonusDay]=1;
PlayerInfo[playerid][pPoluchil]=1;
new hour,minut,sec;
gettime(hour,minut,sec);
new wremya = 23 - hour;
SetTimer("Obnul",wremya*60*60*1000,false);
new mtr[144];
format(mtr,144,"Вы сможете получить следующий бонус через {FFFFFF}%d часов",wremya);
SendClientMessage(playerid,COLOR_LIGHTGREEN,mtr);
return true;
}
}
}
return true;
}
PHP код:
forward Obnul(i);
public Obnul(i)
{
PlayerInfo[i][pPoluchil]=0;//обнулили теперь игрок сможет получить бонус!!
SetTimer("Zawel",1000,true);
return true;
}
forward Zawel(i);
public Zawel(i)
{
prower[i]++;//переменная которая будет считать кол-во раз загружения паблика
if(prower[i]==86400)//если игрок не зашел на сервер за это время (это колво секунд = 24 часам)
{
PlayerInfo[i][pProigral]=1; // устанавливаем игроку что он проиграл и ему прийдёться начать все с начала )
}
if(IsPlayerConnected(i))// а если подключился
{
prower[i]=0; // обнуляем и продолжаем давать бонусы игроку
}
return true;
}
- - - Добавлено - - -
сохронение и т.д все сделал все сохроняет