Skocz do zawartości
  • 0

Skrypt nie odejmuje liczby


Pytanie

Tak jak wspomniałem w tytule to skrypt nie odejmuje mi kasy! Mam ustawioną kase na 10 ale pomimo tego server mi jej nie zabiera po zakupie rangi. Prosze o pomoc! I przy okazji. Skrypt nie zwraca uwagi na to ile kasy ma gracz. Nawet jeżeli sobie ustawie mniej niż 10 to mi pozwala kupić ;(

PS. Próbowałem nawet zamienić "subtract" na "remove" ale to też pomogło.

 

Edytowane przez MaksiK023
Odnośnik do komentarza
https://skript.pl/temat/54403-skrypt-nie-odejmuje-liczby/
Udostępnij na innych stronach

5 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

po 1 nie podałeś całego kodu tylko wycinek.. nie wiemy jak definiujesz kase po 2 po co skrypt na kase skoro w essentials masz wbudowaną ekonomie?
po 3 jeżeli juz używasz zmiennej do kasy bo wprowadzasz np custom walute premium to kod powinien wyglądać tak:

 

on inventory click:
	if name of event-inventory is "{@sklepName}":
		cancel event
		if clicked slot is 0:
			if {sklep::kasa::%player%} >= 10:
				remove 10 from {sklep::kasa::%player%}
				execute console command "lp user %player's name% parent add vip"
				close player's inventory
				send "{@scriptPrefix} &2Pomyslnie kupiles &6&lVIP" to player
				stop
			send "{@scriptPrefix} &cNie posiadasz wystarczajaco pieniedzy!" to player
			close player's inventory
			stop

 

Odnośnik do komentarza
https://skript.pl/temat/54403-skrypt-nie-odejmuje-liczby/#findComment-330106
Udostępnij na innych stronach

  • 0
options:
	sklepPerm: craftbox.sklep
	sklepManagePerm: craftbox.sklep.admin
	serverPrefix: &f&lTwoje&7&lIP &8»
	scriptPrefix: &a&lSKLEP &8»
	startKasa: 0
	sklepName: &a&lSKLEP

on join:
	if player has permission "{@sklepPerm}":
		if {sklep::kasa::%player%} is not set:
			set {sklep::kasa::%player%} to "{@startKasa}"
			send "{@scriptPrefix} &fUstawiono twoja kase na &e{@startKasa}" to player
	while player is online:
		if player has permission "{@sklepPerm}":
			if {sklep::kasa::%player%} is set:
				send action bar "{@scriptPrefix} &aTwoje pieniadze&7: &e%{sklep::kasa::%player%}%" to player
				wait 2 seconds

command /kasa [<player>] [<text>] [<number>]:
	trigger:
		if player has permission "{@sklepManagePerm}":
			if arg 1 is not set:
				send "{@scriptPrefix} &cNie podales uzytkownika!" to player
				stop
			if arg 2 is not set:
				send "&cNie podales opcji!" to player
				send "{@scriptPrefix} &cUzycia&7: &f/kasa &7[&f&lGRACZ&7] &7[&f&linfo&7/&f&lustaw&7] &7[&f&lILOSC&7]" to player
				stop
			if arg 2 is set:
				if arg 2 is not "info" or "dodaj" or "usun" or "ustaw":
					send "&cOpcja jest zla!" to player
					send "{@scriptPrefix} &cUzycia&7: &f/kasa &7[&f&lGRACZ&7] &7[&f&linfo&7/&f&lustaw&7] &7[&f&lILOSC&7]" to player
					stop
			if arg 2 is "info":
				send "{@scriptPrefix} &aAktualna kasa &f%player-arg% &awynosi&7: &e%{sklep::kasa::::%arg-1%}%" to player
				stop
			if arg 3 is not set:
				send "&cNie podales ilosci!" to player
				send "{@scriptPrefix} &cUzycia&7: &f/kasa &7[&f&lGRACZ&7] &7[&f&linfo&7/&f&lustaw&7] &7[&f&lILOSC&7]" to player
				stop
			if arg 2 is "ustaw":
				set {sklep::kasa::::%arg-1%} to arg-3
				send "{@scriptPrefix} &aAktualna kasa &f%player-arg% &awynosi&7: &e%{sklep::kasa::::%arg-1%}%" to player
				stop
		else:
			send "{@serverPrefix} &cBrak permisji&7: &6&l{@sklepManagePerm}" to player
			stop
command /sklep:
	aliases: /shop
	executable by: player
	trigger:
		if player have permissions "{@sklepPerm}":
			open chest with 1 rows named "{@sklepName}" to player
			wait 5 ticks
			set player's current inventory's slot 0 to gold ingot named "&6&lVIP" with lore "&fKwota&7: &e10"
			set player's current inventory's slot 1 to iron ingot named "&e&lSVIP" with lore "&fKwota&7: &e15"
			set player's current inventory's slot 2 to lapis lazuli named "&9&lSPONSOR" with lore "&fKwota&7: &e20"
			set player's current inventory's slot 3 to diamond named "&d&lELITA" with lore "&fKwota&7: &e25"
			set player's current inventory's slot 4 to emerald named "&c&lFOREST" with lore "&fKwota&7: &e30"
			set player's current inventory's slot 5 to gray stained glass pane
			set player's current inventory's slot 6 to gray stained glass pane
			set player's current inventory's slot 7 to gray stained glass pane
			set player's current inventory's slot 8 to golden nugget named "&6&lTwoja kasa&7: &e&l%{sklep::kasa::%player%}%"
		else:
			send "{@serverPrefix} &cBrak permisji&7: &6&l{@sklepPerm}" to player
			stop

on inventory click:
	if name of event-inventory is "{@sklepName}":
		cancel event
		set {sklep::kasa::%player%} to ({sklep::kasa::%player%} parsed as integer)
		if clicked slot is 0:
			if {sklep::kasa::%player%} >= 10:
				remove 10 from {sklep::kasa::%player%}
				execute console command "lp user %player's name% parent add vip"
				close player's inventory
				send "{@scriptPrefix} &2Pomyslnie kupiles &6&lVIP" to player
				stop
			else:
				send "{@scriptPrefix} &cNie posiadasz wystarczajaco pieniedzy!" to player
				close player's inventory
				stop


nie działało ponieważ nie widziało {sklep::kasa::%player%} jako liczby dodałem linijke która zamienia interpretacje tego na liczbe w evencie inv click tak abyś nie musiał co chwile tego konwertować 

posiedzialem troche nad kodem i wiem dlaczego nie widzi kasy jako liczba dodajesz ją jako tekst na początku:
 

set {sklep::kasa::%player%} to "{@startKasa}"


powinno być :

 

set {sklep::kasa::%player%} to {@startKasa}


A zatem poprzednio dodana linijka jest nie potrzebna dodałem również komendy dodaj oraz usun oraz nadałem temu nieco lepszy look (chyba nie chcesz mi powiedzieć że wymagasz 3 argumentu w info? jakby to mialo wyglądać...

oto gotowy kod:

 

options:
	sklepPerm: craftbox.sklep
	sklepManagePerm: craftbox.sklep.admin
	serverPrefix: &f&lTwoje&7&lIP &8»
	scriptPrefix: &a&lSKLEP &8»
	startKasa: 0
	sklepName: &a&lSKLEP

on join:
	if player has permission "{@sklepPerm}":
		if {sklep::kasa::%player%} is not set:
			set {sklep::kasa::%player%} to {@startKasa}
			send "{@scriptPrefix} &fUstawiono twoja kase na &e{@startKasa}" to player
	while player is online:
		if player has permission "{@sklepPerm}":
			if {sklep::kasa::%player%} is set:
				send action bar "{@scriptPrefix} &aTwoje pieniadze&7: &e%{sklep::kasa::%player%}%" to player
				wait 2 seconds

command /kasa [<player>] [<text>] [<number>]:
	trigger:
		if player has permission "{@sklepManagePerm}":
			if arg 1 is not set:
				send "{@scriptPrefix} &cNie podales uzytkownika!" to player
				stop
			if arg 2 is not set:
				send "&cNie podales opcji!" to player
				send "{@scriptPrefix} &cUzycia&7: &f/kasa &7[&f&lGRACZ&7] &7[&f&linfo&7/&f&lustaw&7] &f( &7[&f&lILOSC&7] &f}" to player
				stop
			if arg 2 is set:
				if arg 2 is "info":
					if arg 3 is not set:
						send "{@scriptPrefix} &aAktualna kasa &f%player-arg% &awynosi&7: &e%{sklep::kasa::%arg-1%}%" to player
						stop
					else:
						send "&cOpcja jest zla!" to player
						send "{@scriptPrefix} &cUzycia&7: &f/kasa &7[&f&lGRACZ&7] &7[&f&linfo&7&7]" to player
						stop
				if arg 2 is "ustaw":
					if arg 3 is set:
						set {sklep::kasa::%arg-1%} to arg 3
						send "{@scriptPrefix} &aAktualna kasa &f%player-arg% &awynosi&7: &e%{sklep::kasa::%arg-1%}%" to player
						stop
				if arg 2 is "dodaj":
					if arg 3 is set:
						set {sklep::kasa::%arg-1%} to {sklep::kasa::%arg-1%} + arg 3
						send "{@scriptPrefix} &aAktualna kasa &f%player-arg% &awynosi&7: &e%{sklep::kasa::%arg-1%}%" to player
						stop
				if arg 2 is "usun":
					if arg 3 is set:
						set {sklep::kasa::%arg-1%} to {sklep::kasa::%arg-1%} - arg 3
						send "{@scriptPrefix} &aAktualna kasa &f%player-arg% &awynosi&7: &e%{sklep::kasa::%arg-1%}%" to player
						stop
				else:
					send "&cOpcja jest zla!" to player
					send "{@scriptPrefix} &cUzycia&7: &f/kasa &7[&f&lGRACZ&7] &7[&f&lustaw&7/&f&ldodaj/&f&lusun&7] &7[&f&lILOSC&7]" to player
					stop


		else:
			send "{@serverPrefix} &cBrak permisji&7: &6&l{@sklepManagePerm}" to player
			stop
command /sklep:
	aliases: /shop
	executable by: player
	trigger:
		if player have permissions "{@sklepPerm}":
			open chest with 1 rows named "{@sklepName}" to player
			wait 5 ticks
			set player's current inventory's slot 0 to gold ingot named "&6&lVIP" with lore "&fKwota&7: &e10"
			set player's current inventory's slot 1 to iron ingot named "&e&lSVIP" with lore "&fKwota&7: &e15"
			set player's current inventory's slot 2 to lapis lazuli named "&9&lSPONSOR" with lore "&fKwota&7: &e20"
			set player's current inventory's slot 3 to diamond named "&d&lELITA" with lore "&fKwota&7: &e25"
			set player's current inventory's slot 4 to emerald named "&c&lFOREST" with lore "&fKwota&7: &e30"
			set player's current inventory's slot 5 to gray stained glass pane
			set player's current inventory's slot 6 to gray stained glass pane
			set player's current inventory's slot 7 to gray stained glass pane
			set player's current inventory's slot 8 to golden nugget named "&6&lTwoja kasa&7: &e&l%{sklep::kasa::%player%}%"
		else:
			send "{@serverPrefix} &cBrak permisji&7: &6&l{@sklepPerm}" to player
			stop

on inventory click:
	if name of event-inventory is "{@sklepName}":
		cancel event
		if clicked slot is 0:
			if {sklep::kasa::%player%} >= 10:
				remove 10 from {sklep::kasa::%player%}
				execute console command "lp user %player's name% parent add vip"
				close player's inventory
				send "{@scriptPrefix} &2Pomyslnie kupiles &6&lVIP" to player
				stop
			else:
				send "{@scriptPrefix} &cNie posiadasz wystarczajaco pieniedzy!" to player
				close player's inventory
				stop

 

Edytowane przez Saanjuk
Odnośnik do komentarza
https://skript.pl/temat/54403-skrypt-nie-odejmuje-liczby/#findComment-330117
Udostępnij na innych stronach

  • 0

@Saanjuk sprawdzę po powrocie do domu i odpisze 

 

@Saanjuk Skrypt działa! Dziękuje ci bardzo😍, ale musiałem nanieść kilka poprawek ;)

Można zamknąć😁

Glicz

Łączę posty.

Notatka dodana przez Glicz

Odnośnik do komentarza
https://skript.pl/temat/54403-skrypt-nie-odejmuje-liczby/#findComment-330121
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ę...