Come minimizzare le scoreboard

Salve a tutti lettori,
oggi volevo presentarvi la mia prima guida; essa riguarderà le scoreboard.
L'idea di questa guida mi è sorta mentre creavo un custom map (di cui, prima poi mi scorderò... e non finirò... e non posterò... vabbè)
Questa guida è specialmente indirizzata a quella gente che usa tante scoreboard per futili motivi (tipo me, un pò di tempo fa)


Partiamo da un presupposto: (chissà cosa cavolo vuol dire codesta attraente parola)
Le scoreboard sono dei punteggi che hanno un nome e un valore; esso può essere un numero compreso tra -2'147'483'648 e 2'147'483'647.

Ora passiamo al codice binario. (sapete cos'è? no? Arrangiatevi)
Il codice binario è un sistema di numerazione basato su 1 (acceso/si) e 0 (spento/no); esso può essere convertito in numeri del sistema decimale, e viceversa; piccolo esempio: 0001 = 1, 0010 = 2, 0011 = 3, 0100 = 4, ecc. In pratica funziona come il sistema decimale, ma anziché esserci 10 cifre, ce ne stanno solo 2 (01 + 01 = 0 e riporto di 1 = 10).

Dopo la breve lezione di mate, vi spiego la mia idea: prendiamo caso che noi vogliamo trovare un manichino (bob) che abbia x+1 un blocco di quarzo e a x-1 una zucca. Quindi il manichino deve avere 2 output positivi: blocco di quarzo a x+1; zucca a x-1.

Ora creiamo una scoreboard che chiameremo "Output";
Poi mettiamo i due command block che usano la funzione detect di /execute:
 /execute @e[name=bob] ~ ~ ~ detect ~1 ~ ~ quertz_block -1 scoreboard players add @e[c=1] Output 1
 /execute @e[name=bob] ~ ~ ~ detect ~-1 ~ ~ coal_block -1 scoreboard players add @e[c=1] Output 2
Inoltre dobbiamo mettere un command block che resetta Output, altrimenti la score continuerà ad aumentare; esso deve però essere attivato prima degli altri command block; il comando è: /scoreboard players set @e[name=bob] Output 0

Attaccati ad un clock questi comandi testeranno se il manichino ha quei determinati blocchi vicino:
se il primo comando trova il blocco imposta Output a 1;
se il secondo comando trova il blocco imposta Output a 2;
se entrambi i comandi trovano entrambi i blocchi l'output sarà pari a 3: il nostro obbiettivo sarà raggiunto Big Grin

Inoltre, è possibile inserire, non solo 2 parametri, ma tipo tantissimi, circa 64 (se i miei calcoli non sono errati (ma di sicuro lo sono));
Il procedimento per aggiungere parametri è sempre lo stesso:
ogni parametro deve avere solo 2 output (vero/falso) e il valore di ogni parametro deve essere dev'essere doppio del precedente (1,2,4,8...).
Io sono partito da Output pari a 0, ma potete usare qualsiasi numero che sia incluso tra -2'147'483'648 e 2'147'483'647.

Con questo metodo ogni combinazione di output darà un numero differente: per esempio usiamo 4 parametri; facciamo che
il 1° parametro (+1) è positivo, il 2° (+2) è negativo, il 3° (+4) e il 4° (+8) sono positivi;
quindi l'output è 1101 --> +1+4+8 = 13


Questa guida non l'ho fatta appositamente per istruire, più che altro l'ho fatto perché non avevo nulla da fare e mi è venuta questa idea e volevo mostrarvela; su questo forum non ho trovato niente del genere, quindi volevo ampliare questo le conoscenze di questo posto con una discussione che sicuramente non interesserà a nessuno. Scrivete qua sotto se volete qualche chiarimento, se volete darmi qualche suggerimento, se volete dire che la mia idea fa schifo, dire che dalla mia spiegazione non ci avete capito niente, dire che il mondo è un posto orribile o qualunque altra cosa che avete pensato leggendo ciò.
Ciao di dimensioni adeguate Cit. Scottecs
Grazie mille! Mi è servita tantissimo Smile

-Intactilis | Network
[Immagine: ftjDpBa.png]
Discussioni simili
Ultima risposta: torquatotasso99
22/10/2017, 10:35
Ultima risposta: HemeralDErik
10/09/2017, 20:39
Ultima risposta: Pietroos
14/08/2017, 16:34

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