Sujet n°12397
Posté par BlueLemon le 11 Fév - 17:40 (2013)
Titre : Bug Pokemon_Battle_Wild*
Bonjour à tous,
Je suis RedLemon.

Je viens à vous pour vous demander votre aide, s'il vous plait. (Bug dans le script de mon projet)

Lorsque je lance un combat contre un Pokémon sauvage (que ce soit de façon aléatoire ou voulue) il m'apparait une erreur sur la ligne 137 du script Pokemon_battle_wild*.

Voici le Log :

Code:

     ---------- Erreur de script : Pokemon_Battle_Wild* ----------
    ----- Version du logiciel : PSP DS v0.4
    ----- Type
    NoMethodError

    ----- Message
    - ARGS - [5]
    undefined method `[]' for nil:NilClass

    ----- Position dans Pokemon_Battle_Wild*
    Ligne 137

    ----- Backtrace
    Script : Pokemon_Battle_Wild* | Ligne : 137 | Méthode : in `pre_battle_transition'
    Script : Pokemon_Battle_Core 1* | Ligne : 229 | Méthode : in `main'
    Script : Main | Ligne : 58



Et également voici la partie du code concernée, notamment la ligne 137.. :

Code:
# Dessin
          Graphics.freeze
          @background.bitmap = RPG::Cache.battleback(@battleback_name)     
          @message_background.bitmap = RPG::Cache.picture($options[5])
          @enemy_sprite.bitmap = RPG::Cache.battler(@start_enemy_battler, 0)



La ligne 137 est celle ci :



Code:
 @message_background.bitmap = RPG::Cache.picture($options[5])



Ah et voici la ligne 58 du script Main (j'ai vu qu'il y avait une erreur dans le log) :


Code:
 while $scene != nil
        $scene.main
      end



Ah et voici aussi la ligne 229 du script Pokemon_Battle_Core1* qui est écris dans le log :


Code:
  # Lancement des animations
          pre_battle_transition
          pre_battle_animation




Dans l'attente de votre aide.
Je vous remercie beaucoup.

Cordialement.

Posté par Vipe50 le 11 Fév - 18:08 (2013)
Je crois que le problème vient du fait que tu n'ai pas spécifier le background du tileset.

Posté par BlueLemon le 11 Fév - 18:16 (2013)
Pourtant il y a un évènement sur la map qui spécifie le battleback? Si il est spécifié, et en plus il y a un évent qui le spécifie sur la map une nouvelle fois.
Je ne comprend vraiment pas quel est le problème.

Posté par Vipe50 le 11 Fév - 18:40 (2013)
Est-ce que tu as paramètré dans la BDD onglet gestion des chipset ceci:

Spoiler

Posté par BlueLemon le 11 Fév - 19:12 (2013)
Oui c'est paramétré.. Alors je ne vois pas d'où ca peut venir..

Posté par Vipe50 le 11 Fév - 19:19 (2013)
Il doit y avoir un problème de nom d'un battleback mais je ne sais pas lequel. Vérifie tous tes graphic de battleack et regarde si il y en a un qui a un nom incorrecte.

Posté par Diamglam le 11 Fév - 19:32 (2013)
non c'est peut etre qu'il joue de nuit, et l'event n'est pas paramétré pour, ca me l'a fait aussi. Au fait quand je lance mon jeu après MAJ du script Pokémon Data, il me met erreur ligne 398 syntax error (je précise que la ligne 398 est celle d'Aquali dans le script.

Posté par BlueLemon le 11 Fév - 19:35 (2013)
comment ca de nuit. J'ai supprimé les events qui prennent compte du temps pour ne pas que ca bug justement.

Posté par BlueLemon le 11 Fév - 19:38 (2013)
J'aimerai bien régler ce problème ca m'enpêche de continuer..

Posté par Eurons くさ le 11 Fév - 20:00 (2013)
Tu vient de faire un double post, je te conseils l’édit visible.

Posté par Diamglam le 11 Fév - 20:55 (2013)
eurons je te met la ligne d'aquali ou ca bug:

$data_pokemon[134]=["Aquali", 134, [65, 130, 60, 65, 95, 110], [1, 33, 1, 39, 1, 270, 8, 28, 15, 55, 22, 98, 29, 44, 36, 61, 43, 423, 50, 387, 57, 56, 64, 184, 71, 58], [3, 6, 7, 10, 13, 14, 15, 17, 18, 21, 27, 32, 42, 43, 44, 45, [3], [7], 55, 58, 59, 68, 78, 82, 83, 87, 90, 91], [1, ["", []]], [3], [45, 50, 70, ["ABSORB EAU"], [5, 5], [], 5120], [2, 0, 0, 0, 0, 0, 198], ["AQUALI a subi une mutation spontanée. Des nageoires et des branchies sont apparues pour lui permettre de vivre dans les fonds marins. Il contrôle l'eau à volonté.", "BULLEUR", "1.0 m", "29.0 kg", []]]

je précise que c'est normal que ce ne soit pas ses bases stats, c'est celles de Pyroli donc si quelqu'un a la bonne ligne du script...

Posté par BlueLemon le 11 Fév - 20:59 (2013)
Tu pourrai faire un autre sujet pour ton probleme s'il te plait? Ici on parle de mon probleme. Alors quelqun a la solution pour mon probleme?

Posté par Diamglam le 11 Fév - 21:14 (2013)
quand je crée des sujets personne n'y répond donc

Posté par Mathius.67 le 11 Fév - 22:59 (2013)
@Diamglam :
Évite de demander de l'aide dans le Sujet de quelqu'un. Si personne ne t'as répondu, c'est sûrement que tu as mal formulé ta demande.

@BlueLemon :
J'ai déjà eu le même genre de problème car je testais mon projet l'après-midi ou le soir.
J'ai ensuite remarqué qu'il manquait des Groundbattle (After, Nuit, Etc.)
Donc vérifie si ils y sont dans le dossier "Battlebacks" et si ils n'y sont pas alors... Mets-les. Interrogation man
Par contre si ils y sont, c'est que c'est sûrement un autre problème.

Posté par BlueLemon le 12 Fév - 00:37 (2013)
J'ai vérifié ils y sont bien..
D'où provient donc le problème?

Posté par BlueLemon le 12 Fév - 14:14 (2013)
Alors quelqun aurai la solution? Je suis toujours bloqué..

Posté par Mathius.67 le 12 Fév - 16:17 (2013)
Attention aux Doubles Post !

J'essaye de comprendre le Bug mais je crois qu'il faudra attendre qu'une personne plus qualifiée que moi te réponde...
En attendant, trouve quelque chose d'autre à faire Gros matou qui ronronne

Posté par Over le 1 Mar - 15:50 (2013)
J'avais eu un bug similaire qui étais du au fait que je n'avais aucun pokémon dans mon équipe, essaye d'en ajouter un.

Posté par medalofhonnor67 le 1 Mar - 16:39 (2013)
"@message_background.bitmap = RPG::Cache.picture($options[5])"

C'est le cadre ou on voit les messages des attaques, etc... dans le combat qui bug, je pense.

Dans le log, il y à ecrit que "[]" bug, et un peu plus haut, il y à marque ARGS [5]

Pour le ressoudre, c'est une autre histoire^^

Posté par FinalArt le 23 Juin - 18:43 (2013)
Je viens d'avoir ce problème, et apparemment cela vient du fait que le background est définie en fonction de l'heure. Si c'est l'aprem, il y aura en plus "_after". Donc, soit il faut vérifier que le background spécifié dans la BDD a plusieurs variantes pour chaque moment de la journée, soit il faut supprimer les conditions de création de background en fonction de l'heure dans le battle_core_1 à partir de la ligne 100.

Posté par Zohran le 24 Juin - 12:43 (2013)
Pour ton problème, dans PSPG5V0.7, pour éviter ce genre de bug pénible (parce que l'on a pas tous l'envie de créer un battle back différent pour chaque moment de la journée, LA FLEEEEEMMMMMME !!!)....
Bref....
J'ai modifié le script de combat pour avoir qu'un seul battleback et un seul ground, en fait, je sais pas si les gens qui utilise mon starter l'on remarqué, mais en fait, le changement de couleur selon la période de la journée est faite par script, dans le script battlecore, en changeant le ton de l'écran, je trouvais cette méthode plus simple et moins lourde en fichier image (vue que c'est par script Clin d'œil foireux ).

Si tu veux procéder avec cette méthode, copie la partie en question du script battle core que j'ai modifié et insère ses lignes dans ton projet.

Posté par Arc-Arceus le 27 Juin - 08:50 (2013)
Prenez la peine de lire la ligne 137 correctement, vous verrez que l'erreur ne concerne pas le background, mais le background "message", qui lui est réglé via la variable $options[5] du script Menu Option de Palbolsky.
L'erreur signifie juste que cette variable n'est pas définie, d'où l'erreur.
Vous devez mettre une valeur par défaut, sinon le jeu plantera dès qu'elle ne sera pas définie (ce qui est le cas lors d'une nouvelle partie vierge). Je ne sais pas quelles modifications ont été apportées par ailleurs, mais il serait intéressant de faire "Rechercher dans le script" et rechercher "$options[5]" pour voir où et comment elle est définie.

Posté par Zohran le 27 Juin - 14:12 (2013)
----- Message
- ARGS - [5]
undefined method `[]' for nil:NilClass
-----

Autant pour moi Arc-Arceus, d'autant plus que le log est clair, lors du bug, la variable vaut à ce moment précis nil selon le rapport, l'erreur vient bien du background des messages, j'ai lu trop vite, désolé Résignation man

Pour éviter ce genre de bug, soit comme tu l'as dis, il ne faut pas oublier de le paramétrer, soit dans le script, mettre une variable par défaut si celle-là n'a pas été prédéfinie par l'utilisateur pour éviter tout bug éventuel et ainsi la valeur nil pour la variable ne sera jamais existante. Imbécile heureux

Posté par Wolforax le 18 Aoû - 07:16 (2013)
il faut tout simplement désactiver le switch extérieur