Sujet n°2147
Posté par Disccat le 11 Nov - 13:35 (2008)
Titre : Bug sur map [OK]
Le jeu bug sur la map, et toujours au même endroit...


---------- Erreur de script : Game_Map ----------
----- Type
NoMethodError
----- Message
- ARGS - [0]
undefined method `>' for nil:NilClass
----- Position dans Game_Map
Ligne 305
----- Backtrace
Script : Game_Map | Ligne : 305 | Méthode : in `terrain_tag'
Script : Game_Map | Ligne : 301 | Méthode : in `each'
Script : Game_Map | Ligne : 301 | Méthode : in `terrain_tag'
Script : Reflet_Dans_L'eau | Ligne : 104 | Méthode : in `update'
Script : Reflet_Dans_L'eau | Ligne : 194 | Méthode : in `update'
Script : Reflet_Dans_L'eau | Ligne : 193 | Méthode : in `each'
Script : Reflet_Dans_L'eau | Ligne : 193 | Méthode : in `update'
Script : MAPLINK | Ligne : 274 | Méthode : in `update'
Script : MAPLINK | Ligne : 273 | Méthode : in `each'
Script : MAPLINK | Ligne : 273 | Méthode : in `update'
Script : Scene_Map | Ligne : 61 | Méthode : in `alias_update'
Script : MAPPANEL | Ligne : 90 | Méthode : in `update'
Script : Scene_Map | Ligne : 25 | Méthode : in `main'
Script : Scene_Map | Ligne : 19 | Méthode : in `loop'
Script : Scene_Map | Ligne : 30 | Méthode : in `main'
Script : Main | Ligne : 53

EDIT:

----- Message
- ARGS - [0]
undefined method `>' for nil:NilClass
----- Position dans Game_Map
Ligne 305
----- Backtrace
Script : Game_Map | Ligne : 305 | Méthode : in `terrain_tag'
Script : Game_Map | Ligne : 301 | Méthode : in `each'
Script : Game_Map | Ligne : 301 | Méthode : in `terrain_tag'
Script : Game_Map | Ligne : 86 | Méthode : in `passable?'
Script : Game_Character | Ligne : 30 | Méthode : in `passable?'
Script : Game_Player | Ligne : 34 | Méthode : in `passable?'
Script : Train_Actor | Ligne : 371 | Méthode : in `move_right'
Script : Game_Player | Ligne : 24 | Méthode : in `update'
Script : Scene_Map | Ligne : 49 | Méthode : in `alias_update'
Script : Scene_Map | Ligne : 46 | Méthode : in `loop'
Script : Scene_Map | Ligne : 59 | Méthode : in `alias_update'
Script : MAPPANEL | Ligne : 90 | Méthode : in `update'
Script : Scene_Map | Ligne : 25 | Méthode : in `main'
Script : Scene_Map | Ligne : 19 | Méthode : in `loop'
Script : Scene_Map | Ligne : 30 | Méthode : in `main'
Script : Main | Ligne : 53

Posté par Krosk le 11 Nov - 16:24 (2008)
Je vois un script Train_Actor. C'est quoi?

Sérieusement, je ne comprends pas comment vous réalisez vos cartes pour avoir ce bug... Il ne m'est jamais arrivé, alors qu'il vous arrive tout le temps XD. Ca serait pas genre à cause d'un changement de tileset sur une même map??

en attendant, colle ce morceau de script dans Pokemon_Custom, tout à la fin :
Code:
class Game_Map
  def terrain_tag(x, y)
    if @map_id != 0
      for i in [2, 1, 0]
        tile_id = data[x, y, i]
        if tile_id == nil
          return 0
        elsif @terrain_tags[tile_id] == nil
          print tile_id
        elsif @terrain_tags[tile_id] != nil and @terrain_tags[tile_id] > 0
          return @terrain_tags[tile_id]
        end
      end
    end
    return 0
  end
end

Il ne corrige pas le bug, mais il va t'imprimer un numéro et j'aimerais que tu me le donne, ainsi que des infos sur ton tileset que je te demanderai plus tard (éventuellement, ton projet). Tu pourra conserver ce script après en remplacant "print tile_id" par "#print tile_id" au milieu de script.

La solution consiste en général à refaire la map, ce qui résout les problèmes.

Posté par Disccat le 11 Nov - 16:56 (2008)
Il me donne 2 numéro:     6053    et    6061

Il n'y a pas de changement de titelset, ni même d'évènement sur les cases où ça bug.

Le script Train_Actor permet à un second héros (exemple si on a séléctionné le garçon, la fille nous suit), ou encore comme dans D/P sur DS, quand on est accompagné d'un autre dresseur. Cela me permettra lorsque les combats DUO seront possible de combattre au côté d'un dresseur IA qui utilisera ses propres pokémon.

EDIT: En laissant le script que tu m'as passé, le bug a disparu !!! (en ajoutant le #)