[Problema] Armor stand scoreboard

Ciao a tutti.
Sto cercando di creare un timer per la mia costum map, e ho creato una scoreboard che rappresenta il tempo che scende di 1 ogni 20 tick, per mostrarlo ai giocatori ho messo il set display, ma invece di venire fuori la scritta tempo (che è come ho rinnominato l'armor stand) mi esce il (credo sia) ID dell' entità.
Come faccio a mostrare la scritta tempo? (Modificato 04/08/2017, 14:47 da AlexPlayer3000.)
Non è necessario usare un' entità su cui far partire il timer: puoi usare i fake player

[Immagine: sd8GVLy.png]

Questo sistema è un countup che è in grado di contare fino a infinito, ma mostra numeri superiori a 60 minuti.

Da quanto ho capito a te serve un countdown. Se mi dai i comandi posso farlo in pochi minuti
 ♫~ Se ti sono stato d'aiuto puoi ringraziarmi cliccando su +1 REP ~♪

[Immagine: U85qfto.png]
Clicca il logo per vedere il mio album di disegni ( ˘˘  )
Come ha fatto a fare il cooldown sopra la barra dell'inventario?
Se ti sono stato utile lascia +1 Rep

:sparta:


Lodiamo tutti insieme in ginocchio il Rassengan di notch che ci salverà dal kameameah di Goku Hail Riot
04/08/2017, 16:38Maca ha scritto: Non è necessario usare un' entità su cui far partire il timer: puoi usare i fake player

[Immagine: sd8GVLy.png]

Questo sistema è un countup che è in grado di contare fino a infinito, ma mostra numeri superiori a 60 minuti.

Da quanto ho capito a te serve un countdown. Se mi dai i comandi posso farlo in pochi minuti

che comandi ti servono?
@AlexPlayer3000

Ho compattato tutto in una onecommand, faccio prima.

Inserisci il file in [...]\.minecraft\saves\<nomemondo>\data\functions\

Poi esegui il comando /reload per ricaricare le functions.

NON VOLARE, tocca terra e scrivi il comando /function senza eseguirlo

Premi TAB per autocompletare il comando, poi eseguilo.

Si genererà la struttura della onecommand, so benissimo che potevo passarti la function, ma così è ben più comprensibile per un novellino Ahsese

Per far partire il timer ti basta attivare il command block ripetizione

Occhio! Il timer non si resetta da solo! Usa scoreboard players set <secondi/minuti> tempo 0 per resettare.

Per testare un certo tempo basta usare scoreboard players test

Esempio: vuoi dare al giocatore Forza V per 30 secondi dopo 1 minuto e 30 secondi

Aggiungi un Command Block Chain – Non Condizionale con questo comando, ricordati di testare SEMPRE i minuti prima dei secondi, e se vuoi ripeterlo una sola volta, specificare i minuti.

/scoreboard players test minuti tempo 1 1

Questo comando sarà vero soltanto se lo score del fake-player MINUTI nella scoreboard 'tempo' è compreso tra 1 e 1, quindi è 1 (1 minuto)

Dopo questo comando inserisci un Command Block Chain – Condizionale

/scoreboard players test secondi tempo 30 30

Perché abbiamo testato PRIMA i minuti poi i secondi? Se avessimo testato PRIMA I SECONDI, questo comando si sarebbe ripetuto una volta al minuto, invece in questo modo si attiverà solo una volta: quando il timer segna 1:30

Termina con un ultimo Command Block Chain – Condizionale che da l'effetto quando il timer segna 1:30

/effect @p strength 30 4 true

Come funziona?

Il comando praticamente fa questi test:

Continua a controllare se è passato un minuto continuamente > Se è passato un minuto ma meno di due, controlla continuamente se sono passati esattamente 30 secondi > Se sono passati esattamente 30 secondi dà l'effetto.

Perché specificare SEMPRE i minuti? Se vuoi che il comando sia eseguito UNA volta soltanto, dovrai specificare i minuti.

Esempio: vuoi che il comando sia eseguito ogni 30 secondi

In questo caso non specificare i minuti, basta testare per secondi tempo 30 30

Esempio: vuoi che il comando sia eseguito quando il timer segna 30 secondi [00:30]

In questo caso DEVI specificare i minuti, altrimenti il comando verrebbe eseguito a 00:30, a 01:30, a 02:30 e così via;

/scoreboard players test minuti tempo 0 0

/scoreboard players test secondi tempo 30 30


/comando
(Modificato 04/08/2017, 18:52 da Maca.)
 ♫~ Se ti sono stato d'aiuto puoi ringraziarmi cliccando su +1 REP ~♪

[Immagine: U85qfto.png]
Clicca il logo per vedere il mio album di disegni ( ˘˘  )
04/08/2017, 18:40Maca ha scritto: @AlexPlayer3000

Ho compattato tutto in una onecommand, faccio prima.

Inserisci il file in [...]\.minecraft\saves\<nomemondo>\data\functions\

Poi esegui il comando /reload per ricaricare le functions.

NON VOLARE, tocca terra e scrivi il comando /function senza eseguirlo

Premi TAB per autocompletare il comando, poi eseguilo.

Si genererà la struttura della onecommand, so benissimo che potevo passarti la function, ma così è ben più comprensibile per un novellino Ahsese

Per far partire il timer ti basta attivare il command block ripetizione

Occhio! Il timer non si resetta da solo! Usa scoreboard players set <secondi/minuti> tempo 0 per resettare.

Per testare un certo tempo basta usare scoreboard players test

Esempio: vuoi dare al giocatore Forza V per 30 secondi dopo 1 minuto e 30 secondi

Aggiungi un Command Block Chain – Non Condizionale con questo comando, ricordati di testare SEMPRE i minuti prima dei secondi, e se vuoi ripeterlo una sola volta, specificare i minuti.

/scoreboard players test minuti tempo 1 1

Questo comando sarà vero soltanto se lo score del fake-player MINUTI nella scoreboard 'tempo' è compreso tra 1 e 1, quindi è 1 (1 minuto)

Dopo questo comando inserisci un Command Block Chain – Condizionale

/scoreboard players test secondi tempo 30 30

Perché abbiamo testato PRIMA i minuti poi i secondi? Se avessimo testato PRIMA I SECONDI, questo comando si sarebbe ripetuto una volta al minuto, invece in questo modo si attiverà solo una volta: quando il timer segna 1:30

Termina con un ultimo command block che da l'effetto quando il timer segna 1:30

/effect @p strength 30 4 true

Come funziona?

Il comando praticamente fa questi test:

Continua a controllare se è passato un minuto continuamente > Se è passato un minuto ma meno di due, controlla continuamente se sono passati esattamente 30 secondi > Se sono passati esattamente 30 secondi dà l'effetto.

Perché specificare SEMPRE i minuti? Se vuoi che il comando sia eseguito UNA volta soltanto, dovrai specificare i minuti.

Esempio: vuoi che il comando sia eseguito ogni 30 secondi

In questo caso non specificare i minuti, basta testare per secondi tempo 30 30

Esempio: vuoi che il comando sia eseguito quando il timer segna 30 secondi [00:30]

In questo caso DEVI specificare i minuti, altrimenti il comando verrebbe eseguito a 00:30, a 01:30, a 02:30 e così via;

/scoreboard players test minuti tempo 0 0

/scoreboard players test secondi tempo 30 30


/c
Premo tab. ma non autocompleta funcion
@AlexPlayer3000

Stai lasciando lo spazio dopo /function?

Prova a eseguire /function countupgenerate

Prova anche a inserire la function in una cartella (es. 'maca') ed eseguire /function maca:countupgenerate (Modificato 04/08/2017, 18:55 da Maca.)
 ♫~ Se ti sono stato d'aiuto puoi ringraziarmi cliccando su +1 REP ~♪

[Immagine: U85qfto.png]
Clicca il logo per vedere il mio album di disegni ( ˘˘  )
04/08/2017, 18:53Maca ha scritto: @AlexPlayer3000

Stai lasciando lo spazio dopo /function?

Prova a eseguire /function countupgenerate

Prova anche a inserire la function in una cartella (es. 'maca') ed eseguire /function maca:countupgenerate

ok ora va
Discussioni simili
Discussione: Autore Risposte: Letto: Ultimo
[Domanda] Comando Scoreboard EnderLuca_ 2 51 11/08/2017, 22:19
Ultimo: Maca
[Domanda] Aiuto! Command blocks, scoreboard ed execute ColuiCheUsaiCB 45 398 09/08/2017, 23:48
Ultimo: Maca
[Risolto] problema di scoreboard exiliado 13 204 24/07/2017, 12:51
Ultimo: exiliado
[Guida] Guida ai comandi sugli armor stand DarkJoker_07 4 97 22/07/2017, 01:10
Ultimo: DarkJoker_07
[Progetto] Personaggio armor stand ThEnt1ty 0 49 17/07/2017, 19:26
Ultimo: ThEnt1ty

Utente(i) che stanno guardando questa discussione: 1 Ospite(i)