Skocz do zawartości
  • 0

skrypt na gui


MrRayqq

Pytanie

Potrzebuje skryptu na gui ktore bedzie sie otwierac po kliknieciu na iron golema. w gui maja sie znajdowac 1 zajety slot  (do klikniecia) bedzie to ikonka skrzyni . Po kliknieciu na  skrzynie ukazuje nam sie drugie menu w ktorej mamy ukazne bronie ktore mamy w swoim ekwipunku. Po kliknieciu na dany miecz miecz w gui golema otwiera nam sie kolejne do ktorego mozemy wlozyc jakis przedmiot np ksiazke zaklety ogien.. po zamknieciu tego gui na miecz dodaje na sie ten enchant. i jak ponownie otworzymy gui  to ksiazka tam zostaje. Troche skomplikowane, ale mysle ze do zrobienia. Jest mi to bardzo potrzebne gdyz bardzo dlugo nie pisalem skryptow i mam z tym problem.

Odnośnik do komentarza
https://skript.pl/temat/27522-skrypt-na-gui/
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Spoiler

on script load:
	import "org.bukkit.event.player.PlayerInteractEntityEvent"
options:
	nameGuiIG: IRON_GOLEM
	nameTwoGUI: Narzedzia
	nameBooks: Ksiazki
	items: any pickaxe, any shovel, any axe, any sword, bow or hoe
on "org.bukkit.event.player.PlayerInteractEntityEvent":
	set {_p} to event.getPlayer()
	if {golem::%{_p}%} is not set:
		set {golem::%{_p}%} to true
		set {_x} to chest with 1 rows named "{@nameGuiIG}"
		set slot 0 of {_x} to chest named "Cos"
		open {_x} to {_p}
		clear {golem::%{_p}%}
		stop
on inventory click:
	if inventory name of player's current inventory is "{@nameGuiIG}":
		set {_slot} to clicked slot
		if {_slot} is smaller than 0:
			stop
		cancel event
		if {_slot} is 0:
			loop all items in player's inventory:
				if loop-item is {@items}:
					add loop-item to {_items::*}
			close player's inventory
			if {_items::*} is not set:
				send "Nie masz zadnych przedmiotow do enchantowania."
				stop
			set {_x} to chest with (rounded up "%size of {_items::*}%" parsed as integer / 9) rows named "{@nameTwoGUI}"
			loop {_items::*}:
				set slot loop-index parsed as integer - 1 of {_x} to loop-value
			wait 2 tick
			open {_x} to player
			stop
		stop
	if inventory name of player's current inventory is "{@nameTwoGUI}":
		set {_slot} to clicked slot
		if {_slot} is smaller than 0:
			stop
		cancel event
		set {golem::%player%::item} to player's current inventory's slot {_slot}
		close player's inventory
		set {_ench::*} to enchantments of {golem::%player%::item}
		loop {_ench::*}:
			set {_item} to "enchanted book of %loop-value% %{golem::%player%::item}'s enchant level from loop-value%" parsed as item
			add {_item} to {_items::*}
		set {golem::%player%::guiBooksRows} to rounded up "%size of {_items::*}%" parsed as integer / 9
		if {golem::%player%::guiBooksRows} is 0:
			set {golem::%player%::guiBooksRows} to 1
		set {_x} to chest with {golem::%player%::guiBooksRows} rows named "{@nameBooks}"
		loop {_items::*}:
			set slot loop-index parsed as integer - 1 of {_x} to loop-value
		wait 2 tick
		open {_x} to player
		stop
on inventory close:
	if inventory name of player's current inventory is "{@nameBooks}":
		loop {golem::%player%::guiBooksRows} * 9 times:
			if player's current inventory's slot (loop-number) - 1 is not air:
				if player's current inventory's slot (loop-number) - 1 is enchanted book:
					set {_e::*} to enchantments of player's current inventory's slot (loop-number) - 1
					loop {_e::*}:
						set {_ench} to "%loop-value-2% %(player's current inventory's slot (loop-number-1) - 1)'s enchant level from loop-value-2%" parsed as enchantment type
						add {_ench} to {_ench::*}
				else:
					add player's current inventory's slot (loop-number) - 1 to {_back::*}
		loop all items in player's inventory:
			if loop-item is {golem::%player%::item}:
				disenchant loop-item
				loop {_ench::*}:
					enchant loop-item with loop-value-2
		give {_back::*} to player
		clear {golem::%player%::*}

 

Wymagane:

Skript-mirror v0.9

SkQuery,

Skellet

Odnośnik do komentarza
https://skript.pl/temat/27522-skrypt-na-gui/#findComment-182706
Udostępnij na innych stronach

  • 0

Dzieki a mam prosbe jeszcze jedna. Bo chcialbym zrobic swoje autorskie enchanty np : "Płomienna Destrukcja" ktora powoduje +10% szansy na podpalanie przeciwnika. i zeby byly kompatybilne do tego skryptu. Czyli daje te ksiazke Płomienna Destrukcja i dodaje nam sie taki enchant. Jest to mozliwe ? jesli tak bylbym bardzo wdzieczny.

Odnośnik do komentarza
https://skript.pl/temat/27522-skrypt-na-gui/#findComment-182752
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ę...