Udv van egy timerem ami orai bonuszt ad.Csak az a baj hogy ha lelepsz es ujra akkor a timer megint kezdi elolrol nemonat folytassa ahonat kileptem miert???
forward Bonus(playerid);
new tBonus[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
tBonus[playerid] = SetTimerEx(\"Bonus\",3600000,true,\"i\",playerid);
}
public OnPlayerDisconnect(playerid, reason)
{
KillTimer(tBonus[playerid]);
}
public Bonus(playerid)
{
GetPlayerName(playerid,nev,sizeof(nev));
new cashes=(random(1000-800)+100);
new string[128];
JatekosInfo[playerid][Penz]+= cashes;
format(string,sizeof(string),\"órai bónusz:~g~%d LEJ\",cashes);
GameTextForPlayer(playerid,string,4000,5);
JatekosInfo[playerid][Penz]+=cashes;
}
a mentés rendszer sok dolgot megoldhat.
new Seconds[MAX_PLAYERS];
new Minutes[MAX_PLAYERS];
new Hours[MAX_PLAYERS];
public OnGamemodeInit()
{
SetTimer(\"BonusOsztas\",1000,true);//az időzitő másodpercenként frissit majd
}
forward BonuszOsztas();
public BonuszOsztas()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
Seconds++;
if(Seconds >= 60)
{
Minutes++;
Seconds = Seconds-60;
}
if(Minutes >= 60)
{
Hours++;
Minutes = Minutes-60;
GetPlayerName(playerid,nev,sizeof(nev));
new cashes=(random(1000-800)+100);
new string[128];
format(string,sizeof(string),\"órai bónusz:~g~%d LEJ\",cashes);
GameTextForPlayer(playerid,string,4000,5);
JatekosInfo[playerid][Penz]+=cashes;
}
}
}
gondolom van mentés rendszered, ha már enum-al dolgozol, a változókat nyugodtan bele is irhatod.
az időzitő végigfuttatja mindenkin a bonusz dolgot, minden másodpercben ad hozzá egyet a másodpercekhez.
akinek 60 másodperce van, annak lesz egy perce, akinek 60 perce van, annak lesz egy órája, és minden óralépésnél megkapja a bónuszt.
Pawn tag lemaradt. máskor ügyelj erre!