Szerző Téma: Pénz adás amikor a játékos nincs fent(timer.)  (Megtekintve 706 alkalommal)

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Pénz adás amikor a játékos nincs fent(timer.)
« Dátum: 2013. február 27. - 19:12:02 »
0 Show voters
Helló! Kerestem a fórumon olyan kódot de nem jártam síkerel! Azt szeretném meg csinálni, hogy aki regisztrálva van a szerveren vagyis mindenki regisztrál az ha lelép akkor kezdjen el egy timer pénzt adni a számlájára.. probáltam ilyesmit keresni de nem nagyon találtam..  :-[ valami ötlet?  :)

Nem elérhető Rupert

  • 2301
    • Profil megtekintése
Pénz adás amikor a játékos nincs fent(timer.)
« Válasz #1 Dátum: 2013. február 27. - 19:18:41 »
0 Show voters
mySQL vagy dini?

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Pénz adás amikor a játékos nincs fent(timer.)
« Válasz #2 Dátum: 2013. február 27. - 19:20:30 »
0 Show voters
inkább dini. :)

Nem elérhető Rupert

  • 2301
    • Profil megtekintése
Pénz adás amikor a játékos nincs fent(timer.)
« Válasz #3 Dátum: 2013. február 27. - 19:25:15 »
0 Show voters
Erre a legjobb lehetõség, ha egy külön mappában (aminek a neve pl. \"penz\") számozott fájlokat hozol létre, amelyekben eltárolod a játékos nevét illetve pénzét. For ciklussal végigjárod a fájlokat, és elvégzed a dolgod. (Megnyitod, szerkeszted, örülsz)

Pénz adás amikor a játékos nincs fent(timer.)
« Válasz #4 Dátum: 2013. február 27. - 19:28:09 »
+2 Show voters
Mysql adatbázisban ezt egyszerûen megoldhatod, egyetlen egy utasítással minden regisztrált játékosnak aki nem online növelheted a pénzét.
Egy idõzítõt létrehozol, és a következõ utasítással növeled az összeget:
 
UPDATE `users` SET `Money` = `Money` + 200 WHERE `LoggedIn` = 0

 // Javítva mivel akkor adjon, mikor nem online tehát nincs bejelentkezve.
Persze mysql adatmentés kell, és ehhez mindig frissíteni kell a LoggedIn értéket akkor mikor csatlakozik egy játékos illetve ha kilép, és természetesen szerver indításkor meg minden LoggedIn mezõt nullára kell állítani, mivel crash miatt maradhat olyan adat ami hamis.
OnGameModeInit alá:
 
UPDATE `users` SET `LoggedIn` = 0

 
Edit:
Persze lehetséges hogy mysql képes idõzített feladatokra is, de ennek utána nézek kíváncsiságból.
Edit2:
A dini-t meg felejtsd el erre a célra, 1010 regisztrált játékos esetében 1000 nem online akkor ezer fájlt módosítani bizonyos idõközönként dinivel?
Mikor tudjuk hogy a dini egy adat módosításkor kettõ fájlt hoz létre kettõt töröl, miközben kétszer másolja át a tartalmat egyszer adatmódosítással egyszer meg csak azért hogy a fájl kiterjesztése megmaradjon, akkor lesz egy kis lagg. :D :D
« Utoljára szerkesztve: 2013. február 27. - 19:42:41 írta ɐʞzssǝlosz »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
Pénz adás amikor a játékos nincs fent(timer.)
« Válasz #5 Dátum: 2013. február 27. - 19:51:02 »
0 Show voters
Értem, köszönöm!  :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal