Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
297 connectés actuellement
30729783 visiteurs depuis l'ouverture
3400 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
Chaös17 -
posté le 23/01/2017 à 16:39:30 (868 messages postés)
| | Domaine concerné: Plugin
Logiciel utilisé: Rpg maker Mv
Salut et bonne année.
J'essaie de me remettre au making après une fin d'année 2016 merdique.
Lien du script: http://pastebin.com/FeFN6LQU
Problème:
J'essaie de changer une ligne de code pour que le plugin accède à l'actor profile au lieu de l'actorID. J'ai créer un common event pour changer d'élément (donc en fonction d'un état). Il marche en combat. Mon seul prob est que je n'arrive pas à changer la faceset (oui je la fait changer de couleur) lorsque je change d'élement.
Originel
this._face = new Sprite(ImageManager.loadBHud("Face_" + this._battler._actorId));
Modifier
this._face = new Sprite(ImageManager.loadBHud("Face_" + this._battler._profile));
Je crois que çà marche mais à moitié car il y a que lorsque je sors du combat que çà va cherche la bonne faceset... (donc si je me met élément eau par exemple, la faceset correspondante apparaitra que lorsque je sors et reviens en combat).
Voilà le bout de script qui m'emmerde et je sais pas comment fixer.
Ligne 2014
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| Battle_Hud.prototype.create_face = function() {
if (String(Moghunter.bhud_face_visible) != "true") {return};
this.removeChild(this._face);
if (!this._battler) {return};
this._face = new Sprite(ImageManager.loadBHud("Face_" + this._battler._profile));
// this._face = new Sprite(ImageManager.loadBHud("Face_" + this._battler._actorId));
this._face.anchor.x = 0.5;
this._face.anchor.y = 0.5;
this._face_data = [0,0,false,false,false,-1];
if (String(Moghunter.bhud_face_shake) === "true") {this._face_data[2] = true}
if (String(Moghunter.bhud_face_animated) === "true") {this._face_data[4] = true}
this._battler._bhud_face_data =[0,0,0,0]
this.addChild(this._face);
|
|
Blog of Chaos17 |
Aminomad -
posté le 23/01/2017 à 19:23:55 (150 messages postés)
| | Et si tu modifies pas la ligne de script ça se met bien à jour ?
C'est possible de voir l'évènement commun ?
|
The Lone Chameleon |
Chaös17 -
posté le 23/01/2017 à 22:02:52 (868 messages postés)
| | Oui ma modification est bien prise en compte et pas de crash.
Je lance un sort pour changer d'élément dont le common event prend en charge.
http://pastebin.com/hmbQeXcs
Le sort fonctionne je vois le statut du nouvel élément afficher (l'îcone du state) mais ma faceset ne change pas. Il faut que je sors du combat et revient pour qu'elle soit mise à jour par le plugin de Moghunter.
Donc mon problème est que le plugin de Moghunter ne refresh pas la faceset durant le combat lorsque je change d’élément.
|
Blog of Chaos17 |
Aminomad -
posté le 24/01/2017 à 02:10:44 (150 messages postés)
| | Ca a pas l'air d'être prévu de pouvoir changer de face.
Essaie ça:
Plugin à mettre en dernier dans la liste des plugins:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| Battle_Hud.prototype.create_face = function () {
if (String(Moghunter.bhud_face_visible) != "true") {return};
this.removeChild(this._face);
if (!this._battler) {return};
this._face = new Sprite(ImageManager.loadBHud("Face_" + this._battler._profile));
this._battler._temp_profile=this._battler._profile;
this._face.anchor.x = 0.5;
this._face.anchor.y = 0.5;
this._face_data = [0,0,false,false,false,-1];
if (String(Moghunter.bhud_face_shake) === "true") {this._face_data[2] = true}
if (String(Moghunter.bhud_face_animated) === "true") {this._face_data[4] = true}
this._battler._bhud_face_data = [0,0,0,0]
this.addChild(this._face);
};
Battle_Hud.prototype.update_face=function () {
_mog_bcursor_bhud_update_face.call(this);
if (this._battler._temp_profile!==this._battler._profile)this.refresh_bhud();
if (this._battler._bhfaceSize[0] === -1 && this._face && this._face.bitmap.isReady()) {
this._battler._bhfaceSize[0] = this._face.bitmap.width;
this._battler._bhfaceSize[1] = this._face.bitmap.height;
};
}; |
Je te conseille de faire un plugin séparé plutôt que de modifier directement le code, c'est plus prudent.
|
The Lone Chameleon |
Chaös17 -
posté le 25/01/2017 à 11:33:30 (868 messages postés)
| | Salut,
Je te remercie de ton aide.
Je viens de tester (dans un plugin à part) et j'ai eu cette erreur au lancement du combat.
Voici le plugin de Yanly qui est cité dans log d'erreur: http://pastebin.com/2Vd5ngUD
Je t'avoue être étonné car je n'ai pas eu de problème de compatibilité à ce jour.
|
Blog of Chaos17 |
Aminomad -
posté le 25/01/2017 à 15:10:19 (150 messages postés)
| | C'est ma faute, j'avais fait un test sur le projet d'exemple de moghunter et le code est un peu différent du tien.
Sur ton script, ça devrait être ça plutôt (j'ai juste ajouté les lignes 7 et 19).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| Battle_Hud.prototype.create_face = function() {
if (String(Moghunter.bhud_face_visible) != "true") {return};
this.removeChild(this._face);
if (!this._battler) {return};
this._face = new Sprite(ImageManager.loadBHud("Face_" + this._battler._profile));
// this._face = new Sprite(ImageManager.loadBHud("Face_" + this._battler._actorId));
this._battler._temp_profile=this._battler._profile;
this._face.anchor.x = 0.5;
this._face.anchor.y = 0.5;
this._face_data = [0,0,false,false,false,-1];
if (String(Moghunter.bhud_face_shake) === "true") {this._face_data[2] = true}
if (String(Moghunter.bhud_face_animated) === "true") {this._face_data[4] = true}
this._battler._bhud_face_data = [0,0,0,0]
this.addChild(this._face);
};
Battle_Hud.prototype.update_face = function() {
if (this._battler._temp_profile!==this._battler._profile)this.refresh_bhud();
if (!this._face) {return};
if (!this._face.bitmap.isReady()) {return};
if (this._face_data[4] && this._face_data[5] != this._battler._bhud_face_data[2]) {this.refresh_face();};
this.update_face_animation();
this.update_face_shake();
this.update_face_zoom();
}; |
Si ça fonctionne toujours pas, je t'enverrai mon projet test.
J'ai peut-être mal compris le problème.
|
The Lone Chameleon |
Chaös17 -
posté le 25/01/2017 à 19:59:36 (868 messages postés)
| | J'ai rapidement testé et çà marche merci beaucoup de ton aide
Oui, ma version du plugin est différente car j'utilise une version antérieure pour cause de compatibilité avec d'autre plugins.
Edit: j'ai un nouveau bug, lorsque la faceset se met à jour les PV (HP) aussi, donc mon héro récupère toute sa vie xD Par contre les TP sont bien gardé et ne reviennent pas à 0.
|
Blog of Chaos17 |
Aminomad -
posté le 25/01/2017 à 22:22:39 (150 messages postés)
| | o.O
Chez moi ça ne met pas à jour les PV, bizarre...
Et si tu remplaces la fonction update_face par celle-là ?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
Battle_Hud.prototype.update_face = function() {
if (this._battler._temp_profile!==this._battler._profile){
this.create_face();
refresh_position();
};
if (!this._face) {return};
if (!this._face.bitmap.isReady()) {return};
if (this._face_data[4] && this._face_data[5] != this._battler._bhud_face_data[2]) {this.refresh_face();};
this.update_face_animation();
this.update_face_shake();
this.update_face_zoom();
};
|
Sinon faudrait que je teste directement sur ton projet vu que chez moi ça marche.
|
The Lone Chameleon |
Chaös17 -
posté le 26/01/2017 à 02:46:50 (868 messages postés)
| | Ce n'est pas grave, çà doit être un conflit entre Mogunter et Yanfly. Je t'ai envoyé un MP. Merci d'avoir pris le temps de me répondre.
|
Blog of Chaos17 | Index du forum > Entraide > [RESOLU] [Rpg maker Mv] [MOGHUNTER] Je n'arrive pas à changer de faceset en combat
|
|
|