Skocz do zawartości
  • 0

Rozdzielanie graczy do teamów


Gość DonFallingCookie

Pytanie

Gość DonFallingCookie

Siema, piszę sobie skrypt na castlemoda, lecz za nic nie wiem, jak rozdzielić graczy po równo do teamów :s

Załóżmy, że lista {gracze::*} przechowuje nicki wszystkich 20 graczy na arenie, i przy starcie gry chcę ich przydzielić do odpowiednich teamów, chciałbym żeby w każdym teamie było po równo graczy (czyli 10).

Z góry dzięki za pomoc

Odnośnik do komentarza
Udostępnij na innych stronach

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

if {size of {red::*}) <= (size of {blue::*}):

  #kod po dołączeniu do red

else:

  if {size of {blue::*}) <= (size of {red::*}):

  #kod na blue

to dodaje graczy do zmiennych grupowych red i blue. Przed tym kodem sprawdzaj np tym: if (size of {gracze::*}) <= 19:

aby było 20 osób sprawdza czy jest mniej lub równo z 19 i jeżeli jest 19 osób to dodaje jeszcze 1 osobe bo spełni warunek jeśli 19=19 to: kod więc wykona się dalej polecenie i dodasz gracza do zmiennej z graczami to bd 20. Prawda, że proste? Ale radzę wykorzystaćwszystko w yml typu teleporty to ze zmiennej w config.yml areny itd. aby mniej lagowało

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
loop {gracze::*}:    if loop-value is divisible by 2:	    #kod na czerwonych    else:	    #kod na niebieskich

Tylko że to musi mieć postać

{gracze::<jakis numer>} => <nick>

 

A jak to nie zadziałą to użyj

if (loop-value parsed as number) is divisible by 2:

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

po prostu musisz dodawać graczy do listy metodą

add player to {gracze::*}

a nie jakoś

set {gracze::%player%} to true

czy coś takiego.

 

Bo jeżeli dodajesz do listy to każda kolejna wartość ma index o 1 większy, czyli np.

{gracze::1} => herhor67{gracze::2} => TheFallingCookie{gracze::3} => Sopher{gracze::4} => koperek# itd

Ten mój kod zapętla listę, sprawdza czy index jest podzielny przez 2 (czy jest parzysty), jak tak to dodaje do czerwonych a jak nie to do niebieskich.

 

Rozumiesz?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Gość DonFallingCookie

Dobra, łapię! :D

Dzięki za pomoc, do zamknięcia.

 

Albo nie, jeszcze jedna rzecz:

To będzie działać?:

loop {psCastle::gracze::%arg 2%::*}:    if loop-index is divisible by 2:        #team 1    else:        #team 2
Edytowane przez DonFallingCookie
Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...