Skocz do zawartości
  • 0

Poprawa skryptu na losowanie


Pytanie

Elo mam taki skrypt na losowanie w GUI, niby wszystko pieknie ale gdy klikne esc, lub klikne e to wychodzi mi z losowania i nie daje mi itemu. Zrobilby ktos ze gdy klikne te esc lub e to robi sie takjaby "niewidzialne" losowanie i daje mi item?

on rightclick:
	if player's tool is chest named "test":
		remove 1 chest named "test" from the player
		add 1 310 to {_prize.item::*}
		add 1 311 to {_prize.item::*}
		add 1 312 to {_prize.item::*}
		add 1 313 to {_prize.item::*}
		wait 2 tick
		open chest with 3 rows named "<light red>Koło fortuny" to player
		loop 27 times:
			if "%inventory name of player's current inventory%" is "<light red>Koło Fortuny":
				if loop-number < 7:
					add loop-number to {_outline.colors::*}
				if loop-number is not 5 or 23 or 11 or 12 or 13 or 14 or 15 or 16 or 17:
					add loop-number - 1 to {_outline.slots::*}
				else if loop-number is not 5 or 23:
					add loop-number - 1 to {_prize.slots::*}
				else:
					add loop-number - 1 to {_pointers::*}
			else:
				stop
		loop {_pointers::*}:
			if "%inventory name of player's current inventory%" is "<light red>Koło Fortuny":
				wait 2 tick
				format slot loop-value of player with redstone torch of fortune to be unstealable 
			else:
				stop
			set {_random.loop.number} to random integer between 30 and 60
			set {_random.slowdown.number} to random integer between 6 and 12
		loop {_random.loop.number} times:
			if "%inventory name of player's current inventory%" is "<light red>Koło Fortuny":
				loop {_outline.slots::*}:
					set {_outline.item} to "stained glass pane:%random element of {_outline.colors::*}%" parsed as item
					format slot loop-value-2 of player with {_outline.item} to be unstealable
				if loop-number < {_random.loop.number} - {_random.slowdown.number}:
					loop {_prize.slots::*}:
						if loop-number is 1:
							loop 7 times:
								add random element of {_prize.item::*} to {_prize.anotherlistomg::*}
						else:
							add random element of {_prize.item::*} to {_prize.anotherlistomg::*}
						set {_n} to loop-index parsed as integer + loop-number
						format slot loop-value-2 of player with {_prize.anotherlistomg::%{_n}%} to be unstealable
				else:
					if loop-number is divisible by 2:
						loop {_prize.slots::*}:
							add random element of {_prize.item::*} to {_prize.anotherlistomg::*}
							set {_n} to loop-index parsed as integer + loop-number
							format slot loop-value-2 of player with {_prize.anotherlistomg::%{_n}%} to be unstealable
				wait 2 tick
			else:
				stop
		wait 15 tick
		if "%inventory name of player's current inventory%" is "<light red>Koło Fortuny":
			if slot 13 of current inventory of player is a 310:
				give diamond helmet to the player
				close inventory of player
				stop
			if slot 13 of current inventory of player is a 311:
				give 1 311 to the player
				close inventory of player
				stop
			if slot 13 of current inventory of player is a 312:
				give 1 312 to the player
				close inventory of player
				stop
			if slot 13 of current inventory of player is a 313:
				give 1 313 to the player
				close inventory of player
				stop
		else:
			stop
		loop {_prize.slots::*}:
			if "%inventory name of player's current inventory%" is "<light red>Koło Fortuny":
				if loop-value is not 13:
					format slot loop-value of player with air to be unstealable
				else if loop-value is 13:
					unformat slot 13 of player
			else:
				stop

 

Odnośnik do komentarza
https://skript.pl/temat/18659-poprawa-skryptu-na-losowanie/
Udostępnij na innych stronach

4 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
on rightclick:
	if player's tool is chest named "test":
		remove 1 chest named "test" from the player
		add 1 310 to {_prize.item::*}
		add 1 311 to {_prize.item::*}
		add 1 312 to {_prize.item::*}
		add 1 313 to {_prize.item::*}
		wait 2 tick
		open chest with 3 rows named "<light red>Koło fortuny" to player
		loop 27 times:
			if "%inventory name of player's current inventory%" is "<light red>Koło Fortuny":
				if loop-number < 7:
					add loop-number to {_outline.colors::*}
				if loop-number is not 5 or 23 or 11 or 12 or 13 or 14 or 15 or 16 or 17:
					add loop-number - 1 to {_outline.slots::*}
				else if loop-number is not 5 or 23:
					add loop-number - 1 to {_prize.slots::*}
				else:
					add loop-number - 1 to {_pointers::*}
			else:
				stop
		loop {_pointers::*}:
			if "%inventory name of player's current inventory%" is "<light red>Koło Fortuny":
				wait 2 tick
				format slot loop-value of player with redstone torch of fortune to be unstealable 
			else:
				stop
			set {_random.loop.number} to random integer between 30 and 60
			set {_random.slowdown.number} to random integer between 6 and 12
		loop {_random.loop.number} times:
			if "%inventory name of player's current inventory%" is "<light red>Koło Fortuny":
				loop {_outline.slots::*}:
					set {_outline.item} to "stained glass pane:%random element of {_outline.colors::*}%" parsed as item
					format slot loop-value-2 of player with {_outline.item} to be unstealable
				if loop-number < {_random.loop.number} - {_random.slowdown.number}:
					loop {_prize.slots::*}:
						if loop-number is 1:
							loop 7 times:
								add random element of {_prize.item::*} to {_prize.anotherlistomg::*}
						else:
							add random element of {_prize.item::*} to {_prize.anotherlistomg::*}
						set {_n} to loop-index parsed as integer + loop-number
						format slot loop-value-2 of player with {_prize.anotherlistomg::%{_n}%} to be unstealable
				else:
					if loop-number is divisible by 2:
						loop {_prize.slots::*}:
							add random element of {_prize.item::*} to {_prize.anotherlistomg::*}
							set {_n} to loop-index parsed as integer + loop-number
							format slot loop-value-2 of player with {_prize.anotherlistomg::%{_n}%} to be unstealable
				wait 2 tick
			else:
				stop
		wait 15 tick
		if "%inventory name of player's current inventory%" is "<light red>Koło Fortuny":
			if slot 13 of current inventory of player is a 310:
				give diamond helmet to the player
				close inventory of player
				stop
			if slot 13 of current inventory of player is a 311:
				give 1 311 to the player
				close inventory of player
				stop
			if slot 13 of current inventory of player is a 312:
				give 1 312 to the player
				close inventory of player
				stop
			if slot 13 of current inventory of player is a 313:
				give 1 313 to the player
				close inventory of player
				stop
		else:
			set {_} to 1 or 2 or 3 or 4
			if {_} is 1:
				give diamond helmet to the player
			if {_} is 2:
				give 1 311 to the player
			if {_} is 3:
				give 1 312 to the player
			if {_} is 4:
				give 1 313 to the player
		loop {_prize.slots::*}:
			if "%inventory name of player's current inventory%" is "<light red>Koło Fortuny":
				if loop-value is not 13:
					format slot loop-value of player with air to be unstealable
				else if loop-value is 13:
					unformat slot 13 of player
			else:
				stop
						

prosze i jak chcesz udoskonalic ten skript to dodaj dodawanie do puli itemków i sprawdzanie czy gracz ma miejsce na dany item (in player can hold 10 stone)

Odnośnik do komentarza
https://skript.pl/temat/18659-poprawa-skryptu-na-losowanie/#findComment-127463
Udostępnij na innych stronach

  • 0

ej zapomniałem dodać jedną żecz łap :)

Spoiler

on rightclick:
	if player's tool is chest named "test":
		remove 1 chest named "test" from the player
		add 1 310 to {_prize.item::*}
		add 1 311 to {_prize.item::*}
		add 1 312 to {_prize.item::*}
		add 1 313 to {_prize.item::*}
		wait 2 tick
		open chest with 3 rows named "<light red>Koło fortuny" to player
		loop 27 times:
			if "%inventory name of player's current inventory%" is "<light red>Koło Fortuny":
				if loop-number < 7:
					add loop-number to {_outline.colors::*}
				if loop-number is not 5 or 23 or 11 or 12 or 13 or 14 or 15 or 16 or 17:
					add loop-number - 1 to {_outline.slots::*}
				else if loop-number is not 5 or 23:
					add loop-number - 1 to {_prize.slots::*}
				else:
					add loop-number - 1 to {_pointers::*}
			else:
				set {_} to 1 or 2 or 3 or 4
				if {_} is 1:
					give diamond helmet to the player
				if {_} is 2:
					give 1 311 to the player
				if {_} is 3:
					give 1 312 to the player
				if {_} is 4:
					give 1 313 to the player
				stop
		loop {_pointers::*}:
			if "%inventory name of player's current inventory%" is "<light red>Koło Fortuny":
				wait 2 tick
				format slot loop-value of player with redstone torch of fortune to be unstealable 
			else:
				set {_} to 1 or 2 or 3 or 4
				if {_} is 1:
					give diamond helmet to the player
				if {_} is 2:
					give 1 311 to the player
				if {_} is 3:
					give 1 312 to the player
				if {_} is 4:
					give 1 313 to the player
				stop
			set {_random.loop.number} to random integer between 30 and 60
			set {_random.slowdown.number} to random integer between 6 and 12
		loop {_random.loop.number} times:
			if "%inventory name of player's current inventory%" is "<light red>Koło Fortuny":
				loop {_outline.slots::*}:
					set {_outline.item} to "stained glass pane:%random element of {_outline.colors::*}%" parsed as item
					format slot loop-value-2 of player with {_outline.item} to be unstealable
				if loop-number < {_random.loop.number} - {_random.slowdown.number}:
					loop {_prize.slots::*}:
						if loop-number is 1:
							loop 7 times:
								add random element of {_prize.item::*} to {_prize.anotherlistomg::*}
						else:
							add random element of {_prize.item::*} to {_prize.anotherlistomg::*}
						set {_n} to loop-index parsed as integer + loop-number
						format slot loop-value-2 of player with {_prize.anotherlistomg::%{_n}%} to be unstealable
				else:
					if loop-number is divisible by 2:
						loop {_prize.slots::*}:
							add random element of {_prize.item::*} to {_prize.anotherlistomg::*}
							set {_n} to loop-index parsed as integer + loop-number
							format slot loop-value-2 of player with {_prize.anotherlistomg::%{_n}%} to be unstealable
				wait 2 tick
			else:
				set {_} to 1 or 2 or 3 or 4
				if {_} is 1:
					give diamond helmet to the player
				if {_} is 2:
					give 1 311 to the player
				if {_} is 3:
					give 1 312 to the player
				if {_} is 4:
					give 1 313 to the player
				stop
		wait 15 tick
		if "%inventory name of player's current inventory%" is "<light red>Koło Fortuny":
			if slot 13 of current inventory of player is a 310:
				give diamond helmet to the player
				close inventory of player
				stop
			if slot 13 of current inventory of player is a 311:
				give 1 311 to the player
				close inventory of player
				stop
			if slot 13 of current inventory of player is a 312:
				give 1 312 to the player
				close inventory of player
				stop
			if slot 13 of current inventory of player is a 313:
				give 1 313 to the player
				close inventory of player
				stop
		else:
			set {_} to 1 or 2 or 3 or 4
			if {_} is 1:
				give diamond helmet to the player
			if {_} is 2:
				give 1 311 to the player
			if {_} is 3:
				give 1 312 to the player
			if {_} is 4:
				give 1 313 to the player
			stop
		loop {_prize.slots::*}:
			if "%inventory name of player's current inventory%" is "<light red>Koło Fortuny":
				if loop-value is not 13:
					format slot loop-value of player with air to be unstealable
				else if loop-value is 13:
					unformat slot 13 of player
			else:
				stop

 

 

Odnośnik do komentarza
https://skript.pl/temat/18659-poprawa-skryptu-na-losowanie/#findComment-127519
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ę...