Szerző Téma: SetTimerEx Segitseg!  (Megtekintve 1080 alkalommal)

SetTimerEx Segitseg!
« Dátum: 2015. szeptember 04. - 08:39:54 »
0 Show voters
Udv aazt szeetnem megkerdezni ha keszitek egy Timert(SetTimerEx) akkor azt hogyan lehet elkesziteni hogy mikor a jatekos a timer onat folytatodjon ahonnan a jatekos kilepett es a timer abbahagyta? PL:kilepeet es a timer 10 masodpercnel volt es mikor a jatekos viszalep akkor 10 masodperctol folytassa.Hogyan lehet megoldani?Ha lehet egy mintat is adjatok,koszi.Jah és amugy dini regisztácios rendzerem van.
« Utoljára szerkesztve: 2015. szeptember 04. - 13:03:04 írta Szabi9 »

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
SetTimerEx Segitseg!
« Válasz #1 Dátum: 2015. szeptember 04. - 13:18:31 »
+1 Show voters
mire akarod használni? normálisan akarod, hogy menjen, vagy visszafelé számoljon?
ha ezekre válaszolsz, könnyebben tudunk segíteni.

SetTimerEx Segitseg!
« Válasz #2 Dátum: 2015. szeptember 04. - 15:03:50 »
0 Show voters
Elore szamoljon hogy a jatekos mennyi idot volt osszesen a szereren es mikor kilep akkor alljon meg es mikor ujrafellep akkor onnat folytatodjon.

ᗩωєѕσмє

  • Vendég
SetTimerEx Segitseg!
« Válasz #3 Dátum: 2015. szeptember 04. - 15:27:00 »
+2 Show voters
#include <a_samp>
#include <dini>
#define COLOR_RED 0xFF0000FF
enum pTime
{
        Seconds,
        Minutes,
        Hours,
        Days
};
new PlayerTime[MAX_PLAYERS][pTime];
new PlayerTimer[MAX_PLAYERS];
new UzenetTimer[MAX_PLAYERS];
forward PlayedTime(playerid);
forward Uzenet(playerid);
public OnPlayerConnect(playerid)
{
        new file[128];
        PlayerTimer[playerid] = SetTimerEx(\"PlayedTime\", 1000, 1, \"%d\", playerid);
        UzenetTimer[playerid] = SetTimer(\"Uzenet\", 300000, true);
        if(!fexist(file))
        {
                new name[MAX_PLAYER_NAME];
                        GetPlayerName(playerid, name, sizeof(name));
                        format(file,sizeof(file),\"%s.ini\",name);
                        if(!fexist(file))
                        {
                                dini_Create(file);
                            dini_IntSet(file, \"Seconds\", 0);
                                dini_IntSet(file, \"Minutes\", 0);
                                dini_IntSet(file, \"Hours\", 0);
                                dini_IntSet(file, \"Days\", 0);
                        }
        }
        if(fexist(file))
        {
                        new name[MAX_PLAYER_NAME];
                        GetPlayerName(playerid, name, sizeof(name));
                        format(file,sizeof(file),\"%s.ini\",name);
                        if(fexist(file))
                        {
                                        PlayerTime[playerid][seconds] = dini_Int(file, \"Seconds\");
                                        PlayerTime[playerid][Minutes] = dini_Int(file, \"Minutes\");
                                        PlayerTime[playerid][Hours] = dini_Int(file, \"Hours\");
                                        PlayerTime[playerid][Days] = dini_Int(file, \"Days\");
                        }
        }
        return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
    new file[128];
    new name[MAX_PLAYER_NAME];
    format(file,sizeof(file),\"%s.ini\",name);
        if(fexist(file))
        {
        dini_IntSet(file, \"Seconds\", PlayerTime[playerid][seconds]);
                dini_IntSet(file, \"Minutes\", PlayerTime[playerid][Minutes]);
                dini_IntSet(file, \"Hours\", PlayerTime[playerid][Hours]);
                dini_IntSet(file, \"Days\", PlayerTime[playerid][Days]);
                KillTimer(PlayerTimer[playerid]);
        }
        return 1;
}
public PlayedTime(playerid)
{
        if(!IsPlayerConnected(playerid)) return 0;
        PlayerTime[playerid][seconds]++;
        if(PlayerTime[playerid][seconds] == 60)
        {
            PlayerTime[playerid][Minutes]++;
                PlayerTime[playerid][seconds] = 0;
        }
        if(PlayerTime[playerid][Minutes] == 60)
        {
            PlayerTime[playerid][Hours]++;
                PlayerTime[playerid][Minutes] = 0;
        }
        if(PlayerTime[playerid][Hours] == 24)
        {
            PlayerTime[playerid][Days]++;
                PlayerTime[playerid][Hours] = 0;
        }
        return 1;
}
public Uzenet(playerid)
{
        new st[128];
        format(st, sizeof(st), \"Szerveren eltöltött idõ: %d Nap, %d Óra, %d Perc, %d Másodperc\", PlayerTime[playerid][Days], PlayerTime[playerid][Hours], PlayerTime[playerid][Minutes], PlayerTime[playerid][seconds]);
        SendClientMessage(playerid, COLOR_RED, st);
}

SetTimerEx Segitseg!
« Válasz #4 Dátum: 2015. szeptember 04. - 15:34:00 »
0 Show voters
koszi zarom!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal