Sujet n°9419
Posté par Ku'rei le 19 Mar - 11:19 (2011)
Titre : Game_Event ne prend pas les commandes prédéfinies en compte
Bonjour tout le monde,
J'ai besoin de créer un Event par script, j'en ai déjà parler dans cette rubrique (cf.La command_355 (et les autres)), Donc tout va bien, aucune erreur de syntaxe. Mais il faut bien que l'évent soit visible sur la map, j'ai donc suivis le tutoriel de RPG Creative (Créer un évènement mais durant le jeu), il faut utiliser la classe Game_Event.
Le problème, c'est que la classe Game_Event ne tiens pas compte des commandes, le paramètre "trigger" ou "list" de l'objet de classe RPG::Event n'est pas définie.
Quelqu'un peut me dire comment je pourrait faire pour que mes commandes soient prises en compte ?

Pour illustrer un peu tout ça, voici ma fonction qui créer l'event :
Code:
class Create_event
  def initialize(chara,x,y,index)
    @chara = chara #id du pok : 001, 023, 120 + "s" si le pokemon est shiny
    @index = index #index du pokemon_voyageur
    create(x,y)
  end
 
  def create(x,y)
    #CREATION DE L'EVENT
    event = RPG::Event.new(0,0)
    event.x = x
    event.y = y
    event.id = search_new_id
    event.name = @index
   
    event.pages[0] = RPG::Event::Page.new
    event.pages[0].graphic.character_name = "CHARA_POKEMONS/"+@chara.to_s + "_0.png" #a définir
    event.pages[0].move_type = 1
    event.pages[0].move_frequency = 5
    event.pages[0].list[1] = RPG::EventCommand.new(355,0,["demarrer_combat_existant(appel_pokemon(1))"])
    event.pages[0].list[1].indent = 0
    event.pages[0].list[1].parameters = 355
    event.pages[0].trigger
   
    @create = Game_Event.new($game_map.map_id, event)
    #Ajoute dans liste des évènements de la carte actuelle
    $game_map.events[event.id] = @create
    # Indique qu'on ajoute un Sprite
    $game_temp.add_event = true
    # ID de l'évènement pour le Sprite à ajouter
    $game_temp.id_add_event = event.id
  end
 
  def search_new_id
    id = 1
    while $game_map.events.include?(id)
      id += 1
    end
    return id
  end
end


Voilà, merci d'avance !