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
[JS] - Intercettare evento per aggiungere azioni

    Nortas
  • Nuovo Arrivato

  • Utenti
  • Rens: 1
  • 0
  • Stelletta
  • 79 messaggi
  • Sesso:Maschio
  • Provenienza:Cagliari
  • Abilità:Apprendista

#1 Inviato 08 October 2017 - 10:51 AM

Ciao a tutti sto cercando di intercettare un evento per aggiungere delle azioni da eseguire in concomitanza al suo verificarsi.

Nella fattispecie sto intercettando l'evento "GainGold".
Uso un plugin che mostra i popUp in automatico sull'eroe quando prende un'item e voglio aggiungerlo anche per l'oro.

 

Ho buttato giù questo script:

 

     Game_Party.prototype.gainGold = function (amount) {
            //QUi ci sono tutti i settaggi del mio plugin che vi risparmio per non confondervi!
    };

Fa il suo lavoro (il popup appare)

Solo che non mi accredita l'oro sul personaggio....
Alchè ho provato così:

    var oldGP_gainGold_Tiny_PUI = Game_Party.prototype.gainGold;
     Game_Party.prototype.gainGold = function (amount) {
           // Qui sempre i settaggi del mio plugin
          oldGP_gainGold_Tiny_PUI.call(amount);       
    };

ma mi da questo errore:

undefined is not a function
at Number.Game_Party.gainGold (rpg_objects.js:4919)
at Game_Party.gainGold (Tiny_PopUpIcon.js:198)

 

(tiny_PopUpIcons è il mio plugin)

 

Ho provato l'ultima spiaggia con:

    Game_Party.prototype.gainGold = function (amount) {
   //Settaggi del mio plugin
$gameParty.gainGold(amount);
    };

Ma ovviamente mi va in loop (perchè la funzione richiama in loop l'evento dall'evento stesso)....

 

Plugin a parte....un tipo di manovra script di questo tipo che sintassi ha? Una volta intercettato l'evento come lascio cmq eseguire la funzione "base" di rpg mv? Io pensavo che la più giusta fosse la mia seconda prova ma non funge....

 

QUalcuno sa aiutarmi?

Grazie!



    Nortas
  • Nuovo Arrivato

  • Utenti
  • Rens: 1
  • 0
  • Stelletta
  • 79 messaggi
  • Sesso:Maschio
  • Provenienza:Cagliari
  • Abilità:Apprendista

#2 Inviato 08 October 2017 - 11:04 AM

Ok ho risolto! :D

In sostanza la seconda prova era quella giusta ma nel richiamare l'evento base bisogna aggiungere un THIS alle variabili passate in funzione!!!
 

var oldGP_gainGold_Tiny_PUI = Game_Party.prototype.gainGold;
Game_Party.prototype.gainGold = function (amount) {
// Qui le azioni personalizzate
oldGP_gainGold_Tiny_PUI.call(this, amount);
};






  • Feed RSS