Szerző Téma: Timer mentes hogyan?  (Megtekintve 855 alkalommal)

Timer mentes hogyan?
« Dátum: 2015. szeptember 10. - 19:15:33 »
0 Show voters
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;
}

Timer mentes hogyan?
« Válasz #1 Dátum: 2015. szeptember 11. - 09:40:24 »
0 Show voters
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!
« Utoljára szerkesztve: 2015. szeptember 12. - 11:20:54 írta bencarter007 »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Timer mentes hogyan?
« Válasz #2 Dátum: 2015. szeptember 11. - 23:01:38 »
0 Show voters
Miért nyitsz új témát ugyanazzal a problémáddal? A másik témádban segítettünk páran ha meg kérdésed van akkor meg felteszed.
A témát nyitva hagyom, mert azt zártad megoldott tag-el ._.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal