Player ID

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Tetusis

Re: Player ID

Post by Tetusis »

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.

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: Player ID

Post by aaarnas »

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.
Š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).
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.

Tetusis

Re: Player ID

Post by Tetusis »

aaarnas wrote:
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.
Š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).
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.

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: Player ID

Post by aaarnas »

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.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 4 guests