Partagez
Aller en bas
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu evenement auto en combat

le Mer 2 Nov 2016 - 14:40
bonjour

j'ai un système de combat avec un invocateur
quand l'invocateur appelle un avatar celui-ci se rajoute à l'équipe
pour ce faire j'ai 2 EV : un pour appeler un avatar et un pour le renvoyer (le faire disparaitre)

j'aimerai que l'EV "renvoyer" s’exécute automatiquement dans deux situations bien particulières :
- quand les mp de l'invocateur tombent à 0
- quand l'invocateur est mis KO

seulement je ne vois pas du tout comment faire

je pense faire un EV qui ferai en gros :
si mp de invocateur < 1 alors déclencher EV "renvoyer"
si invocateur est sous l'état assommé alors déclencher EV "renvoyer"

mais je ne sais pas comment activer cet EV à chaque début de combat


Dernière édition par scottsummers le Sam 12 Nov 2016 - 21:23, édité 1 fois
avatar
dricc
Membre

Nombre de messages : 2756
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: evenement auto en combat

le Mer 2 Nov 2016 - 14:51
Ton systéme de combat , c'est du "standard" ou tu as déja un script de combat ?
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: evenement auto en combat

le Mer 2 Nov 2016 - 15:07
c'est du standard
avatar
dricc
Membre

Nombre de messages : 2756
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: evenement auto en combat

le Mer 2 Nov 2016 - 16:21
J'ai des doutes vu que tu parles d'un script de yanfly sur un autre post ... yanfly impose des pré-requis qui modifie le moteur .

Bon soit , essayons . J'ai un truc à te proposer :

Code:

var OLD = OLD || {};
OLD.old_Scene_Battle = {};

/*-------------------------------------------------------------------------
* Scene_Battle
-------------------------------------------------------------------------*/
OLD.old_Scene_Battle.create = Scene_Battle.prototype.create;
Scene_Battle.prototype.create = function() {
    $gameSwitches.setValue(1,true)
      OLD.old_Scene_Battle.create.call(this);
};

Remplace 1 par un switch libre de ton choix .

Il faut mettre ça dans un fichier "setswitchatbattlebegin.js" que tu met dans plugin . Et tu l'actives .

Le switch sera mis à VRAI à chaque fois qu'un combat démarre .
Au niveau de tes groupes , tu n'as plus qu'a ajouter un evenement :

Si switch = VRAI:
- Tes 2 conditions
- switch = FAUX

Et ton evenement ne se declenchera qu'au début du combat .

Par contre, j'ai pu voir que ça se delcenchait aprés le message "XXXX est apparu..." .j'espere que ce n'est pas génant .
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: evenement auto en combat

le Jeu 10 Nov 2016 - 13:33

donc j'ai un peu avancé mais ça ne marche pas comme je voudrais

j'ai un EV "renvoyer" qui enlève l'avatar du groupe
j'ai un EV "MEGA renvoyer" qui lance l'EV "renvoyer" dans les conditions requises (si l'invocateur est assomé, si l'avatar est assomé, si les mp de l'invocateur sont < 1)

dans mes troupes je déclenche l'EV "MEGA renvoyer" si l'interrupteur "avatar on" est sur ON
(quand mon invocateur appelle un avatar cet interrupteur se met sur ON et l'EV "renvoyer" le met sur OFF)

cela fonctionne mais uniquement si je met la portée de la condition sur "tour" (dans évènement de combat dans mes troupes)
si je met sur "moment", dès que l'interrupteur "avatar on" se met sur "on" tout se fige
or je voudrais que l'avatar quite le groupe dès qu'une des conditions est remplie, or sur "tour" la vérification ne se fait qu'une fois par tour

y aurai il un moyen de faire en sorte que l'EV "MEGA renvoyer" se déclenche une fois après chaque action d'un personnage (joueur et ennemi) ? Via un plugin (ce qui permettrai en plus de ne pas avoir à paramétrer toutes les troupes)


quelques captures d'écran de mes différents EV :








PS : mes modules :
avatar
dricc
Membre

Nombre de messages : 2756
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: evenement auto en combat

le Jeu 10 Nov 2016 - 14:06
Alors en fait , il te faut un script qui te met un switch à TRUE à chaque action d'un personnage , quoi .
tu remettra ce switch à faux dans ton EV .

Je vais voir si je peux faire ça . C'est presque ce que je t'ai déja fait sauf qu'il faut que je modifie une autre methode qiu se delcenche à chaque tour .
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: evenement auto en combat

le Jeu 10 Nov 2016 - 14:59
c'est sympa, merci Very Happy
avatar
dricc
Membre

Nombre de messages : 2756
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Résolu Re: evenement auto en combat

le Jeu 10 Nov 2016 - 15:44
Bon eh bien , ça donnerait ça :

Code:

    var OLD = OLD || {};
    OLD.old_Scene_Battle = {};

    /*-------------------------------------------------------------------------
    * Scene_Battle
    -------------------------------------------------------------------------*/
    OLD.old_Scene_Battle.update = Scene_Battle.prototype.update;
    Scene_Battle.prototype.update = function() {
        $gameSwitches.setValue(1,true)
          OLD.old_Scene_Battle.update.call(this);
    };


remplace le "1" par un switch libre .

Alors ici , j'ai modifié "update"
Mais si ça ne fonctionne pas bien , tu peux essayer "updateBattleProcess" , "updateWindowPositions" , "onActorOk" ou "onSelectAction" par exemple . le principe est le meme à chaque fois .
avatar
scottsummers
Membre

Nombre de messages : 197
Distinction : aucune
Date d'inscription : 14/06/2015

Résolu Re: evenement auto en combat

le Sam 12 Nov 2016 - 21:22
un énorme merci ça fonctionne nickel
Contenu sponsorisé

Résolu Re: evenement auto en combat

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum