[Problema] Comandi relativi a score

Molto bene, ragazzi. oggi vi presento un quesito probabilmente senza soluzione, ma vale la pena provare

Quello di cui ho bisogno è di creare dei comandi che si modifichino da soli al variare di una scoreboard. Data l'illimitatezza della scoreboard in questione non ho la possibilità di fare una riga di command block per ogni valore, perciò mi chiedevo...
è possibile fare un comando tipo:

/scoreboard players add @p[l=valoredellascorebord"lvl"] lvl 1

dimodoché se lvl=5 servirà un livello di esperienza pari a 5=5 per attivare il comando e salire a lvl=6

se sapete come fare vi prego aiutatemi!
P.S: Va bene anche se usate + di un command block, purchè non sia un valore tendente a infinito

a chi ce la fa mi Lode in adorazione perpetua XD (Modificato 22/11/2014, 21:07 da AndreMCPro.)
@AndreMCPro non ho ben capito cosa vorresti fare.

Potresti per favore riscriverlo specificando bene quali siano i vari inuput e output che desideri ?
Vorrei che, raggiunto un numero di livelli pari al valore della scoreboard "lvl", quela stessa scoreboard aumenti di 1 il suo valore

Esempio:
ho lvl=12

una volta raggiunto il livello di esperienza 12, lvl salga a 13
una volta che avrò raggiunto anche il livello di xp pari a 13, lvl salirà a 14, e così via (Modificato 22/11/2014, 21:11 da AndreMCPro.)
@AndreMCPro , non potresti convertire direttamente il livello di esperienza in punteggio scoreboard ?

Con

/scoreboard players add @a[lm=1] lvl 1

e

/xp -1L @a[lm=1]

, eseguiti in quest'ordine, fanno in modo che il player abbia sempre il livello di esperienza a 0, ma quando sale a 1 gli viene convertito in punteggio.

Crea problemi ?
Ecco, la verità è che mi sono dimenticato di spiegare un pezzo :facepalm: (ma non esiste la faccina facepalm qui???)


Il mio obiettivo è che una volta salito il punteggio "lvl" i livelli del player siano rimossi per ricominciare daccapo ad accumulare xp

nel senso... usiamo sempre l'esempio di prima
ho lvl=12

una volta raggiunto il livello di esperienza 12, lvl salga a 13 e siano rimossi 12 livelli di esperienza (se il player ne ha di + si può tenere l'eccesso, insomma)
una volta che avrò raggiunto anche il livello di xp pari a 13, lvl salirà a 14 e i livelli saranno di nuovo rimossi, e così via (Modificato 23/11/2014, 10:53 da AndreMCPro.)
Adesso jo capito, in pratica vorresti che i player raggiungano ogni volta un livello in piu? Tipo :
Appena raggiunge il livello 1 torna a zero, ma la volta dopo puo arrivare a 2, arriva a 2 gli si azzera , arriva 3, gli si azzera,arriva a 4 e cosi via? Taggami nella risposta, comunque se quello che chiedi è questo, mi dispiace ma dovresti mettere almeno duecento di command_block, se tieni presente che in linea di massima è difficile che un player arrivi al livello 100, anche perche se poi contonui ad azzerarlo...
se ti vanno bene 200 command taggami e ti dico i comandi da mettere
@AndreMCPro , ok. Il metodo dovrebbe essere questo:

- Crea 3 obbiettivi per la scoreboard, tutti e 3 di tipo dummy (a seguito li chiamerò EXP , MEMO e CONTROL);

- Usando un /fill clock, attiva i comandi in questa sequenza:

/scoreboard players add @a EXP 0 

/scoreboard players add @a MEMO 0

/scoreboard players add @a CONTROL 0

/scoreboard players add @a[lm=1] EXP 1

/xp -1L @a[lm=1]

/execute @a ~ ~ ~ scoreboard players operation @p CONTROL = @p MEMO

/execute @a ~ ~ ~ scoreboard players operation @p CONTROL -= @p EXP

/scoreboard players set @a[score_CONTROL=0] EXP 0

/scoreboard players add @a[score_CONTROL=0] MEMO 1


Spiegazione: i primi 3 comandi assicurano che il player abbia un punteggio in tutti e 3 gli obbiettivi. Se riesci a fare in modo che il player li abbia settati a 0 la prima volta in assoluto che entra nella tua mappa/server puoi anche rimuoverli.

Il quarto e il quinto convertono i livelli di esperienza nel punteggio EXP. Nel momento in cui il player arriva al livello 1 di esperienza gli viene aumentato di uno il punteggio EXP e gli viene rimosso il livello.

MEMO serve come memoria ed in pratica ricorda il livello massimo mai raggiunto da un player + 1.

Il sesto comando salva il punteggio MEMO dentro il punteggio CONTROL in modo da poterci fare calcoli senza che venga sovrascritto.

Il settimo comando sottrae a CONTROL il numero di livelli di esperienza attualmente raggiunto dal player.

Grazie a questi 2 comandi CONTROL sarà a 0 se e solo se il player ha finalmente raggiunto un nuovo livello massimo.

L'ottavo e il nono scattano solo quando il player ha il punteggio CONTROL a 0 e rispettivamente resettano l'esperienza e aumentano di uno il punteggio MEMO.

Contando anche i 3 comandi scartabili e i 2 per il /fill clock sono in totale 11 command block, che controllerano e gestiranno costantemente tutti i player (a differenza degli oltre 200 che ti voleva propinare @matteopozza )
spiacente @matteopozza ma era proprio quello che volevo evitare Mobcreeper
non male @mandelcube vedrò... se riesco a crearne uno ancora + compatto bene (e forse nel frattempo mi è venuto in mente come fare, ma non l'ho ancora testato), sennò userò il tuo :dsa:
@AndreMCPro , se trovi un metodo più compatto per favore scrivilo, sono sempre interessato :3
Discussioni simili
Discussione: Autore Risposte: Letto: Ultimo
[Domanda] Comandi dei command block _ItzBlazer_ 3 68 09/08/2017, 16:38
Ultimo: Luzerh
[Domanda] Più comandi in un solo Command Block MasterCarle 1 97 14/07/2017, 23:33
Ultimo: iHeroN
[Risolto] title e altri comandi Rikyuri 8 414 29/01/2017, 10:03
Ultimo: rikyuri
[Risolto] Comandi TheCoder 6 398 28/12/2016, 15:43
Ultimo: Fabriyo98
[Domanda] Comandi / gabrielino 1 307 28/11/2016, 17:29
Ultimo: LorySF

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