[Domanda] Richiesta BUILDER per Adventure Map & Rilevatori dei Command Block

(Modificato 01/01/2015, 20:36 da Gigixs.)
Non sono sicuro di cosa sia una firma , ma comunque la metto. ah, ciao :shweet:
@Gigixs , c'è un pò di confusione in ciò che hai chiesto, quindi andiamo con ordine:

- Chunk caricati: come hai già scritto, grazie alla 1.7 e alla 1.8 non c'è più nessuna necessità di avere la circuiteria fisicamente collegata alla "mappa" (intesa come "il luogo dove gireranno i player).
Per questo viene usato un principio semplice: nel mondo normale (l'overworld) c'è una zona chiamata "chunk di spawn" che è sempre caricata a condizione che ci sia almeno un player in quel mondo, anche lontanissimo.
Mettendo lì la tua circuiteria e creando la "mappa" altrove (diciamo 5-10mila blocchi più in là) otterrai che tutti i tuoi meccanismi funzioneranno perfettamente senza venire caricati graficamente (nessun player lì può vedere), riducendo ulteriormente il lag.
In pratica di caricato avrai solo la zona intorno al player e i chunk di spawn, che sono comunque sempre caricati.

- Clock:
30/12/2014, 23:25Gigixs ha scritto: ora, io so che si deve usare il testfor che, per rilevare il player, il cm con il comando deve essere aggiornato da un input a ripetizione (tramite 2 hopper che si scambiano un oggetto), ora, con tutti i comandi che ci dovranno essere in giro della mappa,è normale che chi usa questo metodo debba mettere per ogni comando questo "ambaradam" di hopper che si scambiano oggetti collegato al cm col testfor, a sua volta collegato al comando da attuare ?
Ho ucciso per molto meno (ma non potete provarlo, quindi è inutile chiamare le autorità XD).

L'hopper clock ha un ritmo lento (2 cicli al secondo), causa lag (a causa della presenza di tile entities e della ricerca degli hopper) e ha un numero di output molto limitato (farcendolo di comparatori arrivi al massimo a 6).
Usalo SOLAMENTE se hai fretta di completare un circuito che abbia una vita media molto breve (per esempio una mappa la cui intera durata sia intorno ai 10 minuti scarsi) e anche in questo caso ricordati di piazzarci sopra dei blocchi con inventario (disattivano una delle funzioni più laggose degli hopper).

Ho fracassato i maroni a circa 2 terzi del forum per quanto riguarda i /fill clock.
Velocissimi (20 cicli al secondo, la velocità di Minecraft stesso, quindi un controllo fatto con loro è costante), causa come unici update quelli che attivano i comandi (minor lag possibile, ricordati solo di non usare aria) e il loro output è immenso (dovrei provare ma un /fill clock con letteralmente 10mila output dovrebbe funzionare senza troppi problemi) e deformabile a piacimento (grazie alla funzione replace del comando /fill).

- Controllo dei player (e delle entità): per il resto del paragrafo parlerò di come controllare le entità, dando per scontato che tutto ciò vale anche per i player, dato che sono loro stessi entità.

Il comando /testfor è stato completamente rimpiazzato da /execute ed è tornato ad avere un'utilità solo grazie al comando /stats, che gli ha dato comunque uno scopo differente.

Il comando /execute ha in pratica la funzione di un "se".
Il suo formato è "/execute ENTITA' COORDINATE COMANDO" e in pratica fa in modo che ogni entità che corrisponda alla descrizione fornita nel selettore ENTITA' esegua il comando COMANDO come se in quel momento si trovasse alle COORDINATE coordinate.
Nella maggior parte dei casi la coordinate in cui verrà eseguito il comando non ti interessa, quindi metti 3 tilde e sarai a posto nel 99% dei casi.
La parte importante è che il comando verrà fatto eseguire da tutte le entità che corrispondono a quella descrizione, quindi SE non ci sono entità del genere il comando non verrà eseguito.
Se per esempio la tua entità fosse @a[c=1,x=10,y=60,z=20,dx=5,dy=5,dz=5] il comando verrebbe eseguito solo SE ci fosse almeno un player con la coordinata x fra 10 e 15, la y fra 60 e 65 e la z fra 20 e 25.
In pratica il comando /execute esegue in automatico il controllo (e fa partire il comando se quest'ultimo è riuscito), rendendo superfluo l'utilizzo di /testfor (che invece farebbe il controllo e basta).

La funzione attuale di /testfor è solo di contatore. Grazie a /stats è possibile convertire il suo SuccessCount in un punteggio della scoreboard per ulteriori manipolazioni.
Và utilizzato, per esempio, se il tuo player deve colorare delle pecore e vuoi che succeda qualcosa quando ALMENO 25 sono verdi, perchè in questo caso a te non interessa SE ci sono pecore verdi, bensì ti interessa QUANTE ce ne sono.
1 utente apprezza questo post
ok, ho capito molte delle cose che mi hai detto,quindi
  • il testfor è stato sostituito dall'execute, che riunisce in un unico cm il testfor e il comando da attuare
  • se si mettono i clock ( gli ambaradam come li avevo definiti Big Grin ) nei chunk di spawn ( che sono i chunk che rimangono sempre in memoria) non creano lag. meglio se si mette la mappa lontano dai chunk di spawn così non vengono caricati graficamente
  • ho capito come funziona l'execute
  • ho capito che il clock dei comparatori è malvagio
  • e che si deve usare il fill clock o il setblock clock (come ho visto dal video sotto)
ora però delle cose non ho capito
  • come posso trovare i chunk di spawn? inoltre, questi chunk di spawn possono essere modificati con il setworldspawn o è semplicemente un comando per settare lo spawn di tutti i player?
  • inizialmente non avevo capito come si facevano i fill clock, dopo un pò nella disperazione e video inutili guardati, ho visto questo  Video che mostrava tutti i clock compreso quello con gli hopper, cioè quello che usavo io . In particolare da 4:32 mostrava il setblock clock e poi il fill block. quindi sono questi? per attuare poi i comandi devo fare come a 5:55 solo che metto l'execute? poi ho visto questo link che diceva altre cose sui fill clock , ma non ci capito tanto
  • che intendi con "ricordati solo di non usare aria?"
  • se voglio fare che quel comando avvenga una volta sola che il player passa a x coordinate (quindi rilevato dall'execute) come devo fare?
  • se voglio fare che una volta passato a x coordinate (rilevato dall'execute ) avvengano azioni a tempo come devo fare?
grazie

PS: Avrai un posto nei crediti della mappa per l'enorme aiuto che mi stai dando @Mandelcube , mi stai aiutando tantissimo Big Grin
Non sono sicuro di cosa sia una firma , ma comunque la metto. ah, ciao :shweet:
@Gigixs

31/12/2014, 17:19Gigixs ha scritto: come posso trovare i chunk di spawn? inoltre, questi chunk di spawn possono essere modificati con il setworldspawn o è semplicemente un comando per settare lo spawn di tutti i player?

Il comando /setworldspawn ha esattamente quella funzione: sposta il punto di spawn dei player e di conseguenza anche i chunk di spawn.

Il mio consiglio è questo: mettiti nel chunk che preferisci come centro e posizionati nel punto di coordinate x e z a 8 relativamente al chunk (le vedi con F3, sono i numeri fra 0 e 15).
Quello è il centro del chunk, usando /setworldspawn in quel punto i tuoi chunk di spawn saranno un quadrato 13x13 (centrato lì) invece di 12x12 (avrai quindi 25 chunk in più per la circuiteria).

31/12/2014, 17:19Gigixs ha scritto: inizialmente non avevo capito come si facevano i fill clock, dopo un pò nella disperazione e video inutili guardati, ho visto questo  Video che mostrava tutti i clock compreso quello con gli hopper, cioè quello che usavo io . In particolare da 4:32 mostrava il setblock clock e poi il fill block. quindi sono questi? per attuare poi i comandi devo fare come a 5:55 solo che metto l'execute? poi ho visto questo link che diceva altre cose sui fill clock , ma non ci capito tanto

Partiamo da questo presupposto: sì, l'ultimo nel video è un /fill clock, ma il tutorial è veramente pessimo.
Il /setblock clock è il suo antenato (ci sono stati diversi mesi in cui si aveva /setblock ma /fill non era ancora stato aggiunto), abbandonato perchè può modificare solo un blocco, col risultato di avere solo 5 output (le altre 5 facce del cubo di redstone).

Molto migliore è il tutorial del secondo link, che invece fa capire tutti i vantaggi del /fill clock.
/fill ti permette di manipolare migliaia di blocchi (oltre 32mila), dandoti quindi tutti gli output che voi dove vuoi (come il note block nella prima immagine).
L'ordine in cui vengono piazzati i vari blocchi è costante, cosa che ti permette di fare controlli di estrema precisione.
Ed infine la funzione replace, che permette di avere output solo quando vuoi tu dove vuoi tu.
(la parte estetica è superflua ma carina XD)

31/12/2014, 17:19Gigixs ha scritto: che intendi con "ricordati solo di non usare aria?

I /fill clock funzionano alternando costantemente dei blocchi di redstone con altri blocchi.
Un errore da principianti (dovuto al fatto che nessuno ci aveva fatto caso all'inizio, quindi molti tutorial non ci fanno caso, anche il video che hai linkato) è usare come secondo blocco l'aria (o comunque un blocco trasparente).
Ciò obbliga minecraft a ricalcolare la luce in quel punto, con conseguente lag luminoso.

La soluzione è semplice: usa un qualunque blocco solido (io, per esempio, uso quelli d'oro) e non avrai problemi.

31/12/2014, 17:19Gigixs ha scritto: se voglio fare che quel comando avvenga una volta sola che il player passa a x coordinate (quindi rilevato dall'execute) come devo fare?

In quel caso consiglio di usare /scoreboard per aumentare un suo punteggio quando si trova a quelle coordinate e /execute quando ha un valore specifico di quel punteggio.

In realtà  il messaggio si ripeterà se il player rimane in quel punto per circa 7 anni, dato che i valori della scoreboard sono limitati, ma non penso sia un problema XD.

31/12/2014, 17:19Gigixs ha scritto:
  • se voglio fare che una volta passato a x coordinate (rilevato dall'execute ) avvengano azioni a tempo come devo fare?

Leggera modifica alla risposta di prima.
Quando il player passa nel punto settagli (prima ho scritto di aumentare) un punteggio (non serve neanche execute, dato che la scoreboard legge i selettori e anche le NBT tag).
Con un secondo comando aumenta un secondo punteggio costantemente a chiunque abbia il primo punteggio settato a dovere.
Questo secondo punteggio diventerà in automatico un timer (da 20 pulsazioni al secondo) che si attiverà dal momento in cui il player sarà nel punto adatto.
Regola le varie azioni in base a quel secondo punteggio :3
(Rimarrà il problema dei 7 anni, che comunque ritengo molto trascurabile XD). (Modificato 31/12/2014, 18:42 da MandelCube.)
grazie mille Big Grin
Non sono sicuro di cosa sia una firma , ma comunque la metto. ah, ciao :shweet:
Discussioni simili
Discussione: Autore Risposte: Letto: Ultimo
[Problema] custom map Edo022 7 93 07/09/2017, 11:07
Ultimo: Edo022
[Richiesta] Cerco builder camiu 1 48 28/08/2017, 18:53
Ultimo: DarkJoker_07
[Richiesta] Builder per una custom map zStarBoy 3 126 28/08/2017, 07:59
Ultimo: zStarBoy
[Richiesta] Cerco builder AlexPlayer3000 2 61 22/08/2017, 22:05
Ultimo: AlexPlayer3000
[Release] Pacchetto mod con custom map Distruzione in Paradiso PaulOMEGA 22 5,178 21/08/2017, 14:59
Ultimo: Marco2

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