Sujet n°2726
Posté par Jordan le 29 Jan - 10:18 (2009)
Titre : bug lors du demarrage d'un fight OK
LOG:

---------- Erreur de script : Pokemon_Battle_Core 1 ----------
----- Type
TypeError
----- Message
no implicit conversion from nil to integer
----- Position dans Pokemon_Battle_Core 1
Ligne 2614
----- Backtrace
Script : Pokemon_Battle_Core 1 | Ligne : 2614 | Méthode : in `[]'
Script : Pokemon_Battle_Core 1 | Ligne : 2614 | Méthode : in `refresh'
Script : Pokemon_Battle_Core 1 | Ligne : 2612 | Méthode : in `each'
Script : Pokemon_Battle_Core 1 | Ligne : 2612 | Méthode : in `refresh'
Script : Pokemon_Battle_Core 1 | Ligne : 2590 | Méthode : in `initialize'
Script : Pokemon_Battle_Core 1 | Ligne : 135 | Méthode : in `new'
Script : Pokemon_Battle_Core 1 | Ligne : 135 | Méthode : in `main'
Script : Main | Ligne : 53


je reçois un message d'erreur "no implicit conversion from nil to integer"
J'ai essayé de voir d'où ça venais mais je vois pas 0_o
voici les quelques lignes ou se trouve le bug





Code:
 self.contents.clear      src_rect = Rect.new(0, 0, 315, 42)
      if @enemy
        bitmap = RPG::Cache.picture("partystatusenemy.png")
      else
        bitmap = RPG::Cache.picture("partystatus.png")
      end
      self.contents.blt(0, 0, bitmap, src_rect, 255)
      
      src_rect = Rect.new(0, 0, 30, 30)
      if @enemy
        ball_x = 173
        coeff = -2
        else
        ball_x = 52
        coeff = 2
        end
      
      for i in [url=mailto:1..@party.size]1..@party.size[/url]
        bitmap = RPG::Cache.picture("ballpartystatus.png")
         if @party.actors[@battle_order[i-1]].dead?
        bitmap = RPG::Cache.picture("ballpartystatusko.png")
        end
        self.contents.blt(ball_x + coeff*16*(i-1), 2, bitmap, src_rect, 255)
      end
    end
    
    def reset_position
      if @enemy
        self.x = -16
      else
        self.x = 325-16
      end
      refresh
    end
  end




Posté par Sphinx le 29 Jan - 11:48 (2009)
jparie ma paie de ces 100 prochaines années là dessus :

for i in [url=mailto:1..@party.size]1..@party.size[/url]


remplace ca par :

for i in 1..@party.size

Clin d'œil foireux

Posté par Jordan le 29 Jan - 12:07 (2009)
je peux savoir quel est la différence entre ces deux là?

Posté par Sphinx le 29 Jan - 12:26 (2009)
1..@party.size

faut virer les balises url Clin d'œil foireux


(la différence : le 2° de mon message n'a pas de balise URL mailto: autour ^_^ et je pense que c'est la raison de ce bug Clin d'œil foireux)

Posté par Jordan le 29 Jan - 12:37 (2009)
dans mon script d'origine non plus, c'est le code qui a fait ça

Posté par Sphinx le 29 Jan - 13:15 (2009)
ah oki ^_^'


Alrs quelle ligne bugge ?

Posté par Jordan le 29 Jan - 13:31 (2009)
 if @party.actors[@battle_order[i-1]].dead?

Posté par Sphinx le 29 Jan - 13:34 (2009)
mets
Code:
print @battle_order
print @party.actors

juste avant la ligne qui bugge, et dis moi ce que t'obtiens Clin d'œil foireux

Posté par Jordan le 29 Jan - 13:39 (2009)
j'obtiens plusieurs chiffres et juste après un message d'erreur et quand tous sont passés, on revient au même bug

Posté par Sphinx le 29 Jan - 13:53 (2009)
xD

T'as même pas un nil qui apparait à un mmt ou un autre ? xD

Posté par Jordan le 29 Jan - 13:58 (2009)
non même pas

j'ai peut être une idée, est-ce possible que ce soit du fait que j'ai effacé des pokémons jusqu'aux 151 ?

Posté par Krosk le 29 Jan - 17:14 (2009)
combat contre qui ? sauvage ? dresseur ?

Si tu a supprimé les pokémons jusqu'au 151 (ie de 1 à 151), tu a remonté les pokémons de 152 a xxx vers 1 à xxx-152 ?

Posté par Jordan le 29 Jan - 19:36 (2009)
non, j'ai effacé ceux d'après

de plus cela ne le fait qu'avec des dresseurs

Posté par Krosk le 29 Jan - 19:41 (2009)
met :
print @party.actors.size
print @party.actors.inspect
print @battle_order.inspect


avant la ligne
Code:
for i in 1..@party.size

et reporte ici les messages qui sont affichés (un screen shot des 3 messages)

Posté par Jordan le 29 Jan - 20:26 (2009)





Posté par Pαlвσlѕку le 29 Jan - 21:04 (2009)
Jordan, tu n'aurais pas modifier un script ?

PS : Mets tes images en spoiler car ça prend pas mal de place, SVP.

Posté par Jordan le 29 Jan - 21:26 (2009)
ui, celui où tout les noms de pokémons sont affichés, j'ai enlevé jusqu'a 151 à 494

Posté par Pαlвσlѕку le 29 Jan - 21:37 (2009)
Tu as pensé à supprimer les POKéMON du fichier data_pokemon ?

PS : Si tu n'as pas supprimé les POKéMON, pense à faire une copie avant de faire la manipulation, ça peut toujours servir ^^

Posté par Jordan le 29 Jan - 21:55 (2009)
oui je l'ai fait
dans la data et dans le script ainsi que dans la bdd

Posté par Krosk le 29 Jan - 22:31 (2009)
Il y a 8 pokémons dans le dresseur contre lequel tu te bas ?

Bonhomme, c'est 6 pokémons dans un dresseur, pas 8. Réduit le nombre et ca marchera.

Posté par Jordan le 30 Jan - 07:39 (2009)
-_- comment j'ai pu être aussi con
merci krosk, c'est exactement ça

Posté par Krosk le 30 Jan - 12:59 (2009)
ok dans le titre. Réflexe...