Skocz do zawartości
  • 0

Problem ze skryptem na dungeona


Pytanie

on click on magma block or bedrock:
    loop all players:
        if "%region at loop-players%" contains "hellrock1":
            if {kamienhp1} is bigger than 1:
                remove 5 from {kamienhp1}
                send "Zginiemy: &4&l%{kamienhp1}%" to loop-players
                stop
            if {kamienhp1} is less than or equal to 7:
                send "&7Zniszczyles ten kamien." to player
                set block at {loc::kamhpOne1} to air # Z
                set block at {loc::kamhpOne2} to air # Z
                set block at {loc::kamhpOne3} to air # Z
                set block at {loc::kamhpOne4} to air # z
                set block at {loc::kamhpOne5} to air # Z
                set block at {loc::kamhpOne6} to air # z
                execute console command "piorun %loop-players%"
                execute console command "piorun %loop-players%"
                execute console command "piorun %loop-players%"
                execute console command "piorun %loop-players%"
                wait 3 seconds
                set {kamienhp1} to 250
                set {KAMIENHP1DS} to true
                if {KAMIENHP1DS} is true:
                    if {KAMIENHP2DS} is true:
                        if {KAMIENHP3DS} is true:
                            if {KAMIENHP4DS} is true:
                                loop all players:
                                    send "&7Wszystkie kamienie zniszczone, ostatni zniszczyl &7&l%player%" to all players
                                    if "%region at loop-players%" contains "GlownaHS" or "hellrock1" or "hellrock2" or "hellrock3" or "hellrock4":
                                        wait 5 seconds
                                        send "&7DaDaDa." to loop-players
                                        wait 1 seconds
                                        teleport loop-players to {stage1::hs}
                                        stop

To tylko 1 z 4 członów tego srkyptu, pozstale 3 maja zmienione tylko zmienne.

Chodzi o to, ze zamiast loopowac wszystkich graczy z danego regionu, loopuje tylko 1.

Proszę o pomoc.

Odnośnik do komentarza
https://skript.pl/temat/24740-problem-ze-skryptem-na-dungeona/
Udostępnij na innych stronach

11 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
56 minut temu, Wakal napisał:

on click on magma block or bedrock:
    loop all players:
        if "%region at loop-players%" contains "hellrock1":
            if {kamienhp1} is bigger than 1:
                remove 5 from {kamienhp1}
                send "Zginiemy: &4&l%{kamienhp1}%" to loop-players
                stop
            if {kamienhp1} is less than or equal to 7:
                send "&7Zniszczyles ten kamien." to player
                set block at {loc::kamhpOne1} to air # Z
                set block at {loc::kamhpOne2} to air # Z
                set block at {loc::kamhpOne3} to air # Z
                set block at {loc::kamhpOne4} to air # z
                set block at {loc::kamhpOne5} to air # Z
                set block at {loc::kamhpOne6} to air # z
                execute console command "piorun %loop-players%"
                execute console command "piorun %loop-players%"
                execute console command "piorun %loop-players%"
                execute console command "piorun %loop-players%"
                wait 3 seconds
                set {kamienhp1} to 250
                set {KAMIENHP1DS} to true
                if {KAMIENHP1DS} is true:
                    if {KAMIENHP2DS} is true:
                        if {KAMIENHP3DS} is true:
                            if {KAMIENHP4DS} is true:
                                loop all players:
                                    send "&7Wszystkie kamienie zniszczone, ostatni zniszczyl &7&l%player%" to all players
                                    if "%region at loop-players%" contains "GlownaHS" or "hellrock1" or "hellrock2" or "hellrock3" or "hellrock4":
                                        wait 5 seconds
                                        send "&7DaDaDa." to loop-players
                                        wait 1 seconds
                                        teleport loop-players to {stage1::hs}
                                        stop

To tylko 1 z 4 członów tego srkyptu, pozstale 3 maja zmienione tylko zmienne.

Chodzi o to, ze zamiast loopowac wszystkich graczy z danego regionu, loopuje tylko 1.

Proszę o pomoc.

Może dlatego, że stopujesz cały event po jednym loopie?

on click on magma block or bedrock:
    loop all players:
        if "%region at loop-players%" contains "hellrock1":
            if {kamienhp1} is bigger than 1:
                remove 5 from {kamienhp1}
                send "Zginiemy: &4&l%{kamienhp1}%" to loop-players
            if {kamienhp1} is less than or equal to 7:
                send "&7Zniszczyles ten kamien." to player
                set block at {loc::kamhpOne1} to air # Z
                set block at {loc::kamhpOne2} to air # Z
                set block at {loc::kamhpOne3} to air # Z
                set block at {loc::kamhpOne4} to air # z
                set block at {loc::kamhpOne5} to air # Z
                set block at {loc::kamhpOne6} to air # z
                execute console command "piorun %loop-players%"
                execute console command "piorun %loop-players%"
                execute console command "piorun %loop-players%"
                execute console command "piorun %loop-players%"
                wait 3 seconds
                set {kamienhp1} to 250
                set {KAMIENHP1DS} to true
                if {KAMIENHP1DS} is true:
                    if {KAMIENHP2DS} is true:
                        if {KAMIENHP3DS} is true:
                            if {KAMIENHP4DS} is true:
                                loop all players:
                                    send "&7Wszystkie kamienie zniszczone, ostatni zniszczyl &7&l%player%" to all players
                                    if "%region at loop-players%" contains "GlownaHS" or "hellrock1" or "hellrock2" or "hellrock3" or "hellrock4":
                                        wait 5 seconds
                                        send "&7DaDaDa." to loop-players
                                        wait 1 seconds
                                        teleport loop-players to {stage1::hs}

 

Odnośnik do komentarza
https://skript.pl/temat/24740-problem-ze-skryptem-na-dungeona/#findComment-165232
Udostępnij na innych stronach

  • 0
7 minut temu, herro napisał:

Może dlatego, że stopujesz cały event po jednym loopie?


on click on magma block or bedrock:
    loop all players:
        if "%region at loop-players%" contains "hellrock1":
            if {kamienhp1} is bigger than 1:
                remove 5 from {kamienhp1}
                send "Zginiemy: &4&l%{kamienhp1}%" to loop-players
            if {kamienhp1} is less than or equal to 7:
                send "&7Zniszczyles ten kamien." to player
                set block at {loc::kamhpOne1} to air # Z
                set block at {loc::kamhpOne2} to air # Z
                set block at {loc::kamhpOne3} to air # Z
                set block at {loc::kamhpOne4} to air # z
                set block at {loc::kamhpOne5} to air # Z
                set block at {loc::kamhpOne6} to air # z
                execute console command "piorun %loop-players%"
                execute console command "piorun %loop-players%"
                execute console command "piorun %loop-players%"
                execute console command "piorun %loop-players%"
                wait 3 seconds
                set {kamienhp1} to 250
                set {KAMIENHP1DS} to true
                if {KAMIENHP1DS} is true:
                    if {KAMIENHP2DS} is true:
                        if {KAMIENHP3DS} is true:
                            if {KAMIENHP4DS} is true:
                                loop all players:
                                    send "&7Wszystkie kamienie zniszczone, ostatni zniszczyl &7&l%player%" to all players
                                    if "%region at loop-players%" contains "GlownaHS" or "hellrock1" or "hellrock2" or "hellrock3" or "hellrock4":
                                        wait 5 seconds
                                        send "&7DaDaDa." to loop-players
                                        wait 1 seconds
                                        teleport loop-players to {stage1::hs}

 

Jeśli usunąłeś tu tylko "stop" to nie działa, też tak myślałem, ale nie działa nawet po usunięciu wszystkich "stop".

Odnośnik do komentarza
https://skript.pl/temat/24740-problem-ze-skryptem-na-dungeona/#findComment-165234
Udostępnij na innych stronach

  • 0

Właśnie takie

17 minut temu, MrPatryk07 napisał:

nw zobacz xD nieraz takie literówki psują heh

Właśnie takie coś, mi nie działa w ogóle, nie ma errorów, ale nie działa.

18 minut temu, MrPatryk07 napisał:

nw zobacz xD nieraz takie literówki psują heh

Dodam że wersja serwera 1.11

 

Odnośnik do komentarza
https://skript.pl/temat/24740-problem-ze-skryptem-na-dungeona/#findComment-165255
Udostępnij na innych stronach

  • 0

skoro z regionami cos nie dziala to moze po prostu ustaw zmienna przy uzyciu tego bloku i nie sprawdzaj czy gracz jest na regionie a czy np {kamien::%clicked-entity%} is true :D wtedy masz pewnosc ze to jest kamien ustawiony przez cb :)

edit: zauważ ze uzywasz 2 loopów. Czy to jest dobre rozwiazanie? :D 

co ty chcesz tu wgl zrobic?

 

Edytowane przez MrPatryk07
Odnośnik do komentarza
https://skript.pl/temat/24740-problem-ze-skryptem-na-dungeona/#findComment-165256
Udostępnij na innych stronach

  • 0
24 minuty temu, MrPatryk07 napisał:

skoro z regionami cos nie dziala to moze po prostu ustaw zmienna przy uzyciu tego bloku i nie sprawdzaj czy gracz jest na regionie a czy np {kamien::%clicked-entity%} is true :D wtedy masz pewnosc ze to jest kamien ustawiony przez cb :)

edit: zauważ ze uzywasz 2 loopów. Czy to jest dobre rozwiazanie? :D 

co ty chcesz tu wgl zrobic?

 

Chce wziąć wszystkich graczy którzy są na regionie, i teleportować ich do jakiejs lokalizacji.

Odnośnik do komentarza
https://skript.pl/temat/24740-problem-ze-skryptem-na-dungeona/#findComment-165258
Udostępnij na innych stronach

  • 0
1 minutę temu, MrPatryk07 napisał:

no ta jasne, tylko masz tu jakies 


on click on magma block or bedrock: itd wiec moze opisz wszystko

Jeżeli klikne na ten block to loopuje wszystkich graczy, jeżeli jestem w regionie nazwanym "hellrock1" i jeżeli zmienna {kamienhp1} jest wieksza niz 1 to odejmuje 1 od tej zmiennej, i pokazuje ile ta zmienna ma na chacie.

Jeżeli ta jest mniejsza lub równa 1to setuje blocki w lokacji tych zmiennych na powietrze.

Ustawia zmienna kamienhp1 na 250 (Czyli domyslnie)

Ustawia zmienna {KAMIENHP1DS}(Czyli kamienhp 1 destroyed - czyli zniszczony) na true

Sprawdza czy wszystkie 4 kamienie sa zniszczone(zmienne są na true) (Czyli chodzi o te zmienne  KAMIENHP1DS KAMIENHP2DS KAMIENHP3DS KAMIENHP4DS)

Jeżeli są na true to loopuje wszystkich graczy, sprawdza czy sa w odpowiednim regionie, i jezeli sa, to teleportuje do danej lokalizacji.

KAMIENHP1DS
Odnośnik do komentarza
https://skript.pl/temat/24740-problem-ze-skryptem-na-dungeona/#findComment-165266
Udostępnij na innych stronach

  • 0
21 godzin temu, MrPatryk07 napisał:

no ta jasne, tylko masz tu jakies 


on click on magma block or bedrock: itd wiec moze opisz wszystko

Ale ja jestem głupi... on sprawdza czy:

if "%region at loop-players%" contains "GlownaHS" or "hellrock1" or "hellrock2" or "hellrock3" or "hellrock4":

Po sprawdzeniu:

if "%region at loop-players%" contains "hellrock1":

Ale musze dodac, ze nadal nie działa.

Edytowane przez Ixidi
Odnośnik do komentarza
https://skript.pl/temat/24740-problem-ze-skryptem-na-dungeona/#findComment-165340
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ę...