Sujet n°4501
Posté par Angi-MK le 17 Juil - 05:11 (2009)
Titre : Combat dresseur instantané - réouvert
Je rentre sur une map et hop, un combat se lance contre un dresseur sur la map instantanément.
Sans qu'il m'ai vue ni que j'ai son texte, je rentre sur la map, la transition s'effectue et hop, le combat se lance...
Je ne vois pas du tout ce que j'ai fait qui aurait pus déclenché ce bug, surtout que ça le fait avec toutes les parties, même les nouvelles...
Aussi sur une partie commencé hier alors que le bug n'était pas présent.

Precision, ça prend un dresseur de la map mais une fois battue, la map est "débuggé", mais pas les autres.


J'ai tenté de reprendre une sauvegarde de mon projet datant de cette après midi (scripts uniquement), mais le bug persiste @!
Le bug est présent sur toutes les maps :?


EDIT: Il semblerait que ce soit plutôt pas mal de conditions placés dans des centaines d'events qui plante toutes depuis quelques minutes, je sais pas trop ce qui se passe?!


EDIT 2 : J'ai corrigé ce bug en 1h30 (comme quoi ça m'a pris la tête...)
J'ai utilisé plusieurs de mes sauvegardes de mon projet en testant des fichiers contenu dans Data. A chaque fois je copié un fichier et si le bug persistait, je le remplacé par celui d'une autre sauvegarde sans bug.
Je copié du projet avec le bug vers une sauvegarde du projet sans bug:

J'ai commencé par tenter de tous les copier, on sait jamais.
le bug toujours présent, comme je m'y attendais...
Je recommence mais cette fois je ne copie que le MapInfo.rxdata
le bug est encore la, ça éveil mes soupçons...
Je tente de copier tout sauf le MapInfo.rxdata
le bug est encore la alors que le MapInfo est revenu celui d'origine, celui qui bug pas...
Je tente de copier toutes les data Map
Bug encore, je sens que je suis pas très loin...!
Je copie tout sauf les MapInfo et les data Map
Plus de bug !
Mais j'ai besoin de mes 5 maps rajoutés dans la journée,
j'ouvre l'éditeur du projet qui bug, je copie les maps et je les colle dans l'autre, c'est parfait, c'est réglé !

Je suis revenu au même point que quand le bug est survenu, conclusion, FAITES DES SAUVEGARDES DE VOTRE PROJET !!!

PS: J'aimerais quand même savoir si quelau'un connait l'origine de ce bug qui, pour le jeu, n'en est pas un, il continue de tourner normalement... ???

Posté par Krosk le 17 Juil - 08:27 (2009)
A priori, le seul truc auquel je peux penser, c'est un évènement en commun appelé sans condition (donc appelé tout le temps). Le fichier concerné est CommonEvents.rxdata


ps: cf ma signature

Posté par PiVa le 17 Juil - 11:38 (2009)
Mister-K : Ok dans le titre  :evil:


Posté par Angi-MK le 17 Juil - 12:19 (2009)
Ouais mais je mais pas ok si je connais pas la raison de la cause.
Et non, le CommonEvents.rxdata n'a rien a voir la dedans, regarde comment j'ai résolu, copié tout sauf MapInfo et certaines Map

Posté par Krosk le 17 Juil - 12:22 (2009)
copié tout sauf MapInfo et certaines Map = CommonEvents.rxdata est dedans . . . non ?
Ca peut très bien etre Scripts.rxdata aussi.

Posté par Angi-MK le 17 Juil - 12:26 (2009)
Non, tu capte pas, j'ai pris une sauvegarde de mon projet et dedans j'ai collé tout sauf MapInfo et certaines Map (qui venait du projet avec le bug)
Donc ça venait forcement de ces fichiers :?

Posté par Angi-MK le 30 Juil - 04:37 (2009)
Je up car le bug avait disparu mais il est de retour, et cette fois stp aide moi à trouver une correction valable, ça se reproduit trop souvent a mon gout :?

Posté par Krosk le 30 Juil - 08:48 (2009)
tu penses pouvoir uploader une version non cryptée du projet pour moi ?

Posté par Angi-MK le 6 Aoû - 13:31 (2009)
Je up car j'Ai encore corrigé le problème comme la première fois mais c'est long de trouver le fichier map qui plante et c'Est vraiment chiant à corriger de cette maniere.
Si quelqu'un eut m'Aider... ??
PS: je rappel que c'est les conditions de toutes les maps qui plantent a cause d'un seul fichier map

Posté par Sphinx le 6 Aoû - 15:18 (2009)
tes dresseurs ont toujours la condition "trainer_spotted(X)" ?


Si oui, on va essayer un petit quelque chose qui devrait aider à cibler le pb :
Script Interpreter, juste avant :
Code:
return bool

rajoute :
Code:
print "Débug : " + (if bool ? "Vrai" : "Faux")

Posté par Angi-MK le 7 Aoû - 01:14 (2009)
je ne trouve pas le retrun bool dans interpreter

Posté par Sphinx le 7 Aoû - 07:28 (2009)
ok, alors cherche :

Code:
def trainer_spotted


puis regarde si tu trouves un return quelque part, dans la fonction, et ajoute le avant

Posté par Angi-MK le 11 Aoû - 10:12 (2009)
Bug toujours pas résolu, si quelqu'un a une idée...

Posté par Sphinx le 11 Aoû - 10:18 (2009)
malheureusement, je n'ai plus aucune idée... Ca ne vient pas de la fonction trainer_spotted.

Posté par Drakhaine le 12 Aoû - 17:14 (2009)
ça serait bien plus simple si on pouvait avoir accès à une version non cryptée, pas forcément complète hein, mais au moins deux ou trois maps

Posté par Angi-MK le 12 Aoû - 17:19 (2009)
Je l'ai fourni a Sphinx et Krosk.
Connecte toi sur msn si tu peux.

Posté par Drakhaine le 14 Aoû - 11:58 (2009)
Bug corrigé mec Clin d'œil foireux
Dans l'event 19 (Scout Erbert), page 1, le message est scindé en deux (bug RMXP il semble), et la deuxième ligne ("changer les idées") fait foirer toute ta page.
Tout ce qu'il y a en-dessous de ton message est considéré comme hors de la condition trainer_spotted(5), donc se lance dès l'entrée en map :p

Efface/refais ta page 1 de l'event 19, chez moi ça fonctionne maintenant :D

Posté par Angi-MK le 14 Aoû - 13:46 (2009)
Et c'est normale que toutes les maps avec des dresseurs me donnaient le même résultat ?
Et que mes conditions étaient toutes confondues ??

Posté par Drakhaine le 14 Aoû - 14:54 (2009)
A mon avis, tu vas devoir tous les revérifier, je m'explique :
quand tu crées une nouvelle map qui va reçevoir des dresseurs, tu fais un copier/coller d'un dresseur type et tu modifies juste les choses qui doivent changer (phrase, id du dresseur contre qui le combat se lance, etc...). La structure "infectueuse" reste donc dans la plupart de tes dresseurs.

Quand tu rentres sur la map, est considéré comme processus parallèle SANS CONDITION tout le code situé après le texte dit par le premier dresseur "infecté" vérifié. Donc le lancement du combat. Quand tu gagnes le combat, une variable globale est initialisée sur "true" ($game_battle.win ou une connerie comme ça). Donc ensuite, tous les autres dresseurs infectés sont vérifiés, la partie trainer_spotted reoturne "false", mais la globale $game_battle.win est toujours vraie, donc hop, il passe directement en interrupteur local "B" et c'est pour ça que tu n'as qu'un seul combat automatique qui se déclenche.

J'peux pas vérifier là, mais c'est simple :
dans un event de dresseur infectueux (le premier qui se lance quand tu entres dans une map), au niveau de la condition de victoire, fais :
<> Condition : si Script : if '$game_battle.win == true'
    <> Switch Marche bloquée [OFF] :
    <> Script : '$game_battle.win = false'
    <> SelfSwitch "B" [ON]
<> Fin :

Si d'autres dresseurs ont le problème sur la map, ils devraient lancer un combat aussi. C'est théorique, j'ai pas essayé, mais ça pourrait être ça... Et dans ce cas, t'auras du débug à faire : tester chaque map contenant des dresseurs pour voir qui bug...

(ne réutilise pas la même sauvegarde, les autres dressseurs infectés de la map sont sauvegardés en SelfSwitch "B" activé si tu sauvegardes après le premier combat)