Skocz do zawartości
  • 0

Dlaczego nie dodaje gracza do zmiennej


Pytanie

Dlaczego ten kod:

send "{@tag} &eDolaczyles do areny"	add player to {CastleWar.gracze::%arg 2%}		send "%{CastleWar.arena::arg 2}%"			add 1 to {CastleWar.ilosc::%arg 2%}

nie chce dodawać gracza do tej zmiennej :

 

add player to {CastleWar.gracze::%arg 2%}

 

Gdy wpisuję komendę /cw dolacz <arena> wyskakuje coś takiego:

 

http://scr.hu/36pg/4pepo

Edytowane przez mati770ka
Odnośnik do komentarza
https://skript.pl/temat/4320-dlaczego-nie-dodaje-gracza-do-zmiennej/
Udostępnij na innych stronach

8 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Bo nie możesz dodawać gracza do pojedynczej zmiennej. Musisz go dodawać do listy zmiennych:

add player to {CastleWar.gracze::%arg 2%::*}// zeby pobrac ilosc graczy na danej arenie:set {_ilosc} to size of {CastleWar.gracze::%arg 2%::*}

A jeśli dobrze rozumiem i %arg 2% identyfikuje arenę to lepiej byłoby chyba stworzyć zmienne w tym stylu:

add player to {CastleWar::areny::%arg 2%::gracze::*}// czyli {%nazwa skryptu%::areny::%nazwa/id areny%::%wlasnosc areny%}// i tak samo z kazda inna zmienna z tego skryptu:// {%nazwa skryptu%::%zmienne skryptu%}
Odnośnik do komentarza
https://skript.pl/temat/4320-dlaczego-nie-dodaje-gracza-do-zmiennej/#findComment-36396
Udostępnij na innych stronach

  • 0

To możesz poprawić ten skrypt bo ja już nie ogarniam :(

options:	tag: &7[&cCastleWar&7]  #Tag przed wiadomosciami	odliczanie: 10  #ilosc sekund do rozpoczecia	iloscgraczy: 2 #wymagana ilosc graczy do rozpoczeciacommand /CastleWar [<text&gt] [<text&gt] [<text&gt]:	aliases: cw, castle	trigger:		if arg 1 is not set:			send "&e&m=========={@tag}&e&m=========="			send ""			send "  &c&m* &a/cw dolacz <arena> &c- &eDolacza do wybranej areny"			send "  &c&m* &a/cw wyjdz &c- &eWychodzi z areny"			send "  &c&m* &a/cw statystyki &c- &eSprawdza twoje statystyki"			send "  &c&m* &a/cw statystyki <gracz> &c- &eSprawdza statystyki podanego gracza"			send "  &c&m* &a/cw lobby <arena> &c- &eUstawia lobby dla wybranej areny"			send "  &c&m* &a/cw utworz <nazwa> &c- &eStwarza arene o podanej nazwie"			send "  &c&m* &a/cw usun <nazwa> &c- &eUsuwa podana arene"			send "  &c&m* &a/cw spawn <arena> czerwoni &c- &eUstawia spawn czerwonych"			send "  &c&m* &a/cw spawn <arena> niebiescy &c- &eUstawia spawn niebieskich"			send ""			send "&e&m=========={@tag}&e&m=========="		if arg 1 is "utworz":			if arg 2 is set:				if {CastleWar.utworz::%arg 2%} is set:					send "{@tag} &eArena &a%arg 2% &ejuz istnieje!"				else:					send "{@tag} &eArena &a%arg 2% &ezostala utworzona"					set {CastleWar.utworz::%arg 2%} to true					add arg 2 to {CastleWar.areny.all::*}					set {CastleWar.swiat::%arg 2%} to player's world					send "%{CastleWar.swiat::%arg 2%}%"			else:				send "{@tag} &ePodaj nazwe areny"		if arg 1 is "usun":			if arg 2 is set:				if {CastleWar.utworz::%arg 2%} is set:					send "{@tag} &eArena &a%arg 2% &ezostala usunieta!"					clear {CastleWar.utworz::%arg 2%}					clear {CastleWar.swiat::%arg 2%}					clear {CastleWar.status.%arg 2%}					clear {CastleWar.arena::%arg 2%}					clear {CastleWar.ilosc::%arg 2%}					clear {CastleWar.lobby::%arg 2%}				else:					send "{@tag} &eArena &a%arg 2% &enie istnieje"			else:				send "{@tag} &ePodaj nazwe areny"		if arg 1 is "dolacz":			if arg 2 is set:				if {CastleWar.status::%arg 2%} is not set:					set {CastleWar.status::%arg 2%} to false				if {CastleWar.ilosc::%arg 2%} is not set:					set {CastleWar.ilosc::%arg 2%} to 0				if {CastleWar.utworz::%arg 2%} is set:					if {CastleWar.status::%arg 2%} is false:						if {CastleWar.gracz.gra::%player%} is false:							send "{@tag} &eDolaczyles do areny"							add executor to {CastleWar.gracze::%arg 2%::*}							send "%{CastleWar.gracze::%arg 2%::*}%"							add 1 to {CastleWar.ilosc::%arg 2%}							set {CastleWar.gracz.gra::%player%} to true							teleport player to {CastleWar.lobby::%arg 2%}							send "{@tag} &eGracz &a%player% &edolaczyl do areny &c(&a%{CastleWar.ilosc::%arg 2%}%&e/&a2&c)" to all players in {CastleWar.swiat::%arg 2%}							if {CastleWar.ilosc::%arg 2%} is bigger than or equal to {@iloscgraczy}:								set {CastleWar.status::%arg 2%} to true								set {_CastleWar.Licznik} to {@odliczanie}+1								loop {@odliczanie}+1 times:									subtract 1 from {_CastleWar.Licznik}									send "{@tag} &eStart areny za &a%{_CastleWar.Licznik}%" to all players in {CastleWar.swiat::%arg 2%}									play raw sound "random.click" at {CastleWar.lobby::%arg 2%} with pitch 2 volume 5									wait 1 seconds								send "{@tag} &eArena &a%arg 2% &ewystartowala" to all players in {CastleWar.swiat::%arg 2%}								play raw sound "random.explode" at {CastleWar.lobby::%arg 2%} with pitch 1 volume 5						else:							send "{@tag} &eJestes juz na arenie!"					else:						send "{@tag} &eArena juz wystartowala"				else:					send "{@tag} &eArena &a%arg 2% &enie istnieje"		if arg 1 is "lobby":			if arg 2 is set:				if {CastleWar.utworz::%arg 2%} is set:					set {CastleWar.lobby::%arg 2%} to player's location					send "{@tag} &eUstawiles &aLobby &edla areny &a%arg 2%"				else:					send "{@tag} &eArena &a%arg 2% &enie istnieje"			else:				send "{@tag} &ePodaj nazwe areny"			if arg 1 is "wyjdz":			loop {CastleWar.gracze::*}:				if loop-value contains "%name of player%":					send "wyszedles" to all players in player's world					remove player from {CastleWar.gracze::*}				else:					send "{@tag} &eAktualnie nie grasz"
Odnośnik do komentarza
https://skript.pl/temat/4320-dlaczego-nie-dodaje-gracza-do-zmiennej/#findComment-36397
Udostępnij na innych stronach

  • 0

Teraz ten kod jest poprawny?:

options:	tag: &7[&cCastleWar&7]  #Tag przed wiadomosciami	odliczanie: 10  #ilosc sekund do rozpoczecia	iloscgraczy: 2 #wymagana ilosc graczy do rozpoczeciacommand /CastleWar [<text&gt] [<text&gt] [<text&gt]:	aliases: cw, castle	trigger:		if arg 1 is not set:			send "&e&m=========={@tag}&e&m=========="			send ""			send "  &c&m* &a/cw dolacz <arena> &c- &eDolacza do wybranej areny"			send "  &c&m* &a/cw wyjdz &c- &eWychodzi z areny"			send "  &c&m* &a/cw statystyki &c- &eSprawdza twoje statystyki"			send "  &c&m* &a/cw statystyki <gracz> &c- &eSprawdza statystyki podanego gracza"			send "  &c&m* &a/cw lobby <arena> &c- &eUstawia lobby dla wybranej areny"			send "  &c&m* &a/cw utworz <nazwa> &c- &eStwarza arene o podanej nazwie"			send "  &c&m* &a/cw usun <nazwa> &c- &eUsuwa podana arene"			send "  &c&m* &a/cw spawn <arena> czerwoni &c- &eUstawia spawn czerwonych"			send "  &c&m* &a/cw spawn <arena> niebiescy &c- &eUstawia spawn niebieskich"			send ""			send "&e&m=========={@tag}&e&m=========="		if arg 1 is "utworz":			if arg 2 is set:				if {CastleWar::utworz::%arg 2%::*} is set:					send "{@tag} &eArena &a%arg 2% &ejuz istnieje!"				else:					send "{@tag} &eArena &a%arg 2% &ezostala utworzona"					set {CastleWar::utworz::%arg 2%::*} to true					add arg 2 to {CastleWar.areny.all::*}					set {CastleWar::swiat::%arg 2%::*} to player's world					send "%{CastleWar::swiat::%arg 2%::*}%"			else:				send "{@tag} &ePodaj nazwe areny"		if arg 1 is "usun":			if arg 2 is set:				if {CastleWar::utworz::%arg 2%::*} is set:					send "{@tag} &eArena &a%arg 2% &ezostala usunieta!"					clear {CastleWar::utworz::%arg 2%::*}					clear {CastleWar::swiat::%arg 2%::*}					clear {CastleWar::status.%arg 2%::*}					clear {CastleWar::arena::%arg 2%::*}					clear {CastleWar::ilosc::%arg 2%::*}					clear {CastleWar::lobby::%arg 2%::*}				else:					send "{@tag} &eArena &a%arg 2% &enie istnieje"			else:				send "{@tag} &ePodaj nazwe areny"		if arg 1 is "dolacz":			if arg 2 is set:				if {CastleWar::status::%arg 2%::*} is not set:					set {CastleWar::status::%arg 2%::*} to false				if {CastleWar::ilosc::%arg 2%::*} is not set:					set {CastleWar::ilosc::%arg 2%::*} to 0				if {CastleWar::utworz::%arg 2%::*} is set:					if {CastleWar::status::%arg 2%::*} is false:						if {CastleWar::gracz::gra::%player%::*} is false:							send "{@tag} &eDolaczyles do areny"							add player to {CastleWar::gracze::%arg 2%::*}							send "%{CastleWar::gracze::%arg 2%::*}%"							add 1 to {CastleWar::ilosc::%arg 2%::*}							set {CastleWar::gracz::gra::%player%::*} to true							teleport player to {CastleWar::lobby::%arg 2%}							send "{@tag} &eGracz &a%player% &edolaczyl do areny &c(&a%{CastleWar::ilosc::%arg 2%::*}%&e/&a2&c)" to all players in {CastleWar::swiat::%arg 2%::*}							if {CastleWar::ilosc::%arg 2%::*} is bigger than or equal to {@iloscgraczy}:								set {CastleWar::status::%arg 2%::*} to true								set {_CastleWar.Licznik} to {@odliczanie}+1								loop {@odliczanie}+1 times:									subtract 1 from {_CastleWar.Licznik}									send "{@tag} &eStart areny za &a%{_CastleWar.Licznik}%" to all players in {CastleWar::swiat::%arg 2%::*}									play raw sound "random.click" at {CastleWar::lobby::%arg 2%::*} with pitch 2 volume 5									wait 1 seconds								send "{@tag} &eArena &a%arg 2% &ewystartowala" to all players in {CastleWar.swiat::%arg 2%}								play raw sound "random.explode" at {CastleWar::lobby::%arg 2%::*} with pitch 1 volume 5						else:							send "{@tag} &eJestes juz na arenie!"					else:						send "{@tag} &eArena juz wystartowala"				else:					send "{@tag} &eArena &a%arg 2% &enie istnieje"		if arg 1 is "lobby":			if arg 2 is set:				if {CastleWar::utworz::%arg 2%::*} is set:					set {CastleWar::lobby::%arg 2%::*} to player's location					send "{@tag} &eUstawiles &aLobby &edla areny &a%arg 2%"				else:					send "{@tag} &eArena &a%arg 2% &enie istnieje"			else:				send "{@tag} &ePodaj nazwe areny"			if arg 1 is "wyjdz":			if {CastleWar::gracze::*} contains "%player%":				send "wyszedles" to all players in player's world				remove player from {CastleWar::gracze::*}			else:				send "{@tag} &eAktualnie nie grasz"
Odnośnik do komentarza
https://skript.pl/temat/4320-dlaczego-nie-dodaje-gracza-do-zmiennej/#findComment-36399
Udostępnij na innych stronach

  • 0

Teraz ten kod jest poprawny?:

options:	tag: &7[&cCastleWar&7]  #Tag przed wiadomosciami	odliczanie: 10  #ilosc sekund do rozpoczecia	iloscgraczy: 2 #wymagana ilosc graczy do rozpoczeciacommand /CastleWar [<text&gt] [<text&gt] [<text&gt]:	aliases: cw, castle	trigger:		if arg 1 is not set:			send "&e&m=========={@tag}&e&m=========="			send ""			send "  &c&m* &a/cw dolacz <arena> &c- &eDolacza do wybranej areny"			send "  &c&m* &a/cw wyjdz &c- &eWychodzi z areny"			send "  &c&m* &a/cw statystyki &c- &eSprawdza twoje statystyki"			send "  &c&m* &a/cw statystyki <gracz> &c- &eSprawdza statystyki podanego gracza"			send "  &c&m* &a/cw lobby <arena> &c- &eUstawia lobby dla wybranej areny"			send "  &c&m* &a/cw utworz <nazwa> &c- &eStwarza arene o podanej nazwie"			send "  &c&m* &a/cw usun <nazwa> &c- &eUsuwa podana arene"			send "  &c&m* &a/cw spawn <arena> czerwoni &c- &eUstawia spawn czerwonych"			send "  &c&m* &a/cw spawn <arena> niebiescy &c- &eUstawia spawn niebieskich"			send ""			send "&e&m=========={@tag}&e&m=========="		if arg 1 is "utworz":			if arg 2 is set:				if {CastleWar::utworz::%arg 2%::*} is set:					send "{@tag} &eArena &a%arg 2% &ejuz istnieje!"				else:					send "{@tag} &eArena &a%arg 2% &ezostala utworzona"					set {CastleWar::utworz::%arg 2%::*} to true					add arg 2 to {CastleWar.areny.all::*}					set {CastleWar::swiat::%arg 2%::*} to player's world					send "%{CastleWar::swiat::%arg 2%::*}%"			else:				send "{@tag} &ePodaj nazwe areny"		if arg 1 is "usun":			if arg 2 is set:				if {CastleWar::utworz::%arg 2%::*} is set:					send "{@tag} &eArena &a%arg 2% &ezostala usunieta!"					clear {CastleWar::utworz::%arg 2%::*}					clear {CastleWar::swiat::%arg 2%::*}					clear {CastleWar::status.%arg 2%::*}					clear {CastleWar::arena::%arg 2%::*}					clear {CastleWar::ilosc::%arg 2%::*}					clear {CastleWar::lobby::%arg 2%::*}				else:					send "{@tag} &eArena &a%arg 2% &enie istnieje"			else:				send "{@tag} &ePodaj nazwe areny"		if arg 1 is "dolacz":			if arg 2 is set:				if {CastleWar::status::%arg 2%::*} is not set:					set {CastleWar::status::%arg 2%::*} to false				if {CastleWar::ilosc::%arg 2%::*} is not set:					set {CastleWar::ilosc::%arg 2%::*} to 0				if {CastleWar::utworz::%arg 2%::*} is set:					if {CastleWar::status::%arg 2%::*} is false:						if {CastleWar::gracz::gra::%player%::*} is false:							send "{@tag} &eDolaczyles do areny"							add player to {CastleWar::gracze::%arg 2%::*}							send "%{CastleWar::gracze::%arg 2%::*}%"							add 1 to {CastleWar::ilosc::%arg 2%::*}							set {CastleWar::gracz::gra::%player%::*} to true							teleport player to {CastleWar::lobby::%arg 2%}							send "{@tag} &eGracz &a%player% &edolaczyl do areny &c(&a%{CastleWar::ilosc::%arg 2%::*}%&e/&a2&c)" to all players in {CastleWar::swiat::%arg 2%::*}							if {CastleWar::ilosc::%arg 2%::*} is bigger than or equal to {@iloscgraczy}:								set {CastleWar::status::%arg 2%::*} to true								set {_CastleWar.Licznik} to {@odliczanie}+1								loop {@odliczanie}+1 times:									subtract 1 from {_CastleWar.Licznik}									send "{@tag} &eStart areny za &a%{_CastleWar.Licznik}%" to all players in {CastleWar::swiat::%arg 2%::*}									play raw sound "random.click" at {CastleWar::lobby::%arg 2%::*} with pitch 2 volume 5									wait 1 seconds								send "{@tag} &eArena &a%arg 2% &ewystartowala" to all players in {CastleWar.swiat::%arg 2%}								play raw sound "random.explode" at {CastleWar::lobby::%arg 2%::*} with pitch 1 volume 5						else:							send "{@tag} &eJestes juz na arenie!"					else:						send "{@tag} &eArena juz wystartowala"				else:					send "{@tag} &eArena &a%arg 2% &enie istnieje"		if arg 1 is "lobby":			if arg 2 is set:				if {CastleWar::utworz::%arg 2%::*} is set:					set {CastleWar::lobby::%arg 2%::*} to player's location					send "{@tag} &eUstawiles &aLobby &edla areny &a%arg 2%"				else:					send "{@tag} &eArena &a%arg 2% &enie istnieje"			else:				send "{@tag} &ePodaj nazwe areny"			if arg 1 is "wyjdz":			if {CastleWar::gracze::*} contains "%player%":				send "wyszedles" to all players in player's world				remove player from {CastleWar::gracze::*}			else:				send "{@tag} &eAktualnie nie grasz"

Ta, powinno Ci działać.

Odnośnik do komentarza
https://skript.pl/temat/4320-dlaczego-nie-dodaje-gracza-do-zmiennej/#findComment-36407
Udostępnij na innych stronach

  • 0

Też tak próbowałem ale teraz mi chodzi o to że ciągle pisze choć jestem w grze "Aktualnie nie grasz"

Wysłane z mojego LG L5 II

Edytowane przez mati770ka
Odnośnik do komentarza
https://skript.pl/temat/4320-dlaczego-nie-dodaje-gracza-do-zmiennej/#findComment-36430
Udostępnij na innych stronach

  • 0

O ile sie nie myle masz w dolaczaniu takie cos

{CastleWar::gracz::gra::%player%::*}

przy wychodzeniu nie ustawiasz tego na false .-.

 

tak btw. nie rob "is false" tylko rob "if not set". Oszczedzi ci to troche miejsca w variables. Taki przyklad:

Nie rob tak:

if {zmienna} is false:    set {zmienna} to true    wait 5 seconds    set {zmienna} to false

Tylko tak:

if {zmienna} is not set:    set {zmienna} to true    wait 5 seconds    delete {zmienna}

Mogles napisac na skypie, wiesz ze ja mam minigierke ktora sam zrobilem i  bym ci pomogl :p

Edytowane przez RickPlayingPL
Odnośnik do komentarza
https://skript.pl/temat/4320-dlaczego-nie-dodaje-gracza-do-zmiennej/#findComment-36673
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ę...