Skocz do zawartości
  • 0

Czy da się umieścić variables na tabliczce?


franio3321

Pytanie

11 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Jak masz zapisanych graczy?

możesz mieć np

every second:    loop all blocks:        loop-block is sign        line 1 of loop-block is "Arena"# 1 sposob        set line 4 of loop-block to "%size of {minigra::gracze::%line 2%::*}%/20"# 2 sposob        loop all players:            if {minigra::arena::%player%} is line 3:                add 1 to {_gracze}        set line 4 of loop-block to "%{_gracze}%/20"
Więc widzisz który sposób wydajniejszy. Wszystko zależy od tego, jak masz zapisanych graczy na arenie, czy dodajesz do listy czy ustawiasz arene graczy na cośtam.

W przykładach tabliczka musiałaby wyglądać tak:

"Arena"

cokolwiek, np. "join"

"nazwa areny"

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Hmmm dobry pomysł dziękuje ci herhor, jak bd na PC dostaniesz lajga.

Jeszcze jedno pytanko:

Załóżmy że w linii 3 ma się wyświetlać status areny tzn. Wolne/Gra trwa Jeżeli gra trwa varibles jest na true, jak go "przekształcić" gra trwa (żeby wyświetlało się na tabliczce)

//Piszę z tel. Mogą być błędy.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

No to tak samo :x

every second:    loop all blocks:        line 1 of loop-block is "Arena"        {gratrwa} is true:            set line 3 of loop-block to "&cW trakcie"        else:            set line 3 of loop-block to "&aJoinable"
oczywiście to przykład, to zapętlwnie i zmienienie najlepiej dać w kodzie startu areny, ale nie wiem jak masz więc daję tak.
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Kurde, jakie to było oczywiste xD Nie zauważyłem... leci łapeczka pod 2 postami :D

 

A jeżeli mam wiele aren, a funkcja która liczy to {Mapa.%arg 2%.online} to jak mam skonfigurować żeby gracz przy komendzie "opusc" opuszczał tą właściwą? Zapewne... opusc i by musiał być arg 2 (z nazwą areny na której gra) ale jak się wyloguje to co? Nie napisze na jakiej arenie był... 

 

PS: Załóżmy że w linii 2 ma się pojawiać nazwa areny np. TEST i teraz jeżeli gracz naciśnie na tabliczkę wykona się komenda /c dolacz [cała linijka 2, czyli test] Da się tak? (Potrzebuje tego bo chcę zrobić wsparcie dla wielu aren)

Edytowane przez franio3321
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

No to musisz zapętlić wszystkie areny i sprawdzić czy go tam nie ma, coś jak

loop {minigra::arena::*}:    {minigra::arena::%loop-index%::gracze::*} contains player:        send "Wyszedles z rozgrywki"        remove player from {minigra::arena::%loop-index%::gracze::*}        remove 1 from {Mapa::%loop-index%::online}
Nie wiem dalej jak masz zapisanych graczy na arenie, więc więcej (xD) ci nie potrafię pomóc.

Jak masz zmienną typu {minigra::arenagracza::%player%} to wystarczy że dasz coś jak

remove 1 from {Mapa.%{minigra::arenagracza::%player%}%.online}

albo coś...

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

No dobrze, a jak to z tą tabliczką? W 2 linii bd nazwa areny i po tym funkcja będzie wiedzieć do jakiej tabliczki przystosować jest status i teraz jak zrobić że gdy nacisnę na te tabliczkę wykona się komenda przez gracza /c dolacz [Cała_linijka_2]

 

 

Wiem że problemem nie jest pokopiować kod wklejać itd... ale wtedy za każdym razem jak stworzę nową arenę muszę zmieniać w configu...

@UP Nie zrozumiałem postu wyżej (funkcji)

every second:    loop all blocks:        line 1 of loop-block is "CastleMOD"		line 2 of loop-block is "Nazwa"			{gratrwa.Nazwa} is true:				set line 3 of loop-block to "&cW trakcie"			else:				set line 3 of loop-block to "&aJoinable"
Edytowane przez franio3321
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Przerobione na moje potrzeby:
every second:    loop all blocks:        line 1 of loop-block is "&1[CastleMOD]"		line 2 of loop-block is "DDOS"		{Mapa.ddos.state} is true:            set line 3 of loop-block to "&cW trakcie"        else:            set line 3 of loop-block to "&aJoinable"

LOG:

[10:47:29] [Server thread/ERROR]: [Skript] indentation error: expected 8 spaces, but found 2 tabs (castle.sk, line 200: line 2 of loop-block is "DDOS"')[10:47:29] [Server thread/ERROR]: [Skript] indentation error: expected 8 spaces, but found 2 tabs (castle.sk, line 201: {Mapa.ddos.state} is true:')[10:47:29] [Server thread/ERROR]: [Skript] indentation error: expected 8 spaces, but found 12 spaces (castle.sk, line 202: set line 3 of loop-block to "&cW trakcie"')[10:47:30] [Server thread/ERROR]: [Skript] 'line 1' is not a number (castle.sk, line 199: line 1 of loop-block is "&1[CastleMOD]"')[10:47:30] [Server thread/ERROR]: [Skript] 'else' has to be placed just after an 'if' or 'else if' section (castle.sk, line 203: else:')[10:47:30] [Server thread/INFO]: [Skript] Loaded 2 scripts with a total of 5 triggers and 5 commands in 0.29 seconds[10:47:30] [Server thread/INFO]: [Skript] Finished loading
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

@herhor

wysłałem tobie kod na pw

/ups sry za duble post'a

 

 

PS Tak wgl testowałem samo wyrażenie

every second:    loop all blocks:        loop-block is sign        line 1 of loop-block is "Arena"        set line 4 of loop-block to "123"

i ono nie działa... Jest błędne. (Nie, dobrze wytabowałem!}

Edytowane przez franio3321
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ę...