Creazione di missioni con blocchi di command: Problema di test Disinserimento di obiettivi

Ho un server Realms, e sto cercando di creare una serie di missioni che le persone possano completare per completare il punteggio complessivo di "Defender of the Realm". Tuttavia, voglio solo che siano in grado di completare each missione una sola volta.

Controllo la variabile di punteggio specifico di una missione per 0 per "avviarli" nella loro ricerca, ad esempio @p [punteggio_quest_a = 0]. Ogni passo della missione aggiunge 1 a questa variabile ed è il modo in cui determino la logica per la progressione della missione. Questo assicura che una volta arrivato al "passaggio 3" o qualunque sia il passo finale, il sistema sa che l'hai completato e non puoi ricominciare la missione.

Ecco il problema: il selettore @p [score_quest_a = 0] non funziona a less che qualcuno non abbia avuto il punteggio quest_a esplicitamente impostato su 0. Devo fare quel controllo prima di impostare la variabile altrimenti rischia di far saltare il progresso della quest (qualcuno con un risultato quest_a di 2 premendo il button di avvio si otterrebbe il loro progresso resettato a 0). C'è un modo per dire "se quest_a punteggio non è impostato o è impostato su 0"?

Ecco il set completo di comandi che sto usando (per riferimento):

/tell @p[r=4,score_medical_quest=0] A ship carrying medical supplies crashed just west of the castle... bring back the supplies and you will be rewarded! /tell @p[r=5,score_medical_quest=1,score_medical_quest_min=1] Hurry! People are sick and need those supplies! /tell @p[r=6,score_medical_quest=2,score_medical_quest_min=2] Thank you! Here are some diamonds for your troubles! (FYI: quest score set to 2 at quest completion point) [ REPEATER ] /scoreboard players set @p[r=10,score_medical_quest=0] medical_quest 1 /give @p[r=8,score_medical_quest=2,score_medical_quest_min=2] diamond 3 [ REPEATER ] /scoreboard players add @p[r=9,score_medical_quest=2,score_medical_quest_min=2] global_quests 1 [ REPEATER ] /scoreboard players set @p[r=9,score_medical_quest=2,score_medical_quest_min=2] medical_quest 3 /tell @p[r=9,score_medical_quest_min=3] 

Grazie ancora per il tuo aiuto, le persone sono in debito con te!

Ho risolto il problema con il seguente codice:

scoreboard players add @a quest_a 0

Lo metto come primo block di command in each serie di missioni. Fondamentalmente, imposta tutti i giocatori online senza punteggio di ricerca a 0, ma non ha effetto su nessuno con un punteggio esistente. Non ho bisogno di eseguirlo su un orologio perché il block viene triggersto e imposta uno 0 prima che si verifichi qualsiasi test. Dopo di ciò, il test per 0 funziona correttamente.