←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] for i get_maxplayers()


Najlepsza odpowiedź ^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.

Przejdź do postu
Zablokowany

  • +
  • -
Rivit - zdjęcie 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?
Odpowiedz

  • +
  • -
Fili:P - zdjęcie Fili:P 10.12.2013

Tak, przebiegnie po wszystkich graczach.

Odpowiedz

  • +
  • -
^Grzyboo - zdjęcie ^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() 

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 10.12.2013

@up
dlaczego get playersnum nie?

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

  • +
  • -
Droso - zdjęcie Droso 10.12.2013

static maxplayers;

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

Jak juz

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 10.12.2013

@up

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

  • +
  • -
Najlepsza odpowiedź ^Grzyboo - zdjęcie ^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.


Użytkownik ^Grzyboo edytował ten post 10.12.2013 16:35
Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 10.12.2013

dla optymalizacji...

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

  • +
  • -
Droso - zdjęcie 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 ;)

Odpowiedz

  • +
  • -
speedkill - zdjęcie 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 ;)

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 11.12.2013

Czyli co jest optymalniejsze?

zrobic static czy w plugin_cfg?

Odpowiedz

  • +
  • -
Droso - zdjęcie Droso 14.12.2013

Nie ma zauważalnej różnicy.

Odpowiedz
Zablokowany