Set di Equipaggiamento con Bonus (Set Bonus) Guide download

Set di Equipaggiamento con Bonus (Set Bonus)

‡ – Migrato dal laboratorio guide – ‡
(ho finito ora ora l'immagine sorry ~♪)

Chi di voi non è nuovo al genere RPG (o MMORPG) probabilmente sa cosa è un Set di Equipaggiamento.

Per quelli che non lo sanno, un set di equipaggiamento è un insieme di oggetti che se equipaggiati contemporaneamente danno un bonus al giocatore che li indossa.

Oggi replichiamo questa meccanica tipica degli RPG coi Command Block.

E potete stare tranquilli: è molto più facile dei Nomi Colorati in Vanilla.



L'effetto che vogliamo è questo: Se un giocatore equipaggia un set di armatura particolare (che può essere personalizzato o no), allora ottiene un bonus in base al set equipaggiato.

In questo modo:

Elmo A
Corazza A
Gambali A
Stivali A
Bonus A
Elmo B
Corazza B
Gambali B
Stivali B
Bonus B
Nessun Elmo
Corazza B
Gambali A
Niente Stivali
Nessun Bonus


1- Otteniamo un armatura da cui partire

Innanzitutto ci serviranno dei pezzi di armatura che dovranno far parte del set:
/give @p minecraft:golden_helmet 1 0 {display:{Name:"Elmo della Forza",Lore:[Set - Armatura della Forza]},ench:[{id:1,lvl:10},{id:3,lvl:10}]}
/give @p minecraft:golden_chestplate 1 0 {display:{Name:"Armatura della Forza",Lore:[Set - Armatura della Forza]},ench:[{id:1,lvl:10},{id:3,lvl:10}]}
/give @p minecraft:golden_leggings 1 0 {display:{Name:"Gambali della Forza",Lore:[Set - Armatura della Forza]},ench:[{id:1,lvl:10},{id:3,lvl:10}]}
/give @p minecraft:golden_boots 1 0 {display:{Name:"Stivali della Forza",Lore:[Set - Armatura della Forza]},ench:[{id:1,lvl:10},{id:2,lvl:10},{id:3,lvl:10}]}


Ora, troviamo il primo problema: dobbiamo distinguere l'armatura in oro che fa parte del set da TUTTE le altre possibili armature in oro.

Ci sono diversi metodi più o meno complessi e tediosi; Il più facile ed efficiente è questo:

Aggiungiamo ad ogni comando /give una NBT Tag PERSONALIZZATA (si, si può fare e l'oggetto tiene la tag per sempre)
La nostra tag sarà {Custom:1b} per il primo set {Custom:2b} per il secondo set e così via.

Quindi il nuovo comando è qualcosa di simile a questo:

/give @p minecraft:golden_chestplate 1 0 {Custom:1b,display:{Name:"Armatura della Forza",Lore:[Set - Armatura della Forza]},ench:[{id:1,lvl:10},{id:3,lvl:10}]}

E' importante aggiungere il nostro tag a TUTTI i comandi give, altrimenti il set non funzionerà.




2- Scoreboard necessarie

Ora che abbiamo la nostra armatura del set, dobbiamo fare in modo che un giocatore venga riconosciuto dal gioco quando la sta utilizzando, e quindi indossa il set.

Ci serviremo delle scoreboards: creiamo intanto l'obiettivo SetArmatura
/scoreboard objectives add SetArmatura dummy

Una volta creato questo obiettivo, piazziamo in quest ordine:

► Command Block Ripetizione Non Condizionale Sempre Attivo

scoreboard players set @a SetArmatura 0

In questo modo resettiamo. E' il modo più veloce, altrimenti dovremmo usare 10 Command Block per ogni set, e non vogliamo complicarci troppo la vita o far laggare.

Ora dobbiamo assegnare al giocatore che ha equipaggiato tutto il set contemporaneamente un punteggio nell'obiettivo SetArmatura

► Command Block Catena Non Condizionale Sempre Attivo

/scoreboard players set @a SetArmatura 1 {Inventory:[{id:"minecraft:gold_boots",Slot:100b,tag:{Custom:1b}},{id:"minecraft:gold_leggings",Slot:101b,tag:{Custom:1b}},{id:"minecraft:gold_chestplate",Slot:102b,tag:{Custom:1b}},{id:"minecraft:gold_helmet",Slot:103b,tag:{Custom:1b}}]}

Usiamo la funzione di filtraggio delle scoreboard per bersagliare solo i giocatori con certi requisiti.
In questo caso vogliamo dare un punteggio di 1 al ogni giocatore che:

► Indossa degli stivali d'oro che hanno il tag {Custom:1b} nello slot dei piedi E
► Indossa dei gambali d'oro che hanno il tag {Custom:1b} nello slot delle gambe E
► Indossa una corazza d'oro che ha il tag {Custom:1b} nello slot del petto E
► Indossa un elmo d'oro che ha il tag {Custom:1b} nello slot della testa.


In questo modo se noi indossiamo TUTTI i pezzi di armatura che otteniamo tramite il give di sopra avremo punteggio 1, in ogni altro caso (Manca uno o più pezzi di armatura, non sono nello slot giusto oppure non hanno il tag {Custom:1b} eccetera) avremo punteggio 0.

Per verificare che tutto stia funzionando correttamente usiamo questo comando:

/scoreboard objectives setdisplay sidebar SetArmatura

Se non abbiamo equipaggiato l'armatura questo punteggio DEVE essere 0.
Se abbiamo equipaggiato l'armatura che soddisfa le condizioni, il punteggio DEVE essere 1.

Se tutto funziona, possiamo aggiungere il bonus.



3- Aggiungiamo il Set Bonus


Ora che possiamo riconoscere se un giocatore indossa l'armatura che abbiamo impostato, possiamo procedere a dargli un bonus se lo fa.
Voglio che il bonus del set 'Armatura della Forza' sia un effetto di Forza I Permanente.

Aggiungiamo un:

► Command Block Ripetizione Non Condizionale Sempre Attivo

execute @e[score_SetArmatura_min=1,score_SetArmatura=1] ~ ~ ~ particle fireworksSpark ~ ~0.25 ~ 0.25 0.50 0.25 0 5 force

In questo modo il giocatore vede un effetto particellare a dimostrare che è potenziato

► Command Block Catena Non Condizionale Sempre Attivo

effect @a[score_SetArmatura_min=1,score_SetArmatura=1] minecraft:strength 1000 0 true

In questo modo diamo l'effetto Forza I permanente e ne nascondiamo le particelle.



EDIT 09/27/16 - Aggiunto capitolo Facoltativo

Facoltativo - Aggiungere altri Set


Probabilmente non vi basterà avere un solo set di armature con bonus, quindi potreste voler aggiungere altri set.

Come fare? Semplice.

Ri scriviamo un comando /give per i pezzi come prima, ma stavolta il nostro tag sarà {Custom:2b}, o qualcosa di diverso da {Custom:1b}.

In questo modo possiamo semplicemente dire che I pezzi del secondo set sono quelli {Custom:2b}, quelli del terzo sono {Custom:3b} eccetera.

Il comando dovrebbe essere qualcosa di simile a questo:
/give @p minecraft:diamond_chestplate 1 0 {Custom:2b,display:{Name:"Armatura della Velocità",Lore:[Set - Armatura della Velocità]},ench:[{id:2,lvl:5},{id:4,lvl:5}]}

Ora, dobbiamo impostare la scoreboard per quando un giocatore ha tutti i pezzi del SECONDO set equipaggiati insieme:

/scoreboard players set @a SetArmatura 2 {Inventory:[{id:"minecraft:diamond_boots",Slot:100b,tag:{Custom:2b}},{id:"minecraft:diamond_leggings",Slot:101b,tag:{Custom:2b}},{id:"minecraft:diamond_chestplate",Slot:102b,tag:{Custom:2b}},{id:"minecraft:diamond_helmet",Slot:103b,tag:{Custom:2b}}]}

Ciò che conta per differenziare un set da un altro è principalmente la Tag {Custom:χb}

Importante: se il materiale dell'armatura cambia, esso deve corrispondere: Notate come nel primo set l'armatura fosse in oro col tag {Custom:1b}, nel secondo set l'armatura è di diamante e ha tag {Custom:2b}, dobbiamo modificare l'oggetto che cerchiamo nella scoreboard (Vedi parti in corsivo del comando sopra)


Spero che vi sia utile!

Regards.

~Maca ♪

Commenti 5 risposte

Accedi per commentare.

Ottima guida davvero utile soprattutto per i Custom Map maker
io ho fatto tutto quello che hai detto ed l'ho provato a rifare in tutti i modi ma non mi funziona sono in 1.11.2 con optifine
Bella guida, comunque voglio specificare che "scoreboard players set @a SetArmatura 0" non significa "resettare" la scoreboard ;)
Guida ottima come al solito, ma vorrei esserti utile facendoti notare che
hai scritto minecrafttrenght (nulla di che eh).

Informazioni

Aggiunto da
Compatibilità
1.11, 1.10, 1.9.4, 1.9
Crediti
~Maca ♪
Link sponsorizzati

Link sponsorizzati