Skocz do zawartości
  • 1

Szybsze Bicie


AniMeN
 Udostępnij

Pytanie

Witam. Czy chciałby ktoś napisać skrypt na szybszy speedattack na wersje minecraft 1.16.1? Ten skrypt by polegał na tym że szybciej bijesz np. z miecza, siekierki, kilofa itd.

Chciałbym aby speedattack był taki sam na wszystkich przedmiotach do walki. Z góry dziękuję :D .

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 58
  • Dodano
  • Ostatniej odpowiedzi

Top użytkownicy dla tego pytania

Top użytkownicy dla tego pytania

Rekomendowane odpowiedzi

  • 0
31 minut temu, AniMeN napisał:

Witam. Czy chciałby ktoś napisać skrypt na szybszy speedattack na wersje minecraft 1.16.1? Ten skrypt by polegał na tym że szybciej bijesz np. z miecza, siekierki, kilofa itd.

Chciałbym aby speedattack był taki sam na wszystkich przedmiotach do walki. Z góry dziękuję :D .

Są dwie metody osiągnięcia tego:

1. Do tego potrzebny jest jeden z dodatków od zarządzania NBT (SkStuff, SkBee, SkNBeeT itp.), aby ustawić NBT przedmiotu.

command /givesword:
	trigger:
		give player 1 diamond sword with nbt "{AttributeModifiers:[{AttributeName:""generic.attackSpeed"",Name:""Blah"",Amount:100.0,Operation:0,UUIDLeast:1,UUIDMost:1}]}"

2. Ewentualnie możesz to zrobić w ten sposób poprzez samego Skripta:

command /givesword:
	trigger:
		execute console command "/give %player% diamond_sword{AttributeModifiers:[{AttributeName:""generic.attackSpeed"",Name:""Blah"",Amount:100.0,Operation:0,UUIDLeast:1,UUIDMost:1}]} 1"

Powiedz czy zadziała, bo szczerze sam jestem ciekaw efektu.

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

  • 0
40 minut temu, Kormic napisał:

Są dwie metody osiągnięcia tego:

1. Do tego potrzebny jest jeden z dodatków od zarządzania NBT (SkStuff, SkBee, SkNBeeT itp.), aby ustawić NBT przedmiotu.

command /givesword:
	trigger:
		give player 1 diamond sword with nbt "{AttributeModifiers:[{AttributeName:""generic.attackSpeed"",Name:""Blah"",Amount:100.0,Operation:0,UUIDLeast:1,UUIDMost:1}]}"

2. Ewentualnie możesz to zrobić w ten sposób poprzez samego Skripta:

command /givesword:
	trigger:
		execute console command "/give %player% diamond_sword{AttributeModifiers:[{AttributeName:""generic.attackSpeed"",Name:""Blah"",Amount:100.0,Operation:0,UUIDLeast:1,UUIDMost:1}]} 1"

Powiedz czy zadziała, bo szczerze sam jestem ciekaw efektu.

tylko mi chodzi o to zeby ten skrypt po prostu zwiekszał speedattack. We wszystkich broniach

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, AniMeN napisał:

tylko mi chodzi o to zeby ten skrypt po prostu zwiekszał speedattack. We wszystkich broniach

W takim wypadku myślę, że można to zrobić poprzez event 'on tool change:'. A wracając do mojego wcześniejszego pytania, czy skrypt działa?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
39 minut temu, AniMeN napisał:

niestety 2 nie 

 

W takim razie daj chwilę, sam przetestuję i jeśli będę w stanie, to poprawię.

EDIT:

Testowałem i w pierwszym przypadku działa, w drugim nie, bo wyrzuca błąd w konsoli, a sugerowałem się wiki Minecrafta. Tylko pojawia się kolejny problem, co prawda Attack Speed wynosi 100, ale resetuje się damage itemu. Daj jeszcze chwilę, postaram się to ogarnąć.

EDIT:

Dobra, mamy to. Zrobiłem "super miecz", który ma attack damage = 100 i attack speed = 100. Jednak drugi przykład nie chce współpracować (nadal nie wiem dlaczego), więc musisz użyć dodatku do Skripta (wymieniałem niektóre wyżej (polecam SkBee)). A tutaj kod:

command /givesword:
	trigger:
		give player 1 diamond sword with nbt "{AttributeModifiers:[{AttributeName:""generic.attackDamage"",Name:""generic.attackDamage"",Amount:100,Operation:0,UUIDLeast:489688,UUIDMost:516477,Slot:""mainhand""},{AttributeName:""generic.attackSpeed"",Name:""generic.attackSpeed"",Amount:100,Operation:0,UUIDLeast:207411,UUIDMost:672360,Slot:""mainhand""}]}"

Trzeba pamiętać, że wszystkie cudzysłowy w NBT muszą być podwojone.

EDIT:

Nie wiem o co chodziło, ale jednak komenda działa... Jeśli już wrzuciłeś dodatek, to przepraszam.

command /givesword:
	trigger:
		execute console command "give %player% diamond_sword 1 {AttributeModifiers:[{AttributeName:""generic.attackDamage"",Name:""generic.attackDamage"",Amount:100,Operation:0,UUIDLeast:489688,UUIDMost:516477,Slot:""mainhand""},{AttributeName:""generic.attackSpeed"",Name:""generic.attackSpeed"",Amount:100,Operation:0,UUIDLeast:207411,UUIDMost:672360,Slot:""mainhand""}]}"

 

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

  • 0
38 minut temu, Kormic napisał:

W takim razie daj chwilę, sam przetestuję i jeśli będę w stanie, to poprawię.

EDIT:

Testowałem i w pierwszym przypadku działa, w drugim nie, bo wyrzuca błąd w konsoli, a sugerowałem się wiki Minecrafta. Tylko pojawia się kolejny problem, co prawda Attack Speed wynosi 100, ale resetuje się damage itemu. Daj jeszcze chwilę, postaram się to ogarnąć.

EDIT:

Dobra, mamy to. Zrobiłem "super miecz", który ma attack damage = 100 i attack speed = 100. Jednak drugi przykład nie chce współpracować (nadal nie wiem dlaczego), więc musisz użyć dodatku do Skripta (wymieniałem niektóre wyżej (polecam SkBee)). A tutaj kod:

command /givesword:
	trigger:
		give player 1 diamond sword with nbt "{AttributeModifiers:[{AttributeName:""generic.attackDamage"",Name:""generic.attackDamage"",Amount:100,Operation:0,UUIDLeast:489688,UUIDMost:516477,Slot:""mainhand""},{AttributeName:""generic.attackSpeed"",Name:""generic.attackSpeed"",Amount:100,Operation:0,UUIDLeast:207411,UUIDMost:672360,Slot:""mainhand""}]}"

Trzeba pamiętać, że wszystkie cudzysłowy w NBT muszą być podwojone.

ok to działa! A da sie zrobic aby wszystkie bronie od razu miały ten attack speed?

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 godziny temu, AniMeN napisał:

ok to działa! A da sie zrobic aby wszystkie bronie od razu miały ten attack speed?

 

Tutaj może być więcej komplikacji... Albo musisz znaleźć event, który jest często wywoływany (np. 'on tool change'), albo musisz przewidzieć wszystkie eventy, w których można otrzymać mieczyk ('on craft', 'on pickup', 'on inventory click', itd.). Bo nie da się tak zrobić, aby każdy mieczyk takie atrybuty miał (mówię o skrypcie).

EDIT:

Dam przykład:

on tool change:
	if player's tool is diamond sword:
		if player's tool's nbt doesn't contain "AttributeModifiers":
			set player's tool's nbt to "{AttributeModifiers:[{AttributeName:""generic.attackDamage"",Name:""generic.attackDamage"",Amount:100,Operation:0,UUIDLeast:489688,UUIDMost:516477,Slot:""mainhand""},{AttributeName:""generic.attackSpeed"",Name:""generic.attackSpeed"",Amount:100,Operation:0,UUIDLeast:207411,UUIDMost:672360,Slot:""mainhand""}]}"

Zauważ, że niestety takie rozwiązanie wiąże się z pewnymi konsekwencjami. Mam na myśli, iż przez to NBT itemu zostanie ustawione do tego konkretnego. Co to znaczy? Wyczyszczenie innych atrybutów, możliwe, że nawet nazwy i lore'u itemu.

EDIT:

Znalazłem pewne rozwiązanie. Sprawdź czy zadziała.

on tool change:
	if player's tool is diamond sword:
		if player's tool's nbt doesn't contain "attackSpeed" or "attackDamage":
			set {_n} to (length of player's tool's nbt - 1) last characters of player's tool's nbt
			set {_nbt} to "{AttributeModifiers:[{AttributeName:""generic.attackDamage"",Name:""generic.attackDamage"",Amount:100,Operation:0,UUIDLeast:489688,UUIDMost:516477,Slot:""mainhand""},{AttributeName:""generic.attackSpeed"",Name:""generic.attackSpeed"",Amount:100,Operation:0,UUIDLeast:207411,UUIDMost:672360,Slot:""mainhand""}],%{_n}%"
			set player's tool's nbt to "%{_nbt}%"

 

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

  • 0
3 godziny temu, Kormic napisał:

Tutaj może być więcej komplikacji... Albo musisz znaleźć event, który jest często wywoływany (np. 'on tool change'), albo musisz przewidzieć wszystkie eventy, w których można otrzymać mieczyk ('on craft', 'on pickup', 'on inventory click', itd.). Bo nie da się tak zrobić, aby każdy mieczyk takie atrybuty miał (mówię o skrypcie).

EDIT:

Dam przykład:

on tool change:
	if player's tool is diamond sword:
		if player's tool's nbt doesn't contain "AttributeModifiers":
			set player's tool's nbt to "{AttributeModifiers:[{AttributeName:""generic.attackDamage"",Name:""generic.attackDamage"",Amount:100,Operation:0,UUIDLeast:489688,UUIDMost:516477,Slot:""mainhand""},{AttributeName:""generic.attackSpeed"",Name:""generic.attackSpeed"",Amount:100,Operation:0,UUIDLeast:207411,UUIDMost:672360,Slot:""mainhand""}]}"

Zauważ, że niestety takie rozwiązanie wiąże się z pewnymi konsekwencjami. Mam na myśli, iż przez to NBT itemu zostanie ustawione do tego konkretnego. Co to znaczy? Wyczyszczenie innych atrybutów, możliwe, że nawet nazwy i lore'u itemu.

EDIT:

Znalazłem pewne rozwiązanie. Sprawdź czy zadziała.

on tool change:
	if player's tool is diamond sword:
		if player's tool's nbt doesn't contain "attackSpeed" or "attackDamage":
			set {_n} to (length of player's tool's nbt - 1) last characters of player's tool's nbt
			set {_nbt} to "{AttributeModifiers:[{AttributeName:""generic.attackDamage"",Name:""generic.attackDamage"",Amount:100,Operation:0,UUIDLeast:489688,UUIDMost:516477,Slot:""mainhand""},{AttributeName:""generic.attackSpeed"",Name:""generic.attackSpeed"",Amount:100,Operation:0,UUIDLeast:207411,UUIDMost:672360,Slot:""mainhand""}],%{_n}%"
			set player's tool's nbt to "%{_nbt}%"

 

3 godziny temu, Kormic napisał:

Tutaj może być więcej komplikacji... Albo musisz znaleźć event, który jest często wywoływany (np. 'on tool change'), albo musisz przewidzieć wszystkie eventy, w których można otrzymać mieczyk ('on craft', 'on pickup', 'on inventory click', itd.). Bo nie da się tak zrobić, aby każdy mieczyk takie atrybuty miał (mówię o skrypcie).

EDIT:

Dam przykład:

on tool change:
	if player's tool is diamond sword:
		if player's tool's nbt doesn't contain "AttributeModifiers":
			set player's tool's nbt to "{AttributeModifiers:[{AttributeName:""generic.attackDamage"",Name:""generic.attackDamage"",Amount:100,Operation:0,UUIDLeast:489688,UUIDMost:516477,Slot:""mainhand""},{AttributeName:""generic.attackSpeed"",Name:""generic.attackSpeed"",Amount:100,Operation:0,UUIDLeast:207411,UUIDMost:672360,Slot:""mainhand""}]}"

Zauważ, że niestety takie rozwiązanie wiąże się z pewnymi konsekwencjami. Mam na myśli, iż przez to NBT itemu zostanie ustawione do tego konkretnego. Co to znaczy? Wyczyszczenie innych atrybutów, możliwe, że nawet nazwy i lore'u itemu.

EDIT:

Znalazłem pewne rozwiązanie. Sprawdź czy zadziała.

on tool change:
	if player's tool is diamond sword:
		if player's tool's nbt doesn't contain "attackSpeed" or "attackDamage":
			set {_n} to (length of player's tool's nbt - 1) last characters of player's tool's nbt
			set {_nbt} to "{AttributeModifiers:[{AttributeName:""generic.attackDamage"",Name:""generic.attackDamage"",Amount:100,Operation:0,UUIDLeast:489688,UUIDMost:516477,Slot:""mainhand""},{AttributeName:""generic.attackSpeed"",Name:""generic.attackSpeed"",Amount:100,Operation:0,UUIDLeast:207411,UUIDMost:672360,Slot:""mainhand""}],%{_n}%"
			set player's tool's nbt to "%{_nbt}%"

 

powinien sie jakis tag nowy pojawić?

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
4 minuty temu, AniMeN napisał:

powinien sie jakis tag nowy pojawić?

 

Powinno to działać w ten sposób, że jeżeli w nbt diamentowego miecza nie ma tagów dotyczących atrybutów attackSpeed bądź attackDamage, to skrypt dodaje to do narzędzia. Ale zauważyłem pewną usterkę. Zaraz ją poprawię i wyślę poprawioną wersję.

on tool change:
	if player's tool is diamond sword:
		if player's tool's nbt doesn't contain "attackSpeed" or "attackDamage":
			if player's tool's nbt is not "":
				set {_n} to (length of player's tool's nbt - 1) last characters of player's tool's nbt
				set {_nbt} to "{AttributeModifiers:[{AttributeName:""generic.attackDamage"",Name:""generic.attackDamage"",Amount:100,Operation:0,UUIDLeast:489688,UUIDMost:516477,Slot:""mainhand""},{AttributeName:""generic.attackSpeed"",Name:""generic.attackSpeed"",Amount:100,Operation:0,UUIDLeast:207411,UUIDMost:672360,Slot:""mainhand""}],%{_n}%"
				set player's tool's nbt to "%{_nbt}%"
			else:
				set player's tool's nbt to "{AttributeModifiers:[{AttributeName:""generic.attackDamage"",Name:""generic.attackDamage"",Amount:100,Operation:0,UUIDLeast:489688,UUIDMost:516477,Slot:""mainhand""},{AttributeName:""generic.attackSpeed"",Name:""generic.attackSpeed"",Amount:100,Operation:0,UUIDLeast:207411,UUIDMost:672360,Slot:""mainhand""}]}"

Nie zrobiłem warunku, który sprawdzał, czy NBT jest puste. Teraz sprawdź czy działa.

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

  • 0
3 minuty temu, Kormic napisał:

Powinno to działać w ten sposób, że jeżeli w nbt diamentowego miecza nie ma tagów dotyczących atrybutów attackSpeed bądź attackDamage, to skrypt dodaje to do narzędzia. Ale zauważyłem pewną usterkę. Zaraz ją poprawię i wyślę poprawioną wersję.

on tool change:
	if player's tool is diamond sword:
		if player's tool's nbt doesn't contain "attackSpeed" or "attackDamage":
			if player's tool's nbt is not "":
				set {_n} to (length of player's tool's nbt - 1) last characters of player's tool's nbt
				set {_nbt} to "{AttributeModifiers:[{AttributeName:""generic.attackDamage"",Name:""generic.attackDamage"",Amount:100,Operation:0,UUIDLeast:489688,UUIDMost:516477,Slot:""mainhand""},{AttributeName:""generic.attackSpeed"",Name:""generic.attackSpeed"",Amount:100,Operation:0,UUIDLeast:207411,UUIDMost:672360,Slot:""mainhand""}],%{_n}%"
				set player's tool's nbt to "%{_nbt}%"
			else:
				set player's tool's nbt to "{AttributeModifiers:[{AttributeName:""generic.attackDamage"",Name:""generic.attackDamage"",Amount:100,Operation:0,UUIDLeast:489688,UUIDMost:516477,Slot:""mainhand""},{AttributeName:""generic.attackSpeed"",Name:""generic.attackSpeed"",Amount:100,Operation:0,UUIDLeast:207411,UUIDMost:672360,Slot:""mainhand""}]}"

Nie zrobiłem warunku, który sprawdzał, czy NBT jest puste. Teraz sprawdź czy działa.

niby się dobrze zreloadował ale, jeśli wyciągam miecz to tak samo jest.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
8 minut temu, AniMeN napisał:

niby się dobrze zreloadował ale, jeśli wyciągam miecz to tak samo jest.

Chwila, przetestuję i zobaczymy.

EDIT:

U mnie działa. Musisz zmienić slot od toola, żeby zadziałało (np. masz wybrany slot nr 3, daj sobie mieczyk na slot nr 4 i przestaw sobie wybrany slot na slot 4, powinieneś zobaczyć rezultat).

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

  • 0
12 minut temu, Kormic napisał:

Chwila, przetestuję i zobaczymy.

EDIT:

U mnie działa. Musisz zmienić slot od toola, żeby zadziałało (np. masz wybrany slot nr 3, daj sobie mieczyk na slot nr 4 i przestaw sobie wybrany slot na slot 4, powinieneś zobaczyć rezultat).

mi nie działa

 

Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

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

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