Jump to content
Rpg²S Forum

Search the Community

Showing results for tags 'variabili'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Rpg²S
    • Ingresso
    • Bacheca
  • Making
    • Tutorial
    • Grafica
    • Risorse sonore
    • Parlando del Making...
    • Oltre RpgMaker...
  • RpgMaker MZ
    • Supporto MZ
    • Risorse grafiche MZ
    • PLUGIN e Javascript per MZ
    • Progetti MZ
    • Release MZ
  • RpgMaker MV
    • Supporto MV
    • Risorse grafiche MV
    • PLUGIN e Javascript per MV
    • Progetti MV
    • Release MV
  • RpgMaker VX & VX-Ace
    • Supporto VX e VX-Ace
    • Risorse grafiche VX & VX-Ace
    • RGSS2 (VX)
    • RGSS3 (VX-Ace)
    • Progetti VX e VX-Ace
    • Release VX e VX-Ace
  • RpgMaker XP
    • Supporto XP
    • Risorse grafiche XP
    • RGSS (XP)
    • Progetti XP
    • Release XP
  • RpgMaker 2000/2003
    • Supporto 2K/2K3
    • Risorse grafiche 2K/2K3
    • Progetti 2K/2K3
    • Release 2K/2K3
  • Cortile
    • Off Topic
  • Team e Gilde
    • R²S Resources Team
    • Computer Dreams
    • Rpg2s RPG BY FORUM
  • Archivio
    • R²S Magazine
    • RenShop

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Twitter


Facebook


YouTube


LinkedIn


DeviantArt


Google Plus


Instagram


Provenienza


Interessi


Titoli


Skin Profilo


Skin Profilo Scelta


Conigli


Banana E3


XmaS14


Uova


Coniglio d'oro


ZucCasa

Found 8 results

  1. Ho appena pubblicato su stesproject.com/ un nuovissimo tutorial e sono ben felice di condividere la guida anche qui con voi! A chi ormai le conosce, le variabili, sono una cosa ovvia. Quasi assurdo vederci scritto un tutorial! Eppure si vedono tantissimi nuovi utenti che arrivano, cercano di far vedere qualche loro gioco, qualche cosa che fanno, ma... non sanno cosa sono le variabili e ignorano completamente la loro utilità! Così ho capito fosse il caso di realizzare un tutorial, base base semplice semplice, che trattasse proprio questo argomento: che cosa sono le variabili e come utilizzarle. Ho cercato di mettermi nei panni di uno che si avvicina a questi comandi per la prima volta. Ho pensato che è abbastanza inutile fare tutorial complicati, se nessuno spiega a chi si avvicina al mondo del making le basi, i comandi essenziali del tool, quindi... cominciamo! (si accettano consigli per eventualmente estendere la guida!) Cosa sono le variabili in Rpg Maker e come utilizzarle Ciao amici! Oggi vorrei parlarvi di uno dei comandi più essenziali nella programmazione di un videogioco: le variabili! In questo specifico tutorial ne parlerò nell’ambito di Rpg Maker, il tool di sviluppo che utilizzo e conosco maggiormente, ma probabilmente è una guida che potrà essere utile e potrete applicarla in qualsiasi altro ambito in cui vengano utilizzate le variabili. Troppo spesso si trovano creatori che si avvicinano al mondo della creazione dei videogiochi, imparano una decina di funzioni principali ma le variabili… le variabili sono sempre lasciate per ultime! Anch’io, devo ammetterlo, è stato uno degli ultimi comandi che ho cominciato ad utilizzare in Rpg Maker. Col tempo ho cominciato ad utilizzarle sempre più seriamente e per fare ogni cosa, ma perché immediatamente abbiamo questo rifiuto verso la scoperta della funzione delle variabili? Il problema, probabilmente, è che consideriamo l’apprendimento di questo comando come una cosa di secondo piano, non necessaria. Il trasporto lo sappiamo fare, sappiamo far muovere l’eroe, sappiamo far visualizzare una picture, un’animazione… a posto! Ahia, ma se solo avessimo saputo prima che utilizzando una variabile il nostro evento sarebbe risultato più dinamico, personalizzato e… sì, che faceva esattamente così, come volevamo noi! Bene, proseguiamo la lettura chiedendoci, innanzitutto, cosa sono queste variabili, per poi proseguire con alcune idee di come utilizzarle al meglio per semplificarci la vita. Che cosa sono le variabili? Le variabili sono dei contenitori.Questi contenitori possono assumere svariati valori (numeri, decimali, frasi, parole…)Il valore di questi contenitori può essere modificato o sovrascritto in qualsiasi momento.Già qui ci è permessa una riflessione: se le variabili possono contenere valori, possiamo trattarli esattamente anche come fossero interruttori: dopo aver assegnato un valore ad una variabile con una condizione IF posso eseguire il comando: La variabile X è = a 1? Se sì… succede una cosa Se non lo è (la variabile X è diversa da 1)… succede un’altra cosa Questo comando è lo stesso identico di: L’interruttore X è ON? Se sì… succede una cosa Se non lo è (l’interruttore è spento/OFF)… succede un’altra cosa Una cosa abbastanza banale, ma non sempre ovvia. http://stesproject.com/wp-content/uploads/2017/01/nome-variabili-227x300.png Un’altra cosa utile da imparare è che alle variabili possiamo assegnare qualsiasi nome noi desideriamo. Una variabile la possiamo chiamarle in qualsiasi modo, questo non influisce sulle operazioni che si andranno a compiere su di essa. Il nome della variabile interessa solo noi. Possiamo decidere il nome di una variabile in base a dei criteri: per ritrovarla facilmente in un secondo momento, per raggrupparle seguendo una logica, o per qualsiasi altro motivo. Cosa ci facciamo con le variabili? Abbiamo detto che ad una variabile X (dove X è il nome personalizzato che abbiamo scelto di attribuire alla variabile) possiamo assegnare un valore. Perfetto, questa è la prima cosa da fare! Scopriamo innanzitutto come assegnare un valore alla nostra variabile e poi scopriremo cosa possiamo farci, dopo che le avremo assegnato un valore. http://stesproject.com/wp-content/uploads/2017/01/controllo-variabili-300x214.pngIn Rpg Maker: creiamo un nuovo evento. Per farlo facciamo doppio-click in un punto qualsiasi della nostra mappa, in modalità Evento. Ora facciamo un’altra volta doppio-click all’interno della lista “Contenuti” e selezioniamo l’apposito comando per la gestione delle variabili. http://stesproject.com/wp-content/uploads/2017/01/operazioni-variabili-227x300.pngQuesta è la nostra finestra di controllo delle variabili. Da qui potremo assegnare alla nostra variabili quasi tutti i valori a nostra disposizione. Clicchiamo qui per selezionare la variabile sulla quale vogliamo agire. L’elenco aprirà la lista delle variabili, dal quale potremo immediatamente e in qualsiasi momento crearne una nuova, assegnadole un nome specifico. Nel momento in cui digitiamo un nome ad una variabile (identificata da un id numerico) la variabile è -diciamo- creata. In questo campo, chiamato “Raggio”, possiamo definire un range di più variabili sul quale desideriamo agire simultaneamente. Se, ad esempio, vogliamo impostare le variabili con id 1, 2, 3, 4 e 5 ad un valore = 10, selezioneremo questo campo (invece che una singola variabile) e defineremo il raggio 1 ∼ 5. Ricordiamoci che le variabili di un range di variabili devono essere tutte vicine fra di loro, per essere selezionate insieme. Qui definiamo l’operazione da effettuare sulla nostra variabile. Imposta ha il significato di “uguale” ( = ): ci consente di impostare in modo assoluto la variabile a quel determinato valore. Ciò significa che se la variabile X avesse memorizzato al suo interno il valore “145”, ma noi decidiamo di impostare il valore = a 1, la variabile X assumerà il valore 1. Niente storie! Aggiungi è la comune addizione ( + ): seleziona questa operazione per addizionare il valore presente nella nostra variabile X ad un altro valore (che defineremo nel punto 4). Sottrai ci consente, invece, di sottrarre un determinato valore alla nostra variabile ( – ). Moltipla è l’operazione di moltiplicazione. Dividi è l’operazione di divisione. Fin qui capitan ovvio, scopriamo ora cosa fa l’unica funzione che potrebbe essere un po’ dubbia: il Mod. Il Mod ci permette di memorizzare all’interno della nostra variabile il valore ottenuto equivalente al resto di una divisione. Ciò significa che, se il valore della variabile X è 14 e noi facciamo Mod con un valore di 3… otterremo il risultato di 2 all’interno della nostra variabile X. Infatti: 14/3 = 4 con resto di 2. Ricordiamoci che il valore ottenuto dall’operazione di una variabile sarà sempre registrato all’interno della variabile che abbiamo selezionato all’inizio (o delle variabili, nel caso di un range di variabili). Abbiamo parlato di variabili e operazioni, ma in base a quali valori eseguiamo un calcolo? L’operando ci consente di scegliere il secondo valore con cui poter effettivamente elaborare un calcolo. Possiamo selezionare: un valore costante (un numero qualsiasi, definito da noi); un valore variabile (scegliendo come operando un’altra variabile significa che questo valore può cambiare o essere cambiato in qualsiasi momento, così da creare operazioni dinamiche, che variano al variare di una seconda variabile); un valore casuale, definito all’interno di un range di valori (un range da 3 a 11, prenderà un valore a caso compreso tra 3 e 11). Concentriamoci ora, in modo più approfondito, alle ultime due interessanti funzioni che ci troviamo fra gli operandi: Dati di gioco e Script.http://stesproject.com/wp-content/uploads/2017/01/variabili-dati-di-gioco-300x249.png Dati di gioco I Dati di gioco ci consentono di fare svariate operazioni. Partendo dall’alto: possiamo impostare come valore dell’operando il numero di oggetti posseduti di un determinato oggetto; lo stesso possiamo fare con una determinata arma, poco più sotto, e con una specifica armatura, scendendo al terzo comando. Selezionando “Attore” o “Nemico” possiamo scegliere uno dei nostri eroi (o nemici) e di questo sceglierne un parametro da cui attingere il valore desiderato, come ad esempio il livello del personaggio, la quantità di esperienza, il numero dei PV e così via. Qualsiasi valore contenuto in questi dati di gioco diventerà il nostro operando, ovvero il nostro secondo valore con cui effettuare l’operazione con la prima variabile, selezionata inizialmente. L’opzione “Personaggio” è una delle più importanti: dalla lista possiamo scegliere se prendere i valori del Player oppure quelli di un qualsiasi altro evento (la lista degli eventi si riferirà alla mappa in cui ci troviamo in questo momento). I valori che possiamo registrare sono: Mappa X e Mappa Y, per prendere le coordinate sulla mappa di quel giocatore/evento. Queste coordinate si riferiscono alla posizione sulla mappa in Tile; Direzione, per registrare con un valore numerico la posizione verso cui è rivolto il giocatore/evento: se il giocatore è rivolto verso il basso registrerà come valore -> 2, verso sinistra -> 4, verso destra -> 6, verso l’alto -> 8 Schermata X e Schermata Y, per prendere le coordinate sulla mappa di quel giocatore/evento. Queste coordinate si riferiscono alla posizione sulla mappa in Pixel; per scoprire la quantità di pixel della vostra mappa moltiplicate il valore dei tile in larghezza e in altezza della mappa per la misura di un singolo tile (se utilizzate Rpg Maker XP/VX/Ace è x32, se utilizzate Rpg Maker MV è x48) http://stesproject.com/wp-content/uploads/2017/01/variabili-altro-269x300.png L’opzione “Altro” è anch’essa importante: qui possiamo trovare utilissimi dati di cui prenderne il valore come: l’ID della mappa in cui ci troviamo, il numero di membri nel nostro gruppo (party), la quantità di oro a nostra disposizione, i passi totali percorsi, il tempo di gioco, il valore di un eventuale timer, il conteggio totale dei salvataggi effettuati, delle battaglie, delle vincite e delle fughe. Script Questa funzionalità ci permette di inserire una riga di codice come operando per la nostra operazione. Per maggiori informazioni fare riferimento alla Guida all’uso avanzato delle variabili integrato a Plugin e Call Script. Dove utilizzare le variabili? Abbiamo visto nel dettaglio cosa sono le variabili e, soprattutto, che chiunque è in grado di utilizzarle al meglio. Iniziando ad esplorare i comandi di Rpg Maker scopriremo che le variabili possono essere utilizzate in molte occasioni: Nelle pagine evento, per determinare una condizione di avvio SE una determinata variabile X è maggiore o uguale ( ≥ ) ad un determinato valore numerico;Nei messaggi, per visualizzare il valore di una determinata variabile. Questo è possibile inserendo il codice \v[n] all’interno di un messaggio di testo. Visualizza la lista dei codici disponibili;Nell’inserisci numero, per permettere al giocatore di digitare il valore da registrare in una determinata variabile, selezionando il numero di cifre consentite;Nel blocco condizionale (condizione IF/SE), per eseguire un comando che si chiede se una determinata variabile X è: uguale / maggiore / minore / maggiore o uguale / minore o uguale / diversa rispetto ad un valore costante o ad un’altra variabile Y (ricorda che questa è una delle operazioni più importanti);Nel modificare l’oro, gli oggetti, le armi e le armature durante il gioco;Nel modificare PV, PM, Exp, Stati, Livelli, Parametri, Abilità;Nel trasporto, per impostare una posizione variabile (anzichè statica sulla mappa) dopo aver opportunamente registrato delle variabili che stabiliscono una posizione X, una posizione Y e un ID della mappa in cui trasportare il giocatore;Nell’impostare la posizione di un veicolo o un evento, stabilendo (come nel caso del trasporto) due variabili che definiranno: una il valore della posizione X ed un’altra il valore della posizione Y;Nel mostrare o spostare un’immagine/picture, per visualizzarla o spostarla ad una posizione X ed Y in base a dei valori variabili definiti da noi (un’altra delle operazioni più importanti);Nell’ottenere informazioni sulla posizione (non disponibile in Rpg Maker VX), per registrare informazioni all’interno di una variabile che possono riguardare: l’etichetta terreno (i terrain tag, definiti in Database-> Tileset), l’ID di un evento, di un tileset o l‘ID di una regione (operazione importantissima da integrare con i blocchi condizionali);Nel modificare i PV ed i PM di un nemico in battaglia.Tutte queste operazioni sono disponibili fra i comandi di Rpg Maker! Cercatele, studiatele e, con un pizzico di ingegno, vi stupirete di quello che vi permetteranno di fare! Per approfondire gli svariati metodi di utilizzo delle variabili consulta la mia Guida all’uso avanzato delle variabili integrato a Plugin e Call Script. Call Script utili con le variabili (Rpg Maker MV) Assegnare una stringa ad una variabile (1 è l’ID della variabile selezionata): $gameVariables.setValue(1, “Testo da registrare nella variabile 1”); Assegnare un valore ad una variabile (1 è l’ID della variabile selezionata, 13 il valore): $gameVariables.setValue(1, 13); Condizione SE tramite call scipt di una variabile (1 è l’ID della variabile selezionata): $gameVariables.value(1) == 0 Vuoi vedere il tuo tutorial pubblicato sul portale Ste's Project? Contattami!
  2. Guida all'uso avanzato delle variabili integrato a plugin e call script. Ciao ragazzi, oggi vorrei parlare un po' con voi delle variabili e della loro potenza! :D Come sappiamo, le variabili sono uno degli elementi fondamentali per creare un videogioco, se non il più importante. Con le variabili si può decidere e cambiare tutto, se sappiamo usarle in modo intelligente. Sono anche più toste delle switch, tant'è che una switch è semplicemente una variabile che può settare i suoi valori solo su 0 e 1. Nelle variabili, invece, possiamo memorizzare numeri positivi, numeri negativi, addirittura stringhe. E per ogni valore assegnare una condizione diversa. Tutti i trucchetti che pubblicherò in questo post potrebbero sembrarvi cose banali, qualcuno magari lo conoscete già anche voi, ma io ci sono arrivato man mano strada facendo... e mi piacerebbe condividere tutto con voi, sperando di dare una mano a chi magari ancora non si è accorto di che strumento potente ha fra le mani. Cominciamo! Variabili per gestire il pg che parlaUno dei momenti in cui mi è stato molto utile l'utilizzo delle variabili è per gestire il personaggio che sta parlando. In Our Hero! Hyper Sword infatti il personaggio che sta parlando, durante un dialogo, ha il suo movimento che apre e chiude la bocca, proprio per far vedere che è lui che parla! Ecco come avrei fatto una volta: http://projectste.altervista.org/Immagini/img1.png Ogni volta che un personaggio parlava modificavo il suo movimento, cambio di grafica (con la bocca) e animazione della camminata ON; lo stesso quando finiva il suo intervento, cambio di grafica (normale) e animazione della camminata OFF, così tornava a starsi fermo. Capite bene che in questo modo veniva una pagina di eventi infinitamente lunga e non ci si capiva più nulla. Per ogni personaggio partecipante al dialogo, ad ogni suo messaggio un cambio grafica all'inizio e un cambio grafica alla fine! Ecco come l'ho fatto diventare: http://projectste.altervista.org/Immagini/img2.png Decisamente più pulito! Com'è possibile? Il trucco in spoiler: Mi è bastato utilizzare una variabile (in questo caso Parla pg) per decidere quale personaggio per un certo messaggio deve cominciare a muoversi (e quindi sta parlando) assegnando ad ogni personaggio un valore differente. A questo soldato corrisponde il valore 1, quindi, quando la variabile è settata su 1, lui comincerà a muoversi e, quando la variabile assumerà un qualsiasi altro valore diverso da 1, il soldato smetterà di muoversi (il tutto funziona perché ogni personaggio è settato su “Processo parallelo” per adeguarsi al cambio di valore della variabile). Per l'eroe invece ho agito in modo diverso, ovvero chiamando un evento comune al momento del suo messaggio e richiamando lo stesso evento alla fine del messaggio: http://projectste.altervista.org/Immagini/img4.png Una switch permette di variare il comportamento dell'evento comune ogni volta che lo si chiama. Variabili per gestire le stringhe (plugin)Ora passiamo ad un argomento più interessante: assegnare alle variabili delle stringhe! Lo sapevate? Una variabile non può contenere soltanto numeri, ma anche lettere, parole, o intere frasi! Fantastico per gestire nomi di personaggi, di oggetti, di armi, o qualsiasi altra cosa che, col tempo, potrebbe venirci in mente di modificare. Il Call Script per assegnare ad una variabile una stringa è infatti questo: $gameVariables.setValue(1, "Ciao!"); Tra le parentesi: il numero 1 corrisponde all'ID della variabile a cui ci stiamo riferendo, mentre “Ciao!” è il “valore” che la nostra variabile di riferimento andrà ad assumere. Ricordiamoci che per memorizzare una stringa in una variabile dovremo mettere tutta la stringa fra le “virgolette”. Per memorizzare un qualsiasi numero invece le virgolette andranno tolte: $gameVariables.setValue(1, 52); In quest'ultimo esempio la variabile 1 ha assunto il valore “52”. Tutto molto bello, ma... Se integrassimo questa funzione ad un potente plugin? Come, ad esempio, lo Iavra Localization? Lo Iavra Localization permette di gestire tutti i testi del nostro gioco in un file .js esterno: messaggi, oggetti del database, nomi dei personaggi, elementi di sistema... tutto gestito esternamente e in un unico file, così da poter essere modificato dinamicamente in qualsiasi momento in tutto il gioco, solo in un istante! Perfetto per creare giochi multilingua e non solo. Infatti ,il nostro messaggio di prima, da così: http://projectste.altervista.org/Immagini/img2.png è diventato così: http://projectste.altervista.org/Immagini/img6.png Un codice che richiamerà la corrispondente stringa dal file unico. Allo stesso modo possiamo gestire le voci dei menu (Nuovo gioco, Continua...) o anche i nomi dei personaggi, richiamandoli tramite codice all'occorrenza. Richiamando il codice (e non un testo statico) qualsiasi nome potrà essere modificato una sola volta dal file unico ed averlo così modificato in qualsiasi punto del nostro gioco in cui avremo fatto riferimento ad esso tramite il codice! Per ogni lingua (supportata dal nostro gioco) creeremo un file unico, dove gli stessi codici richiameranno stringhe differenti a seconda della lingua selezionata. Variabili per gestire hud su schermo (plugin)Questo trucco utilizza due plugin molto potenti: lo Iavra Localization e l'Orange Hud. Cosa fa l'Orange Hud? Questo plugin permette di mostrare su schermo qualsiasi variabile, in qualsiasi posizione (e alla dimensione, il colore e lo stile che preferiamo). Qualsiasi variabile?! E se le variabili possono assumere anche stringhe come valori, cosa siamo in grado di fare??? Hud dinamici, che modificano il loro testo come e quando vogliamo noi! Questo è un esempio di utilizzo di questo trucco: Quello qui sopra è il menu di Our Hero! Hyper Sword e le parti cerchiate in rosso sono valori disegnati dal plugin Orange Hud. Nel primo caso vediamo sei variabili differenti, dove ognuna riporta il suo valore numerico. Nel secondo caso vediamo una stringa di testo (il nome della mappa). Per fare ciò è bastato ricorrere al primo trucchetto che abbiamo imparato, ovvero come assegnare una stringa ad una variabile e, combinando il tutto con lo Iavra Localization abbiamo ottenuto una variabile su schermo in formato stringa, che può variare quando vogliamo! Infatti, nel momento in cui cambierò mappa nel gioco e mi trovo in una zona differente, mi basta usare il seguente Call Script: $gameVariables.setValue(28, "#{map.castle}"); In questo modo la variabile 28 assumerà il valore corrispondente al codice richiamato tra le virgolette, che è naturalmente una stringa: http://projectste.altervista.org/Immagini/img8.png Variabili per gestire la posizione della telecamera (plugin)Un altro modo intelligente per utilizzare le variabili è fargli gestire la posizione della telecamera. Per procedere con questo metodo avremo bisogno di uno dei plugin, a parer mio, essenziali per utilizzare al meglio Rpg Maker MV. Si tratta del plugin di Galv: Cam Control. Questo plugin ci permette di gestire la telecamera di gioco come preferiamo: incentrata sull'eroe (standard): http://projectste.altervista.org/Immagini/img9.png incentrata su un determinato evento: http://projectste.altervista.org/Immagini/img10.png oppure su delle specifiche coordinate: http://projectste.altervista.org/Immagini/img11.png Il bello viene con quest'ultima funzione: le coordinate, infatti, possono essere sì dei valori statici (0, 0), ma anche dei valori dinamici, sostituendoli con delle variabili! Basterà assegnare a due differenti variabili (una per la coordinata X ed una per la coordinata Y) i valori che preferiamo, anche dal normale comando evento disponibile in Rpg Maker e, poi, aggiungere questo Comando Plugin: http://projectste.altervista.org/Immagini/img12.png In questo modo diremo alla telecamera di spostarsi alla coordinata X corrispondente al valore numerico contenuto nella variabile 1, ed alla coordinata Y corrispondente al valore numerico contenuto nella variabile 2. Variabili per gestire il ciclo giorno/notte e cambio tintaQuesto trucchetto mi piace particolarmente, ed è anche l'ultimo che ho scoperto quando l'altro giorno mi sono ritrovato ad introdurre il ciclo giorno/notte nel mio gioco. Ho tentato prima con un plugin. Ce ne sono, belli completi e sofisticati, ma avevo bisogno di qualcosa di più semplice e immediato, così ho preferito farmelo ad eventi, come al solito. I metodi per realizzare un ciclo giorno/notte possono essere tanti e diversi, ognuno ha il suo. Basta utilizzare poche variabili, con un'attesa riferirsi allo scorrere dei secondi e ogni tot secondi conteggiare un minuto e in un ciclo, raggiunto un determinato ammontare di minuti, eseguire la transizione da un momento della giornata ad un altro, con un cambio tinta schermo. Il problema è proprio il cambio tinta: il comando datoci a disposizione da Rpg Maker è statico, permettendoci di inserire determinati valori di colorazione (corrispondenti al R, G, B, A) per ogni comando. Ma se volessimo una transizione di colorazione dal giorno alla notte (o qualsiasi altro momento della giornata che vogliamo introdurre) più dinamico? Dobbiamo creare trecento comandi di cambio tinta differenti? http://projectste.altervista.org/Immagini/img13.png (è solo un'immagine a scopo d'esempio) E anche l'attesa in frames, per ognuno di questi cambio tinta, se dopo aver creato trecento comandi diversi ci accorgiamo che è troppo lenta o troppo veloce? Dobbiamo modificare l'attesa di ogni comando uno ad uno? … Follia. Ebbene, fortunatamente esistono i Call Script, e ne abbiamo uno anche per il cambio tinta: $gameScreen.startTint([red,green,blue,grey], duration); Al posto di red, green, blu e grey dovremo inserire i valori tonali della colorazione, che vanno da 0 a 255 e al posto di duration la durata in numero di frames. http://projectste.altervista.org/Immagini/img14.png A questo punto forse avrete già capito dove sto per arrivare. Infatti, possiamo sostituire questi 5 valori con 5 variabili! In questo modo, ognuno di questi valori (red, green, blu, grey, duration) assumerà dei valori dinamici che cambieranno con il modificare del valore assegnato a ciascuna variabile! $gameScreen.startTint([$gameVariables.value(73),$gameVariables.value(74),$gameVariables.value(75),$gameVariables.value(76)], $gameVariables.value(72)); http://projectste.altervista.org/Immagini/img15.png E in questo modo avremo la possibilità di modificare dinamicamente il nostro comando di cambio tinta, modificando i valori contenuti nelle variabili: ad esempio, ad ogni ciclo, possiamo sottrarre un -2 al valore corrispondente al Green e aggiungere un +1 al valore corrispondente al Grey e alla fine del ciclo chiamare lo stesso Call Script, senza creare trecento comandi differenti. Lo stesso vale per la durata in frames del cambio tinta. Prima di concludere questa parte, una piccola nota: il comando chiamato tramite Call Script non “attende la fine” come il comando normale: http://projectste.altervista.org/Immagini/img16.png Dopo il Call Script del cambio tinta ci basterà aggiungere semplicemente un altro Call Script per l'attesa in frames: this.wait( duration ); Anche qui duration può essere sostituito o da un valore o da una variabile. Abbiamo imparato che per sostituire un valore con il valore contenuto in una variabile ci basta inserire: $gameVariables.value(n) dove n è l'ID della nostra variabile. Variabili per posizionare un evento generato (plugin)L'Orange Custom Events è uno dei plugin che più amo. Questo plugin ci permette di generare nuovi eventi in una mappa copiati da eventi presenti nella stessa mappa o in mappe differenti. I nuovi eventi copiati possiamo generarli a caso in una determinata regione, riempendo un'intera regione oppure in una specifica posizione x,y. Non sono qui per parlarvi del plugin, di cui comunque ho già aperto una discussione qui, ma di come può essere sfruttato al meglio grazie all'uso delle variabili. Grazie a questo plugin, infatti, in Our Hero! Hyper Sword mi è bastato creare un solo ed unico evento per gestire tutti i nemici dell'intero gioco, evitando di copia e incollare centinaia di eventi diversi in ogni mappa. Quando voglio far apparire un nemico, semplicemente... lo chiamo! L'evento appena chiamato si adeguerà alla battaglia in base al valore assegnato ad una variabile, che gestisce la tipologia dei nemici. Grazie a questa variabile, da un unico evento, potremo creare nemici differenti (utilizzando più pagine) che cambiano il loro aspetto, la quantità di PV, l'attacco o qualsiasi altro valore desideriamo in base al valore assegnato ad una variabile. http://projectste.altervista.org/Immagini/img17.png Plugin ottimo per creare eventi che in tutto il gioco sono sempre uguali e non vogliamo ricopiarli continuamente come, ad esempio: trappole, luci, massi e chi più ne ha più ne metta. Ma ora arriviamo al punto principale: come facciamo a posizionare questi eventi a delle coordinate x,y che noi non conosciamo e potrebbero variare di volta in volta? Ormai lo sappiamo bene. Basta questo codice per chiamare il valore contenuto in una variabile: $gameVariables.value(n) e, come ora sappiamo, possiamo inserire questo codice in qualsiasi Call Script, anche di plugin esterni. Quindi, se per posizionare un evento in una specifica posizione x,y con l'Orange Custom Events useremo il Call Script: $gameMap.copyEventFrom(5, 1, 15, 20, true) dove 5 è l'ID della mappa dalla quale prenderemo l'evento da copiare, 1 è l'ID dell'evento che stiamo andando a clonare e 15 e 20 sono rispettivamente le coordinate x e y in cui si andrà a posizionare il nostro nuovo evento clonato nella mappa attuale. Sì, possiamo sostituire ogni valore con i valori contenuti all'interno di variabili: $gameMap.copyEventFrom(5, 1, $gameVariables.value(1), $gameVariables.value(2), true) Nell'esempio qui sopra ho deciso di rendere variabili solo le coordinate x e y, ma possiamo sostituire anche il valore che si riferisce alla mappa (la Spawn Map) o quello che si riferisce all'ID dell'evento che stiamo copiando. Variabili locali (plugin)Concludo questa guida con uno dei plugin più interessanti di sempre: YEP.113 Self Switches & Variables. Ommioddio sì, variabili locali, finalmente! E anche Self Switches infinite piuttosto che limitarci alle solite quattro (A, B, C, D) okay... ma se abbiamo già delle variabili locali che possono assumere migliaia di valori diversi che ce ne facciamo più delle Switch Loc... Vabe'! Il giorno in cui ho scoperto questo plugin di Yanfly sono stato così contento che vorrei aver detto a Yanfly “Tieni, prendi tutti i miei soldi!”. Avere delle variabili locali è fantastico! Soprattutto se hai da gestire centinaia di nemici su mappa tutti diversi e generati da un solo ed unico evento (eheh ^^). Quest'ultima parte non tratta di un trucchetto in particolare vero e proprio, ma desideravo concludere parlandovi di questo plugin, sia perché lo ritengo un plugin fantastico e sia perché devo concludere ciò che vi ho introdotto poco fa, con la generazione dei nemici da un unico evento e in tante mappe diverse. Clonando eventi per il gioco, infatti, se questi eventi sono gestiti dalle variabili standard di Rpg Maker, non avremo alcuna possibilità di avere eventi che modificano il loro aspetto o i loro PV o qualsiasi altra cosa in modo diverso l'un dall'altro in base al valore assegnato ad una variabile. Perché? Cloniamo 10 nemici dalla mappa 5 e ora impostiamo una variabile per determinare i PV del nemico: “Enemy PV = 100”, per esempio. Così facendo tutti i nemici appena generati avranno i loro PV settati su 100. E come facciamo se in battaglia invece ci ritroviamo nemici di tipo 1, nemici di tipo 2 e nemici di tipo 3? Ogni tipo di nemico ha i suoi diversi PV, perché qualcuno è più forte e qualcuno più debole. Grazie alle variabili locali possiamo fare tutto ciò. Con le variabili locali, infatti, ogni nuovo nemico generato avrà la sua variabile locale e sarà gestito esclusivamente da questa. Il valore della variabile locale può essere modificato in base ad una variabile standard di cui modificheremo il suo valore in tempi diversi, per assegnare alle variabili locali valori diversi. Questo è tutto! L'esempio del mio caso specifico (con i nemici) l'ho riportato solo per farvi capire le potenzialità offerte dal plugin Self Switches & Variables. La guida ai trucchetti è conclusa! Spero che comprendiate tutto quanto e sicuramente che possa esservi utile in tanti modi diversi! Se qualcosa non vi è chiaro non preoccupatevi, chiedete spiegazioni e dettagli e, se conoscete qualche altro trucchetto anche voi, riportatelo pure che fa sicuramente piacere! :) Link utili: RMMV Script Calls File JSON d'esempio Iavra Localization
  3. Buonasera a tutti,capisco che dal titolo non si possa comprendere bene il mio problema,quindi se volete lo cambio con "AIUTOOO!!!!" o "PROBLEMONEEEE!!!!".Ma ciancio alle bande e veniamo al dunque:vorrei creare un "evento tesoro random",ovvero apri lo scrigno e non sai che pigli.Quindi vorrei sapere se fosse possibile assegnare ad una variabile il nome di un oggetto e la sua posizione.Per esempio: Database: 1 forchetta 2 coltello 3 scaldabagno variabile1=random[1..3] aggiungi [oggetto_ottenuto_dalla_variabile1] messaggio: "Complimenti fortunello,hai ottenuto [oggetto_ottenuto_dalla_variabile1]" Ciò per evitare di fare un "SE" per ogni oggetto.Presumo servano 2 variabili,una per il nome ed una per la posizione.Grazie in anticipo ed attendo con trepidazione.Attendo ancora.E ancora.
  4. Hey, gente! Sò di non essere stato molto presente di recente...ma non divaghiamo, mi sono imbattuto in un problemino mentre lavoravo a un progetto. Mi era venuta questa idea di usare gli 'MP' come barra "azione" dei personaggi. In pratica, una volta arrivati a zero, il personaggio si indebolirà e diventerà più lento, perchè stanco. Difendendosi il personaggio perde un turno ma subisce meno danni e riceve un pò di MP. Ora, per quanto riguarda gli eroi, tutto funziona. Il problema è che i nemici non sembrano indebolirsi, eppure ho usato lo stesso sistema (prima usando MP e poi correggendo con MMP). Ho cercato un pò in giro e mi era sembrato di leggere che questo tipo di cose non funzioni con gli MMP dei mostri, quindi mi chiedevo se ci fosse un altro metodo per replicare lo stesso risultato degli eroi. Questo è l'evento comune che uso per gli eroi: Questo è quello che uso per i mostri: A questo manca un blocco condizionale per entrambi i mostri ma ho evitato di metterlo in quanto mi interessava sapere se funzionava o meno (e come ho detto, quello degli eroi andava benissimo, anche prima che specificassi a che numero di mp il personaggio perde lo stato alterato, questo no). E naturalmente ce ne sono solo due per motivi di semplicità, in quanto era da testare.
  5. Salve ragazzi, premetto che ho ampiamente utilizzato il tasto di ricerca per una soluzione, ma essendo piuttosto tedioso anche solo formulare la richiesta non ho ottenuto alcun risultato. Dunque la mia domanda parte da questa constatazione. Quando noi andiamo a rinominare un eroe, il nome registrato viene inserito in una variabile della quale possiamo richiamarne il contenuto nei messaggi usando \n[idpersonaggio]. Ora, nel mio gioco ci sono due differenti team che spesso si incontrano e giustamente la squadra attualmente in uso risulta con i nomi opportunamente modificati, mentre la squadra nemica risulta con i nomi presenti nel database nella sezione mostri. Il problema è che se provo a mettere \n[idpersonaggio2] al posto del suo nome nel database, nella battaglia vien fuori proprio "\n[idpersonaggio2]". Lo stesso problema si verifica se voglio che un mio personaggio possegga un oggetto particolare che riporti il suo nome. Ad esempio il personaggio3 viene chiamato dall'utente "Ciccio". Esso possiede un'arma speciale chiamata "Spada magica di *personaggio3*". L'obiettivo sarebbe ottenere "Spada magica di Ciccio". Ovviamente anche qui inserire \n[idpersonaggio3] non sembra funzionare. Quindi arrivando alla domanda, vorrei sapere se è possibile realizzare questo tipo di situazioni per default o se è necessario ricorrere a qualche script. Mi sembra comunque strano possedere una variabile per eroe e non poterla usare in qualsiasi box di testo(che alla fine di questo stiamo parlando). Spero di essere stato chiaro, ovviamente sono disposto a spiegarmi meglio qualora sia necessario. Grazie per l'attenzione!
  6. Tutorial Disegnare valori (denaro o variabili) su schermo (per qualsiasi RpgMaker) http://i62.tinypic.com/sde3j5.png Questo semplice tutorial vi insegnerà a disegnare tramite Picture il valore del denaro posseduto dal giocatore o di qualsiasi altra variabile di cui volete tenere il conto. E' utile ad esempio per realizzare un sistema di punteggio a schermo aggiornato in tempo reale, per tenere un contatore dei nemici sconfitti, oppure per realizzare qualsiasi menu custom che non utilizzi le funzioni degli script. Questo sistema è stato realizzato per Our Hero! Legends. Per maggiori informazioni sul gioco clicca qui! >>>SCARICA LA DEMO TUTORIAL DISEGNARE VARIABILI SU SCHERMO La demo è stand-alone e non ha bisogno di alcun tool RpgMaker per essere eseguita. Nella demo è presente l'intera spiegazione per ogni passaggio del tutorial tramite commenti direttamente nell'evento comune appositamente realizzato per il calcolo del denaro. L'evento comune può essere semplicemente copia-incollato nel vostro progetto per funzionare (impostando le variabili e importando le picture), consiglio comunque di seguire le spiegazioni presenti nella demo per capirne i passaggi, perchè solo così si imparano cose nuove e imparando cose nuove è possibile arricchire le proprie conoscenze, incrementando l'intuizione verso la risoluzione dei problemi che si presentano realizzando un videogioco e la realizzione di nuove idee originali :) La prima cosa da fare è creare 10 picture diverse. Queste picture sono i numeri che vanno da 0 a 9. Quindi creeremo una picture con scritto solo il numero 0 (con lo stile che più vi piace), una con il numero 1, e così via fino ad arrivare al numero 9. Queste picture possono essere grandi quanto l'intera risoluzione del tool (544x416 nel caso di vx e ace, 640x480 in tutti gli altri rpg maker), oppure grandi quanto il numero stesso (quindi un'immagine di pochi pixel). Sta a voi decidere, dato che dovrete essere voi poi ad impostare le coordinate della picture per decidere dove dovrà essere mostrata. Utilizzare la risoluzione intera può aiutarvi per posizionare meglio il numero nel punto esatto in cui volete che venga visualizzato, e da lì dopo spostarsi di tot X più avanti per mostrare la picture delle centinaia, delle decine e delle unità. Dopo aver creato le picture... Apriamo il database e spostiamoci nella scheda degli eventi comuni. Realizziamo 1 nuovo evento comune (possiamo chiamarlo "Calcolo denaro") Impostiamo 5 variabili (possiamo chiamarle: "Gold", "Gm", "Gc", "Gd", "Gu", dove Gm, Gc, Gd, Gu stanno rispettivamente per Gold migliaia, centinaia, decine e unità). Ed ora cominciamo a programmare l'evento comune, così come lo ritroviamo anche nella demo: (NOTA: il sistema così programmato arriva a mostrare fino al massimo le migliaia, ma capito il procedimento ci metterete un attimo ad aggiungere anche decine di migliaia e così via, fino a quanti numeri volete! NOTA: l'evento comune è a chiamata, ovvero deciderete voi quando aggiornare l'immagine sullo schermo, in modo che il calcolo non venga fatto di continuo in processo parallelo, rischiando di rallentare il gioco. Quindi -ad esempio- potete chiamarlo ogni volta che il giocatore apre un forziere. Nessuno vi vieta comunque di farlo partire in processo parallelo) http://i59.tinypic.com/rifzx2.png Per rendere il calcolo adatto ad una variabile basterà sostituire l'acquisizione dell'oro in una variabileX con l'acquisizione di una variabileY in un'altra variabileX e modificare le condizioni SE (al posto del denaro, la variabile Y). Nella demo è comunque presente un esempio. Questo è tutto! Se qualcosa non è chiaro o avete domande, chiedete pure! :)
  7. Ciao a tutti!!!!! Ho un problemino con lo script Banca di Dekita, postato da KenzoMe92, si trova qui http://www.rpg2s.net/forum/index.php?&showtopic=16699, mi piacerebbe poter impostare che una variabile (di quelle create tramite evento) assuma il valore dei soldi depositati in banca, come posso fare? Mi va bene sia se la variabile in questione cambia al cambiare dell'importo in banca, sia se cambia tramite evento. Grazie in anticipo!
  8. Allora, sono nuovo, ho scaricato rpg maker vx da prima di ieri e le mie uniche conoscenze in ambito di programmazione sono quelle di wario ware do it your self!! Mi sono iscritto per avere suggerimenti per il mio nuovo gioco che deriva da un fumetto creato da me. Voglio mettere molte cose in questo gioco e vorrei prima di tutto sapere cosa sono, in linguaggio semplice, le variabili!
×
×
  • Create New...