Vai al contenuto
Il server del mese è
Visita la nostra nuova lista server!

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

  • 0
_Mastro

Cambiare gamemode attraverso item

Domanda

Salve,

 

conoscete un metodo per, come da titolo, cambiare la gamemode di un giocatore nel momento in cui impugna un determinato item?

 

In pratica il mio obbiettivo sarebbe quello di poter cambiare un comando in un command block in un mondo survival, ma dato che nella modalità sopravvivenza non è possibile, allora avevo pensato di rendere automatico il passaggio alla creativa e di conseguenza di nuovo alla sopravvivenza, ed in particolare avevo pensato di farlo attraverso un item.

 

E' possibile? Conoscete metodi migliori?

 

Ogni aiuto è ben accetto

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

11 risposte a questa domanda

Recommended Posts

Ok esiste effettivamente un datatag per un oggetto selezionato quindi si può fare! Lo ho visto da questo video

Esempio con testfor:

/testfor @a {SelectedItem:{id:"minecraft:wool",Damage:0s}}

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

quindi fammi capire, vuoi far si che un giocatore dalla sopravvivenza passi alla creativa e poi torni alla sopravvivenza?

 

 

puoi fare, se ho capito bene, una meccanismo del genere:

 

prima parte: fai un repeter di segnale di pietra rossa (loop), così posti due tramogge collegate tra loro e un oggetto dentro. poi da entrambe le tramogge ci metti davanti un comparatore. dinnanzi al comparatore metti un command block con comando: /gamemode survival @a[!Items:[{Slot:1,id:minecraft:clock,Damage:0,Count:1}]]

 

 

allora, da qui è meglio che poi mi corregga qualche esperto perchè non sono sicuro di averlo scritto bene. questo comando imposta: che chi ha nello slot 1 del proprio inventario (impugna l'oggetto) un orologio (clock) NON PASSA ALLA MODALITA' Survval.

 

 

davanti all'altra tramoggia metti di nuovo un comparatore e poi un comando simile: 

/gamemode creative @a[Items:[{Slot:1,id:minecraft:clock,Damage:0,Count:1}]]

 

questo comando fa passare alla creative tutti i giocatori che impugnano l'oggetto.

 

ora sappi però che il comando è come dire.... faticoso, poichè a ogni secondo il giocatore con in mano l'oggetto sarà settato in creativa e ad ogni secondo il giocatore che non ha in mano l'oggetto sarà settato in sopravvivenza.

 

 

se invece preferisci puoi fare due comandi diversi:

 

Il primo è un libro nel quale metti il comando per cambiare la modalità di gioco prima in creativa, e un altro libro che la cambia in sopravvivenza.

 

il secondo metodo invece imposti le aree... (molto più comodo) un giocatore entrando in quell'area dispone della creativa e lasciando l'area dispone della sopravvivenza.

 

 

infine possiamo fare un sistema avanzato del metodo prima spiegato con le tramogge:

riprendendo i due comparatori senza aver settato i command block metti in un command block:

 

testfor @a[Items:[{Slot:1,id:minecraft:clock,Damage:0,Count:1}],m=2]

 

e davanti l'altro:

 

testfor @a[Items:[{Slot:1,id:minecraft:iron,Damage:0,Count:1}],m=1]

 

ora i due comandi funzionano che fanno una domanda costante a tutti i giocatori: vi è un giocatore che ha equipaggiato un orologio come oggetto in uso? vi è un giocatore che ha equipaggiato un ferro come oggetto in uso? 

 

p.s. (potrei aver sbagliato, m=2 dovrebbe essere modalità survival e m=1 modalità creativa, se ho sbagliato ecco, basta che aggiorni con la modalità giusta, ovviamente l'orologio lo prendi se stai in modalità survival per passare alla creativa e il ferro lo prendi dalla modalità creativa per passare alla survival.)

 

per continuare il meccanismo metterai davanti a ciascun command block (che attenzione non devono esser vicini, mettili uno in una direzione e uno nell'altra) un comparatore e poi di nuovo un command block, i due nuovi command block avranno come codice:

 

(quello davanti alla domanda c'è un giocatore con l'orologio) -> /gamemode creative @a[Items:[{Slot:1,id:minecraft:clock,Damage:0,Count:1}]]

 

(quello davanti alla domanda c'è un giocatore con il ferro) -> /gamemode survival @a[Items:[{Slot:1,id:minecraft:iron,Damage:0,Count:1}]]

 

 

così il meccanismo cambierà la modalità una sola volta al giocatore che si equipaggia l'orologio e una sola volta al giocatore che equipaggia il ferro.

 

 

 

vi prego, correggetemi gli errori di codice >.< li faccio sempre!!

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Ospite
Lo stavo scrivendo anch'io, ma mi sono accorto che mette il gamemode a chi ha l'oggetto nello slot, non se lo impugna

Inviato dal mio cellulare con la RAM sempre piena

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Grazie mille per le risposte, ora vedrò cosa fare :)

 

Chiunque abbia altre idee sia libero di scriverle!

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ma usare la NBT Tag [url=https://www.youtube.com/watch?v=w2sfhebZo20]SelectedItemSlot[/url] è troppo avanzato?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ma usare la NBT Tag SelectedItemSlot è troppo avanzato?

 

Sì ma in quel modo non associo semplicemente il testfor allo slot selezionato? Io avevo intenzione di associarlo ad un item... così che nel momento in cui impugno quel determinato item, in qualsiasi slot esso sia, l'output è positivo. Si può fare?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

per me select items slot è avanzato, ma penso sia esattamente ciò che vuoi fare te, basta che imposti select items slot su tutti e 9 gli slot di scelta rapida.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

per me select items slot è avanzato, ma penso sia esattamente ciò che vuoi fare te, basta che imposti select items slot su tutti e 9 gli slot di scelta rapida.

 

Forse mi sto perdendo qualcosa, ma come devo specificare l'item che il testfor deve verificare? Intendo proprio sotto forma di comando. 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ok esiste effettivamente un datatag per un oggetto selezionato quindi si può fare! Lo ho visto da questo video

Esempio con testfor:

/testfor @a {SelectedItem:{id:"minecraft:wool",Damage:0s}}

 

Oooh finalmente 

 

E invece per riportarlo indietro in sopravvivenza? 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Oooh finalmente 

 

E invece per riportarlo indietro in sopravvivenza? 

Usa un altro cibo

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Usa un altro cibo

 

Ok, risolto in un altro modo :D

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Ospite
Questa discussione è chiusa.

×
×
  • Crea Nuovo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.