Skocz do zawartości
  • 0

SKRIPT - Skrypt na tpa w gui


Bulbaterson
 Udostępnij

Pytanie

Hejka. Zacząłem pisac skrypt tak jak w temacie. Mam gotowe pierwsze gui  ktorym otwieraja się opcje "gracze" i "spawn". Chce aby po otwarciu menu z lista graczy pokazywala sie glowka kazdego gracza online a po kliknieciu w ktoras wysylala się komenda /tpa <nick gracza ktorego wybralismy>. Aktualny wyglad kodu ponizej:


 

command /teleport:
    trigger:
        set {_gui} to a new chest inventory with 1 row with name "&5Menu"
        set slot 4 of {_gui} to diamond block with name "&4SPAWN"
        set slot 0 of {_gui} to player head with name "&5Gracze" 
        open {_gui} to player

on inventory click:
    if name of event-inventory is "&5Menu":
        if index of event-slot = 4:
            cancel event
            execute command "/spawn" by player
    if name of event-inventory is "&5Menu":
        if index of event-slot = 0:
            cancel event
            set {_players} to a new chest inventory with 5 row with name "&5Player List"
            #Jak wstawic tu glowe kazdego gracza?
            open {_players} to player

 

Odnośnik do komentarza
Udostępnij na innych stronach

13 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Teraz, Bulbaterson napisał:

Hejka. Zacząłem pisac skrypt tak jak w temacie. Mam gotowe pierwsze gui  ktorym otwieraja się opcje "gracze" i "spawn". Chce aby po otwarciu menu z lista graczy pokazywala sie glowka kazdego gracza online a po kliknieciu w ktoras wysylala się komenda /tpa <nick gracza ktorego wybralismy>. Aktualny wyglad kodu ponizej:

Musisz zapętlić wszystkich graczy i utworzyć zmienną lokalną, którą każdorazowo będziesz zwiększał co jeden po każdej iteracji pętli wszystkich graczy.

set {_t} to 0
loop all players:
	set slot {_t} of player's current inventory to loop-player's skull
	add 1 to {_t}

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
12 minut temu, Bulbaterson napisał:

elegancko działa. Jak dodać jeszce zeby jako argument w koemndzie /tpa <nazwa gracza którego wybieramy> ??

@Kormic

 

Rozumiem, że chcesz aby po kliknięciu na główkę danego gracza odbyła się teleportacja do niego, tak?

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1
Godzinę temu, Bulbaterson napisał:

Zgadza sie @Kormic

command /teleport:
	trigger:
		set {_gui} to a new chest inventory with 1 row with name "&5Menu"
		set slot 4 of {_gui} to diamond block with name "&4SPAWN"
		set slot 0 of {_gui} to player head with name "&5Gracze" 
		open {_gui} to player

on inventory click:
	if name of event-inventory is "&5Menu":
		if index of event-slot = 4:
			cancel event
			execute command "/spawn" by player
		else if index of event-slot = 0:
			cancel event
			set {_players} to a new chest inventory with 5 row with name "&5Player List"
			set {_t} to 0
			loop all players:
				set slot {_t} of {_players} to loop-player's skull named "&e%loop-player%"
				add 1 to {_t}
			open {_players} to player
	else if name of event-inventory is "&5Player List":
		event-slot is not air
		cancel event
		if (uncoloured name of event-slot parsed as offline player) is online:
			teleport player to (uncoloured name of event-slot parsed as player)

Jeżeli kod w ostatniej linijce nie zadziała, spróbuj 'parsed as player' zamienić na 'parsed as offline player'.

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

  • 0
command /teleport:
	trigger:
		create a new mgui "teleportPlayers.%player%" with 5 rows named "&5Player List"
		loop all players:
			set {_p} to (name of loop-player) parsed as offline player
			make mgui next slot of "teleportPlayers.%player%" with head of {_p} named "%loop-player%" to close and run player command "tp %loop-player%"

		create a new mgui "teleport.%player%" with 1 row named "&5Menu"
		make mgui slot 4 of "teleport.%player%" with diamond block named "&4Spawn" to close and run player command "spawn"
		make mgui slot 0 of "teleport.%player%" with player head named "&5Gracze" to open gui "teleportPlayers.%player%"

		open mgui "teleport.%player%" to player

ewentualnie rozwiązanie z użyciem mojego skryptu mGUI (link w sygnaturze pod tym komentarzem)

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

  • 0

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!  Taka odpowiedz otrzymuje. Samo menu działa, pokazują się głowy graczy. Teleportacja nie działa i mogę wycignąć głowę gracza z gui
Edit. Odpowiedz do skryptu od Kormica

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

  • 0
2 minuty temu, Bulbaterson napisał:

Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!  Taka odpowiedz otrzymuje. Samo menu działa, pokazują się głowy graczy. Teleportacja nie działa i mogę wycignąć głowę gracza z gui
Edit. Odpowiedz do skryptu od Kormica

Poprawiłem skrypt wyżej. Przeczytaj również informację pod skryptem.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Dobra dzięki wszytko działą problem załatwiony :) Pozmieniam kilka rzeczy po swojemu i bedzie banglać. Zamykam temat

 

 

Zmieniam zdanie XDD Jak zrobic zeby zamaist odrazu teleportowac sie do gracza ktorego wybierzemy to wywoluje sie komenda /tpa nazwagracza ?? @Kormic

Nieaktywny

Łączę posty.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, Bulbaterson napisał:

Zmieniam zdanie XDD Jak zrobic zeby zamaist odrazu teleportowac sie do gracza ktorego wybierzemy to wywoluje sie komenda /tpa nazwagracza ?? @Kormic

K[ciach]a, panie.

Zamień ostatnią linijkę na to:

execute player command "tpa %uncoloured name of event-slot parsed as player%"

I daj mi już święty spokój xD.

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ę...