Skocz do zawartości
  • 0

Powtarzanie się na liscie zmiennych


MrRedstoneMC`

Pytanie

12 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

@up

Oto mój kod:

if arg 1 is "stworz":    if arg 2 is set:        if {Posiada.%player%} is false:            if player has 2 diamonds:                loop {Gildie::*}                    if arg 2 is loop-value:                        send "&4&lGildia juz istnieje!"                    else if arg 2 is not loop-value:                        remove 2 diamonds from player                        set {Gildia.%player%} to arg 2                        set {Posiada.%player%} to true                        set {jwg.%player%} to true                        add arg 2 to {Gildie::*}                        send "&4&lStworzono osrodek jezdziecki o nazwie '%arg 2%'"
Problem w tym:
-wiadomośc z "Gildia juz istnieje" powtarza sie tyle razy ile jest zmiennych na liscie
-nawet gdy tworzymy gildie, o nazwie która już istnieje, to wyskakuje wiadomość że gildia juz istnieje i TWORZY JĄ POMIMO ZE JUZ ISTNIEJE
Edytowane przez MrRedstoneMC`
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
 
if arg 1 is "stworz":
<tab>if arg 2 is set:<tab><tab>if {Posiada.%player%} is false:<tab><tab><tab>if player has 2 diamonds:<tab><tab><tab>loop {Gildie:}:<tab><tab><tab><tab>if arg 2 is loop-value:<tab><tab><tab><tab><tab>send "&4&lGildia juz istnieje!"<tab><tab><tab><tab><tab>stop<tab><tab><tab><tab>else if arg 2 is not loop-value:<tab><tab><tab><tab><tab>remove 2 diamonds from player<tab><tab><tab><tab><tab>set {Gildia.%player%} to arg 2<tab><tab><tab><tab><tab>set {Posiada.%player%} to true<tab><tab><tab><tab><tab>set {jwg.%player%} to true<tab><tab><tab><tab><tab>add arg 2 to {Gildie:}<tab><tab><tab><tab><tab>send "&4&lStworzono osrodek jezdziecki o nazwie '%arg 2%'"
To tyle odnośnie problemu drugiego... Co do pierwszego to myślę :p
 
 :v //[/color][color=#daa520]Sebek[/color]
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

A teraz taki problem:

-Znowu gdy istnieje gildia mozna ja stworzyc

-Przy tworzeniu gildii wyskakuje 2 razy wiadomosc o zalozeniu gildii, a gdy daje stop na koniec, to nie wyskakuje juz nawet ze gildia jest juz zalozona

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

  • 0
if arg 1 is "stworz":    if arg 2 is set:        if {Posiada.%player%} is false:            if player has 2 diamonds:                loop {Gildie::*}                    if arg 2 is loop-value:                        send "&4&lGildia juz istnieje!"						exit loop						stop                    else:						if arg 2 is not loop-value:							remove 2 diamonds from player							set {Gildia.%player%} to arg 2							set {Posiada.%player%} to true							set {jwg.%player%} to true							add arg 2 to {Gildie::*}							send "&4&lStworzono osrodek jezdziecki o nazwie '%arg 2%'"							exit loop							stop

Teraz powinno działać

Jak nie działa to daj to:

if arg 1 is "stworz":	broadcast "Debug 1"    if arg 2 is set:		broadcast "Debug 2"        if {Posiada.%player%} is false:			broadcast "Debug 3"            if player has 2 diamonds:				broadcast "Debug 4"                loop {Gildie::*}					broadcast "Debug 5"                    if arg 2 is loop-value:						broadcast "Debug 6"                        send "&4&lGildia juz istnieje!"						exit loop						broadcast "Debug 7"						stop						broadcast "Debug 8"                    else:						broadcast "Debug 9"						if arg 2 is not loop-value:							broadcast "Debug 10"							remove 2 diamonds from player							set {Gildia.%player%} to arg 2							set {Posiada.%player%} to true							set {jwg.%player%} to true							add arg 2 to {Gildie::*}							send "&4&lStworzono osrodek jezdziecki o nazwie '%arg 2%'"							exit loop							broadcast "Debug 11"							stop							broadcast "Debug 12"

A następnie podaj nam wyniki testów. Zobaczymy jak skrypt rozwiązuje problem i potem może da się naprawić ew błąd.

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

  • 0

@up

Robi ta gildie nawet gdy istnieje.... nie robi wtedy, gdy argument 2 bedzie 1 tekstem ze zmiennej:

Chat:

Lista gildii: cos

Potem "Stworzono gildie o nazwie "Admini""

Lista gildii: cos and Admini

Potem znowu "Stworzono gildie o nazwie "Admini""

Lista gildii: cos, Admini and Admini

 

......

Pomoz ;p

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Coś źle zapisali w php i nie mgoę usunąć tej linijki - buguje się...
command /gildia [<text&gt] [<text&gt]:	trigger:		if arg 1 is "stworz":			if arg 2 is set:				if {Posiada.%player%} is false:					if player has 2 diamonds:						set {_czy.jest.gildia} to 1						loop {Gildie::*}							if arg 2 is loop-value:								send "&4&lGildia juz istnieje!"								set {_czy.jest.gildia} to 2						if {_czy.jest.gildia} is 1:                            remove 2 diamonds from player                            set {Gildia.%player%} to arg 2                            set {Posiada.%player%} to true                            set {jwg.%player%} to true                            add arg 2 to {Gildie::*}                            send "&4&lStworzono osrodek jezdziecki o nazwie '%arg 2%'" to player						else:							send "&4Gildia istnieje!" to player
 

Jak nie działa to daj debuga jak @up

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

  • 0
if arg 1 is "stworz":    if arg 2 is set:        if {Posiada.%player%} is false:            if player has 2 diamonds:                loop {Gildie::*}                    arg 2 is loop-value                    send "&4&lGildia juz istnieje!"                    stop                remove 2 diamonds from player                set {Gildia.%player%} to arg 2                set {Posiada.%player%} to true                set {jwg.%player%} to true                add arg 2 to {Gildie::*}                send "&4&lStworzono osrodek jezdziecki o nazwie '%arg 2%'"                stop
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
command /gildia [<text&gt] [<text&gt]:	trigger:		if arg 1 is "stworz":			if arg 2 is set:				if {Posiada.%player%} is false:					if player has 2 diamonds:						set {_czy.jest.gildia} to 1						if {Gildie::*} contains arg 2 or "%arg 2%":							send "&4&lGildia juz istnieje!"						else:                            remove 2 diamonds from player                            set {Gildia.%player%} to arg 2                            set {Posiada.%player%} to true                            set {jwg.%player%} to true                            add arg 2 to {Gildie::*}                            send "&4&lStworzono osrodek jezdziecki o nazwie '%arg 2%'" to player

Oczywiście najpierw przetestuj mój kod z postu 9

a potem daj te i oczywiście jak nie działa to debug dla 2 wersji

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