ESC (Event Switch Command)

Fondere due blog in uno.

Ripescando i vecchi interventi del porci-project dlog, ho deciso che era ora di levarlo di mezzo. Nonostante il proci-project rimarrà sempre nel mio cuore e in quelli di chi ci ha creduto fino all’ultimo, il dlog viene buttato giù.

Trascrivo qui soltanto gli interventi che mi hanno suscitato, a distanza di anni, lo stesso tasso di interesse di quando li scrissi per la prima volta. Questo in particolare è un progetto di eventi per rpg maker 2000/2003 (ah, i bei tempi in cui tutto si faceva ad eventi!) che consente di creare due party, nonostante il gioco in sé non lo permetta. Scritto e ideato interamente da me, questo insieme di eventi funziona discretamente bene. Riporto l’intervento tale e quale, parola per parola, per non perdere la polvere di essenza rimasta dai bei vecchi tempi.

ESC – Event Switch Command

Altra tecnologia in casa porci-project: l’”ESC”!

No, non ha niente a che fare con il tasto esc… come suggerisce il titolo, è un acronimo. Questa tecnologia permette di dividere il proprio party in due, farli muovere su due mappe diverse uno alla volta e cambiare il gruppo premendo il tasto SHIFT. A dispetto della prima tecnologia, per questa ho impiegato un pò di tempo in più per errori probabilmente dovuti al tool (non ne sono sicuro, anche se tutto lascia a pensare così) e per la ricerca di comandi per eventi validi…

Per realizzare ciò, è bastato un Common Event ed una serie di rami IF-ELSE per deviare agli inconvenienti scomodi. Il risultato è quello che sto per andare a mostrarvi:

dettagli3

Per prima cosa definiamo una costante, prendendo una variabile e dandogli il valore 1. Essendo una costante il valore della stessa non dovrà venire alterato per nessun motivo, altrimenti tutti gli eventi che dipendono da essa risulterebbero non funzionare correttamente. Ora prendiamo un’altra variabile, chiamiamola “keycode” (il nome può essere qualunque, nonostante ciò io farò sempre riferimento a questo) e diamole il valore 1. Successivamente scegliamo tra i comandi degli eventi “key input processing” con i seguenti settaggi:

dettagli4

Questo farà si che si potrà proseguire soltanto dopo aver premuto SHIFT. Impostiamo un’etichetta numerandola come 1 (per chi non lo sapesse, l’etichetta è un nominativo, un numero in questo caso, che identifica una posizione tra il codice; se si fa riferimento ad una etichetta il codice riparte dalla riga successiva ad essa) e iniziamo con il primo IF.

Se la variabile ”ripetizione” è attiva, ovvero ha valore 1, il tool aspetta finché non viene premuto un tasto. Fuori dal ramo di questo IF ne facciamo partire subito un altro.

Se “keycode” (la variabile dove abbiamo memorizzato quante volte viene premuto il tasto SHIFT) è più grande della costante, allora continua con le operazioni. Le operazioni che seguono sono abbastanza basilari, ci tengo solo a precisare che vengono memorizzate due locazioni differenti, quindi bisognerà usare 3 variabili per una sola locazione, ed altre 3 per l’altra. Prima di finire il ramo dell’IF disattiviamo la ripetizione impostando la variabile a 0 e resettiamo la variabile “keycode”. Ora arriviamo fino all’ELSE.

Il procedimento è in grosso modo lo stesso del precedente, bisogna soltanto invertire le variabili della posizione (recall e memorize position) ed attivare la ripetizione portando ad 1 il valore. Finiti i vari rami, si riporta il codice all’etichetta 1.

Gli unici bug riscontrati al momento sono questi:

  • I due gruppi devono muoversi in due mappe differenti, o non vedersi mai finche l’opzione scambio è attiva, perchè dopo lo spostamento il gruppo precedente sparisce e riappare solo premendo un’altra volta SHIFT.
  • Dopo il cambio, il personaggio sarà rivolto nella stessa direzione del gruppo che lo ha preceduto.

Per chiunque lo voglia provare e trovasse altri bug, è libero di mandarmi un’email.

0 Responses to “ESC (Event Switch Command)”


  • No Comments

Leave a Reply