Rpg˛S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Vai al contenuto

Rpg˛S Forum uses cookies. Read the Privacy Policy for more info. To remove this message, please click the button to the right:    I accept the use of cookies

Screen Contest #90

Kamikun






  • Si prega di effettuare il log in prima di rispondere
03 TUTORIAL: Aggiungere i parametri al vostro plugin :)

    Lomax_Iced
  • Elfo di Babbo Natale

  • Utenti
  • Rens: 28
  • 3
  • StellettaStellettaStelletta
  • 225 messaggi
  • Sesso:Maschio
  • Provenienza:Palermo
  • Abilitā:Adepto

#1 Inviato 16 November 2015 - 16:56 PM

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...u-rpg-maker-mv/

01T: come creare un nuovo Plugin javascript

http://www.rpg2s.net...-nuovopluginjs/

 

02T: come analizzare il codice di default e utilizzarlo secondo le nostre esigenze
http://www.rpg2s.net...io-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:

Spoiler

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:


Modificato da Lomax_Iced, 23 November 2015 - 03:47 AM.


    DarkInfinity
  • Nuovo Arrivato

  • Utenti
  • Rens: 0
  • 0
  • Stelletta
  • 50 messaggi
  • Sesso:Maschio
  • Provenienza:Firenze <3
  • Abilitā:Apprendista

#2 Inviato 22 November 2015 - 23:37 PM

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


Modificato da DarkInfinity, 22 November 2015 - 23:38 PM.

2aeqlc7.png


    Lomax_Iced
  • Elfo di Babbo Natale

  • Utenti
  • Rens: 28
  • 3
  • StellettaStellettaStelletta
  • 225 messaggi
  • Sesso:Maschio
  • Provenienza:Palermo
  • Abilitā:Adepto

#3 Inviato 23 November 2015 - 03:44 AM

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:



    siengried
  • Animatore

  • Utenti
  • Rens: 8
  • 2
  • StellettaStellettaStellettaStelletta
  • 658 messaggi
  • Sesso:Maschio
  • Provenienza:Boscoreale
  • Abilitā:Novizio

#4 Inviato 06 December 2015 - 19:59 PM

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?



    Makeratore
  • Arshes (RmXP)

  • Rpg˛S Staff
  • Rens: 123
  • 4
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 1905 messaggi
  • Sesso:Maschio
  • Provenienza:Roma
  • Abilitā:Esperto

#5 Inviato 06 December 2015 - 20:40 PM

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:

$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:

Roba:

Spoiler

    siengried
  • Animatore

  • Utenti
  • Rens: 8
  • 2
  • StellettaStellettaStellettaStelletta
  • 658 messaggi
  • Sesso:Maschio
  • Provenienza:Boscoreale
  • Abilitā:Novizio

#6 Inviato 06 December 2015 - 22:17 PM

quale comando degli eventi?

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



    Makeratore
  • Arshes (RmXP)

  • Rpg˛S Staff
  • Rens: 123
  • 4
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 1905 messaggi
  • Sesso:Maschio
  • Provenienza:Roma
  • Abilitā:Esperto

#7 Inviato 06 December 2015 - 22:31 PM

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:

Roba:

Spoiler

    siengried
  • Animatore

  • Utenti
  • Rens: 8
  • 2
  • StellettaStellettaStellettaStelletta
  • 658 messaggi
  • Sesso:Maschio
  • Provenienza:Boscoreale
  • Abilitā:Novizio

#8 Inviato 06 December 2015 - 23:24 PM

nono scusa non mi sono spiegato bene xD

per variabili intendo i parametri creati qui xD

Nel javascript come in qualsiasi linguaggio di programmazione si chiamano variabili



    Lomax_Iced
  • Elfo di Babbo Natale

  • Utenti
  • Rens: 28
  • 3
  • StellettaStellettaStelletta
  • 225 messaggi
  • Sesso:Maschio
  • Provenienza:Palermo
  • Abilitā:Adepto

#9 Inviato 09 March 2023 - 05:52 AM

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.




  • Feed RSS