-50%
Le deal à ne pas rater :
-50% Baskets Nike Air Huarache Runner
69.99 € 139.99 €
Voir le deal

Aller en bas
Elemsis
Elemsis
Membre

Nombre de messages : 432
Age : 33
Localisation : Pyrénées-Orientales
Distinction : aucune
Date d'inscription : 05/01/2009
http://elemsischronicles.blogspot.fr/

[Résolu] Problème Plugin: SumRndmDde Menu Status Customizer Empty [Résolu] Problème Plugin: SumRndmDde Menu Status Customizer

Jeu 6 Juil 2017 - 23:45
Coucou la compagnie!

J'ai passé ma journée à "enjoliver" mon projet grace à des scripts de SumRndmDde qui m'ont permis de modifier quelques aspects de mes menus, de créer des HUD sur la map, bref, des choses cool, mais là, ça fait des heures que je trifouille l'un de ces plugins pour résoudre un problème, sans succès.

Il s'agit du "Menu Status Customizer".
Ce script permet de jouer sur les affichages divers, en séparant en colones...etc, et entre autres, il affiche les barres de progression d'XP directement dans l'écran de menu, sans besoin d'aller check l'onglet Statut de chaque personnage à la suite.
Mon souci: la jauge ne s'affiche pas correctement. Tant que l'XP est assez basse comparé à ce qu'il faut pour le niveau suivant, ça l'air d'aller. Mais dès qu'on passe un cap (+ de 60% on va dire, au pourcentage maker parce que j'ai pas calculé), ça part en cacahuète et la barre semble remplie, alors que bon, il manque encore un sacré bout d'XP en réalité.

Un petit screen pour montrer concrètement:
Spoiler:

-------------------------

Voici le code de l'event tel qu'il se trouve dans mon projet.

Spoiler:

Pour l'instant, j'ai rajouté à la ligne 586 le:

+ actor.nextRequiredExp()


Au moins, on a les chiffres, à défauts d'une barre de progression fonctionnelle.

Du coup, ma demande: un aimable scripteur comprendrait-il d'où vient le problème et saurait-il m'indiquer comment le résoudre?

Merci d'avance les zamis!


Dernière édition par Elemsis le Ven 7 Juil 2017 - 14:03, édité 1 fois
dricc
dricc
Membre

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

[Résolu] Problème Plugin: SumRndmDde Menu Status Customizer Empty Re: [Résolu] Problème Plugin: SumRndmDde Menu Status Customizer

Ven 7 Juil 2017 - 10:18
Le probleme est dans le "ce/nre" qu'on voit dans draw_gauge . ça ne doit pas dépasser 1 . Autrement dit , "ce" doit toujours etre inférieur à nre .

Je pense donc que le probleme est ici :

Code:

var nre = actor.nextRequiredExp();
var ce = actor.currentExp() - actor.currentLevelExp();

d'abord , on a l'exp necessaire pour aller au prochain niveau .ça , OK .
Mais la variable "ce" est étrange . on prend l'expérience TOTALE accumulée et on enleve l'experience actuelle dans le niveau .

J'aurais mis plutot :
Code:

var nre = actor.nextRequiredExp();
var ce = actor.nextLevelExp() - actor.currentLevelExp();

là , j'ai l'expérience necessaire pour le level +1 moins l'expérience necessaire pour le niveau en cours .
Elemsis
Elemsis
Membre

Nombre de messages : 432
Age : 33
Localisation : Pyrénées-Orientales
Distinction : aucune
Date d'inscription : 05/01/2009
http://elemsischronicles.blogspot.fr/

[Résolu] Problème Plugin: SumRndmDde Menu Status Customizer Empty Re: [Résolu] Problème Plugin: SumRndmDde Menu Status Customizer

Ven 7 Juil 2017 - 13:13
Merci Dricc. Malheureusement, ça ne fonctionne pas non plus.
La jauge disparaît carrément, j'ai pas trop compris.

En fait, je me dis, ce qu'il me faut, c'est connaitre les différentes manières d'appeler les infos liées à l'exp.
Parce que là, le souci que je rencontre sur tous mes tests, c'est lié, je pense, au fait que le script fonctionne avec des montants d'XP totaux, sans leur soustraire l'exp qui était déjà nécessaire pour accéder au dernier lvl obtenu.

En gros, dis-moi si je me trompe, mais syntaxe mise à part, la logique des variables pour un bon affichage devrait ressembler à ça:

var nre : Exp Totale (Niv Sup) - Exp Totale (Niv Actuel)
var ce : Exp Actuelle - Exp Totale (Niv Actuel)

Donc:
Code:
var nre : actor.nextLevelExp() - actor.currentLevelExp();
var ce : actor.currentExp() - actor.currentLevelExp();

J'ignore si la syntaxe de ce que je propose est bonne.
Pour info, ça ne marche pas non plus. Pas de message d'erreur, mais comme avec ta proposition, les barres n'apparaissent plus.

Je me demande si cette partie du code ne pose pas problème:
Code:
if(showEXP && Number(locationEXP[1]) <= eval(statusRows) && Number(locationEXP[2]) <= cols) this.drawActorExp(actor, r[locationEXP[2]], c[locationEXP[1]], myWidth);
dricc
dricc
Membre

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

[Résolu] Problème Plugin: SumRndmDde Menu Status Customizer Empty Re: [Résolu] Problème Plugin: SumRndmDde Menu Status Customizer

Ven 7 Juil 2017 - 13:46
Ta syntaxe est presque bonne , il suffit de mettre "=" à la place .

Il faudrait les afficher pour voir ...

Allez , j'essaye .
Scenario : j'ajoute 1000 Exp à harold .
Il se retrouve level 5 et le level 6 est à 1180 . 485 est l'exp necessaire pour passer du level 5 au level 6 .

Mon calcul doit etre :
Le resultat attendu : (485 - 180)/485


J'ai été cherché diverses methodes dans game_actors et J'obtient :
console.log($gameActors.actor(1).nextLevelExp()) => 1180
console.log($gameActors.actor(1).currentExp()) => 1000
console.log($gameActors.actor(1).currentLevelExp()) => 695
console.log($gameActors.actor(1).nextRequiredExp()) => 180


comme on fait ce/nre , il nous faut donc :
Code:

var nre = actor.nextLevelExp() - actor.currentLevelExp();
var ce = nre - actor.nextRequiredExp();

Elemsis
Elemsis
Membre

Nombre de messages : 432
Age : 33
Localisation : Pyrénées-Orientales
Distinction : aucune
Date d'inscription : 05/01/2009
http://elemsischronicles.blogspot.fr/

[Résolu] Problème Plugin: SumRndmDde Menu Status Customizer Empty Re: [Résolu] Problème Plugin: SumRndmDde Menu Status Customizer

Ven 7 Juil 2017 - 14:00
Alors, je comprends ta logique, mais bizarrement, avec ton code, ça ne marche toujours pas, même en jouant avec une inversion ce/nre ou nre/ce. Les barres s'affichent cette fois, mais toujours pas correctement.

Par contre, en corrigeant ma syntaxe avec le "=" à la place de mon ":" comme tu me l'as signalé, ça fonctionne finalement!
Je le sais en plus qu'il faut un "=" pour donner une valeur à une variable, mais je sais pas, en écrivant sur le forum, j'y ai pas pensé, et dans le code du plugin, j'ai copié-collé ce que j'avais théorisé ici, alors forcément, ça ne fonctionnait pas.
(l'absence de message d'erreur au lancement du jeu m'a fait zapper totalement la faute)

Allelujah!
Merci dricc, on aura fini par trouver la solution à deux. =)
Au moins, j'ai passé des heures le nez dans le js, je me sens moins perdu en parcourant les plugins désormais. C'est loin de faire de moi un potentiel programmeur, mais c'est toujours plaisant de nager dans une eau un peu moins trouble. rabbit
Contenu sponsorisé

[Résolu] Problème Plugin: SumRndmDde Menu Status Customizer Empty Re: [Résolu] Problème Plugin: SumRndmDde Menu Status Customizer

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