Sujet n°2154
Posté par Angi-MK le 12 Nov - 04:26 (2008)
Titre : Double bug [à moitié OK]
Mon 1er bug
je lance le projet (tester) et que ce passe t-il ?
Hé bien le pkssplash.png apparait mais après il y a un ecran noir, un chargement qui n'en fini plus (et qui gèle mon PC) pour finalement me donner une belle fenetre comme ceci:
écran pas beau


Et evidement rien dans le rapport log, c'est normal...
PS: j'ai essayer de relancer le projet plusieurs fois et même de le fermer pour le rouvrir à plusieurs reprises mais aucun changement... Mollasse enragé
PS2: J'ai lu ça avant...
Krosk a écrit:






Un bug ?????????????????? survient quand l'affichage du jeu n'a pas rafraichit pendant un certain temps.

Graphics.update... limite CE bug.
EDIT: j'avais lu en diagonale, vient de me lever >_<. Ca ne limite pas les lags de script à ma connaissance, ca les maquille juste en faisant croire que ton script tourne en arrière plan. Si tu met un Graphics.update, ca va moins "freezer", mais ca prendra plus de temps pour faire la tache.





SVP qui pour aider un pauvre maker dans le besoin :( ?

EDIT: J'ai effacé tout les scripts que j'avais fait et j'ai remis ceux que j'ai modifier en état d'origine mais...le probleme est encore là... :?:

EDIT 2 (et fin): Laissez tomber, je vais reprendre la copie de mon projet mais le truc c'est que je perds tout mes scripts lol (car je ne copie pas les scripts que je modifie au cas ou...) :? Bah!Pas grave, (si quelqu'un à quand même la solution à ce problème qu'il le partage...)

Et voici mon nouveau bug, qui comme vous vous en doutez est survenue aprés que je me sois débarrassé j'ai résolue l'autre...

Alors voila, quand je lance rebond je reçois un beau message d'erreure, que malheureusement je n'ais reçus qu'une seule fois...? le bug ne sait produit qu'une seule fois et je ne me rapelle malheureusement plus trop dans quels contexte, je crois que l'autre POKEMON à lancé ULTRALASER et à ce moment mon COTOVOL ( Lordork chez mémé ) à "rebondis" sur l'ennemi et... BUG !

EDIT: c'est bon j'ai réussi à reproduire le bug !
et voici l'image  8)

La condition exact c'est: le POKEMON ennemi lance ultralaser et tue un de mes POKEMON, j'appelle mon tout puissant cotovol et je lance REBOND, le RAYQUAZA récupère, mon COTOVOL saute, le rayquaza rate son attaque (car COTOVOL et à ce moment précis intouchable) et mon COTOVOL frappe, l'attaque rate et le message apparait.

enfin j'ai le rapport du log.txt :
Spoiler
---------- Erreur de script : Pokemon_Battle_Core 2 ----------
----- Type
TypeError

----- Message
no implicit conversion from nil to integer

----- Position dans Pokemon_Battle_Core 2
Ligne 2110

----- Backtrace
Script : Pokemon_Battle_Core 2 | Ligne : 2110 | Méthode : in `delete_at'
Script : Pokemon_Battle_Core 2 | Ligne : 2110 | Méthode : in `attack_action'
Script : Pokemon_Battle_Core 1 | Ligne : 542 | Méthode : in `phase3'
Script : Pokemon_Battle_Core 1 | Ligne : 409 | Méthode : in `update'
Script : Pokemon_Battle_Core 1 | Ligne : 153 | Méthode : in `main'
Script : Pokemon_Battle_Core 1 | Ligne : 150 | Méthode : in `loop'
Script : Pokemon_Battle_Core 1 | Ligne : 157 | Méthode : in `main'
Script : Main | Ligne : 53


Voila c'est tout ce que j'ai remarqé de chiant qui mérite d'être poster ici Clin d'œil foireux

Et désolé, je sais que c'est un peu le bordel...
   

Posté par Krosk le 12 Nov - 18:09 (2008)
Est-ce que le bug revient quand tu utilise rebond généralement? tu peux tester?

J'ai mon idée sur la correction à apporter, je veux savoir si elle est abosulement nécessaire.

Posté par Angi-MK le 12 Nov - 20:18 (2008)
Bah apparemment elle marche autrement mais le bug n'apparait que lorsque l'attaque est lancé dans le contexte que je t'ai donné...
Ultralaser, repos...  Si ça peut t'aider.

Posté par Newtiteuf le 13 Nov - 18:19 (2008)
Euh ... c'est normal que tes pokémon soit lvl 255 ?

Posté par Kyogre-18 le 13 Nov - 18:40 (2008)
Ba moi dans diaman er perrle j'ai un sacdeneu lv 600 !

Posté par KnightLink le 13 Nov - 18:44 (2008)
Montre moi une photo sinon j'y crois pas xD

Posté par Newtiteuf le 13 Nov - 18:50 (2008)
XD ! Sinon il a l'ar ... mais ca devrait faire bugger le jeu ... non ?

Posté par Krosk le 13 Nov - 18:52 (2008)
On s'en fiche du pokémon lvl 600.

Pour l'information, dans PSP on peut régler le niveau max des Pokémons à plus de 100 (comme quoi, y'en a qui n'ont pas encore appris le manuel par coeur Clin d'œil foireux ).


Donc ouais, la solution est toute bête (enfin... je peux empêcher le jeu de planter si y'a ce bug), je mettrai la correction à apporter dans le topic des corrections manuelles plus tard.

ligne 2108
Code:
          when 0x9B2 # Bounce / Rebond
            index = user.effect_list.index(0x9B2)
            user.effect.delete_at(index)

à remplacer par
Code:
          when 0x9B2 # Bounce / Rebond
            if user.effect_list.include?(0x9B2)
              index = user.effect_list.index(0x9B2)
              user.effect.delete_at(index)
            end

Posté par Angi-MK le 13 Nov - 19:57 (2008)
Super ça refonctionne merci l'artiste Bouche extensiblek:
Newtiteuf a écrit:
Euh ... c'est normal que tes pokémon soit lvl 255 ?
Comme l'a dit Krosk, tu peux leur donner le niveau que tu veux, il suffit de régler le niveaux max :idea:

Newtiteuf a écrit:
XD ! Sinon il a l'ar ... mais ca devrait faire bugger le jeu ... non ?
Ça n'a aucun rapport je t'assure, ça marche très bien pas de problèmes avec ça Clin d'œil foireux

Posté par Newtiteuf le 13 Nov - 20:07 (2008)
 
Mister-K a écrit:
Newtiteuf a écrit:
XD ! Sinon il a l'ar ... mais ca devrait faire bugger le jeu ... non ?
Ça n'a aucun rapport je t'assure, ça marche très bien pas de problèmes avec ça Clin d'œil foireux


Je parlais du jeu Pokémon DP pas de ton jeu XD !

Sinon Krosk, quand tu corrige un bug, est ce que tu pourrais expliquer quel était le bug stp, cam'aiderait un peu mieux a comprendre tes scripts !

Posté par Angi-MK le 13 Nov - 20:18 (2008)
Oui bah moi je te parlé de mon jeu (j'avais pas compris lol), il n'a aucun problèmes avec ça !
si tu veux connaitre le problème lis le premier post , enfin je dis ça... Yeux motorisés

Posté par Newtiteuf le 13 Nov - 20:22 (2008)
Mais t'inquiète, je l'ai lu... mais j'aimerais savoir si Krosk peut dire par exemple..."J'avais oublier de marquer -------- donc ce truc la ne pouvait pas marcher !" Ou autre :!

Posté par Angi-MK le 13 Nov - 20:35 (2008)
Oui c'est vrai, ça peut aider à comprendre le problèmes et comment il à était résolu
mais ça risque de faire perdre à Krosk son image de dieu qui résous les problèmes on ne sait pas trop comment

Non mais certains sont compréhensible juste en comparant le morceau de script et celui par lequel il le remplace, mais d'autre, il faut comprendre comment il à tourné son script et c'est pas toujours facile Clin d'œil foireux heu...

Posté par Krosk le 14 Nov - 13:14 (2008)
NT >> Hmm... tu peux me demander ponctuellement d'expliquer ce qui se passe, mais je n'ai pas à le faire dans les rapports de bug à chaque fois puisque je ne pnse pas que ca interesse du monde. Un pokémon qui lance une attaque avec un effet ou qui subit une attaque avec un effet enregistre en lui "je suis sous l'effet de cet attaque". Cette information a une durée de vie (un tour, 2 tours,...).

Pour rebond, ici, "si l'attaque échoue", je dois supprimer l'effet de rebond. C'est ce que je fais dans le script d'origine.

Mais il se peut que l'effet est déjà supprimé. Si j'essaie de supprimer un truc déjà supprimé, ca bug. Je corrige donc en faisant la vérification "supprimé ou non?".



(ca prend du temps d'expliquer les bugs... donc j'ai pas spécialement envie de le faire)