Skocz do zawartości

[TuSke] - Customowe Enchanty!


xAxee
 Udostępnij

Rekomendowane odpowiedzi

Cześć :D
Postanowiłem przedstawić nowe enchanty w skript z addonu TuSke

Aby zacząć tworzenie enchantu musimy dodać wyrażenie:

register a new custom enchantment with id name "<nazwa enchantu>"

np:

register a new custom enchantment with id name "Siekierka"


Bardzo podobnie do robienia receptur :D

Następnie dodajemy maksymalny poziom danego enchantu:

set max level of <nazwa enchantu> to <maksymalny level>

np:

set max level of Siekierka to 3

Następnie dodajemy szanse na zenchantowanie przedmiotu:
Skala 1 - 5
1 = Rzadko
5 = Często

set rarity of <nazwa enchantu> to <szansa 1-5>

np:

set rarity of Siekierka to 1

Następnie wybieramy przedmioty jakie mają być enchantowane na nowy enchant:

set accepted items for Siekierka to "Axes" and "Pickaxes"

Dostępne przedmioty:
Narzędzia: Axes, Pickaxes, Shovels, Swords
Zbroja: Helmets, Chestplates, Leggings, Boots
Wszystkie: Helmets, Chestplates, Leggings, Boots, Pickaxes, Axes, Shovels, Bow, Fishing Rod

Następnie wybieramy czy ten nowy enchant może występować w enchancie :D

set enabled for <nazwa enchantu> to <true/false>

np:

set enabled for Siekierka to true

Domyślnie jest to false więc musicie pamiętać aby go włączyć :D

Ostatecznie można jeszcze dodać "konflikty" dla tego enchantu

set conflicts for <nazwa enchantu> to <nazwa konfliktu enchantu>

np:

set conflicts for Siekierka to Sharpness #Nie sprawdzałem więc nie wiem czy będzie działało

Ostatecznie wszystko powinno wyglądać tak:

on load:
	register a new custom enchantment with id name "Siekierka"
	set {_e} to "Siekierka" parsed as custom enchantment #Dla ulatwienia
	set max level of {_e} to 3
	set rarity of {_e} to 1
	set accepted items for {_e} to "Axes" or "Pickaxes"
	set lore name of {_e} to "Siekierkowo"
	set enabled for {_e} to true

Aby wszystko działało należy zrestartować serwer lub użyć:
(w jakiejś komendzie/evencie)

reload all custom enchantments

Ale co to za enchant który nie może nic robić ;/
Na szczęście mamy to:

if <przedmiot> has custom enchantment <nazwa enchantu>:

np:

if player's tool has custom enchantment Siekierka:

Sprawdzanie poziomu enchantu:

level of custom enchantment <nazwa enchantu> of <przedmiot>

np:

set {_level} to level of custom enchantment Siekierka of player's tool

 

Dziękuje za przeczytanie poradnika iwg :D
Jeżeli ktoś miał by coś więcej do zaoferowania na ten temat prosiłbym o kontakt w pw albo pod tematem :D

 

Edytowane przez xAxee
Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...
Godzinę temu, TracerYT napisał:

Co ten enchant by robił?

Co chcesz :D od tego jest 
 

if player's tool has custom enchantment Siekierka:

i

set {_level} to level of custom enchantment Siekierka of player's tool

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 tygodnie później...

Niestety nie dostałem na to odpowiedzi ale no cóż...

reload all custom enchantments

nie istnieje, więc muszę restartować serwer.

Niestety aby ten enchant działał potrzebuje jeszcze innego enchantu. Kiedy biorę miecz z moim enchantem automatycznie nadawany jest też enchant Niezniszczalność.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 8 miesięcy temu...
on load:
    register a new custom enchantment with id name "Skoczek"
    set {_e} to "Skoczek" parsed as custom enchantment
    set max level of {_e} to 3
    set rarity of {_e} to 0
    set accepted items for {_e} to "Boots"
    set lore name of {_e} to "Skoczek"
    set enabled for {_e} to true
    if player's tool has custom enchantment Skoczek:
    set {_level} to level of custom enchantment Skoczek of player's tool

 

Co należy jescze wpisać aby gracz dostał efekt jump boost 1 ale na cały czas kiedy ma na sobie boty z tym enchantem?
 

Edytowane przez xNightPower_
Nieaktywny

Umieszczam kod w code.

Odnośnik do komentarza
Udostępnij na innych stronach

37 minut temu, Inumit napisał:

Co należy jescze wpisać aby gracz dostał efekt jump boost 1 ale na cały czas kiedy ma na sobie boty z tym enchantem?

1. Użyłeś 'player' w evencie 'on load', a jego tam oczywiście nie ma.

2. Jeżeli chcesz to zrobić z zakładaniem zbroi (a dokładniej butów), możesz w tym celu użyć jednej z trzech rzeczy:

  • dodatku Skript-Paper, który wprowadza event 'on player armor change'; sprawdzasz w nim czy future event-item posiadają ten enchant, jeżeli tak to nakładasz graczowi efekt na 999 dni, jeżeli nie to sprawdzasz czy past event-item posiadały ten enchant - jeżeli tak, usuwasz z gracza ten efekt (tutaj wymagany silnik PaperSpigot)
  • dodatku SharpSK - w nim sprawa wygląda bardzo podobnie z tą różnicą, że tam masz eventy 'on armor equip' oraz 'on armor unequip' i sprawdzasz w nich 'event-item' oraz jego enchant
  • mojego skryptu SkArmorEvent, w którym używasz eventów 'on skae armor equip' oraz 'on skae armor unequip'; sprawdzasz w nich 'event-item' i jego enchant (ten skrypt znajdziesz w dziale Skript > Skrypty)
Edytowane przez Kormic
Odnośnik do komentarza
Udostępnij na innych stronach

11 minut temu, Kormic napisał:

1. Użyłeś 'player' w evencie 'on load', a jego tam oczywiście nie ma.

2. Jeżeli chcesz to zrobić z zakładaniem zbroi (a dokładniej butów), możesz w tym celu użyć jednej z trzech rzeczy:

  • dodatku Skript-Paper, który wprowadza event 'on player armor change'; sprawdzasz w nim czy future event-item posiadają ten enchant, jeżeli tak to nakładasz graczowi efekt na 999 dni, jeżeli nie to sprawdzasz czy past event-item posiadały ten enchant - jeżeli tak, usuwasz z gracza ten efekt (tutaj wymagany silnik PaperSpigot)
  • dodatku SharpSK - w nim sprawa wygląda bardzo podobnie z tą różnicą, że tam masz eventy 'on armor equip' oraz 'on armor unequip' i sprawdzasz w nich 'event-item' oraz jego enchant
  • mojego skryptu SkArmorEvent, w którym używasz eventów 'on skae armor equip' oraz 'on skae armor unequip'; sprawdzasz w nich 'event-item' i jego enchant (ten skrypt znajdziesz w dziale Skript > Skrypty)

Czyli musze napisać odnowa?

Jeśli tak to problem w tym że niewiem jak

Odnośnik do komentarza
Udostępnij na innych stronach

Teraz, Inumit napisał:

Czyli musze napisać odnowa?

Jeśli tak to problem w tym że niewiem jak

Nie musisz napisać od nowa. Zostaw sobie całą definicję twojego enchantu. Musisz jedynie usunąć z niej ostatnie dwie linijki, gdyż nie mają sensu.

Użyj następnie jednego ze sposobów, które ci podałem.

Odnośnik do komentarza
Udostępnij na innych stronach

9 minut temu, Kormic napisał:

Nie musisz napisać od nowa. Zostaw sobie całą definicję twojego enchantu. Musisz jedynie usunąć z niej ostatnie dwie linijki, gdyż nie mają sensu.

Użyj następnie jednego ze sposobów, które ci podałem.

Kiedy mam już "on armor equip"(użyłem SharpSK) co należy wpisać aby ten efekt wpisać?
 

Edytowane przez Inumit
pomyłka
Odnośnik do komentarza
Udostępnij na innych stronach

Teraz, Inumit napisał:

Kiedy mam już "on armor equip"(użyłem SharpSK) co mam należy wpisać aby ten efekt wpisać?
 

Sprawdzasz w nim czy 'event-item' posiada ten customowy enchant. Jeżeli tak, nakładasz graczowi efekt skoku na 999 dni.

apply potion of jump boost 1 to player for 999 days

W evencie 'on armor unequip' również sprawdzasz czy 'event-item' posiada ten enchant. Jeżeli tak, usuwasz graczowi efekt skoku.

remove jump boost from player

 

Odnośnik do komentarza
Udostępnij na innych stronach

4 minuty temu, Kormic napisał:

Sprawdzasz w nim czy 'event-item' posiada ten customowy enchant. Jeżeli tak, nakładasz graczowi efekt skoku na 999 dni.


apply potion of jump boost 1 to player for 999 days

W evencie 'on armor unequip' również sprawdzasz czy 'event-item' posiada ten enchant. Jeżeli tak, usuwasz graczowi efekt skoku.


remove jump boost from player

 

on load:
    register a new custom enchantment with id name "Skoczek"
    set {_e} to "Skoczek" parsed as custom enchantment
    set max level of {_e} to 3
    set rarity of {_e} to 0
    set accepted items for {_e} to "Boots"
    set lore name of {_e} to "Skoczek"
    set enabled for {_e} to true
    on armor equip:
    apply potion of jump boost 1 to player for 999 days
    on armor unequip:
    remove jump boost from player

 

 

Tak to ma wyglądać?
 

Edytowane przez xNightPower_
Nieaktywny

Umieszczam kod w code.

Odnośnik do komentarza
Udostępnij na innych stronach

Teraz, Inumit napisał:

Tak to ma wyglądać?

Zapomniałeś o sprawdzaniu czy 'event-item' posiada ten enchant. Jak to zrobić? Masz podane w samym poradniku.

Musisz również przesunąć eventy o jeden znak tabulacji w lewo, gdyż w tym momencie są podległe eventowi 'on load'.

Odnośnik do komentarza
Udostępnij na innych stronach

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.

 Udostępnij

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

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