Szerző Téma: Timer idõ lekérés kérdés.  (Megtekintve 620 alkalommal)

Nem elérhető SSK

  • 232
    • Profil megtekintése
Timer idõ lekérés kérdés.
« Dátum: 2013. december 04. - 20:45:30 »
0 Show voters
Sziasztok!
Egy olyan kérdést tennék fel nektek,hogy hogyan csináljam azt meg hogy elindítok egy Timert és amikor lelép a player lekérje,hogy mennyi idõ telt el a timer idejébõl?

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Timer idõ lekérés kérdés.
« Válasz #1 Dátum: 2013. december 04. - 23:09:40 »
0 Show voters
Egy másik timerrel, ami egy változó értékéhez másodpercenként mindig hozzáad egyet (az általad említett timer indulásától kezdve), majd disconnect alatt leállítja a timert, ezzel megkapva, hogy hány másodperc telt el? :hmmm:

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Timer idõ lekérés kérdés.
« Válasz #2 Dátum: 2013. december 05. - 07:50:26 »
0 Show voters
ezzel a kérdésen én is foglalkoztam már és több megoldást találtam rá:
1. létrehozol 1 tömböt (1 cella = 1 játékos) és egy timer-el növeled a cellák értékét és bármikor letudod kérdezni mióta Online a játékos (mennyi idõt töltött a szerveren)
Ugye te ezt szeretnéd megvalósítani...nem ajánlom, mivel ez terhel a legjobban és nem pontos értéket ad ! ( csak akkor ha a SetTimer-ed pontosan van belõve! mivel nem 1mp-enként fut le az 1000 milisec-es timer )
2. én ezzel kísérleteztem, de sajnos nekem nem úgy mûködött ahogy vártam
http://wiki.sa-mp.com/wiki/GetTickCount
Az elõzõ megoldáshoz képest itt is egy tömböt hozol létre, csak itt mást tárolsz...
Csatlakozásnál eltárolod az aktuális visszatérési értéket (hogy mióta fut a szerver) és kilépésnél ismét lekéred és kivonod a csatlakozásnál mentett értéket:
 
new ConnectData[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
ConnectData[playerid] = GetTickCount();
return 1;
}
public OnPlayerDisconnect(playerid,reason)
{
   new OnlineTime = GetTickCount() - ConnectData[playerid];
return 1;
}

 
és így millisec-ben megkapod, hogy mennyit volt online a játékos
3. megoldás az szinte ugyanaz mint a második csak dátumot+idõt tárolsz el és nem a GetTickCount visszatérési értékét
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal