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

Recommended Posts

Ciao ragazzi

sto divertendomi un po' con rpgmaker Mv stendendo un progetto che spieghi un'idea. 

Non voglio fare una demo giocabile, non sono in grado, sto facendo un impaginato con screenshot, disegni, articoli, ecc (una finta recensione a un gioco che non esiste diciamo, per spiegarne i vari aspetti) 

 

Ho disegnato il mio character protagonista.

Ad un certo punto della storia questo character volerà su una nuvola (al posto dell'aeronave) e io l'ho quindi disegnato sulla nuvola.

 

Catturadesk.JPG.6df838f6d5e0c59130d034618faf51ee.JPG

 

Come potete vedere 'andare a prendere la nuvola' per volare genera il ridicolo effetto di vedere, prima di salirci, se stessi sulla nuvola.

Non è un problema, come dicevo non sto creando una demo ma credo che non sarebbe male iniziare a imparare qualcosina anche dal punto della programmazione del gioco (di cui non capisco una fava) ma soprattutto a me piacerebbe che l'aeronave (in questo caso la nostra nuvola) venga richiamata tramite pulsante.

 

Mi piacerebbe che premendo il pulsante azione si apra un piccolo menù sulla world map composto da pochi bottoni-icone (vi ricordate\conoscete golden sun per gba?) tra cui proprio il bottone nuvola e che, premuto, faccia diventare il mio character l'aeronave\nuvola.

 

Ecco, così

Risultato immagini per golden sun overworld

 

nell'overworld vorrei premere il pulsante azione che apra 4 icone: oggetti, status, nuvola, ecc

Selezionando "nuvola" ci trasformeremo quindi in nuvola e solcheremo i cieli.

 

Fattibile?

 

Ringrazio tutti per le eventuale risposte (temo che sarà difficile vero? :( )

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ho tutti gli editor di RPG Maker ma MV ancora non l'ho usato, proverò comunque a spiegarti la logica che si usa in questi casi, indipendentemente dal linguaggio di programmazione usato ed alcuni codici di esempio fittizzi.

 

Per aprire un menù premendo un pulsante ti serve una variabile, indipendentemente dal tipo di variabile, che cambiando dal suo stato iniziale attiva un codice in "ascolto" su quella variabile, questo codice fermerà il gioco e apparirà il menù a schermo.

 

Partendo a monte di questa funzione vediamo come la pressione di un tasto fa' cambiare la variabile che a sua volta attiva il menù tralasciando le librerie e i comandi per questa funzione.

Ogni tasto quando viene premuto invia un numero al computer che permette di sapere quale tasto viene premuto detto in parole povere.

Mettiamo dunque l'input dei tasti in una variabile che chiameremo con un nome riconoscibile ad esempio e per l'esempio "Tasti".

La variabile dovrà cambiare costantemente diventando sempre uguale al tasto premuto e per fare questo la si mette in un ciclo continuo, il codice avrà una struttura simile a questa:

1  Inizio Ciclo

2  "Input Tastiera" nella variabile "Tasti"

3  Fine Ciclo

Quando non si premono tasti la valore della variabile sarà uguale a 0.

Appena si preme un tasto la variabile diventerà uguale al numero del tasto corrispondente e poi tornerà a 0, tenendo premuto quel tasto la variabile avrà quel numero per tutta la durata della pressione.

In questo modo dunque potremo sempre sapere quale tasto viene premuto.

Adesso impostiamo un codice che permette di aprire il menù alla pressione del tasto che abbiamo scelto, per questo ci serve un altra variabile che per l'esempio chiameremo "MenùPersonale".

Per far in modo che il codice si attivi quando si verificano determinate condizioni si usa la Condizione Se. Poniamo che il tasto scelto per il menù corrisponda al numero 5.

1  Se Variabile "Tasti" = 5

2  Poni Variabile "MenùPersonale" = 1

3  Fine Condizione Se

In quell'infinitesimale istante in cui La Variabile "Tasti" sarà uguale a 5 questo farà diventare la variabile "MenùPersonale" uguale a 1 fino a quando non la cambieremo di nuovo con un altro comando, diverso dunque da come funziona il Ciclo.

Se la Variabile "Tasti" non sarà uguale a 5 il codice resterà inerte dunque non si attiveranno i comandi tra l'inizio della condizione e la fine della condizione ovvero, in questo caso, il codice tra il rigo 1 ed il rigo 3.

Adesso il codice per far comparire il menù e prendendo ad esempio come hai fatto tu il menù di Golden Sun, questo sarà composto da icone, ovvero piccole immagini, che saranno posizionate sullo schermo e avremo disegnato e aggiunto alle risorse del gioco in precedenza. Per l'esempio poniamo tre opzioni nel menù: Stato giocatore, Nuvola e Salva Partita. Deve essere indicata anche la posizione di queste sullo schermo tramite delle coordinate numeriche ponendo, per semplificare, che lo schermo sia di 100x100 di dimensioni con X per la posizione orizzontale e Y per la posizione verticale.

1  Se Variabile "MenùPersonale" = 1

2  Mostra immagine "Stato Giocatore" Posizione:X=30,Y=15

3  Mostra immagine "Nuvola" Posizione:X=45,Y=15

4  Mostra immagine "Salva Partita" Posizione:X=60,Y=15

5  Fine Condizione Se

Questo farà comparire le immagini a schermo. Come puoi notare dalle coordinate usate l'altezza rimane invariata mentre la posizione orizzontale cambia, questo pone tutte le icone alla stessa altezza ed una di fianco all'altra. Ma come si fa' a selezionare le immagini e a far partire le opzioni corrispondenti? Semplicemente con dei numeri, ed in base al numero sarà selezionata l'opzione corrispondente quando premeremo il tasto di conferma. Le opzioni sono 3 e quindi useremo i numeri dall' 1 al 3 mettendoli in una variabile apposita che per l'esempio chiameremo "MenùPersonaleSelezione" e ponendo che il tasto che vogliamo usare per confermare l'opzione selezionata sia ugale a 7 ed i tasti sinistra e destra siano 1 e 2 usando sempre il codice della Variabile "Tasti" per sapere quando vengono premuti. Modifichiamo anche questo STESSO codice di cui sopra per posizionare la selezione sulla prima opzione appena si apre il menù e la condizione per far sparire il menù quando si preme di nuovo il tasto corrispondente al 5.

Per far capire quale opzione è attualmente selezionata faremo in modo di far "Pulsare" l'immagine corrispondente all'opzione, questo richiederà un altro codice.

 

Per aprire e chiudere il menù:

1  Se Variabile "MenùPersonale" = 1

2  Poni Variabile "MenùPersonaleSelezione" = 1

3  Mostra immagine "Stato Giocatore" Posizione:X=30,Y=15

4  Mostra immagine "Nuvola" Posizione:X=45,Y=15

5  Mostra immagine "Salva Partita" Posizione:X=60,Y=15

6  Fine Condizione Se

7  Se Variabile "MenùPersonale" = 0

8  Rimuovi immagine "Stato Giocatore"

9  Rimuovi immagine "Nuvola"

10Rimuovi immagine "Stato Giocatore"

11Fine Condizione Se

Quando la Variabile "MenùPersonale" diventa uguale a 0 le immagini spariranno, chiudendo dunque il menù.

 

Per far in modo che la pressione dei tasti destra e sinistra muovano la selezione e per chiudere il menù:

1  Se Variabile "Tasti" = 1

2  Poni Variabile "MenùPersonaleSelezione" = "MenùPersonaleSelezione" -1

3    Se Variabile "MenùPersonaleSelezione" < 1

4     Poni Variabile "MenùPersonaleSelezione" = 3

5    Fine Condizione Se

6  Fine Condizione Se

7  Se Variabile "Tasti" = 2

8  Poni Variabile "MenùPersonaleSelezione" = "MenùPersonaleSelezione" +1

9    Se Variabile "MenùPersonaleSelezione" > 3

10     Poni Variabile "MenùPersonaleSelezione" = 1

11   Fine Condizione Se

12Fine Condizione Se

13Se Variabile "Tasti" = 5

14Poni Variabile "MenùPersonale" = 0

15Fine Condizione Se

In questo codice sono presenti delle condizione Se dentro ad altre condizioni Se.

Premendo destra o sinistra si aumenta o diminuisce il valori di "MenùPersonaleSelezione" cambiando la selezione da 1 a 2 a 3 con delle addizioni o sottrazioni. Andando sotto 1 la selezione si sposta su 3 e superando il 3 la selezione si sposta su 1. In questo modo ci si può spostare nel menù con il classico effetto rotazione che vediamo nei videogiochi. Infine premendo di nuovo il tasto del menù, numero 5, "MenùPersonale" torna a 0 attivando il codice scritto in precedenza che farà chiudere il menù.

 

Per animare l'opzione attualmente selezionata con un effetto pulsazione:

1  Se Variabile "MenùPersonaleSelezione" = 1

2  Inizio Ciclo

3  Modifica Immagine "Stato Giocatore" Dimensione=125%, Tempo = 500ms

4  Modifica Immagine "Stato Giocatore" Dimensione=100%, Tempo = 500ms

5  Se Variabile "MenùPersonaleSelezione" <> 1 (<> vuol dire diverso dà)

6  Esci dal Ciclo

7  Fine Condizione Se

8  Fine Ciclo

9  Se Variabile "MenùPersonaleSelezione" = 2

10Inizio Ciclo

11Modifica Immagine "Nuvola" Dimensione=125%, Tempo = 500ms

12Modifica Immagine "Nuvola" Dimensione=100%, Tempo = 500ms

13Se Variabile "MenùPersonaleSelezione" <> 2 (<> vuol dire diverso dà)

14Esci dal Ciclo

15Fine Condizione Se

16Fine Ciclo

17Se Variabile "MenùPersonaleSelezione" = 3

18Inizio Ciclo

19Modifica Immagine "Salva Partita" Dimensione=125%, Tempo = 500ms

20Modifica Immagine "Salva Partita" Dimensione=100%, Tempo = 500ms

21Se Variabile "MenùPersonaleSelezione" <> 3 (<> vuol dire diverso dà)

22Esci dal Ciclo

23Fine Condizione Se

24Fine Ciclo

Come si può vedere dalle righe 3 e 4 l'immagine viene ingrandita a 125% e poi ridotta al 100% delle sue dimensioni dentro un ciclo. In questo modo pulserà continuamente finchè, come si vede nel rigo 5 una condizione lo fa' uscire dal ciclo ovvero quando questa opzione non è più selezionata. Il parametro Tempo nei righi 3 e 4 serve a stabilire in quanto tempo raggiunge la dimensione scelta, in questo caso mezzo secondo, quindi in un secondo diventerà grande e poi ritornerà alle dimensioni originali.

 

Adesso la parte che ti interessa, la Nuvola.

Una volta selezionata l'opzione della Nuvola, quindi quando "MenùPersonaleSelezione" è uguale a 2, con le stesse dinamiche viste fino adesso faremo in modo che la pressione del tasto di conferma attivi l'animazione della nuvola. Ti serviranno le seguenti cose: La grafica della nuvola senza personaggio sopra da impostare come predefinita nel database, 3 variabili per la posizione del personaggio usate per posizionare la nuvola (per l'esempio "PosizionePersonaggioX", "PosizionePersonaggioY", "IDMappaPersonaggio").

1  Se Variabile "Tasti" = 7

2   Se Variabile "MenùPersonaleSelezione" = 2

3    Poni Variabile "PosizionePersonaggioX" = Posizione X del personaggio

4    Poni Variabile "PosizionePersonaggioY" = Posizione Y del personaggio

5    Poni Variabile "IDMappaPersonaggio" = ID mappa attuale

6    Imposta posizione veicolo, Aereonave: ID Mappa="IDMappaPersonaggio", X="PosizionePersonaggioX", Y="PosizionePersonaggioY"

7   Fine Condizione Se 

8  Fine Condizione Se 

Adesso la tua nuvola è sulla posizione del tuo personaggio e senza il personaggio sopra. Di seguito il codice per salire sul veicolo cambiando le grafiche per dare l'effetto dello spostamento del personaggio.

1 Inizio Ciclo

2  Se Veicolo Aereo in uso

2  Cambia Grafica veicolo Aereonave: "Nuvola con personaggio"

3   Altrimenti

4   Cambia Grafica veicolo Aereonave: "Nuvola Vuota"

5  Fine Condizione Se

6 Fine Ciclo

"Altrimenti" al rigo 3 è una funzione aggiuntiva delle condizioni Se che permette di attivare il codice scritto sotto di esso nel caso in cui la condizione Se non si verifichi, in questo caso ogniqualvolta non sarai sul veicolo questo codice cambierà la grafica del veicolo con la grafica "Nuvola Vuota" e ogniqualvolta sarai sul veicolo questo codice cambierà la grafica del veicolo con la grafica "Nuvola con personaggio".

 

Bene siamo arrivati alla fine.

In generale quasi tutte queste parti devono essere impostate per funzionare in parallelo, ovvero devono essere tutte attive contemporaneamente per attivarsi ogni volta che si premono i tasti e le variabili cambiano.

Se non ci hai capito niente è normale, dormici su e vedrai che anche il giorno dopo probabilmente sarà uguale XD.

Scherzi a parte ti basta provare e spippolare anche a caso e capirai in base a cosa succede quando le testi in-game.

Considera che queste sono cose molto molto semplici, niente matematica o funzioni strane con collegamenti tra molte variabili e considera che alcune funzioni che io ho scritto diciamo per esteso forse possono essere fatte con un comando specifico dell'editor in modo più facile.

 

Modificato da Raven
Correzioni 2 (Visualizza storico modifiche)

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

  • Contenuti simili

    • Da kaine
      Questo plugin permette di sovrascrivere i valori predefiniti del database con valori salvati in file .txt (che i programmi per i fogli di calcolo considerano come "valori separati da tabulazione").
      Il plugin può sovrascrivere più parti del database in modo indipendente, all'avvio del gioco o durante lo stesso, tenendo traccia delle modifiche apportate riapplicandole quando verrà caricato un salvataggio.
       
      Tramite il suo utilizzo è possibile creare giochi con più livelli di difficoltà, sovrascrivendo i valori delle statistiche dei nemici in base alla scelta effettuata, o cambiare la difficoltà se essa è troppo alta o bassa durante la partita a proprio piacimento(a discrezione del creatore del gioco dare questa oppotunità all'utente finale).
      Oltre alle statistiche dei nemici possono essere modificati anche i valori riguardanti i personaggi, abilità, oggetti e altro ancora.
       
      Oltre ai su citati file .txt è  possibile modificare i dati di gioco anche tramite programmi per i fogli di calcolo (come Microsoft Excel ed Open Office Calc), invece di utilizzare l'editor del database di Rpg Maker.
      Con l'utilizzo di questi programmi è possibile fare modifiche più radicali su gruppi più grandi e utilizzare formule per generare valori basati su altri valori.
       
      Per approfondire il tutto vi rimando al file readme.html presente nell'archivio
       
      Autore: AubreyTheBard
       
      Link Download:
      https://www.mediafire.com/file/zazm3bl0ag1feq2/DynDatabaseOverride.7z/file
       
    • Da kaine
      Questo plugin permette di accedere ai dati che normalmente non sono accessibili all'utente finale.
      Nonostante tutto il plugin non può ritenersi concluso, dato che è un progetto in continua espansione, trovate informazioni dettagliate sulla questione nel readme.html
      Al momento tramite questo plugin è possibile accedere alle statistiche dei mostri presenti in battaglia.
      Alcune possono essere alterate(Hp/Mp) altre invece no(attacco, difesa,intelligenza,agilità)
      Trovate la lista dei comandi con le relative spiegazioni sul loro funzionamento all'interno del file readme.html
       
      Autore: AubreyTheBard
      Link Download: https://www.mediafire.com/file/odagfm1mfpfrq0r/DynDataAccess.7z/file
       
      nota: Chiunque fosse interessato ad espandere le funzionalità del plugin, all'interno del readme.html troverà la sezione How to contribute, dove viene spiegato come aggiungere nuove funzionalità.
       
       
    • Da kaine
      Questa patch rimuove il comando end, altrimenti aggiunto automaticamente, dal motore di gioco nella scelta principale del menu
      Se si definisce che la scelta nel database è vuota, può
      bloccare il gioco o causare altri problemi.
       
      Tool e versioni supportate:
      Rpgmaker 2003: v1.00-v1.03-v1.05-v1.08-v1.09-v1.12
      Autore: Cherry, KotatsuAkira(porting)
       
      Link  Download:
      (2003 v1.09-v1.12)
      https://www.mediafire.com/file/vwbjb8naswekm58/RPG_RT_112_NoEndCommandInMenu.ips/file
      (2003 v1.00-v1.03-v1.05-v1.08)
      https://www.mediafire.com/file/v4ql077l5icn9dy/RPGMakerPatch_NoEndCommand.7z/file
       
       
      Per applicarla dovete usare questo programmino qui:
      http://www.mediafire.com/download/5jf9r44itbm7674/lips102.zip
      Nel caso in cui invece avete patchato il vostro gioco con la versione 0.20 di dynrpg mettete la patch direttamente nella cartella dynpatches.
       
    • Da kaine
      Tramite questa patch è possibile modificare la posizione del timer sia durante il gioco che in battaglia, alcuni esempi di utilizzo sono il cambiare angolo o far si che in determinate circostanze lo si possa shakerare, posizionare sopra un nemico o far si che segua costantemente l'eroe, un veicolo ecc ecc sta tutto alla vostra immaginazione.
       
      La patch utilizza le seguenti variabili:
      Timer 1
      3401 - 3402 contengono i valori delle coordinate X e Y del timer in game
      3403 - 3404 contengono i valori delle coordinate X e Y del timer in battaglia
      Solo 2003 :
      Timer 2
      3405 - 3406 contengono i valori delle coordinate X e Y del timer in game
      3407 - 3408 contengono i valori delle coordinate X e Y del timer in battaglia
       
      Tool e versioni supportate:
      Rpgmaker 2000: v1.07-v1.10-v1.50-v1.51-v1.62
      Rpgmaker 2003: v1.08-v1.09-v1.12-Maniacs Patch mp210414_EN_IM-mp210414_EN_PF-mp210414_JP_IM-mp210414_JP_PF
       
      Autore: KotatsuAkira
      Link Download:
      https://www.mediafire.com/file/wv677ddsjv9dpv4/RPGMakerPatch_VarTimerPos.7z/file
       
      Nel caso in cui utilizziate la patch Screen32 all'interno dell'archivio è presente una versione compatibile con essa che andrà applicata solamente dopo aver applicato la prima.
       
      Per applicarla dovete usare questo programmino qui:
      https://www.mediafire.com/file/5jf9r44itbm7674/lips102.zip/file
×