Sujet n°7248
Posté par romanouchet le 11 Juil - 18:53 (2010)
Titre : Problème début du jeu
Bien le bonjour, j'ai quelques petits problèmes avec le jeu que je suis entrain de faire.
J'arrive pas à faire l'introduction avec le professeur, ni pouvoir choisir le nom ni le choix des pokémons de départ...
Si vous pouviez m'aider, merci !

Posté par Solfay1 le 11 Juil - 19:23 (2010)
Bonsoir, avant d'utiliser PSP' apprends les règles de RMXP.  :+1:
Bonne soirée.

Posté par romanouchet le 11 Juil - 19:31 (2010)
J'aurais bien aimé consulter le manuel de PSP mais dès que je clique sur le lien, je tombe sur un lien mort ^^
Donc, je me suis reporté vers le forum
Aussi non, je comprends assez bien l'utilisation de RPGM XP mais j'étais plus habitué au VX j'avoue même si il y que peu de différences

Posté par Mattoon le 11 Juil - 20:04 (2010)
Le manuel est dans la page d'accueil dans "sections à voir", mais de toute façon il ne t'apprendra rien sur ton
probleme puisque ça relève des bases de RMXP.

Posté par romanouchet le 12 Juil - 14:40 (2010)
Enfin, merci quand même, mais j'ai finit par trouver ^^

Par contre (je profite de mon topic pour éviter de devoir en ouvrir un autre ^^), lorsque je veux aller sur le Pokédex, ca bug

Voici le rapport LOG


 
Rapport

Citation:


---------- Erreur de script : Pokemon_Pokedex ----------
----- Type
NoMethodError

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

----- Position dans Pokemon_Pokedex
Ligne 676

----- Backtrace
Script : Pokemon_Pokedex | Ligne : 676 | Méthode : in `initialize'
Script : Pokemon_Pokedex | Ligne : 52 | Méthode : in `new'
Script : Pokemon_Pokedex | Ligne : 52 | Méthode : in `main'
Script : Main | Ligne : 49



Et si vous en avez besoin pour m'aider, voici le script Pokédex

 
Script

Citation:



#==============================================================================
# ¦ Pokemon_Pokedex
# Pokemon Script Project - Krosk
# 18/07/07
# 07/09/08 - révision v0.7, Pokédex de Shaolan (PSP4G) simplifié et optimisé
#             (crédits : Shaolan, Slash)
# 03/01/09 - révision
#-----------------------------------------------------------------------------
# Scène modifiable
#-----------------------------------------------------------------------------
# Pokédex
#-----------------------------------------------------------------------------

module POKEMON_S
  class Pokemon_Pokedex #(Numérique)
    def initialize(index = 0, show = true)
      @index = index
      @show = show
      @table = []
      # Regional
      if POKEMON_S._DEXREG
        for id in 1..$data_pokedex.length-1
          @table[Pokemon_Info.id_bis(id)] = id
        end
        @table.shift # débarasser l'élément 0
        @table.compact!
      else
      # National
        for id in 1..$data_pokedex.length-1
          @table.push(id)
        end
      end
    end
   
    def main
      # Fenêtre principale
      # Fond
      @background = Sprite.new
      @background.bitmap = RPG::Cache.picture("PokedexSh.png")
      @background.z = 5
      @backbackground = Sprite.new
      @backbackground.bitmap = RPG::Cache.picture("PokedexShback.png")
      @backbackground.z = 0
     
      # Liste
      $game_variables[5000]["pokedex"]["vus"] = 0
      $game_variables[5000]["pokedex"]["captures"] = 0
      for i in 1...$data_pokemon.length
        $game_variables[5000]["pokedex"]["vus"] += 1 if $data_pokedex[i][0]
        $game_variables[5000]["pokedex"]["captures"] += 1 if $data_pokedex[i][1]
      end
      @pokemon_list = POKEMON_S::Pokemon_List.new(@table, @list, @index, @show)
      @pokemon_list.active = true
     
      # Vu/Capture
      #@pokemon_amount = Window_Base.new(27 - 16, 432 - 16, 420 + 32, 48 + 32)
      @pokemon_amount = Window_Base.new(27 - 16, 70, 155, 400)
      @pokemon_amount.contents = Bitmap.new(155-32, 400-32)
      #@pokemon_amount.contents = Bitmap.new(420, 48)
      @pokemon_amount.contents.font.name = $fontface
      @pokemon_amount.contents.font.size = $fontsize
      @pokemon_amount.contents.font.italic = true
      @pokemon_amount.opacity = 0
      #@pokemon_amount.contents.draw_text(0, 0, 420, 48, "VUS " + viewed, 0)
      #@pokemon_amount.contents.draw_text(0, 0, 420, 48, "CAPTURéS " + captured.to_s, 2)
      @pokemon_amount.contents.draw_text(0, 0, 155-32, 35, "VUS", 1)# + viewed, 1)
      @pokemon_amount.contents.draw_text(0, 78, 155-32, 35, "PRIS", 1)# + captured.to_s, 1)
      rect = Rect.new (32, 35, 120, 3)
      @pokemon_amount.contents.fill_rect(rect, Color.new(0, 0, 0))
      rect = Rect.new (30, 33, 120, 3)
      @pokemon_amount.contents.fill_rect(rect, Color.new(255, 255, 255))
      rect = Rect.new (32, 78 + 35, 120, 3)
      @pokemon_amount.contents.fill_rect(rect, Color.new(0, 0, 0))
      rect = Rect.new (30, 78 + 33, 120, 3)
      @pokemon_amount.contents.fill_rect(rect, Color.new(255, 255, 255))
      string_viewed = sprintf("% 3s", $game_variables[5000]["pokedex"]["vus"].to_s)
      string_captured = sprintf("% 3s", $game_variables[5000]["pokedex"]["captures"].to_s)
      @pokemon_amount.contents.draw_text(0, 37, 155-32, 35, string_viewed, 1)
      @pokemon_amount.contents.draw_text(0, 78 + 37, 155-32, 35, string_captured, 1)
     
      @pokemon_list.update
      @pokemon_list.refresh
      # Fin Fenêtre principale

     
      Graphics.transition
      loop do
        Graphics.update
        Input.update
        update
        if $scene != self
          break
        end
      end
      Graphics.freeze
      @pokemon_list.dispose
      @pokemon_amount.dispose
      @background.dispose
      @backbackground.dispose
    end
   
    def update
      @pokemon_list.update
      @index = @pokemon_list.index
     
      if Input.trigger?(Input::B)
        $game_system.se_play($data_system.cancel_se)
        $scene = POKEMON_S::Pokemon_Menu.new(0)
        return
      end
     
      if Input.trigger?(Input::C)
        if @show
          pokemon_id = @table[@index]
        else
          pokemon_id = @list[@index]
        end
        seen = $data_pokedex[pokemon_id][0]
        if seen == false
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        $scene = Pokemon_Detail.new(pokemon_id, @show)
        return
      end
     
      if Input.trigger?(Input::A)
        @show = @show ? false : true
        @index = 0
        @pokemon_list.dispose
        @pokemon_list = POKEMON_S::Pokemon_List.new(@table, @list, @index, @show)
        @pokemon_list.active = true
        @pokemon_list.update
        @pokemon_list.refresh
      end
    end
  end
 
 
  class Pokemon_Detail
    def initialize(id, show, mode = 0, appel = "pkdx", z_level = 100)
      @id = id
      @show = show
      @mode = mode
      @appel = appel
      @z_level = z_level
      @table = []
      # Regional
      if POKEMON_S._DEXREG
        for id in 1..$data_pokedex.length-1
          @table[Pokemon_Info.id_bis(id)] = id
        end
        @table.shift # débarasser l'élément 0
        @table.compact!
      else
      # National
        for id in 1..$data_pokedex.length-1
          @table.push(id)
        end
      end
    end
   
    def main
      # Fenêtre détail
      @background = Sprite.new
      @background.bitmap = RPG::Cache.picture("PokedexShfond1.png")
      @background.z = @z_level
     
      # Sprite
      @pokemon_sprite = Sprite.new
      @pokemon_sprite.x = 26
      @pokemon_sprite.y = 71
      @pokemon_sprite.z = 10 + @z_level
      @pokemon_sprite.visible = false
     
      # Identité
      @data_window = Window_Base.new(233-16, 76-16, 370+32, 196+32)
      @data_window.contents = Bitmap.new(370, 196)
      color = Color.new(60,60,60)
      @data_window.contents.font.name = $fontface
      @data_window.contents.font.size = $fontsizebig
      @data_window.contents.font.color = color
      @data_window.opacity = 0
      @data_window.z = 10 + @z_level
      @data_window.visible = false
     
      # Descr
      @text_window = Window_Base.new(60 - 16, 252 - 16 + 51, 550 + 32, 160 + 32)
      @text_window.contents = Bitmap.new(550 , 160)
      @text_window.contents.font.name = $fontface
      @text_window.contents.font.size = $fontsize
      @text_window.contents.font.color = color
      @text_window.opacity = 0
      @text_window.z = 10 + @z_level
      @text_window.visible = false
     
      @list = []
      for i in 0.. @table.length-1
        if $data_pokedex[@table[i]][0]
          @list.push(@table[i])
        end
      end
     
      if @mode == 0
        filename = "Audio/SE/Cries/" + sprintf("%03d", @id) + "Cry.wav"
        if FileTest.exist?(filename)
          Audio.se_play(filename)
        end
      end
     
      data_refresh
      @background.visible = false
      @pokemon_sprite.visible = false
      @data_window.visible = false
      @text_window.visible = false
      case @mode
      when 0
        @background.visible = true
        @pokemon_sprite.visible = true
        @data_window.visible = true
        @text_window.visible = true
      when 1
        refresh_zone
      when 2
        refresh_cri
      when 3
        refresh_tail
      end
       
      Graphics.transition
      loop do
        Graphics.update
        Input.update
        update
        if $scene != self
          break
        end
      end
      Graphics.freeze
      @background.dispose
      @data_window.dispose
      @pokemon_sprite.dispose
      @text_window.dispose
    end
   
    def update
      case @appel
      when "pkdx"
        if Input.trigger?(Input::B)
          $game_system.se_play($data_system.cancel_se)
          Graphics.freeze
          hide
          if @show
            index = @table.index(@id)
          else
            index = @list.index(@id)
          end
          $scene = Pokemon_Pokedex.new(index, @show)
          return
        end
       
        if Input.trigger?(Input::C) and @mode == 1
          Graphics.freeze
          hide
          $game_system.se_play($data_system.decision_se)
          $game_temp.map_temp = ["PKDX", false, $game_map.map_id, $game_player.x,
            $game_player.y, $game_player.direction, $game_player.character_name,
            $game_player.character_hue, $game_player.step_anime,
            $game_system.menu_disabled, POKEMON_S::_MAPLINK, @id, @show]
          $game_temp.transition_processing = true
          $game_temp.transition_name = ""
          POKEMON_S::_MAPLINK = false
          $scene = Scene_Map.new
          $game_map.setup(POKEMON_S::_WMAPID)
          $game_player.moveto(9, 7)
          $game_map.autoplay
          $game_map.update
          return
        end
       
        if Input.trigger?(Input::C) and @mode == 2
          filename = "Audio/SE/Cries/" + sprintf("%03d", @id) + "Cry.wav"
          if FileTest.exist?(filename)
            Audio.se_play(filename)
          end
        end
       
        if Input.trigger?(Input::DOWN)
          Graphics.freeze
          index = @list.index(@id)
          if @id == @list.last
            @id = @list.first
          else
            @id = @list[index+1]
          end
          hide
          Graphics.transition(5)
          Graphics.freeze
          @mode = 0
          data_refresh
          Graphics.transition
          filename = "Audio/SE/Cries/" + sprintf("%03d", @id) + "Cry.wav"
          if FileTest.exist?(filename)
            Audio.se_play(filename)
          end
        end
       
        if Input.trigger?(Input::UP)
          Graphics.freeze
          index = @list.index(@id)
          if @id == @list.first
            @id = @list.last
          else
            @id = @list[index-1]
          end
          hide
          Graphics.transition(5)
          Graphics.freeze
          @mode = 0
          data_refresh
          Graphics.transition
          filename = "Audio/SE/Cries/" + sprintf("%03d", @id) + "Cry.wav"
          if FileTest.exist?(filename)
            Audio.se_play(filename)
          end
        end
       
        if Input.trigger?(Input::A) and @pokemon_sprite.visible == false
          @show = @show ? false : true
          @index = 0
          @pokemon_list.dispose
          @pokemon_list = POKEMON_S::Pokemon_List.new(@list, @index, @show)
          @pokemon_list.active = true
          @pokemon_list.update
          @pokemon_list.refresh
        end
       
        if Input.trigger?(Input::LEFT)
          if @mode > 0
            Graphics.freeze
            hide
            #Graphics.transition(1)
            @mode -= 1
            #Graphics.freeze
            case @mode
            when 0
              data_refresh
            when 1
              refresh_zone
            when 2
              refresh_cri
            when 3
              refresh_tail
            end
            Graphics.transition(1)
          end
        end
       
        if Input.trigger?(Input::RIGHT)
          if @mode < 3
            Graphics.freeze
            hide
            #Graphics.transition(1)
            @mode += 1
            #Graphics.freeze
            case @mode
            when 0
              data_refresh
            when 1
              refresh_zone
            when 2
              refresh_cri
            when 3
              refresh_tail
            end
            Graphics.transition(1)
          end
        end
      when "map"
        if Input.trigger?(Input::B)
          $game_system.se_play($data_system.buzzer_se)
        end
       
        if Input.trigger?(Input::C)
          $game_system.se_play($data_system.cancel_se)
          Graphics.freeze
          $scene = Scene_Map.new
          return
        end
        
        if Input.trigger?(Input::DOWN)
          $game_system.se_play($data_system.buzzer_se)
        end
       
        if Input.trigger?(Input::UP)
          $game_system.se_play($data_system.buzzer_se)
        end
       
        if Input.trigger?(Input::A)
          $game_system.se_play($data_system.buzzer_se)
        end
       
        if Input.trigger?(Input::LEFT)
          $game_system.se_play($data_system.buzzer_se)
        end
       
        if Input.trigger?(Input::RIGHT)
          $game_system.se_play($data_system.buzzer_se)
        end
      when "combat"
        if Input.trigger?(Input::B)
          $game_system.se_play($data_system.buzzer_se)
        end
       
        if Input.trigger?(Input::C)
          $game_system.se_play($data_system.cancel_se)
          Graphics.freeze
          self.dispose
          Graphics.transition
          return
        end
        
        if Input.trigger?(Input::DOWN)
          $game_system.se_play($data_system.buzzer_se)
        end
       
        if Input.trigger?(Input::UP)
          $game_system.se_play($data_system.buzzer_se)
        end
       
        if Input.trigger?(Input::A)
          $game_system.se_play($data_system.buzzer_se)
        end
       
        if Input.trigger?(Input::LEFT)
          $game_system.se_play($data_system.buzzer_se)
        end
       
        if Input.trigger?(Input::RIGHT)
          $game_system.se_play($data_system.buzzer_se)
        end
      end
    end
   
    def hide
      @background.visible = false
      @pokemon_sprite.visible = false
      case @mode
      when 0
        @data_window.visible = false
        @text_window.visible = false
      when 1
        @text.dispose
      when 2
        @data_window.visible = false
        @text_window.visible = false
      when 3
        @trainer.dispose
        @pokemon_new_sprite.dispose
        @text.dispose
      end
    end
       
   
    def data_refresh
      @background.bitmap = RPG::Cache.picture("PokedexShfond1.png")
      @pokemon_sprite.x = 26
      @pokemon_sprite.y = 71
      @data_window.x = 233-16
      @data_window.y = 76-16
      @pokemon_sprite.visible = true
      @background.visible = true
      @data_window.visible = true
      @text_window.visible = true
     
      @pokemon = $data_pokemon[@id]
      show = $data_pokedex[@id][1]
      ida = sprintf("%03d", @id)
      @pokemon_sprite.bitmap = RPG::Cache.battler("Front_Male/" + ida + ".png", 0)

      if POKEMON_S._DEXREG
        name = "N." + sprintf("%03d", Pokemon_Info.id_bis(@id)) + "  " + @pokemon[0]
      else
        name = "N." + ida + "  " + @pokemon[0]
      end

      if show # Descr accessible
        species = @pokemon[9][1]
        height_data = @pokemon[9][2]
        weight = @pokemon[9][3]
      else
        species = "???"
        height_data = "???"
        weight = "???  "
      end
     
      @data_window.contents.clear
      @data_window.contents.draw_text(15, 0, 370, 47, name)
      @data_window.contents.draw_text(15, 41, 370, 47, "Pokémon " + species)
      @data_window.contents.draw_text(41, 95, 230, 47, "Taille: ")
      @data_window.contents.draw_text(41, 95, 212, 47, height_data, 2)
      @data_window.contents.draw_text(41, 148, 230, 47, "Poids: ")
      @data_window.contents.draw_text(41, 148, 230, 47, weight, 2)
     
      @text_window.contents.clear
      if show
        text = @pokemon[9][0]
        string = string_builder(text, 51)
        string1 = string[0]
        string2 = string[1]
        string3 = string[2]
        string4 = string[3]
        @text_window.contents.draw_text(0, 0, 550, 40, string1)
        @text_window.contents.draw_text(0, 40, 550, 40, string2)
        @text_window.contents.draw_text(0, 80, 550, 40, string3)
        @text_window.contents.draw_text(0, 120, 550, 40, string4)
      end
    end
   
    def refresh_zone
      @background.bitmap = RPG::Cache.picture("PokedexShfond2.png")
      @background.visible = true
      @text = Window_Base.new(32-16, 223-16, 576+32, 47+32)
      @text.contents = Bitmap.new(576, 47)
      @text.contents.font.name = $fontface
      @text.contents.font.size = $fontsizebig
      @text.contents.font.color = Color.new(60,60,60)
      @text.contents.draw_text(0, 0, 576, 47, "OUVRIR LA CARTE", 1)
      @text.opacity = 0
    end
   
    def refresh_cri
      @background.bitmap = RPG::Cache.picture("PokedexShfond3.png")
      @pokemon_sprite.visible = true
      @background.visible = true
      @data_window.visible = true
      @pokemon_sprite.x = 51
      @pokemon_sprite.y = 75
      @data_window.x = 211 - 16
      @data_window.y = 75 - 5
      @data_window.contents.clear
      @data_window.contents.draw_text(0, 0, 339, 47, "CRI DE")
      @data_window.contents.draw_text(0, 41, 339, 47, @pokemon[0])
    end
   
    def refresh_tail
      @background.bitmap = RPG::Cache.picture("PokedexShfond4.png")
      @background.visible = true
      @pokemon_new_sprite = Sprite.new
      ida = sprintf("%03d", @id)
      @pokemon_new_sprite.bitmap = RPG::Cache.battler("Front_Male/" + ida + ".png", 0)
      @pokemon_new_sprite.color = Color.new(0, 0, 0, 255)
     
      @trainer = Sprite.new
      @trainer.bitmap = RPG::Cache.battler("trainer000.png", 0)
      @trainer.color = Color.new(0, 0, 0, 255)
     
      sizes = []
      for sprite in [@trainer, @pokemon_new_sprite]
        i = j = 0
        while sprite.bitmap.get_pixel(i,j).alpha == 0
          i += 1
          if i > sprite.bitmap.width
            i = 0
            j += 1
          end
        end
        up_pix = j
        i = 0
        j = sprite.bitmap.height
        while sprite.bitmap.get_pixel(i,j).alpha == 0
          i += 1
          if i > sprite.bitmap.width
            i = 0
            j -= 1
          end
        end
        down_pix = j
        sizes.push( down_pix-up_pix + 0.0 )
        sizes.push( down_pix )
      end
     
      if $data_pokemon[@id][9][2].to_f > 1.50
        zoom_pok = 1.00
        zoom_dre = 1.50 / $data_pokemon[@id][9][2].to_f * sizes[2] / sizes[0]
      else
        zoom_pok = $data_pokemon[@id][9][2].to_f/1.50 * sizes[0] / sizes[2]
        zoom_dre = 1.00
      end
     
      @pokemon_new_sprite.ox = @pokemon_new_sprite.bitmap.width/2
      @pokemon_new_sprite.oy = sizes[3]#@pokemon_new_sprite.bitmap.height
      @pokemon_new_sprite.x = 141 + @pokemon_new_sprite.ox
      @pokemon_new_sprite.y = 92 + 160#@pokemon_new_sprite.oy
     
      @trainer.ox = @trainer.bitmap.width/2
      @trainer.oy = sizes[1]#@trainer.bitmap.height
      @trainer.x = 339 + @trainer.ox
      @trainer.y = 92 + 160 #@trainer.oy
     
      @pokemon_new_sprite.zoom_x = @pokemon_new_sprite.zoom_y = zoom_pok
      @trainer.zoom_x = @trainer.zoom_y = zoom_dre
     
      @text = Window_Base.new(32-16, 367-16, 576+32, 47+32)
      @text.contents = Bitmap.new(576, 47)
      @text.contents.font.name = $fontface
      @text.contents.font.size = $fontsizebig
      @text.contents.font.color = Color.new(60,60,60)
      @text.contents.draw_text(0, 0, 576, 47, "TAILLE COMPARE A #{Player.name}", 1)
      @text.opacity = 0
    end
   
    def string_builder(text, limit)
      length = text.length
      full1 = false
      full2 = false
      full3 = false
      full4 = false
      string1 = ""
      string2 = ""
      string3 = ""
      string4 = ""
      word = ""
      for i in 0..length
        letter = text[i..i]
        if letter != " " and i != length
          word += letter.to_s
        else
          word = word + " "
          if (string1 + word).length < limit and not(full1)
            string1 += word
            word = ""
          else
            full1 = true
          end
         
          if (string2 + word).length < limit and not(full2)
            string2 += word
            word = ""
          else
            full2 = true
          end
         
          if (string3 + word).length < limit and not(full3)
            string3 += word
            word = ""
          else
            full3 = true
          end
         
          if (string4 + word).length < limit and not(full4)
            string4 += word
            word = ""
          else
            full4 = true
          end
        end
      end
      return [string1, string2, string3, string4]
    end
   
   
  end
 
 
  class Pokemon_List < Window_Selectable
    def initialize(table, id_list = [], menu_index = 0, show = true)
      # show montre les pokémons intermédiaires
      # id_list liste des pokémons vu/attrapés
      #super(50-16, 48-16, 560+32, 387+32, 43)
      @hauteur = 35
      super(340, 32, 560+32, 384+32, @hauteur)#(640 - 320, 48-16, 560+32, 387+32, 43)
      @index = menu_index
      @table = table
      @id_list = id_list
      @last = id_list[-1]
      @show = show
      self.opacity = 0
      if @show
        value = @table.index(@last)
        value += 1 if value != nil
      else
        value = id_list.length
      end
      if value == nil
        value = 1
        @last = 1
      end
      @flag_up = 0
      @flag_down = 0
      @item_max = value
      @pokeball = Sprite.new
      @pokeball.bitmap = RPG::Cache.picture("PokedexShBall.png")
      @pokeball.ox = 150
      @pokeball.oy = 150
      @pokeball.y = 240
      @pokeball.z = 6 + @z_level
      self.contents = Bitmap.new(width - 32, value * @hauteur)
      self.contents.font.name = $fontface
      self.contents.font.size = $fontsize
      @sprite_array = []
      for i in 1..5
        sprite = Sprite.new
        sprite.z = 4 + @z_level
        sprite.x = 185
        sprite.y = -4 + 160*(i-2)
        @sprite_array.push(sprite)
      end
      sprite_refresh
      @pokeball.angle = - @index * 22.5
    end
   
    def dispose
      super
      for sprite in @sprite_array
        sprite.dispose
      end
      @pokeball.dispose
    end
   
    def update
      if @flag_up > 0
        @flag_up -= 1
        self.oy -= 7
        #self.oy += 1 if @flag_up == 0
        @pokeball.angle += 4.5
        for sprite in @sprite_array
          sprite.y += 32
        end
        if @flag_up == 0
          @sprite_array.unshift(@sprite_array.pop)
          @sprite_array[0].y -= 800
          sprite_refresh
        end
        return
      end
      if @flag_down > 0
        @flag_down -= 1
        self.oy += 7
        #self.oy -= 1 if @flag_down == 0
        @pokeball.angle -= 4.5
        for sprite in @sprite_array
          sprite.y -= 32
        end
        if @flag_down == 0
          @sprite_array.push(@sprite_array.shift)
          @sprite_array[4].y += 800
          sprite_refresh
        end
        return
      end
      if self.active and @item_max > 0 and @index >= 0
        if Input.repeat?(Input::DOWN)
          if (@column_max == 1 and Input.trigger?(Input::DOWN)) or
             @index < @item_max - @column_max
            $game_system.se_play($data_system.cursor_se)
            @index = (@index + @column_max) % @item_max
            @flag_down += 5
            return
          end
        end
       
        if Input.repeat?(Input::UP)
          if (@column_max == 1 and Input.trigger?(Input::UP)) or
             @index >= @column_max
            $game_system.se_play($data_system.cursor_se)
            @index = (@index - @column_max + @item_max) % @item_max
            @flag_up += 5
            return
          end
        end

        if Input.repeat?(Input::RIGHT)
          if @column_max >= 2 and @index < @item_max - 1
            $game_system.se_play($data_system.cursor_se)
            @index += 1
          end
        end

        if Input.repeat?(Input::LEFT)
          if @column_max >= 2 and @index > 0
            $game_system.se_play($data_system.cursor_se)
            @index -= 1
          end
        end

        if Input.repeat?(Input::R)
          if self.top_row + (self.page_row_max - 1) < (self.row_max - 1)
            $game_system.se_play($data_system.cursor_se)
            @index = [@index + self.page_item_max - 2, @item_max - 1].min
            self.top_row += self.page_row_max
            sprite_refresh
          end
        end

        if Input.repeat?(Input::L)
          if self.top_row > 0
            $game_system.se_play($data_system.cursor_se)
            @index = [@index - self.page_item_max + 2, 0].max
            self.top_row -= self.page_row_max
            sprite_refresh
          end
        end
      end
     
      if self.active and @help_window != nil
        update_help
      end
     
      update_cursor_rect
   
      if @index < 6 and self.oy != 35 + (4-@index) * @hauteur
        self.oy = -(35 + (4-@index) * @hauteur)
      end
    end
   
    def update_cursor_rect
      self.cursor_rect.empty
      row = @index / @column_max
      if row < self.top_row + 5
        self.top_row = row - 5
      end
      if row > self.top_row + (self.page_row_max - 5)
        self.top_row = row - (self.page_row_max - 5)
      end
    end
   
    def sprite_refresh
      for i in 0..4
        if not @show and $data_pokedex[@id_list[(@index+i-2)%@id_list.length]][0]
          @sprite_array[i].bitmap = RPG::Cache.battler("Front_Male/#{sprintf('%03d', @id_list[(@index+i-2)%@id_list.length])}.png", 0)
        elsif @show
          if $data_pokedex[@table[(@index+i-2)%(@table.index(@last)+1)]][0] #(@index+i-2)%@last + 1)
            @sprite_array[i].bitmap = RPG::Cache.battler("Front_Male/#{sprintf('%03d', @table[(@index+i-2)%@last])}.png", 0) 
          else
            @sprite_array[i].bitmap = RPG::Cache.battler("Front_Male/000.png", 0)
          end
        end
      end
    end
   
    def refresh
      self.contents.clear
      normal_color = Color.new(60,60,60)
      self.contents.font.color = normal_color
      i = 0 # désigne l'entrée
     
      for value in @table
        if @id_list.include?(value)
          i += 1
          ida = sprintf("%03d", @table.index(value) + 1)
          string = "  N." + ida
          self.contents.draw_text(10, @hauteur * (i-1), 480, @hauteur, string)
          string = Pokemon_Info.name(value)
          self.contents.draw_text(110, @hauteur * (i-1), 300, @hauteur, string)
          if $data_pokedex[value][1]
            bitmap = RPG::Cache.picture("Pokedexball.png")
            self.contents.blt(80, 5 + @hauteur * (i-1), bitmap, Rect.new(0, 0, 24, 24))
          end
        elsif @show and i < @table.index(@last) + 1
          i += 1
          ida = sprintf("%03d", @table.index(value) + 1)
          string = "  N." + ida
          self.contents.draw_text(10, @hauteur * (i-1), 480, @hauteur, string)
          string = "-------"
          self.contents.draw_text(110, @hauteur * (i-1), 300, @hauteur, string)
        elsif i >= @table.index(@last) + 1
          break
        else
          next
        end
       
      end
    end
   
  end
end 




Posté par Pαlвσlѕку le 12 Juil - 16:33 (2010)
Si tu n'as pas de Pokémon dans ton équipe, il est normal que ça bug.

Posté par romanouchet le 15 Juil - 10:56 (2010)
Justement, j'ai des pokémons dans mon équipe et quand je sauvegarde, j'ai pokedex - 1pokémon (le starter obtenu au début quoi !), c'est juste quand j'appuie dessus ca plante


Edit: Bonjour !
J'ai un autre problème, j'ai crée un combat contre un dresseur avec le manuel et le jeu plante juste au moment ou le combat doit s'afficher.
"Erreur dans le script Loading, inspectez-le rapport"
"??? 'Pokemon_battle_trainer' ? 212 ??? Errno::ENOENT ??????????????"
"No such file or directory - graphics/battlebacks/.png"

Voici le rapport Log

Citation:
---------- Erreur de script : Loading ----------
----- Type
Errno::ENOENT

----- Message
No such file or directory - Graphics/Battlebacks/.png

----- Position dans Loading
Ligne 1

----- Backtrace
Script : Loading | Ligne : 1 | Méthode : in `initialize'
Script : Loading | Ligne : 1 | Méthode : in `new'
Script : Loading | Ligne : 1 | Méthode : in `load_bitmap'
Script : Loading | Ligne : 1 | Méthode : in `battleback'
Script : Pokemon_Battle_Trainer | Ligne : 212 | Méthode : in `pre_battle_transition'
Script : Pokemon_Battle_Core 1 | Ligne : 146 | Méthode : in `main'
Script : Main | Ligne : 49

Posté par romanouchet le 16 Juil - 17:54 (2010)
Est-ce que quelqu'un pourrait m'aider s'il-vous plaît ???
Car, au niveau des images, j'ai rien chipoter non plus !

Posté par AretoSama le 16 Juil - 18:41 (2010)
Comment tu as fait l'introcuction avec le professeur et le choix du starter????
Répond par mp stp

Posté par romanouchet le 16 Juil - 18:54 (2010)
J'ai fait un évenement qui en active trois autres.
Les pokéballs des starters, un Bulbizarre avec pour condition qu'il s'active si un interrupteur est activé dans le précèdent évent (les deux autres pareils)
Après, du texte, "Veux-tu Bulbizarre, le pokémon plante ?" Oui, non, si oui, j'ai fait "script ajouter_pokémon("BULBIZARRE", 5, false)
Après, un message "Vous avez obtenu Bulbizarre !
Après, désactiver les interrupteurs des pokéballs et activer un interrupteur pour le prof du début, le héros se déplace vers lui et après du texte, j'ai mit le script; activer_pokedex et après du texte et c'est la fin de l'évent.
Mais à la fin de l'évent, j'ai mit effacer l'évent, est-ce que cela pourrait venir de là ?
Car le pokédex est quand même activer !


Pour l'introduction, une carte noir, position de l'équipe de départ.
Un évent, jouer musique, afficher image, déplacer image, attendre 15 frames, afficher image, script afficher message, entrer le nom du héros: Red, 12 lettres, après du texte,effacer image 1, effacer image 2, faire disparaître l'effet sonore, préparer la transition, téléporter équipe

Edit: ah désoler, j'avais pas vu que tu me demandais par mp, je t'envoie cela de suite ^^

Posté par Zion le 20 Juil - 01:36 (2010)
romanouchet a écrit:

Edit: Bonjour !
J'ai un autre problème, j'ai crée un combat contre un dresseur avec le manuel et le jeu plante juste au moment ou le combat doit s'afficher.
"Erreur dans le script Loading, inspectez-le rapport"
"??? 'Pokemon_battle_trainer' ? 212 ??? Errno::ENOENT ??????????????"
"No such file or directory - graphics/battlebacks/.png"

~~La ligne ne bleu explique tout: tu as besoin de mettre un battleback dans la tileset de ta map.~~



Posté par romanouchet le 21 Juil - 19:10 (2010)
Je l'avais mit dans le dresseur, fallait que je le mettes dans l'évènement qui déclenche le combat alors ?

Posté par Schtroumpf Anarchiste le 21 Juil - 19:32 (2010)
Non, dans gestion des chipsets ( BUG DEJA CONNU, merci de faire " rechercher " ).