Sziasztok, így unalomból este elszeretném magyarázni azoknak az embereknek a játsszott óra kódját akik szeretnének csinálni, vagy valami problémát jelez nekik
Legelső sorban létrehozzuk ugye az enumban a kellékeket meg a regisztrációnál, meg ennél annál, hogy a játsszott órát elmentse
Azután pedig létrehozunk egy változót mindenki számára
new HourTimer[MAX_PLAYERS];
Ezután létrehozunk egy timert az onplayerspawn alá
HourTimer[playerid] = SetTimerEx(\"HourJump\", 1000, true, \"i\", playerid);
Amint látjátok ott van a HourJump, nos ennek kell egy public, ugyanis, mellette van az 1000, ami 1 másodpercet jelent, és hát ugye másodpercenként fogja használni a publicot, csináljunk is neki egy publicot forwarddal együtt
forward HourJump(playerid);
public HourJump(playerid)
Na most mint említettem a publicot 1 másodpercenként fogja használni, ugye mi az enumnál 3 adatot adtunk meg plusszba, az órát, a percet és a másodpercet, na amikor letellik ez az 1 másodperc akkor szépen a másodpercet megnöveljük
forward HourJump(playerid);
public HourJump(playerid)
{
JatekosInfo[playerid][MPerc] ++;
if(JatekosInfo[playerid][MPerc] == 60)
{
JatekosInfo[playerid][Perc] ++;
JatekosInfo[playerid][MPerc] = 0;
}
if(JatekosInfo[playerid][Perc] == 60)
{
JatekosInfo[playerid][Ora] ++;
JatekosInfo[playerid][Perc] = 0;
new string[256];
format(string, sizeof(string),\"Játsszott óráid száma mostmár %02d\", JatekosInfo[playerid][Ora]);
return 1;
}
és aztán nagyon egyszerű dolgunk van, méghozzá ha meglesz a 60 másodperc akkor ugye a percet kell megduplázni, és a másodpercet lenullázni, és ha a 60 perc meglesz akkor ugyanígy
Aztán ugye már csak a timereket kell beállítani megfelelően, tehát pl. ne az onplayerconnecthez írjuk a timert, mert ha még be se lépsz akkor elindul és számolni fogja!Én az onplayerspawn-hoz teszem le, ha afkol a játékos akkor
KillTimer(HourTimer[playerid]);
aztán ugyan úgy vissza ha visszajött a játékos az afk-ból, és még egy, ha kilép a játékos akkor is legyen a killtimer mert tovább fogja számolni..
+ ha még a statsba akarod íratni a játsszott órákat akkor itt a kód hozzá
new string[256];
format(string, sizeof(string),\"Játsszott idő: %02d:%02d:%02d\", JatekosInfo[playerid][Ora], JatekosInfo[playerid][Perc], JatekosInfo[playerid][MPerc]);
Remélem tudtam segíteni a kezdőknek és nem volt felesleges amit írtam