Posso usare i blocchi di command per teletrasportre un giocatore morto?

Devo rilevare se un giocatore è morto e teletrasportrsi in posizione XY e dare un punto all'altra squadra.

Sono in grado di rilevare se un giocatore è morto con testfor @a[score_HEALTH=1] applicato a un impulso di redstone, ma che emette solo un segnale se un giocatore è morto, non chi è morto.

C'è un modo per scoprire quale giocatore è morto? C'è un modo per usare il giocatore rilevato che è morto come argomento nel prossimo block di command, come /tp @f XYZ , where @f sta per il giocatore trovato dell'ultimo block di command?

Se nulla di ciò funziona, ci sono soluzioni alternative?

Gli argomenti funzionano anche in / tp (e puoi ancora ricevere un segnale se è riuscito), quindi puoi semplicemente usarlo

 /tp @a[score_HEALTH=1] X-cord Y-cord Z-cord 

Per dare all'altra squadra un punto, avrai bisogno di due blocchi di command separati su un orologio, un test per i morti sulla prima squadra

 /testfor @a[score_HEALTH=1,team=red] 

che poi conduce a un block di command dando al secondo / squadra blu un punto e all'altro block

 /testfor @a[score_HEALTH=1,team=blue] 

che port a un block di command dando un punto al gruppo primo / rosso.


Raccomanderei anche di usare un punteggio di morte al posto di un punteggio di salute, posso vedere il modo in cui lo stai facendo con la salute che è abbastanza inaffidabile. Questo punteggio di morte non dovrebbe essere visualizzato (puoi averne uno separato per quello), e dovrebbe essere riportto a 0 per each persona dopo la morte. Crea in questo modo:

 /scoreboard objectives add deaths deathCount 

Nel complesso il tuo orologio per controllare tutto questo dovrebbe assomigliare a questo:

inserisci la descrizione dell'immagine qui Quando un giocatore muore, prima il suo count delle morti diventerà 1 (automatico, a causa del tipo di objective) e due blocchi di command restituiranno true.

Uno sarà quello che li teleport where vuoi. Dato che questo restituisce true, accenderà anche il comparatore di fronte, ma il segnale non farà ancora nulla, prima:

L'altro block triggersto allo stesso tempo stava testando i membri morti della loro squadra. Qualunque di questi due giochi dipende da quale squadra è il giocatore, e questi invierà un segnale per dare un punto alla squadra opposta (non sono sicuro esattamente come si hanno i team impostati o vogliono dare loro punti).

Quindi, il segnale dal block di command / tp continuerà su un block che metterà a morte tutti coloro che hanno una morte a 0. Questo distriggers tutti i comparatori dal momento che il giocatore ora ha di nuovo 0 morti, fino alla morte e questo accade ancora . Stai impostando l'objective a 0 (non le loro morti effettive) in modo da poter avere un altro count della morte corretto che non si azzeri a 0 each volta.

In pratica il giocatore subisce una morte, si teletrasport e l'altra squadra ottiene un punto, la sua morte è tornata a 0, quindi può essere testata di nuovo.

Non ho lavorato molto con i tabelloni delle squadre, ma il teletrasporto dovrebbe essere solo

 /tp @p[score_HEALTH=1] XYZ 

@a è usato per trovare tutti i giocatori che corrispondono ad alcuni criteri; @p trova solo uno alla volta, ma usiamo il nome di quel giocatore all'interno di altri comandi.

Oppure puoi semplicemente usare /setworldspawn less che tu non stia facendo un gioco basato sulla squadra, quindi ascolta le altre risposte.

la cosa più facile da fare è resettare il punto di spawn dei giocatori usando i commandblock non appena si rigenerano e appariranno nella posizione impostata