Player ID
Re: Player ID
Jeigu neturite custom disconnect event ir norite zaidejui issaugoti xp, galima ir kitokiu budu aisku jis nera labai efektyvus resursu naudojime, bet ciklas kas 1min (set_task loop) kai yra issaugoma kiekvienam zaidejui xp nemanau, kad darytu didele itaka serverio veiklai, bet is kitos puses jau butu garantija, kad zaidejas nepraras xp, dar daznai buna bug'u su client disconnect kai keiciasi zemelapis (sql) ir xp nera issaugota, set task padetu isspresti sias problemas.
- aaarnas
- Vyr. diskusijų administratorius
- Posts: 3891
- Joined: 2010 Aug 31 13:21
- Skype: fiarno
- Contact:
Re: Player ID
Šitas variantas šiaip net geresnis už įprastą saugojimą disconnect'e, nes visada bus garantuota, kad žaidėjui bus išsaugoti taškai (ar tai serveris lūžta, ar jis pats).Tetusis wrote:Jeigu neturite custom disconnect event ir norite zaidejui issaugoti xp, galima ir kitokiu budu aisku jis nera labai efektyvus resursu naudojime, bet ciklas kas 1min (set_task loop) kai yra issaugoma kiekvienam zaidejui xp nemanau, kad darytu didele itaka serverio veiklai, bet is kitos puses jau butu garantija, kad zaidejas nepraras xp, dar daznai buna bug'u su client disconnect kai keiciasi zemelapis (sql) ir xp nera issaugota, set task padetu isspresti sias problemas.
Tik toks dalykas, kad saugoti geriausia yra tais momentais, kai jis gauna arba praranda taškus. Jei yra kažkokia vieta kur daug kartų greitai gaunami taškai, tai geriausia pridėti kokį delay toje vietoje.
Pvz:
gaunam taškus už kill.
kuriam task 1min
gaunam taškus už kill.
ar yra task?
Yra: tai skip ir laukiam kol išsaugos.
Ne: kuriam task 1min
Task:
saugom žaidėjo taškus.
Aišku priklauso nuo žaidimo modifikacijos kiek ir kur dažnai galima saugoti. Kuo rečiau tai daroma - tuo geriau. Nes paleidžiant 10 serverių ir kai visi jungiasi prie vienos duombazės tai nėra labai efektyvu.
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Re: Player ID
aaarnas wrote:Šitas variantas šiaip net geresnis už įprastą saugojimą disconnect'e, nes visada bus garantuota, kad žaidėjui bus išsaugoti taškai (ar tai serveris lūžta, ar jis pats).Tetusis wrote:Jeigu neturite custom disconnect event ir norite zaidejui issaugoti xp, galima ir kitokiu budu aisku jis nera labai efektyvus resursu naudojime, bet ciklas kas 1min (set_task loop) kai yra issaugoma kiekvienam zaidejui xp nemanau, kad darytu didele itaka serverio veiklai, bet is kitos puses jau butu garantija, kad zaidejas nepraras xp, dar daznai buna bug'u su client disconnect kai keiciasi zemelapis (sql) ir xp nera issaugota, set task padetu isspresti sias problemas.
Tik toks dalykas, kad saugoti geriausia yra tais momentais, kai jis gauna arba praranda taškus. Jei yra kažkokia vieta kur daug kartų greitai gaunami taškai, tai geriausia pridėti kokį delay toje vietoje.
Pvz:
gaunam taškus už kill.
kuriam task 1min
gaunam taškus už kill.
ar yra task?
Yra: tai skip ir laukiam kol išsaugos.
Ne: kuriam task 1min
Task:
saugom žaidėjo taškus.
Aišku priklauso nuo žaidimo modifikacijos kiek ir kur dažnai galima saugoti. Kuo rečiau tai daroma - tuo geriau. Nes paleidžiant 10 serverių ir kai visi jungiasi prie vienos duombazės tai nėra labai efektyvu.
Tai dar galima kaupti naudojant virtualia atminti array arba trie, kiekviena karta kai nuzudo ar kazkas atsitinka viskas yra irasoma, kad neapkrauti serverio su realtime, o paskui su set task tvarkingai kas 1min perkeldineti i duomenu baze arba spawn evente/death event'a vietoi task galime naudoti, nors dar viskas priklauso nuo mod'u.
- aaarnas
- Vyr. diskusijų administratorius
- Posts: 3891
- Joined: 2010 Aug 31 13:21
- Skype: fiarno
- Contact:
Re: Player ID
Na čia nebent kažkokie išskirtiniai duomenys. Paprastai xp būna vos ne viename kintamajame, kurį ir užtenka kas kiek laiko saugoti.
Na taip, tiksliausias atsakymas - priklauso nuo modifikacijos.
Na taip, tiksliausias atsakymas - priklauso nuo modifikacijos.
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Who is online
Users browsing this forum: No registered users and 1 guest