[CB] Creare lo Shop Perfetto - Per Esperti e Creatori di Mappe [1.10]

ATTENZIONE
Questo Shop è un concetto molto complicato,
per questo non potrò essere molto sintetico e chiaro.
Quindi, questa creazione non sarà comprensibile
se non per gli esperti Command Block Users.

IL MIGLIORE SHOP CREABILE SENZA PLUGIN
-per Custom Map, server Vanilla e Singleplayer-

Cos'ha questo shop di così speciale?
0) Funzionamento:
-Il giocatore che non ha abbastanza punti da permettersi il kit, non potrà equipaggiarlo.
-Il giocatore che si può permettere il kit spenderà i punti e lo sbloccherà e lo equipaggerà.
-Il giocatore che ha già sbloccato il kit lo equipaggerà senza spendere niente.
1) Compatibilità con qualunque tipo di Kit
2) Se il player equipaggerà il kit per la prima volta, gli verrà scitto in chat:
You've unlocked the Archer Kit! [+suono entity.palyer.levelup]
3) Se il player equipaggerà il kit avendolo già sbloccato, gli verrà:
You equiped the Archer Kit! [+ suono entity.player.levelup]
4) Se il player non ha ancora sbloccato il kit e non ha abbastanza monete, gli verrà:
You don't have enough Gold! [+suono entity.firework.blast]
[se volete potete anche modificare i tellraw]
5) E' comaptibile col Multiplayer.
6) E' possibile creare infiniti Kit.

Piccole pecche anche insignificanti:
1) L'elemento di scambio può essere solo il punteggio di una scoreboard.
2) I Kit, utilizzando i villager, dovranno essere di almeno 8-9 blocchi di disanza fra loro.
3) Il suono di quando il player sblocca o equipaggia un kit è lo stesso. Se siete esperti, potete cambiare ciò aggiungendo un solo command block.
4) Se il player clicca di continuo sul kit, verrà spammato in chat a lui il messaggio e spammato il suono, ma senza effetti negativi sul funzionamento]

1) Creare lo shop.

Spoiler: Vedi guida

2) Rendere lo shop funzionante.
[Niente spoiler, tutto ciò è necessario] Per rendere lo shop funzionante bisognerà creare una catena di 12 command blocks per ogni kit, da posizionare dietro al villager di 2-3 blocchi. Tutti a catena, sempre attivi e non condizionali, a parte il primo che dovrà essere a ripetizione sempre attivo e non consizionale per dare impulso alla catena.
Link a immagine di esempio.
Consiglio di farla in verticale, dato che il selettore che useranno è @e[tag=villagershop,c=1], quindi dovete fare in modo che il villager più vicino ai command block si quello di cui i command block usufruiscono. Quindi, dato che la catena dovrà essere in verticale, vi sconsiglio di creare piani superiori dello shop. Prima di tutto ciò create una scoreboard per vedere se un player parla con un villager con il seguente comando:
/scoreboard objectives add talked stat.talkedToVillager

I comandi sono questi, dal primo all'ultimo command block:

/execute @e[tag=villagershop,c=1] ~ ~ ~ /tellraw @a[r=4,score_talked_min=1,tag=sblocca01] ["",{"text":"You equiped the Archer Kit!","color":"green"}]
[questo fa in modo che al giocatore che clicca avendo la tag sblocca01 (modificatela se create un altro kit, cambiandola in sblocca02, tipo. Lo stesso vale per il nome del kit) gli viene il messaggio verde]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /tellraw @a[r=4,score_talked_min=1,tag=!sblocca03,score_gold_min=450] ["",{"text":"You've unlocked the Archer Kit!","color":"gold"}]
[questo fa in modo che al giocatore che cicca per la prima volta sul villico e ha abbastanza "gold" (potete creare una scoreboard con il nome che volete del tipo che volete) venga il messaggio oro. la tag sblocca01 gli verrà data in seguito]


/execute @e[tag=villagershop,c=1] ~ ~ ~ /scoreboard players tag @a[r=4,score_talked_min=1,tag=!sblocca01,score_gold_min=450] add shopyes
[la tag shopyes è una tag momentanea che viene data al giocatore che deve ancora comprare il kit. Verrà tolta subito dopo]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /scoreboard players remove @a[r=4,tag=shopyes] gold 450
[questo sottrae l'"oro" al giocatore che ha appena sbloccato il kit. Ricordo che la score non si deve chiamare per forza gold, e il costo non deve essere per forza di 450]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /scoreboard players tag @a[r=4,score_talked_min=1,tag=!sblocca01,tag=shopyes] add sblocca01
[questo comando da la tag "sblocca01" al giocatore che ha appena sbloccato il kit, e che gli permetterà di averlo gratis le prossime volte che lo equipaggerà. Questa tag deve variare, ricordo, da kit a kit]
/execute @e[tag=villagershop,c=1] ~ ~ ~ /clear @a[r=4,score_talked_min=1,tag=sblocca01]
[questo comando ripulisce l'inventario del giocatore che sta per ricevere il kit, in modo da non moltiplicare gli oggetti]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /replaceitem entity @a[r=4,score_talked_min=1,tag=sblocca01] <varie>
[questo command l'ho contato come uno solo nella catena, ma probabilmente ve ne serviranno di più. A questo punto mettete tutti i vari command block con l'execute e il /replaceitem che daranno gli oggetti del kit al giocatore]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /tellraw @a[r=4,score_talked_min=1,tag=!sblocca01] ["",{"text":"You don't have enough Gold!","color":"red"}]

[questo avverte il giocatore senza la tag sblocca01 (che non può avere solo se non ha ancora sbloccato il kit e non ha abbastanza "gold") che non ha abbastanza oro per permettersi il kit]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /playsound entity.player.levelup voice @a[r=4,score_talked_min=1,tag=sblocca01]
[adesso viene suonato il suono entity.player.levelup al giocatore che ha sbloccato / equipaggiato il kit]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /playsound entity.firework.blast voice @a[r=4,score_talked_min=1,tag=!sblocca01]
[questo fa il suono del fuoco d'artificio al giocatore che non si è potuto permettere il kit]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /scoreboard players tag @a[r=4,score_talked_min=1] remove shopyes/execute @e[tag=villagershop,c=1] ~ ~ ~ /scoreboard players reset @a[r=4,score_talked_min=1] talked
[questi rimuovono tutti i punteggi e le tag usate]


Spero che tutto ciò vi sia servito, creatori di mappe o server!
Se notate qualche pecca o avete qualche consiglio o richiesta, ditemelo pure!
Un rep per l'impegno?     [Immagine: Custom%20Map%201.10.png]   >> Guarda Intuition!
-
[Immagine: Creazioni%2C%20tutorial%20e%20altro.png]    [Immagine: Clicca%20per%20informarti!.png]
2 utenti apprezzano questo post
Guida troppo ignorata...quando invece è ottima!
20/09/2016, 21:03Kharu ha scritto:
ATTENZIONE
Questo Shop è un concetto molto complicato,
per questo non potrò essere molto sintetico e chiaro.
Quindi, questa creazione non sarà comprensibile
se non per gli esperti Command Block Users.

IL MIGLIORE SHOP CREABILE SENZA PLUGIN
-per Custom Map, server Vanilla e Singleplayer-

Cos'ha questo shop di così speciale?
0) Funzionamento:
-Il giocatore che non ha abbastanza punti da permettersi il kit, non potrà equipaggiarlo.
-Il giocatore che si può permettere il kit spenderà i punti e lo sbloccherà e lo equipaggerà.
-Il giocatore che ha già sbloccato il kit lo equipaggerà senza spendere niente.
1) Compatibilità con qualunque tipo di Kit
2) Se il player equipaggerà il kit per la prima volta, gli verrà scitto in chat:
You've unlocked the Archer Kit! [+suono entity.palyer.levelup]
3) Se il player equipaggerà il kit avendolo già sbloccato, gli verrà:
You equiped the Archer Kit! [+ suono entity.player.levelup]
4) Se il player non ha ancora sbloccato il kit e non ha abbastanza monete, gli verrà:
You don't have enough Gold! [+suono entity.firework.blast]
[se volete potete anche modificare i tellraw]
5) E' comaptibile col Multiplayer.
6) E' possibile creare infiniti Kit.

Piccole pecche anche insignificanti:
1) L'elemento di scambio può essere solo il punteggio di una scoreboard.
2) I Kit, utilizzando i villager, dovranno essere di almeno 8-9 blocchi di disanza fra loro.
3) Il suono di quando il player sblocca o equipaggia un kit è lo stesso. Se siete esperti, potete cambiare ciò aggiungendo un solo command block.
4) Se il player clicca di continuo sul kit, verrà spammato in chat a lui il messaggio e spammato il suono, ma senza effetti negativi sul funzionamento]

1) Creare lo shop.

Spoiler: Vedi guida

2) Rendere lo shop funzionante.
[Niente spoiler, tutto ciò è necessario] Per rendere lo shop funzionante bisognerà creare una catena di 12 command blocks per ogni kit, da posizionare dietro al villager di 2-3 blocchi. Tutti a catena, sempre attivi e non condizionali, a parte il primo che dovrà essere a ripetizione sempre attivo e non consizionale per dare impulso alla catena.
Link a immagine di esempio.
Consiglio di farla in verticale, dato che il selettore che useranno è @e[tag=villagershop,c=1], quindi dovete fare in modo che il villager più vicino ai command block si quello di cui i command block usufruiscono. Quindi, dato che la catena dovrà essere in verticale, vi sconsiglio di creare piani superiori dello shop. Prima di tutto ciò create una scoreboard per vedere se un player parla con un villager con il seguente comando:
/scoreboard objectives add talked stat.talkedToVillager

I comandi sono questi, dal primo all'ultimo command block:

/execute @e[tag=villagershop,c=1] ~ ~ ~ /tellraw @a[r=4,score_talked_min=1,tag=sblocca01] ["",{"text":"You equiped the Archer Kit!","color":"green"}]
[questo fa in modo che al giocatore che clicca avendo la tag sblocca01 (modificatela se create un altro kit, cambiandola in sblocca02, tipo. Lo stesso vale per il nome del kit) gli viene il messaggio verde]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /tellraw @a[r=4,score_talked_min=1,tag=!sblocca03,score_gold_min=450] ["",{"text":"You've unlocked the Archer Kit!","color":"gold"}]
[questo fa in modo che al giocatore che cicca per la prima volta sul villico e ha abbastanza "gold" (potete creare una scoreboard con il nome che volete del tipo che volete) venga il messaggio oro. la tag sblocca01 gli verrà data in seguito]


/execute @e[tag=villagershop,c=1] ~ ~ ~ /scoreboard players tag @a[r=4,score_talked_min=1,tag=!sblocca01,score_gold_min=450] add shopyes
[la tag shopyes è una tag momentanea che viene data al giocatore che deve ancora comprare il kit. Verrà tolta subito dopo]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /scoreboard players remove @a[r=4,tag=shopyes] gold 450
[questo sottrae l'"oro" al giocatore che ha appena sbloccato il kit. Ricordo che la score non si deve chiamare per forza gold, e il costo non deve essere per forza di 450]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /scoreboard players tag @a[r=4,score_talked_min=1,tag=!sblocca01,tag=shopyes] add sblocca01
[questo comando da la tag "sblocca01" al giocatore che ha appena sbloccato il kit, e che gli permetterà di averlo gratis le prossime volte che lo equipaggerà. Questa tag deve variare, ricordo, da kit a kit]
/execute @e[tag=villagershop,c=1] ~ ~ ~ /clear @a[r=4,score_talked_min=1,tag=sblocca01]
[questo comando ripulisce l'inventario del giocatore che sta per ricevere il kit, in modo da non moltiplicare gli oggetti]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /replaceitem entity @a[r=4,score_talked_min=1,tag=sblocca01] <varie>
[questo command l'ho contato come uno solo nella catena, ma probabilmente ve ne serviranno di più. A questo punto mettete tutti i vari command block con l'execute e il /replaceitem che daranno gli oggetti del kit al giocatore]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /tellraw @a[r=4,score_talked_min=1,tag=!sblocca01] ["",{"text":"You don't have enough Gold!","color":"red"}]

[questo avverte il giocatore senza la tag sblocca01 (che non può avere solo se non ha ancora sbloccato il kit e non ha abbastanza "gold") che non ha abbastanza oro per permettersi il kit]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /playsound entity.player.levelup voice @a[r=4,score_talked_min=1,tag=sblocca01]
[adesso viene suonato il suono entity.player.levelup al giocatore che ha sbloccato / equipaggiato il kit]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /playsound entity.firework.blast voice @a[r=4,score_talked_min=1,tag=!sblocca01]
[questo fa il suono del fuoco d'artificio al giocatore che non si è potuto permettere il kit]

/execute @e[tag=villagershop,c=1] ~ ~ ~ /scoreboard players tag @a[r=4,score_talked_min=1] remove shopyes/execute @e[tag=villagershop,c=1] ~ ~ ~ /scoreboard players reset @a[r=4,score_talked_min=1] talked
[questi rimuovono tutti i punteggi e le tag usate]


Spero che tutto ciò vi sia servito, creatori di mappe o server!
Se notate qualche pecca o avete qualche consiglio o richiesta, ditemelo pure!
GRAAAZIE ora so come fare p.s bella guida
se il commento ti è stato utile aggiungi un +1 .   CAWAWA SPIDER 17

Bellissimo tutorial, stavo giusto mettendo in cantiere di fare una custom map grazie
Discussioni simili

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