Page 1 of 2

Eilė

Posted: 2013 Aug 28 22:38
by MPD
Bendra
Tai yra eilės pluginas naudojamas B-Rush serveriuose, kad žaidėjai žinotų, kas kitas pakeis išeinantį žaidėją iš serverio ar tiesiog pereinantį į spectate. Į eilę surašomi tik Spectate ar unasigned komandų žaidėjai.
Šitas pluginas nuo kitų (bent tų kuriuos žinau) skiriasi tuo, kad išsaugo žaidėjo eilę po žemėlapio pasikeitimo, o žaidėjas iš komandos perėjęs į spectate keliauja į eilės galą. Kitaip tariant, eilė skaičiuojama ne pagal prabūtą laiką serveryje, o pagal tai, kelintas žaidėjas atėjo į spectator komandą.

Komandos:
/eile - parašo žaidėjų eilę nuo pirmo iki paskutinio. Rašoma tik pirmi 20 simboliai nicko.
/pirmas - parašo žaidėjo nick, kuris yra pimras eilėje.

Cvars:
eile_remove_time - nustatomas laikas, po kurio bus ištrinti duomenys nvault'e.
Šiaip pagal bandymus nuo žaidėjo atsijungimo iš serverio iki prisijungimo praeina apie 1~2 sekundes + sekundė duomenų perrašymui, bet apsidraudžiant default padariau 7 sekundes.

Re: Eilė

Posted: 2013 Aug 28 23:06
by psychical
Pirmas pastebėjimas būtų toks, kad kintamuosius pluginuose, kuriuos dedi į internetą reikėtų užrašyti anglų kalba, ne lietuvių, dėl bendros tvarkos.

Re: Eilė

Posted: 2013 Aug 28 23:21
by alfre
labai idomus pluginas,bet su optimizacija tikrai dar neaisku.

Re: Eilė

Posted: 2013 Aug 28 23:27
by aaarnas
Heh, maniškį pluginą padarei :D

Labai jau sudėtingai pas tave. Pas mane be color_chat stock'o 96 eilutės :D

Aš tai vat išsisaugau timestamp kada žaidėjas prisijungė į spectate. Po to, pagal laiką išrikiuoji ir parodai žaidėjų eilę.
Į nvault saugau laiką, kada žaidėjas buvo prisijungęs į spectate tiesiog. Kai jis prisijungia, jam pakrauna tą laiką (žinoma jei ne į spectate komandą prisijungia, tai anuliuojamas laikas).
Taip netgi tiksliau sakyčiau ir nereikia žaisti ir kiloti žaidėjų po eiles. Automatiškai susidėlioja.

Re: Eilė

Posted: 2013 Aug 28 23:31
by alfre
bet su optimizacija reikalu yra,nes beveik kekvienoje komandoje for,while ciklas vygdomas.

Re: Eilė

Posted: 2013 Aug 28 23:34
by aaarnas
alfre wrote:bet su optimizacija reikalu yra,nes beveik kekvienoje komandoje for,while ciklas vygdomas.
Kad geriau padaryti galima, tai taip. Pasiūliau savo variantą.
Serveriui ten ciklą prasukti 32 kartus nelabai turi įtakos. Svarbiau yra žiūrėti kiek dažnai kreipiamasi į modulį.

Re: Eilė

Posted: 2013 Aug 29 10:22
by MPD
psychical wrote:Pirmas pastebėjimas būtų toks, kad kintamuosius pluginuose, kuriuos dedi į internetą reikėtų užrašyti anglų kalba, ne lietuvių, dėl bendros tvarkos.
Bus padaryta.
aaarnas wrote:Heh, maniškį pluginą padarei :D

Labai jau sudėtingai pas tave. Pas mane be color_chat stock'o 96 eilutės :D

Aš tai vat išsisaugau timestamp kada žaidėjas prisijungė į spectate. Po to, pagal laiką išrikiuoji ir parodai žaidėjų eilę.
Į nvault saugau laiką, kada žaidėjas buvo prisijungęs į spectate tiesiog. Kai jis prisijungia, jam pakrauna tą laiką (žinoma jei ne į spectate komandą prisijungia, tai anuliuojamas laikas).
Taip netgi tiksliau sakyčiau ir nereikia žaisti ir kiloti žaidėjų po eiles. Automatiškai susidėlioja.
Reikės pabandyti padaryti tokiu variantu, bet ne modifikuoti, o perrašyti pilnai, kad nepridirbčiau kokių nesamonių. Aš visada ką nors paprasto gamindamas padarau sudėtingiau nei įmanoma :D Šitą pluginą iš ties dariau, nes EoX sakė, kad neišsisaugo eilė po žemėlapio pasikeitimo ir, kad jei žaidėjas iš komandos į Spect pereina tai jis būna pirmas eilėje. + Manau tave turėjau į idėjos autorius įrašyti.
aaarnas wrote:
alfre wrote:bet su optimizacija reikalu yra,nes beveik kekvienoje komandoje for,while ciklas vygdomas.
Kad geriau padaryti galima, tai taip. Pasiūliau savo variantą.
Serveriui ten ciklą prasukti 32 kartus nelabai turi įtakos. Svarbiau yra žiūrėti kiek dažnai kreipiamasi į modulį.
Į nvault moduliį kreipuosi tik žaidėjui prisijungus ir plugin_end().

Re: Eilė

Posted: 2013 Aug 29 11:12
by InvIs
Su tuo nvaultu, jis būtinas? Paprasčiau gi naujame mape - nauja eilė. Koks skirtumas gi, vistiek turbūt ant naujo žemėlapio visi sueis į CT/T komandas, tikėdamiesi, jog juos pasirinks :)

Re: Eilė

Posted: 2013 Aug 29 11:13
by aaarnas
Na šiaip Vilkui siunčiau pabaigtą versiją su išsaugojimu. Neįkėlė gal. Gaila kodo paviešint negaliu :)
InvIs wrote:Su tuo nvaultu, jis būtinas? Paprasčiau gi naujame mape - nauja eilė. Koks skirtumas gi, vistiek turbūt ant naujo žemėlapio visi sueis į CT/T komandas, tikėdamiesi, jog juos pasirinks :)
Na matai, jei pralaukei pusę map, o kitame mape už tave visi greičiau prisijungia ir vėl turi laukti, tai kažkas ne to :)

Re: Eilė

Posted: 2013 Aug 29 11:17
by MPD
aaarnas wrote:Na šiaip Vilkui siunčiau pabaigtą versiją su išsaugojimu. Neįkėlė gal. Gaila kodo paviešint negaliu :)
InvIs wrote:Su tuo nvaultu, jis būtinas? Paprasčiau gi naujame mape - nauja eilė. Koks skirtumas gi, vistiek turbūt ant naujo žemėlapio visi sueis į CT/T komandas, tikėdamiesi, jog juos pasirinks :)
Na matai, jei pralaukei pusę map, o kitame mape už tave visi greičiau prisijungia ir vėl turi laukti, tai kažkas ne to :)
Gal dar neįkėlė, nes kaip pats pastebėjau, kažkur ilgokai pradingęs yra.