Skocz do zawartości
  • 0

JAK TO ZROBIĆ? /komenda


Zeref
 Udostępnij

Pytanie

Witam, generalnie pobrałem skript tylko pod wsparcie w moich grach minigame w 100% opartych na command block. Chcę "stworzyć sobie" komendę /klasa wojownik

I chodzi mi o to aby po wpisaniu w 1 argumencie nazwy postaci wykonywały się pewne komendy z classic mc. np give %name of player% minecraft:apple 1 0.

Próbowałem i próbowałem ale mi nie wychodziło, potem postarałem się aby coś wyskakiwało na czacie, no to zrobiłęm taki test:

 

command /test:
    trigger:
        sent "Hello world"

 

Ale z tego także nic nie wyszło, twierdzi że w tym trigger jest błąd. Ja już nie wiem jak to skleić. POMOCY!

Do tej pory wpisywałem coś w stylu /scoreboard players set klasa 1

i w ten oto sposób dawałem graczowi "1" do zmiennej "klasa". Następnie command blocki rozsiane gdzieś pod mapą wykrywały takiego gracza i przez komendy dawały całą resztę itemów, efektów, itp.

Ale jak to jest minigame gdzie nie zmieszczę setki guziczków/płytek (bo gracz nie ma permisji domyślnie, gdyby miał to by miał i creative, give - itp.) to chciałbym dodać komendy z klasami, mapami, opisami. ALE NWM JAK STWORZYĆ TAKOWĄ KOMENDĘ, aby ta wydawała ustawione komendy danemu graczowi.

Edytowane przez vx1ne
Odnośnik do odpowiedzi
Udostępnij na innych stronach

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
command /klasa [<text>]:
  trigger:
 	if argument 1 is "wojownik":
  		add 1 of diamond sword of sharpness 10 to player
  		add 64 of enchanted golden apple to player
  	if argument 1 is "strażak":
  		add 1 of water bucket named "&aGaśnica" to player
  	if argument 1 is "łucznik":
  		add 1 of bow of power 5 named "&6Łukowy łuk łukowskiego łucznika" to player
  		add 64 of arrow to player
  	if argument 1 isn't "wojownik" or "strażak" or "łucznik":
  		send "Niepoprawny argument! Wpisz /klasa [wojownik/strażak/łucznik]" to player

Mam nadzieję, że zrozumiesz jak to działa ;)

Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • 0

Wiktorelex'sie

Znam doskonale tą mechanikę, z początku także tak zrobiłem. Jednak ja robie komendy długie i trudne więc powinny wykonywane bezpośrednio przez  konsole. np:

/give @a[rm=10,r=24] minecraft:blaze_rod 1 0 {HideFlags:63,AttributeModifiers:[{AttributeName:"generic.movementSpeed",Name:"generic.movementSpeed",Amount:0.25,Operation:2,UUIDLeast:915785,UUIDMost:201500,Slot:"mainhand"},{AttributeName:"generic.attackDamage",Name:"generic.attackDamage",Amount:4,Operation:0,UUIDLeast:719875,UUIDMost:666203,Slot:"mainhand"}],Unbreakable:1,display:{Name:"Fire Stick",Lore:["Created by Gandalf"]},ench:[{id:10,lvl:1},{id:19,lvl:2},{id:20,lvl:1},{id:71,lvl:1}]}

 

command /klasa [<text>]:
  trigger:
 	if argument 1 is "wojownik":
  		execute console command "op %name of player%"
		execute player command "scoreboard players set %name of player% GetClass 1"
		execute console command "deop %name of player%"
		loop 99 times:
		send "&9Klasa> &7Wybrano klase: &eBerserker &6(id="1")" to player
  	if argument 1 isn't "wojownik":
  		send "&9Klasa> &7Niepoprawnie wprowadzona komenda! Wpisz &e/klasa <rodzaj>" to player

Jak na razie wykombinowałem coś takiego. Ale to nadal nie działa, twierdzi, iż mam 8 błędów. NADAL POTRZEBUJE POMOCY!

Edytowane przez Zeref
Zmiany w kodzie
Odnośnik do odpowiedzi
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ę...