Jump to content
Rpg²S Forum

03 TUTORIAL: Aggiungere i parametri al vostro plugin :)


Lomax_Iced
 Share

Recommended Posts

Bella a tutti ragazzi sono Fav......O_O' *freezz //

Ciao gente :smile:
Rieccomi finalmente con un nuovo tutorial dedicato all'utilizzo di Sublime Text 2 in ambiente Rpg Maker Mv.
Quest'oggi continuerò insieme a voi ad analizzare e studiare questo nuovo (almeno per me) linguaggio Javascript.
Nei tutorial precedenti abbiamo già trattato:
00T: come sincronizzare Sublime Text 2 al nostro Rpg Maker Mv

http://www.rpg2s.net/forum/index.php/topic/20344-00-tutorial-js-editor-su-rpg-maker-mv/

01T: come creare un nuovo Plugin javascript

http://www.rpg2s.net/forum/index.php/topic/20345-01tutorial-creare-un-nuovopluginjs/

 

02T: come analizzare il codice di default e utilizzarlo secondo le nostre esigenze
http://www.rpg2s.net/forum/index.php/topic/20346-02-tutorial-impariamo-da-cio-che-abbiamo/

Questo ci ha permesso di creare una piccola modifica strutturale.
Ovvero abbiamo implementato la possibilità di saltare il menu iniziale, passando direttamente ad agire nella mappa di gioco.
Da un punto di vista analitico, abbiamo imparato ad identificare, in un plugin, alcune delle stringhe che lo compongono.
Facciamo un breve riepilogo:

  Reveal hidden contents


8.Adesso partendo da ciò che abbiamo già creato, proveremo ad introdurre l'ausilio dei Parametri .
Ora vi spiego a cosa mi riferisco:

1. Aprite Rpg Maker Mv e caricate il vostro progetto.
2. Una volta aperto l'editor di Rpg Maker andate in Gestione Plugin.
(se nella vostra lista, vi è ancora inserito il plugin che abbiamo creato, cliccate su di esso col tasto destro del mouse e una volta aperto il menu a tendina, selezionate la prima voce (Modifica) si aprirà una finestra.)
Oppure:
(se la vostra lista è totalmente vuota, ovvero è sprovvista di plugin. Cliccate 2 volte con il tasto sinistro del mouse. Nella finestrella Plugin andate su nome, cliccateci su. Si aprirà un menu a tendina con la lista di plugin che avete a vostra disposizione. Selezionate ad esempio...ehm.. ItemBook. Cliccate su Ok. E tornati in Gestione Plugin, cliccate con il tasto destro del mouse, il plugin che avete appena selezionato. Aperto il menu a tendina, selezionate la prima voce (Modifica) e si aprirà una finestra.)

3. Siamo nella finestra Plugin. Dove all'interno di essa vi sono racchiuse le generalità dei plugin che di volta in volta selezioniamo.
Se notate in ItemBook, alla voce parametri, vi sono dei valori. Se notate nel Plugin che abbiamo creato noi, non c'è scritto nulla.

Benissimo. Oggi in questo tutorial voglio condividere con voi Come si inseriscono i Parametri in un Plugin .
Quindi ciancio alle bande! Fatta la premessa:
Iniziamo! :cool:
. . .

1. Questa volta apriamo il nostro ST2, che se lo usate solo per i plugin di Rpg Maker Mv, in automatico si aprirà il vostro progetto sincronizzato al tool.

2. Selezioniamo sulla sua lista lo script che abbiamo creato insieme.
3. E prestiamo attenzione alla testa dello script. (per intenderci alla porzione di codice delimitata dai simboli /*: e */ ).
In sostanza qui:

//=================================================
/*:
 * @plugindesc 
 * Permette di saltare lo Scene_Title  
 * @author 
 * Lomax_Iced
 * @help
 */
//=================================================

Tralasciando le due stringhe commento, che in questo caso non hanno alcuna utilità, perché sono solo da cornice. Molti di noi credono
che il box /*: */ sia paragonabile a quando noi scrivevamo un tempo in rgss =begin =end . Ma credo che non sia così.
(correggetemi sempre se sbaglio) =begin =end gelava un intero periodo e non permetteva alcuna interazione con i parametri trascritti al suo interno.
In Javascript e in questa nuova modalità invece l'interazione c'è. Quindi non me la sento di indurvi a credere che ci sono 2 tipologie diverse di generare dei commenti. Secondo me una stringa commento si forma soltanto se anteposta da quei due simboletti lì // e tutto il resto invece è altra cosa.

Quindi credo che questa porzione di codice sia destinata ad inserire al suo interno le generalità dello script.
Dunque abbiamo che il comando @plugindesc si occuperà della descrizione. Quindi tutte le scritte sotto o accanto ad esso riguarderanno tale funzione.
Poi @author servirà per specificare l'autore o gli autori che hanno generato lo script.
A @help verranno destinate le istruzioni per l'uso del suddetto script.
Quindi anche qui dentro verranno specificati i parametri che potranno essere inseriti per facilitare, attraverso l'interfaccia RpgMaker, l'editing del plugin.
Vediamo un po come si inseriscono:

1. Siamo all'interno della testa del Plugin.
2. Appena sotto la stringa dove avete specificato il nome dell'autore, inserite il comando * @param.
3. Sotto, il nome del parametro, ad esempio:

/*:
 * @plugindesc 
 * Permette di saltare lo Scene_Title  
 * @author 
 * Lomax_Iced
 * @param
 * Parametro1
 * @help
 * Istruzioni per l'uso
 */

Ricordate che ogni volta che volete aggiungere un parametro, basterà ripetere l'operazione.
In questo modo ad esempio:

/*:
 * @plugindesc 
 * Permette di saltare lo Scene_Title  
 * @author 
 * Lomax_Iced
 * @param
 * Parametro1
 * @param
 * Parametro2
 * @param
 * Parametro3
 * @help
 * Istruzioni per l'uso
 */

Bene, ma non abbiamo ancora finito.
Così come abbiamo la descrizione dell'intero Plugin, il javascript ci da anche la possibilità di dialogare con RpgM. inserendo le descrizioni dei singoli parametri che apparterranno al plugin. Per implementare questa funzione si utilizza il comando @desc .
E quindi avremo:

/*:
 * @plugindesc 
 * Permette di saltare lo Scene_Title  
 * @author 
 * Lomax_Iced
 * @param
 * Parametro1
 * @desc
 * Questo comando descrive la funzione del Parameto1.
 * @help
 * Istruzioni per l'uso
 */

Per verificare il tutto, bisognerà recarsi nuovamente in Gestione Plugin del tool Rpg Maker.
Selezionare con il tasto destro il nostro Plugin. Scegliere la voce modifica. Cliccare due volte con il tasto sinistro del mouse sul parametro in questione e così si aprirà la finestra parametro, dove potrete visionare il tutto.

Benissimo. Ma ancora non abbiamo finito :smile:
Dunque ricapitoliamo:
@param = Inizializzazione del parametro (lo si nomina).
@desc = si specificano le sue funzionalità.
Chi manca all'appello?
All'appello manca l'assegnazione del suo valore .
In Javascript si utilizza questo comando qui :

@default seguito dal valore di partenza che vorremo far assumere al nostro parametro.

Per intenderci, ecco a voi un esempio visivo:

/*:
 * @plugindesc 
 * Permette di saltare lo Scene_Title  
 * @author 
 * Lomax_Iced
 * @param
 * Parametro1
 * @desc
 * Questo comando descrive 
 * la funzione del parameto
 * @default
 * 0
 * @help
 * Istruzioni per l'uso
 */

Ottimo.
Tutto quello che abbiamo detto sino ad ora ci ha permesso di identificare dei parametri con le loro descrizioni e valori annessi, ma ancora non ci ha permesso di concretizzare delle funzioni o funzionalità effettive da associare ai nostri parametri.
Spiego quest'ultimo step e dopo vi lascio tranquilli a Fallout.
. . .
Allora occhi e orecchie aperte che è interessante e facile:

Abbiamo identificato che in questo plugin è presente un parametro. Che questo parametro gestisce qualcosa. abbiamo pure descritto cosa dovrebbe gestire. Però non abbiamo ancora inserito l'interazione logica associata a questo parametro. Giusto? Bene.
Per farlo bisogna:

1. ritornate in ST2
2. destate l'attenzione dalla testa dello script e spostatevi appena sotto il suo simboletto di chiusura */
3. nella stringa successiva iniziate a digitare questo comando:

var parameters = PluginManager.parameters('Direttamente in Mappa ');

Questa stringa dichiara che si utilizzeranno le variabili del nostro plugin.
(in questo caso 'Direttamente in Mappa' è il nome che ho assegnato al plugin, voi potete nominarlo come volete, ma l'unico accorgimento a cui dovrete prestare attenzione è che in quella stringa lì, entro le virgolette, dovrà esserci il nome effettivo del plugin a cui fate riferimento).
A questo punto il vostro Javascript dovrebbe presentarsi più o meno così:

//=================================================
/*:
 * @plugindesc 
 * Permette di saltare lo Scene_Title  
 * @author 
 * Lomax_Iced
 * @param
 * Parametro1
 * @desc
 * Questo comando descrive 
 * la funzione del parameto
 * @default
 * 0
 * @help
 * Istruzioni per l'uso
 */
//=================================================
var parameters = PluginManager.parameters('Direttamente in Mappa');



 Scene_Boot.prototype.start = function() {
//ecc ecc ecc ecc ecc ........................

Adesso, dopo che abbiamo dichiarato(comandato) allo script che verranno utilizzati dei parametri appartenenti al nostro Plugin.
Bisognerà dichiarare anche loro (in questo caso ne abbiamo uno solo, ovvero Parametro1)
Benissimo. quindi, sotto al comando già dato, verrà scritta quest'altra dichiarazione:

var parameter = parameters['Parametro1'];

Aggiungiamo anche questa stringa al nostro codice, per dare un quadro della situazione:

//=================================================
/*:
 * @plugindesc 
 * Permette di saltare lo Scene_Title  
 * @author 
 * Lomax_Iced
 * @param
 * Parametro1
 * @desc
 * Questo comando descrive 
 * la funzione del parameto
 * @default
 * 0
 * @help
 * Istruzioni per l'uso
 */
//=================================================
var parameters = PluginManager.parameters('Direttamente in Mappa');
var parameter = parameters['Parametro1'];


 Scene_Boot.prototype.start = function() {

Così facendo avremo identificato e reso effettivo, l'oggetto Parametro1. Però manca ancora un'ultima cosa.
Dargli questa benedettissima funzionalità! :)

Per farlo bisognerà rendere effettivo, da un punto di vista logico, il suo valore.
Quindi bisogna applicare una leggera modifica alla suddetta stringa:


//prima della modifica
var parameter = parameters['Parametro1'];

//dopo la modifica
var parameter =Number(parameters['Parametro1'] || 0);

In questo modo avremo assegnato al Parametro1 un valore (di partenza) di natura numerica, in questo caso zero.
Dunque. Mi fermo qui per adesso.
C'è ancora molto da dire sull'assegnazione dei parametri e sui loro rispettivi valori e funzionalità.
Diciamo che questo tutorial ha dato una base di partenza per poter approfondire nei successivi questo argomento molto importante.

Detto questo se avete dubbi, consigli, o volete semplicemente correggere qualche mia castroneria, commentate pure qui sotto.
Un saluto e ci rileggiamo alla prossima :cool:

Edited by Lomax_Iced
Link to comment
Share on other sites

C'è un errore nel cast, il tipo di arrivo è Number, non number:

var parameter =number(parameters['Parametro1'] || 0);

var parameter = Number(parameters['Parametro1']);

Per non confondere chi come me ha preferito lasciare 1/0 per on/off :P

Edited by DarkInfinity

http://i65.tinypic.com/2aeqlc7.png

Link to comment
Share on other sites

  On 11/22/2015 at 10:37 PM, DarkInfinity said:

C'è un errore nel cast, il tipo di arrivo è Number, non number:

var parameter =number(parameters['Parametro1'] || 0);

var parameter = Number(parameters['Parametro1']);

Per non confondere chi come me ha preferito lasciare 1/0 per on/off :P

Grazie della segnalazione :smile:

Correzione Fatta :cool:

Link to comment
Share on other sites

  • 2 weeks later...
  On 12/6/2015 at 6:59 PM, siengried said:

Ciao Lomax, trovo fantastici questi tuoi tutorial, ma vorrei farti una domanda...

In caso io ho una variabile, posso cambiare il suo valore in gioco? cioè con un call plugin o un call script?

 

Non puoi usare il comando degli eventi?

Comunque, lo script call dovrebbe essere il seguente:

  1. $gameVariables.setValue(var, value);

dove var è l'ID della variabile e value è il valore che vuoi darle.

CLICCA SUL BANNER QUI SOTTO PER ENTRARE ANCHE TU NEL GRUPPO VOCALE DISCORD!

>>> BIM_Banner2.png <<<

 

Le mie guide:

 

 

I miei plugin:

 

  Reveal hidden contents

 

Roba:

  Reveal hidden contents

Link to comment
Share on other sites

  On 12/6/2015 at 9:17 PM, siengried said:

quale comando degli eventi?

Aspetta... mica queste variabili che lui inizializza sono quelle che uso nel gioco? Sono variabili a parte, no?

 

Dipende di che variabile stavi parlando. Visto che non l'avevi specificato, pensavo che volessi sapere riguardo le variabili usate nel gioco.

CLICCA SUL BANNER QUI SOTTO PER ENTRARE ANCHE TU NEL GRUPPO VOCALE DISCORD!

>>> BIM_Banner2.png <<<

 

Le mie guide:

 

 

I miei plugin:

 

  Reveal hidden contents

 

Roba:

  Reveal hidden contents

Link to comment
Share on other sites

  • 7 years later...
  On 12/6/2015 at 6:59 PM, siengried said:

Ciao Lomax, trovo fantastici questi tuoi tutorial, ma vorrei farti una domanda...

In caso io ho una variabile, posso cambiare il suo valore in gioco? cioè con un call plugin o un call script?

Scusami! Mi era sfuggita questa..

Ti rispondo anche se è passato un sacco di tempo.

 

Sì, puoi modificare il valore di una variabile nel gioco utilizzando il comando "Controllo delle Variabili" in RPG Maker MV. Spiego così chi dovesse avere bisogno trova l'informazione che cerca:

 

Il controllo delle variabili può essere utilizzato in un evento e consente come dicevo di modificare

il valore di una variabile specifica.

Aggiungi un nuovo evento alla mappa del gioco.

Seleziona il comando controllo delle Variabili dal menu degli eventi.

Nella finestra di configurazione del comando, imposti:

Assegna se vuoi dare un valore alla variabile

Aritmetica mi pare fosse comunque l'altra opzione gli fai eseguire un'operazione matematica.

Selezioni il numero della variabile che desideri modificare.

E poi gli assegni o l'operatore logico se vuoi fargli eseguire un'operazione matematica oppure il valore.

 

Esempio:

Controllo delle Variabili: Assegna, 1, 5
Alla variabile 1 abbiamo assegnato il valore 5.

 

Poi mano a mano che si studia bene il js poi sarete in grado voi stessi con un blocnotes

di:

(function() {

    // Crea un nuovo comando personalizzato "AssegnaVariabile"
    PluginManager.registerCommand('AssegnaVariabile', 'AssegnaValore', function(args) {
        // Ottieni il valore della variabile dal parametro del comando
        var idVariabile = parseInt(args.idVariabile);
        // Ottieni il valore da assegnare alla variabile dal parametro del comando
        var valore = parseInt(args.valore);
        // Assegna il nuovo valore alla variabile
        $gameVariables.setValue(idVariabile, valore);
    });

})();
Per usarlo, aggiungi questa istruzione in un evento.

Plugin Command: AssegnaVariabile AssegnaValore idVariabile 1 valore 10
Sostituisci "idVariabile" con il numero della variabile che desideri modificare e "valore" con il nuovo valore da assegnare alla variabile.

 

Ultimo accorgimento e poi penso sia tutto:

Bada che il nome del comando personalizzato ("AssegnaVariabile") e il nome del parametro del comando ("AssegnaValore") devono corrispondere a quelli definiti nel plugin. Inoltre, i nomi dei parametri del comando ("idVariabile" e "valore") devono essere gli stessi utilizzati nel plugin.

Link to comment
Share on other sites

Create an account or sign in to comment

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

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...