Skocz do zawartości
  • 0

Wybuch w miejscu wbicia strzały


Zasepamen

Pytanie

Witam

chce zrobić taki dodatek na serwer gdzie gracz będzie mógł go kupić. Czyli gracz kupuje strzałę zenchantowaną z nazwą itp. i jeśli ją wystrzeli z łuku to tam gdzie spadnie to nastąpi w tym miejscu wybuch z siłą 2 cleperów.

Tylko mam kłopot jaki event odpowiada za spadnięcie strzały? i potem za wybuch? jeśli strzała która się wbiła to ma odpowiednią nazwę itp.

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

16 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Właśnie w innym temacie znalazłem ten event dosłownie kilka minut temu. Napisałem więc 2 skypciki jeden na dawanie itemu strzały a drugi za wykonanie. Oto one:

command /daj:	trigger:		give player 1 arrow named "&2Strzala TNT" with lore "&2Wybucha z moca 4 cleperow"		stopon projectile hit:	projectile is arrow named "&2Strzala TNT" with lore "&2Wybucha z moca 4 cleperow":		create an explosion of force 5 at location of projectile		delete event-arrow		stop

Wszystko działa dobrze po wystrzeleniu wybucha i się usuwa strzała oczywiście po uderzeniu w zwierzątka czy npc odbija się raz i wybucha po tym się już niszczy.

Ale przyszedł kolejny kłopot chcę aby ten wybuch działał tylko właśnie na strzale która nosi specjalną nazwę i pod nazwę(opis). Jednak niestety to nie działa. Nie ważne czy to strzała z opisem czy nie, zawsze wybucha. Ma ktoś jakiś pomysł na to?

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

możesz np tak:

Zmien w kodzie na dawanie na takie cos:

if player's tool is air:    set player's tool to 1 arrow named "&2Strzala TNT" with lore "&2Wybucha z moca 4 cleperow"    set {strzaly::%player's tool%} to trueelse:    send "&cMusisz miec wolna reke!"

Teraz tak:

on projectile hit:    if {strzaly::%projectile%} is true:        create explosion of force 5 at projectile        remove projectile from {strzaly::*}        delete projectile

Nie testowane ale powinno dzialac

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Wielkie dzięki. Napisałem coś takiego działa świetnie ale jest kłopot. aktualnie tutaj mamy możliwość wybrania czy strzelamy zwykłą strzała czy z wybuchem. Jeśli z wybuchem to odejmuje nam 1 od zmiennej przechowującej ilość naszych strzał z wybuchem w pliku. Przy wejściu na serwer jest odczytywana a po wyjściu zapisywana.

Kłopot polega na tym że gdy wystrzelam 5 zwykłych strzał i strzele w tamte zwykłe moje strzały jedną z wybuchem to wszystkie wybuchają. Oczywiście są odejmowane z konta. I nie wiem jak temu zapobiec. 

Bo gdy strzała jest wbita w blok i nagle ten blok zniknie pod wpływem wybuchu drugiej strzały to ta strzała spada niżej na kolejny blok ale że jest włączone wybuchowe strzały to wybucha. Nie wiem czy ktoś to zrozumiał :P Dla mnie jest to letkki kłopot ale dla graczy spory bo np wystrzelają w przeciwnika stak strzał zwykłych i po tym jedna strzałę tnt i mamy masowy wybuch.. Z jednej strony dobrze z innej nie. Jest na to jakiś sposób?

		on projectile hit:	projectile is arrow:		if {setstrzalatnt.%shooter%} is 1:			if {strzala.%shooter%} is more than 0:				create an explosion of force 5 at location of projectile				add -1 to {strzala.%shooter%}				send "&2&lUżyłeś strzałyTNT. Poostało Ci &d&l%{strzala.%shooter%}%!!" to shooter				delete event-arrow				stop			command /strzalatnt [<text&gt] [<offlineplayer&gt] [<text&gt]:	permission: gracz.strzalatnt	permission message: &4&lNie masz uprawnień do tej komendy!!	aliases: /st, /tnt	trigger:		arg 1 is not set:			send "&4&lMusisz podać argument!!" to player			send "&4&lWpisz &6&l/strzalatnt on &4&llub &6&l/strzalatnt off" to player			send "&4&lLub &6&l/st on &4&llub &6&l/st off" to player			send "&4&lLub &6&l/tnt on &4&llub &6&l/tnt off" to player			send "&4&lLub &6&l/st 1 &4&llub &6&l/st 0" to player			stop		arg 1 is not "on" or "off" or "0" or "1" or "przekaz" or "daj" or "stan":			send "&4&lPodałeś zły argument!!" to player			send "&4&lWpisz &6&l/strzalatnt on &4&llub &6&l/strzalatnt off" to player			send "&4&lLub &6&l/st on &4&llub &6&l/st off" to player			send "&4&lLub &6&l/tnt on &4&llub &6&l/tnt off" to player			send "&4&lLub &6&l/st 1 &4&llub &6&l/st 0" to player			stop		arg 1 is "on" or "1":			set {setstrzalatnt.%player%} to 1			send "&2&lWłaśnie włączyłeś wybuchające strzały" to player			stop		arg 1 is "off" or "0":			set {setstrzalatnt.%player%} to 0			send "&2&lWłaśnie wyłączyłeś wybuchające strzały" to player			stop		arg 1 is "stan":			send "&2&lAktualnie posiadasz &d&l%{strzala.%player%}% &2&lstrzałTNT!!" to player		arg 1 is "przekaz" or "daj":			arg 2 is set:				set {_rejestrowany.%arg 2%} to value "%arg 2%.zarejestrowany" get of "plugins/Skript/Dane_serwera/gracze.yml" parsed as number				if {_rejestrowany.%arg 2%} is 1:					arg 3 is set:						set {_wartosc} to arg 3 parsed as number						set {strzala.%arg 2%} to value "%arg 2%.strzala tnt" get of "plugins/Skript/Dane_serwera/gracze.yml" parsed as number						if {strzala.%player%} >= {_wartosc}:							add {_wartosc} to {strzala.%arg 2%}							set {_wartosc} to {_wartosc}*-1							add {_wartosc} to {strzala.%player%}							set "%player%.strzala tnt" to "%{strzala.%player%}%" in yml file "plugins/Skript/Dane_serwera/gracze.yml"							set "%arg 2%.strzala tnt" to "%{strzala.%arg 2%}%" in yml file "plugins/Skript/Dane_serwera/gracze.yml"							send "&2&lPrzekazałes graczowi &9&l%arg 2% &d&l%arg 3% &2&lwybuchających strzał!!" to player							log "Gracz [%player%] dal [%arg 3%] strzaltnt graczowi [%arg 2%]" to "logi_strzalytnt.txt"							if arg 2 is offline:								delete {strzala.%arg 2%}							stop						else:							send "&4&lMasz za mało strzał do przekazania!!" to player							stop					arg 3 is not set:						send "&4&lMusisz podać ilość!!" to player						stop				else:					send "&2&lNiestety ale taki gracz nie istnieje na naszym serwerze" to player					stop			arg 2 is not set:				send "&4&lMusisz podać nik gracza!!" to player				stop

Pozdrawiam

Odnośnik do komentarza
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ę...