Vai al contenuto

Rilevato Ad-Blocker. Per favore disabilita il tuo adblocker quando navighi su makerando.com - Non c'è nessun annuncio invasivo.

  • Chatbox

    You don't have permission to chat.
    Load More
Loppa

RPGMAKER VX ACE Domanda oggetti utilizzabili su mappa

Recommended Posts

Sto programmando alcuni item con effetto su mappa richiamabili tramite evento comune e mi è sorto un dubbio.

 

 

Ho ad esempio 5 carote nell'inventario. Occorre utilizzare una carota. Inventario > Carota > Usa.

 

Sotto al pg viene teletrasportata la grafica della carota e fin qua tutto apposto.

 

Ora, mettiamo il caso che voglio posizionare un'altra carota su mappa, ovviamente ce n'è già una richiamata dall'item Carota in uso. 

Come faccio a posizionare più carote su mappa dallo stesso item nell'inventario? E' possibile?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

beh potresti, al termine di ogni evento comune dare +1 ad una variabile che segna il numero di carote "evocate", mentre al momento di inserire una carota metti una serie di fork condition:

 

Se [carote evocate] = 0  -> aggiungi prima carota

 ALTRIMENTI

Se [carote evocate] = 1 -> aggiungi seconda carota

 ALTRIMENTI

....

 

 e così via...

 

sto dando per scontato che la carota sia un evento su mappa che viene richiamato, quindi ti servirà un evento per ogni carota, e ovviamente dovranno avere tutti lo stesso ID sequenziale in modo che non dia errori di mappa in mappa.

 

a meno che non usi un altro metodo per "evocare" la carota

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

beh potresti, al termine di ogni evento comune dare +1 ad una variabile che segna il numero di carote "evocate", mentre al momento di inserire una carota metti una serie di fork condition:

Se [carote evocate] = 0  -> aggiungi prima carota

 ALTRIMENTI

Se [carote evocate] = 1 -> aggiungi seconda carota

 ALTRIMENTI

 

 

Ottimo :D :D e se queste carote avessero un timer? Ovvero che dopo tot secondi spariscono e tornano in posizione originale?

 

Quindi mi consigli di farle sequenziali tipo ev001 carota1 ev002 carota2 etc...

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

 

Quindi mi consigli di farle sequenziali tipo ev001 carota1 ev002 carota2 etc...

 

per forza, altrimenti potresti incappare nel problema in cui nella mappa A l'evento 002 è la carota mentre nella mappa B è uno zombie (giusto per dire un altro evento); che cosa succede? succede che quando l'evento comune "ordina" all' ev002 di spostarsi, se tu sei nella mappa A vedrai normalmente la carota, ma sei nella mappa B si muoverà lo zombie al posto della carota xD

 

per il timer hmmm ci sono diverse soluzioni, una potresti fare che ogni evento carota è un processo parallelo, con un suo timer (anche se non ho idea di come ace gestisca il timer, potrebbe anche averne uno solo globale che vale per tutti gli eventi) solo che rischi che lagghi a bestia con troppi eventi in esecuzione;

in alternativa usando sempre le variabili potresti fare che ogni volta che entra una carota una variabile prende +1 ogni 60 frames (1 secondo) e quando arriva al numero di secondi prestabilito, lo rimuovi.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ti mostro direttamente l'evento:

 

Evento che viene richiamato quando usi l'item:

2i71o9s.jpg

 

Evento su mappa richiamato:

15ojpkh.jpg

 

Quindi basta che faccio con la variabile +1? Poi come gestisco il tutto?

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Figurati :D

 

comunque lo posto lo stesso a futura memoria,

l'idea era di usare un common event parallelo, in pratica ogni volta che una carota entra "in gioco", oltre a fare +1 alla variabile "carote evocate" fai attivare anche uno switch "carota 1 ON", "carota 2 ON" e così via; l'evento parallelo prima controllerebbe ogni 60 frames (1 secondo) quali switch sono ON e assegnerebbe a +1 un'apposita variabile, dopodichè spegnerebbe gli switch delle carote che hanno raggiunto il tempo massimo; ad esempio se il tempo massimo fosse di 10 secondi l'evento sarebbe:

 

Aspetta: 60 Frames

SE [switch Carota 1] ON -> Variabile [Timer Carota 1] +1

 ->SE Variabile [Timer Carota 1] = 10 -> [switch Carota 1 OFF]

Altrimenti -> Niente

<>

Fine

SE [switch Carota 2] ON -> Variabile [Timer Carota 2] +1

 ->SE Variabile [Timer Carota 2] = 10 -> [switch Carota 2 OFF]

Altrimenti -> Niente

<>

Fine

etc..etc..

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

You need to be a member in order to leave a comment

Crea un account

Iscriviti per un nuovo account nella nostra comunità. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

×