Skocz do zawartości

Magiczny enchant - skrypt na enchant w GUI | V 2.0


Rekomendowane odpowiedzi

Magiczny enchant
Sprawia że po kliknięciu danym przedmiotem na enchant otwiera gui:
[Mieczem, Zbroją, Łukiem, Kuszą]

INFORMACJE:
Skrypt jest w 99% stworzony przez RoYYaLLMiNNa
Jestem wyłącznie osobą która będzie aktualizować 1% tego skryptu i tworzącą ją
do aktualnych wersji gdyż autor nie jest aktywny od 2016

Co robi skrypt?
Tworzy on Gui dla enchantu
Posiada on Enchant dla nowych rzeczy
Nie musisz już tworzyć biblioteczek aby enchantować

Wygląd:
s8DtwEQ.png
o6d8Xzt.png

ChangeLog: V 2.1
- Dodałem do enchantu: Łuk, Kusze
- Usunąłem wszelakie błędy
- Zmieniłem dodawanie puktów na 1.0 
- Zabezpieczyłem komendy
- Dodałem dźwięk otwarcia enchantu

To Do list:
- Dodać Zbroje Netherytowe
- Dodać Tarcze
- Dodać dźwięk przy otwieraniu menu [ Wykonane ]
- Dodać Elytre
- Zabezpieczyć komendy [ Wykonane ]

Wymagane:
- Skrypt
- WildSkrypt
 - SkQuery

Pobranie:

Edytowane przez Zabujca997
Dodanie to do, ChangeLog.
Nieaktywny

Nie kopiuj tego z innych stron, ponieważ psuje to formatowanie na stylu ciemnym, następna taka sytuacja skończy się już punktowo.

Odnośnik do komentarza
https://skript.pl/temat/42076-magiczny-enchant-skrypt-na-enchant-w-gui-v-20/
Udostępnij na innych stronach

Skrypt w mojej ocenie jest co najmniej tragiczny. Już mówię dlaczego.

1. Co to ma być?

if {enchant.%event-block%} is false:
        loop 100000 times:
            if event-block is enchantment table:
                wait 0.1 seconds
                set {enchant.%event-block%} to true

2. Skrypt używa zbugowanego 'format slot'. Skoro zabierasz się za jego przerabianie, użyj 'set slot'.

3. Ponad 1000 linijek definicji wielu komend... W dodatku niczym nie są zabezpieczone te komendy.

Zdaję sobie oczywiście sprawę z tego, że ten skrypt liczy już sobie ponad 4 lata. Mimo wszystko chciałem wskazać wszystko, co w nim jest błędne czy też dziwne.

Odnośnik do komentarza
https://skript.pl/temat/42076-magiczny-enchant-skrypt-na-enchant-w-gui-v-20/#findComment-263834
Udostępnij na innych stronach

53 minuty temu, Kormic napisał:

Skrypt w mojej ocenie jest co najmniej tragiczny. Już mówię dlaczego.

1. Co to ma być?


if {enchant.%event-block%} is false:
        loop 100000 times:
            if event-block is enchantment table:
                wait 0.1 seconds
                set {enchant.%event-block%} to true

2. Skrypt używa zbugowanego 'format slot'. Skoro zabierasz się za jego przerabianie, użyj 'set slot'.

3. Ponad 1000 linijek definicji wielu komend... W dodatku niczym nie są zabezpieczone te komendy.

Zdaję sobie oczywiście sprawę z tego, że ten skrypt liczy już sobie ponad 4 lata. Mimo wszystko chciałem wskazać wszystko, co w nim jest błędne czy też dziwne.

Dziękuję. Bede to mieć w pamięci chce aby ten skrypt był aktualny oraz stale rozwijany. Bede naprawiać go jak tylko moge

Odnośnik do komentarza
https://skript.pl/temat/42076-magiczny-enchant-skrypt-na-enchant-w-gui-v-20/#findComment-263850
Udostępnij na innych stronach

W sumie to zrobiłem coś podobnego.

Spoiler

#all enchantments
#max enchant lvl of %enchantment%
#all enchants of %itemstack%
#ench lvl of %enchantment%

#%itemstack% can enchant with %enchantment%
#%enchantment% conflicts with %enchantment%
function isTool(i: item) :: boolean:
	if {_i} can enchant with unbreaking:
		return true
	return false
function getPrice(e: enchantment type) :: integer:
	set {_x} to last character of "%{_e}%" parsed as integer
	if {_x} is 1:
		return 100
	if {_x} is 2:
		return 200
	if {_x} is 3:
		return 300
	if {_x} is 4:
		return 400
	if {_x} is 5:
		return 500
function ENCHANT_getInventory(i: item, p: player) :: inventory:
	set {_x} to chest with 6 rows named "Enchanting Table"
	loop 54 times:
		if (loop-number)-1 is 0, 8, 9, 17, 18, 26, 27, 35, 36, 44, 45 or 53:
			set slot (loop-number)-1 of {_x} to bookshelf
	loop all enchants:
		set {_e} to "%loop-value%" parsed as enchantment
		if {_e} is not Curse of vanishing or mending:
			if {_i} can enchant with {_e}:
				add loop-value to {_enchs::*}
	set {_i} to 1
	loop {_enchs::*}:
		set {_max} to max enchant lvl of loop-value
		set {_a} to 0
		loop {_max} times:
			set {_ench} to "%loop-value-1% %loop-number%" parsed as enchantment type
			set {_it} to "enchanted book of %{_ench}%" parsed as item
			set slot ({_i} + {_a}) of {_x} to {_it} named "&fKoszt: &6%{enchMoney::%{_p}%}%&8/&6%getPrice({_ench})%"
			add 9 to {_a}
		add 1 to {_i}
			
	return {_x}
on break:
	add random number between 0.1 and 0.5 to {enchMoney::%player%}
on death:
	loop all players:
		if "%attacker%" is "%loop-player%":
			add random number between 1 and 2 to {enchMoney::%loop-player%}
on rightclick on enchantment table:
	cancel event
	if isTool(player's tool) is true:
		open ENCHANT_getInventory(player's tool, player) to player
		stop
	send "Nie mozna tego zenchantowac."
on inventory click:
	if inventory name of player's current inventory is "Enchanting Table":
		if slot is smaller than 0:
			stop
		cancel event
		set {_name} to uncoloured name of player's current inventory's slot slot
		replace all "Koszt: " with "" in {_name}
		set {_price} to subtext of {_name} between index index of "/" in {_name} + 1 and length of {_name} parsed as integer
		if {enchMoney::%player%} is larger than or equal to {_price}:
			set {_ench::*} to enchantments of (player's current inventory's slot slot)
			set {_ench} to "%{_ench::1}%" parsed as enchantment type
			remove {_price} from {enchMoney::%player%}
			send "Zenchantowales swoja bron na %{_ench}%"
			enchant player's tool with {_ench}
			stop
		send "Masz za malo pieniedzy."

 

Na 1.13 i jeszcze stworzyłem addon do tego, bo nie działały niektóre inne addony.
Przerażająca różnica w linijkach, co? :D 
Skrypt ten był pisany na serwer testowy i to rok temu.

Spoiler

TgsWCtj.png

 

Edytowane przez knugi
Odnośnik do komentarza
https://skript.pl/temat/42076-magiczny-enchant-skrypt-na-enchant-w-gui-v-20/#findComment-263859
Udostępnij na innych stronach

7 minut temu, knugi napisał:

W sumie to zrobiłem coś podobnego.

  Ukryj zawartość


#all enchantments
#max enchant lvl of %enchantment%
#all enchants of %itemstack%
#ench lvl of %enchantment%

#%itemstack% can enchant with %enchantment%
#%enchantment% conflicts with %enchantment%
function isTool(i: item) :: boolean:
	if {_i} can enchant with unbreaking:
		return true
	return false
function getPrice(e: enchantment type) :: integer:
	set {_x} to last character of "%{_e}%" parsed as integer
	if {_x} is 1:
		return 100
	if {_x} is 2:
		return 200
	if {_x} is 3:
		return 300
	if {_x} is 4:
		return 400
	if {_x} is 5:
		return 500
function ENCHANT_getInventory(i: item, p: player) :: inventory:
	set {_x} to chest with 6 rows named "Enchanting Table"
	loop 54 times:
		if (loop-number)-1 is 0, 8, 9, 17, 18, 26, 27, 35, 36, 44, 45 or 53:
			set slot (loop-number)-1 of {_x} to bookshelf
	loop all enchants:
		set {_e} to "%loop-value%" parsed as enchantment
		if {_e} is not Curse of vanishing or mending:
			if {_i} can enchant with {_e}:
				add loop-value to {_enchs::*}
	set {_i} to 1
	loop {_enchs::*}:
		set {_max} to max enchant lvl of loop-value
		set {_a} to 0
		loop {_max} times:
			set {_ench} to "%loop-value-1% %loop-number%" parsed as enchantment type
			set {_it} to "enchanted book of %{_ench}%" parsed as item
			set slot ({_i} + {_a}) of {_x} to {_it} named "&fKoszt: &6%{enchMoney::%{_p}%}%&8/&6%getPrice({_ench})%"
			add 9 to {_a}
		add 1 to {_i}
			
	return {_x}
on break:
	add random number between 0.1 and 0.5 to {enchMoney::%player%}
on death:
	loop all players:
		if "%attacker%" is "%loop-player%":
			add random number between 1 and 2 to {enchMoney::%loop-player%}
on rightclick on enchantment table:
	cancel event
	if isTool(player's tool) is true:
		open ENCHANT_getInventory(player's tool, player) to player
		stop
	send "Nie mozna tego zenchantowac."
on inventory click:
	if inventory name of player's current inventory is "Enchanting Table":
		if slot is smaller than 0:
			stop
		cancel event
		set {_name} to uncoloured name of player's current inventory's slot slot
		replace all "Koszt: " with "" in {_name}
		set {_price} to subtext of {_name} between index index of "/" in {_name} + 1 and length of {_name} parsed as integer
		if {enchMoney::%player%} is larger than or equal to {_price}:
			set {_ench::*} to enchantments of (player's current inventory's slot slot)
			set {_ench} to "%{_ench::1}%" parsed as enchantment type
			remove {_price} from {enchMoney::%player%}
			send "Zenchantowales swoja bron na %{_ench}%"
			enchant player's tool with {_ench}
			stop
		send "Masz za malo pieniedzy."

 

Na 1.13 i jeszcze stworzyłem addon do tego, bo nie działały niektóre inne addony.
Przerażająca różnica w linijkach, co? :D 
Skrypt ten był pisany na serwer testowy i to rok temu.

  Ukryj zawartość

TgsWCtj.png

 

To prawda ogromna różnica jest ale plugin to plugin.
Głównie chce aby osoba chcąca ułatwić sobie na serwerze np 1.16..2 enchant który ich irytuje zastąpić tym.
Chce też aby był on aktualny i ciągle rozwijany. 

Teraz poprawiam go o permisje i linijki

Odnośnik do komentarza
https://skript.pl/temat/42076-magiczny-enchant-skrypt-na-enchant-w-gui-v-20/#findComment-263861
Udostępnij na innych stronach

2 minuty temu, Zabujca997 napisał:

To prawda ogromna różnica jest ale plugin to plugin.
Głównie chce aby osoba chcąca ułatwić sobie na serwerze np 1.16..2 enchant który ich irytuje zastąpić tym.
Chce też aby był on aktualny i ciągle rozwijany. 

Teraz poprawiam go o permisje i linijki

To powodzenia, ale te komendy to bym wywalił i zrobił coś przyjaźniejszego i bardziej optymalnego ;) 

Odnośnik do komentarza
https://skript.pl/temat/42076-magiczny-enchant-skrypt-na-enchant-w-gui-v-20/#findComment-263863
Udostępnij na innych stronach

47 minut temu, knugi napisał:

To powodzenia, ale te komendy to bym wywalił i zrobił coś przyjaźniejszego i bardziej optymalnego ;) 

Dziękuje. Prawda ale nie mam żadnego pomysłu jak to bardziej skrócić by było zarazem proste a skuteczne. 

Odnośnik do komentarza
https://skript.pl/temat/42076-magiczny-enchant-skrypt-na-enchant-w-gui-v-20/#findComment-263866
Udostępnij na innych stronach

9 minut temu, Zabujca997 napisał:

Dziękuje. Prawda ale nie mam żadnego pomysłu jak to bardziej skrócić by było zarazem proste a skuteczne. 

To popatrz sobie na mój kod i tym się inspiruj. O ile go rozumiesz ;) 

Odnośnik do komentarza
https://skript.pl/temat/42076-magiczny-enchant-skrypt-na-enchant-w-gui-v-20/#findComment-263868
Udostępnij na innych stronach

  • 1 miesiąc temu...

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

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

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