←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] for i get_maxplayers()


Best Answer ^Grzyboo 10.12.2013 16:32

Tak, musi być <=

 

playersnum nie ponieważ:

 

Masz 4 sloty i 4 graczy.

gracz1 = 1, gracz2 = 2, gracz3 = 3, gracz4 = 4.

Gracz 3 wychodzi z gry.

get_playersnum zwraca liczbę graczy, czyli 3. Pętla się robi dla graczy z id od 1 do 3, a na gracza4 nie działa.

 

 

static dla optymalizacji. Nie będzie się pobierać liczba graczy za każdym razem.

Go to the full post
Locked

  • +
  • -
Rivit's Photo Rivit 10.12.2013

witam
mam takie pytanie.
Czy jesli do licznika for dam get_maxplayers() (pobiera ilosc slotow) to ona przebiegnie po wszystkich graczach?
for(new i; i<get_maxplayers(); i++)   //majac 16slotowy serwer to funkcja przebiegnie po wszystkich graczach?
czy moze lepiej uzyc get_playersnum?
Quote

  • +
  • -
Fili:P's Photo Fili:P 10.12.2013

Tak, przebiegnie po wszystkich graczach.

Quote

  • +
  • -
^Grzyboo's Photo ^Grzyboo 10.12.2013

get_playersnum absolutnie nie.

używaj get_maxplayers(), 33 lub ilosc slotów określoną w pluginie ( to ostatnie gdy tą pentelkę wykonuje się często; np w prethinku )

W każdym innym przypadku to get_maxplayers() jest najepszym pomysłem.

 

Tylko jedna uwaga:

 

 i<=get_maxplayers() 

Quote

  • +
  • -
Rivit's Photo Rivit 10.12.2013

@up
dlaczego get playersnum nie?

Czyli to co ja dalem nie przebiegnie po wszystkich bo jednego ominie (<=)?
Quote

  • +
  • -
Droso's Photo Droso 10.12.2013

static maxplayers;

if(!maxplayers)
maxplayers = get_maxplayers();
for(new i=1; i<=maxplayers; i++) 

Jak juz

Quote

  • +
  • -
Rivit's Photo Rivit 10.12.2013

@up

dlaczego static?
I dlaczego nie samo for(...;i<=get_maxplayers()... )
Quote

  • +
  • -
Best Answer ^Grzyboo's Photo ^Grzyboo 10.12.2013

Tak, musi być <=

 

playersnum nie ponieważ:

 

Masz 4 sloty i 4 graczy.

gracz1 = 1, gracz2 = 2, gracz3 = 3, gracz4 = 4.

Gracz 3 wychodzi z gry.

get_playersnum zwraca liczbę graczy, czyli 3. Pętla się robi dla graczy z id od 1 do 3, a na gracza4 nie działa.

 

 

static dla optymalizacji. Nie będzie się pobierać liczba graczy za każdym razem.


Edited by ^Grzyboo, 10.12.2013 16:35.
Quote

  • +
  • -
Rivit's Photo Rivit 10.12.2013

dla optymalizacji...

Czy duze jest to obciazenie gdy pobieram to:
a)100 razy
b)1000 razy
?
Quote

  • +
  • -
Droso's Photo Droso 10.12.2013

for(new i=1;  i<=get_maxplayers() ; i++)

 

Po co pętla ma pobierać co każdy "obrót" liczbę Max Graczy? (Czyli maksymalnie 32 razy), nie jest to duże obciążenie, niezauważalne rzec można - jednak jak będziesz tak robił swoje pluginy niechlujnie - to w końcu Ci się nazbiera - takich "perełek" ;)

 

dla optymalizacji...

Czy duze jest to obciazenie gdy pobieram to:
a)100 razy
b)1000 razy
?

Sprawdź? Zależy to przecież od procka itd., ale mogę w powiedzieć, że nie jest jakieś ogromne - serwer pociągnie spokojnie ;)

Quote

  • +
  • -
speedkill's Photo speedkill 10.12.2013

for(new i=1;  i<=get_maxplayers() ; i++)

 

Po co pętla ma pobierać co każdy "obrót" liczbę Max Graczy? (Czyli maksymalnie 32 razy), nie jest to duże obciążenie, niezauważalne rzec można - jednak jak będziesz tak robił swoje pluginy niechlujnie - to w końcu Ci się nazbiera - takich "perełek" ;)

 

dla optymalizacji...

Czy duze jest to obciazenie gdy pobieram to:
a)100 razy
b)1000 razy
?

Sprawdź? Zależy to przecież od procka itd., ale mogę w powiedzieć, że nie jest jakieś ogromne - serwer pociągnie spokojnie ;)

 

Pobierz raz w plugin_cfg ;)

Quote

  • +
  • -
Rivit's Photo Rivit 11.12.2013

Czyli co jest optymalniejsze?

zrobic static czy w plugin_cfg?

Quote

  • +
  • -
Droso's Photo Droso 14.12.2013

Nie ma zauważalnej różnicy.

Quote
Locked