Skocz do zawartości
  • 0

Bardzo pilne - odbugowanie skryptu


Ence
 Udostępnij

Pytanie

Witam serdecznie. Bardzo śpieszy mi się ze skryptem, ponieważ chcę go wgrać na serwer i mi nie działa. Tzn. wszystko działa, lecz wyczytuje tylko mnie jak używam komend, i nie daje innym itemek ani nic... Dam like czy co tylko chcecie za pomoc!
Kod:
 

options:	items: apple #itemki za wygrana walke (w jezyku angielskim!)	items2: diamond sword #itemki za wygrana walke (w jezyku angielskim!)	tag: &6[&2PokeWalks&6]variables:	{odznak.%player%} = 0		{przegrane.%player%} = 0	{wygrane.%player%} = 0	{pojedynek.%player%} = false	{niebo.%player%} = 0	{trawka.%player%} = 0	{kamien.%player%} = 0	{woda.%player%} = 0	{elektryczna.%player%} = 0	{trujaca.%player%} = 0	{psychiczna.%player%} = 0	{ognista.%player%} = 0	{ziemna.%player%} = 0command /wygrana [<player&gt]:	trigger:		if player has permission "admin.wygrana":			if arg 1 is set:				if player is online:					broadcast "{@tag} &4Walke na arenie wygrywa &2%arg%."					add 1 to {wygrane::%arg-player%}					set {pojedynek::%arg-player%} to false					give {@items} named "&2&lJablko niebios" to the player's inventory					give {@items2} named "&2&lMiecz herosow" to the player's inventory					send "&aOtrzymales itemy! Teraz losowane zostaja odznaki..."					wait 5 seconds					chance of 10%:						give clock named "&2&lOdznaka nieba" to the player's inventory						send "&aOtrzymales odznake niebios!"						add 1 to {odznak::%arg-player%}						add 1 to {niebo.%arg-player%} 					else:						send "&7Nie udalo sie wylsowac odznaki nieba!"					chance of 20%:						give stone named "&2&lOdznaka kamienia" to the player's inventory						send "&aOtrzymales odznake trawy!"						add 1 to {odznak::%arg-player%}						add 1 to {kamien::%arg-player%}					else:						send "&7Nie udalo sie wylosowac odznaki kamienia!"					chance of 20%:						give grass named "&2&lOdznaka trawy" to the player's inventory						send "&aOtrzymales odznake trawy!"						add 1 to {odznak::%arg-player%}						add 1 to {trawka::%arg-player%} 					else:						send "&7Nie udalo sie wylosowac odznaki trawy!"						chance of 20%:						give water named "&2&lOdznaka wody" to the player's inventory						send "&aOtrzymales odznake wody!"						add 1 to {odznak::%arg-player%}						add 1 to {woda::%arg-player%} 					else:						send "&7Nie udalo sie wylosowac odznaki wody!"						chance of 20%:						give clock named "&2&lOdznaka elektryczna" to the player's inventory						send "&aOtrzymales odznake elektrycznosci!"						add 1 to {odznak::%arg-player%}						add 1 to {elektryczna::%arg-player%} 					else:						send "&7Nie udalo sie wylosowac odznaki elektrycznosci!"					chance of 20%:						give bottle named "&2&lOdznaka trujaca" to the player's inventory						send "&aOtrzymales odznake trucizny!"						add 1 to {odznak::%arg-player%}						add 1 to {trujaca::%arg-player%} 					else:						send "&7Nie udalo sie wylosowac odznaki trucizny!"						chance of 20%:						give zombie head named "&2&lOdznaka psychiczna" to the player's inventory						send "&aOtrzymales odznake psychicznosci!"						add 1 to {odznak::%arg-player%}						add 1 to {psychiczna::%arg-player%} 					else:						send "&7Nie udalo sie wylosowac odznaki psychicznosci!"						chance of 20%:						give fire charge named "&2&lOdznaka ognistosci" to the player's inventory						send "&aOtrzymales odznake ognista!"						add 1 to {odznak::%arg-player%}						add 1 to {ognista::%arg-player%} 					else:						send "&7Nie udalo sie wylosowac odznaki ognistosci!"					chance of 20%:						give dirt named "&2&lOdznaka ziemna" to the player's inventory						send "&aOtrzymales odznake ziemna!"						add 1 to {odznak::%arg-player%}						add 1 to {ziemna::%arg-player%} 					else:						send "&7Nie udalo sie wylosowac odznaki ziemnej!"						else:					send "&cBlad! &7Gracz jest offline"					stop			else:				send "&cBlad! &7Nie podales nicku gracza wygranego!"		else:			send "&cBlad! &7Nie masz uprawnien!"						command /przegrana [<player&gt]:	trigger:		if player has permission "admin.przegrana":			if player has permission "admin.wygrana":				if player is online:					broadcast "{@tag} &4Walke na arenie przegrywa &2%arg% &4i nie zdobywa odznak!"					add 1 to {przegrane::%arg player%}					set {pojedynek::%arg-player%} to false				else:					send "&cBlad! &7Gracz jest offline!"			else:				send "&cBlad! &7Nie podales nicku gracza wygranego!"		else:			send "&cBlad! &7Nie masz uprawnien!"command /sprawdz [<player&gt]:	trigger:		if arg 1 is set:			if player is online:				if {wygrane::%arg-player%} and {przegrane::%arg-player%} and {wygrane::%arg-player%} is more than 0:					send "&aStatystyki gracza &2&l%arg-player%"					send "&a* &7Wygranych: &a%{wygrane::%arg-player%}%"					send "&a* &7Przegranych: &a%{przegrane::%arg-player%}%"					send "&a* &7Odznak: &a%{odznak::%arg-player%}%"								else:					send "&aStatystyki gracza &2&l%arg-player%"					send "&a* &7Wygranych: &a%{wygrane::%arg-player%}%"					send "&a* &7Przegranych: &a%{przegrane::%player%}%"					send "&a* &7Odznak: &a%{odznak::%arg-player%}%"			else:				send "&cBload! &7Ten gracz jest offline!"				else:			send "&cBlad!"command /odznaki [<player&gt]:	trigger:		if arg 1 is set:			if player is online:				send "&7Liczba odznak zdobyta przez gracza &2%arg-player%"				send "&7Odznak trawy zdobyto &c%{trawka::%arg-player%}% &7razy"				send "&7Odznak niebios zdobyto &c%{niebo::%arg-player%}% &7razy"				send "&7Odznak kamienia zdobyto &c%{kamien::%arg-player%}% &7razy"				send "&7Odznak wody zdobyto &c%{woda::%arg-player%}% &7razy"				send "&7Odznak elektrycznosci zdobyto &c%{elektryczna::%arg-player%}% &7razy"				send "&7Odznak trucizny zdobyto &c%{trujaca::%arg-player%}% &7razy"				send "&7Odznak psychicznosci zdobyto &c%{psychiczna::%arg-player%}% &7razy"				send "&7Odznak ognistosci zdobyto &c%{ognista::%arg-player%}% &7razy"				send "&7Odznak ziemnej zdobyto &c%{ziemna::%arg-player%}% &7razy"			else:				send "&cBlad! &7 Ten gracz jest offline!" 				command /wyzwij [<player&gt] [<text&gt]:	trigger:		if arg 2 is set:			send "&cPamietaj, ze wyzwanie kosztuje 100 caoinsow!"			wait 2 seconds			remove 100 from player's balance			send "&aWyslano zaproszenie do gracza!"			set {pojedynek::%arg-player%} to true			send "&aWyzwanie na walke od &6%player%&a: %arg 2%" to arg 1			send "&cJesli chcesz akceptowac wpisz &6/akceptuj <nick_przeciwnika> &cjesli odrzucasz to zignoruj to!" to arg 1		else:			send "&cWyslij mu kilka slow przed pojedynkiem!"			command /akceptuj [<player&gt]:	trigger:		if arg 1 is player:			if {pojedynek::%arg-player%} is true:				send "&aPomyslnie akceptowano pojedynek!"				execute console command "warp %player% %arg-player%"			else:				send "&cBlad! &7Ten gracz nie wyslal Ci zaproszenia!"				command /reset [<player&gt]:	trigger:		if player has permission "resetstat.admin":			set {odznak::%arg-player%} to 0			set {przegrane::%arg-player%} to 0			set {wygrane::%arg-player%} to 0			send "&cPomyslnie zresetowano statystyki graczowi &6%arg-player%&c!"		else:			send "&aBlad! &7Nie masz uprawnien!"			command /resetodznak [<player&gt]:	trigger:		if player has permission "resetodznak.admin":			set {niebo::%arg-player%} to 0			set {trawka::%arg-player%} to 0			set {kamien::%arg-player%} to 0			set {woda::%arg-player%} to 0			set {elektryczna::%arg-player%} to 0			set {trujaca::%arg-player%} to 0			set {psychiczna::%arg-player%} to 0			set {ognista::%arg-player%} to 0			set {ziemna::%arg-player%} to 0			send "&cPomyslnie zresetowano odzanki graczowi &6%arg-player%&c!"		else:			send "&aBlad! &7Nie masz uprawnien!"			
Odnośnik do komentarza
Udostępnij na innych stronach

10 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

używając %player% odwołujesz się do gracza wykonującego dane zdarzenie.

aby odwołać się do gracza wpisanego w argumencie w komendzie użyj %player-arg%, bądś %arg-player% lub %arg <numer argumentu>%.

W komendzie /wygrana <gracz> itemki dajesz graczowi wpisującemu komendę, a w reszcie dajesz wpisanemu w argumencie.

Być może przez to jest to popsute.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

używając %player% odwołujesz się do gracza wykonującego dane zdarzenie.

aby odwołać się do gracza wpisanego w argumencie w komendzie użyj %player-arg%, bądś %arg-player% lub %arg <numer argumentu>%.

W komendzie /wygrana <gracz> itemki dajesz graczowi wpisującemu komendę, a w reszcie dajesz wpisanemu w argumencie.

Być może przez to jest to popsute.

Jest wszedzie ::%arg-player%. Możesz mi podac kawałek edytowanego kodu? 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Dobra, więc będzie parę pytań:

 

1. Dlaczego sprawdzasz czy gracz wpisujący komendę jest online? "if player is online" - Zmień to na "if arg-player is online".

 

2. Itemy dajesz w komendzie /wygrana, graczowi który wpisuje komendę:

give {@items} named "&2&lJablko niebios" to the player's inventory

zamiast to dawać graczowi z agrumentu pierwszego:
 

give {@items} named "&2&lJablko niebios" to the arg-player's inventory

3. Linijka 111 "add 1 to {przegrane::%arg player%}" - między arg a player daj "arg-player"

 

4. Linijka 37 "add 1 to {niebo.%arg-player%}" - dlaczego tutaj jest zmienna zwykła, a wszędzie jest grupowa?

 

Jeszcze jak się czegoś doszukam to napisze.

 

@edit

 

5. Po co sprawdzasz (linia: 124) czy te wygrane i przegrane (jeszcze do tego dwa razy to samo) są większe niż zero? Jak po else masz jedno i to samo co przed? To tak samo jakbyś dał bez tego sprawdzania tylko od razu wysłał te info.  B) :kiszonabestia:

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Dobra, więc będzie parę pytań:

 

1. Dlaczego sprawdzasz czy gracz wpisujący komendę jest online? "if player is online" - Zmień to na "if arg-player is online".

 

2. Itemy dajesz w komendzie /wygrana, graczowi który wpisuje komendę:

give {@items} named "&2&lJablko niebios" to the player's inventory

zamiast to dawać graczowi z agrumentu pierwszego:

 

give {@items} named "&2&lJablko niebios" to the arg-player's inventory

3. Linijka 111 "add 1 to {przegrane::%arg player%}" - między arg a player daj "arg-player"

 

4. Linijka 37 "add 1 to {niebo.%arg-player%}" - dlaczego tutaj jest zmienna zwykła, a wszędzie jest grupowa?

 

Jeszcze jak się czegoś doszukam to napisze.

 

@edit

 

5. Po co sprawdzasz (linia: 124) czy te wygrane i przegrane (jeszcze do tego dwa razy to samo) są większe niż zero? Jak po else masz jedno i to samo co przed? To tak samo jakbyś dał bez tego sprawdzania tylko od razu wysłał te info.  B)  :kiszonabestia:

I poprawilem te błędy jak kazałeś, lecz nie mam z kim wytestować. A ta linijka 124 robi różnice? Chciałem zlikwidować <none> przy zerowej ilości stat & odznak

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

@up

 

Wiesz dlaczego zmienne nie ustawiają Ci się na 0? Bo zobacz że w variables: masz zmienne zwykłe

 

variables:    {odznak.%player%} = 0        {przegrane.%player%} = 0    {wygrane.%player%} = 0    {pojedynek.%player%} = false    {niebo.%player%} = 0    {trawka.%player%} = 0    {kamien.%player%} = 0    {woda.%player%} = 0    {elektryczna.%player%} = 0    {trujaca.%player%} = 0    {psychiczna.%player%} = 0    {ognista.%player%} = 0    {ziemna.%player%} = 0

...a wszędzie dalej masz grupowe, a to już jest co innego. Dlatego weź te w variables pozmieniaj na grupowe. I po tym już nie powinieneś mieć <none>.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

A jak zrobić spis graczy? Np. Komenda /nadaj lidera będzie nadawala lidera kamienia i pod komendą /liderzy będzie widniał nick tego gracza tak: Lier kamienia: <nick>?

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

  • 0

W linijce 176 zamiast tego:
 

execute console command "warp %player% %arg-player%"

daj to:
 

teleport player to arg-player

A co do tego lidera, to nie wiem za bardzo o co Ci tak dokładnie chodzi, czy to jakaś topka czy jeden gracz - jeżeli tak to:

command /nadaj [<text&gt] [<player&gt]:    trigger:        if player has permission "nadaj.lider":            if arg 1 is "lider":                if arg-player is online:                    set {lider-kamienia} to "%arg-player%"                    send "&6Nadano lidera kamienia graczowi %arg-player%"                    stop                else:                    send "&cGracz o podanej nazwie nie jest online!"                    stop            else:                send "&cUzyj: /nadaj lider [nick]"                stop        else:            send "&4Nie posiadasz uprawnien do uzycia tej komendy."            stop

Komenda /liderzy:

command /liderzy:    trigger:        send "&6Liderem kamienia jest gracz: &e&l%{lider-kamienia}%"        stop
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

 

W linijce 176 zamiast tego:

 

execute console command "warp %player% %arg-player%"

daj to:

 

teleport player to arg-player

A co do tego lidera, to nie wiem za bardzo o co Ci tak dokładnie chodzi, czy to jakaś topka czy jeden gracz - jeżeli tak to:

command /nadaj [<text&gt] [<player&gt]:    trigger:        if player has permission "nadaj.lider":            if arg 1 is "lider":                if arg-player is online:                    set {lider-kamienia} to "%arg-player%"                    send "&6Nadano lidera kamienia graczowi %arg-player%"                    stop                else:                    send "&cGracz o podanej nazwie nie jest online!"                    stop            else:                send "&cUzyj: /nadaj lider [nick]"                stop        else:            send "&4Nie posiadasz uprawnien do uzycia tej komendy."            stop

Komenda /liderzy:

command /liderzy:    trigger:        send "&6Liderem kamienia jest gracz: &e&l%{lider-kamienia}%"        stop

Dobra zrobiłem nadawanie liderów jest okej. Ale zrobiłem też zabieranie i kod wygląda tak:

 

command /zabierz [<player&gt]:	trigger:		if player has permission "zabierz.lider":			if {lider.%player%} is true:				set {lider.%player%} to false				send "&cPomyslnie zabrano lidera graczowi &7%arg-player%"			else:				send "&cTen gracz nie ma nadanego lidera!"

Tu na nadawanie:

 

command /nadaj [<text&gt] [<player&gt] [<text&gt]:	trigger:		if player has permission "nadaj.lider":			if arg 1 is set:				if arg-player is online:					if arg 3 is "kamien":						set {lider kamienia} to "%arg-player%"						set {lider.%player%} to true						send "&cNadano lidera kamienia graczowi &7%arg-player%"						stop

A tu lista liderów:

 

command /liderzy:	trigger:		send "&cAby zobaczyc ich statystyki wpisz &7/sprawdz <nick>"		send "&7Liderem kamienia jest: &2%{lider kamienia}%"		send "&7Liderem wody jest: &2%{lider wody}%"		send "&7Liderem nieba jest: &2%{lider nieba}%"		send "&7Liderem trawy jest: &2%{lider trawa}%"		send "&7Liderem elektrycznosci jest: &2%{lider elektrycznosci}%"		send "&7Liderem trucizny jest: &2%{lider trujaca}%"		send "&7Liderem psychicznosci jest: &2%{lider psychiczna}%"		send "&7Liderem ziemi jest: &2%{lider ziemia}%"		send "&7Liderem ognia jest: &2%{lider ognia}%"

I po zabraniu lidera jest on nadal na liscie. Jak zrobić, by nicki znikały z listy po zabraniu?

@Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

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

  • 0

Masz coś takiego, jednak wytłumaczę Ci resztę jak masz robić:

W linii 9 tego co na dole Ci wysłałem musisz dla każdej innej np. jak masz {lider-wody} to tam zamiast "kamienia" dajesz "wody" - czyli tą końcówkę każdej zmiennej. Sam nie wiem czy to będzie działać. I nie rób przerw w zmiennych! Dawaj tam myślniki, tak jak ja to zmieniłem.

command /nadaj [<text&gt] [<player&gt] [<text&gt]:    trigger:        if player has permission "nadaj.lider":            if arg 1 is "lider":                if arg-player is online:                    if arg 3 is "kamien":                        if {own.%arg-player%} is not set:                            set {lider.kamienia} to "%arg-player%"                            set {own.%arg-player%} to "kamienia"                            send "&6Nadano lidera kamienia graczowi %arg-player%"                            stop                        else:                            send "&cGracz o podanej nazwie ma juz lidera!"                            stop                    if arg 3 is "woda":                        if {own.%arg-player%} is not set:                            set {lider.wody} to "%arg-player%"                            set {own.%arg-player%} to "wody"                            send "&6Nadano lidera wody graczowi %arg-player%"                            stop                        else:                            send "&cGracz o podanej nazwie ma juz lidera!"                            stop                    else:                        send "&cUzyj: /nadaj lider [nick] [kamien]"                        stop                else:                    send "&cGracz o podanej nazwie nie jest online!"                    stop            else:                send "&cUzyj: /nadaj lider [nick] [kamien]"                stop        else:            send "&4Nie posiadasz uprawnien do uzycia tej komendy."            stopcommand /zabierz [<player&gt]:    trigger:        if player has permission "zabierz.lider":            if arg 1 is set:                if {own.%arg-player%} is set:                    set {lider.%{own.%arg-player%}%} to "Brak"                    clear {own.%arg-player%}                    send "&cPomyslnie zabrano lidera graczowi &7%arg-player%"                    stop                else:                    send "&cTen gracz nie ma nadanego lidera!"                    stop            else:                send "&cWprowadz nazwe gracza."                stopcommand /liderzy:    trigger:        send "&cAby zobaczyc ich statystyki wpisz &7/sprawdz <nick>"        send "&7Liderem kamienia jest: &2%{lider.kamienia}%"        send "&7Liderem wody jest: &2%{lider.wody}%"        send "&7Liderem nieba jest: &2%{lider.nieba}%"        send "&7Liderem trawy jest: &2%{lider.trawa}%"        send "&7Liderem elektrycznosci jest: &2%{lider.elektrycznosci}%"        send "&7Liderem trucizny jest: &2%{lider.trujaca}%"        send "&7Liderem psychicznosci jest: &2%{lider.psychiczna}%"        send "&7Liderem ziemi jest: &2%{lider.ziemia}%"        send "&7Liderem ognia jest: &2%{lider.ognia}%"        stop
PS.: Lajki mógłbyś dać, cjg xD   B)

 

@edit

 

Sprawdzałem ten kod i wszystko działa, nie przejmuj się jeżeli wyskoczą WARN'y że zmienne są zbyt podobne do siebie.

 

@edit2

 

Jeżeli nie chcesz mieć tych WARNów to wejdź w config.sk przejdź tam do linii 132 "disable variable conflict warnings: false" - i ustaw to na true.

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

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