Pokémon Script Project Forum Index

Manuel | Search
 Information des admins 
Si vous désirez parler de PSP ou obtenir du soutient là dessus, merci d'aller faire un tour sur https://pokemonworkshop.com/forum/index.php Imbécile heureux

Un Menu POKéDEX
Goto page: <  1, 2, 3 … , 21, 22, 23  >
 
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Scripts
Previous topic :: Next topic   
Author Message
jerebip
Guest





PostPosted: Thu 25 Jun - 17:05 (2009)    Post subject: Un Menu POKéDEX

Code:
   1. # Script par Lén pour PSP et Menu Pokédex (V4)  
   2.  class Window_Flow < Window_Base  
   3. #==============================================================================  
   4. # Initialisation  
   5. #==============================================================================  
   6.   def initialize  
   7.     super(217-16, 120-16, 320+32, 240+32)  
   8.     self.contents = Bitmap.new(width - 32, height - 32)  
   9.     self.contents.font.name = $fontface  
  10.     self.contents.font.size = $fontsize  
  11.     self.opacity = 0  
  12.     @src_rect = Rect.new(0, 0, 320, 240) # Ecran du pokédex (Explications => Spriteplan, enfin un peu différent ici)  
  13.     @dest_rect = Rect.new(65, 20, 380, 300) # Rectanlge ou afficher le zoom du Sprite  
  14.     # Création des Sprites------------------------------------------------------  
  15.     @sprite_array = []  
  16.     for i in 1..$index_max  
  17.       sprite = Sprite.new  
  18.       sprite.z = 4  
  19.       @sprite_array.push(sprite)  
  20.     end  
  21.     # Apparences des Sprites----------------------------------------------------  
  22.     for i in 1..$index_max  
  23.       @sprite_array[i] = RPG::Cache.picture("option"+i.to_s+".png")  
  24.     end   
  25.     # Coordonnées des Sprites---------------------------------------------------  
  26.     flow_coord  
  27.     update_flow  
  28.     zoom_flow  
  29.   end  
  30. #===============================================================================  
  31. # Refresh - Déplacement (Flow)  
  32. #===============================================================================  
  33.   def refresh  
  34.     # Apparences des Sprites-----------------------------------------------------  
  35.     if $index_flow == 1  
  36.       @sprite_array[$index_max] = RPG::Cache.picture("option"+$index_max.to_s+".png")  
  37.     else  
  38.       @sprite_array[$index_flow-1] = RPG::Cache.picture("option"+($index_flow-1).to_s+".png")  
  39.     end  
  40.     flow_coord  
  41.     # Déplacement des Sprites (Flow)--------------------------------------------  
  42.     if $testx_old != $testx  
  43.       loop do  
  44.         self.contents.clear  
  45.         if $test_direction == "droite" # Si l'on a appuyé sur droite  
  46.           $testx_old -= $flow_speed # décrémenter $testx_old de 20 ou 40  
  47.         end  
  48.         if $test_direction == "gauche"  
  49.           $testx_old += $flow_speed # incrémenter $testx_old ...  
  50.         end  
  51.         self.contents.blt($testx_old, 30, @sprite_array[1], @src_rect, 255) # afficher sprite de 20 ou 40 pixels plus loin  
  52.         self.contents.blt($testx_old+180, 30, @sprite_array[2], @src_rect, 255)  
  53.         self.contents.blt($testx_old+180*2, 30, @sprite_array[3], @src_rect, 255)  
  54.         self.contents.blt($testx_old+180*3, 30, @sprite_array[4], @src_rect, 255)  
  55.         self.contents.blt($testx_old+180*4, 30, @sprite_array[5], @src_rect, 255)  
  56.         Graphics.update  
  57.         if $testx_old == $testx  
  58.           zoom_flow  
  59.           break  
  60.         end  
  61.       end  
  62.     end  
  63.   end    
  64. #==============================================================================  
  65. # Zoom de l'option sélectionnée  
  66. #==============================================================================  
  67.   def zoom_flow  
  68.     case $index_flow   
  69.       when 1  
  70.         self.contents.blt($testx, 30, @sprite_array[1] = RPG::Cache.picture("option0"), @src_rect, 255)  
  71.       when 2  
  72.         self.contents.blt($testx+180, 30, @sprite_array[2] = RPG::Cache.picture("option0"), @src_rect, 255)  
  73.       when 3  
  74.         self.contents.blt($testx+180*2, 30, @sprite_array[3] = RPG::Cache.picture("option0"), @src_rect, 255)  
  75.       when 4  
  76.         self.contents.blt($testx+180*3, 30, @sprite_array[4] = RPG::Cache.picture("option0"), @src_rect, 255)  
  77.       when 5  
  78.         self.contents.blt($testx+180*4, 30, @sprite_array[5] = RPG::Cache.picture("option0"), @src_rect, 255)  
  79.     end  
  80.       self.contents.stretch_blt(@dest_rect,  @sprite_array[$index_flow] = RPG::Cache.picture("option"+$index_flow.to_s+".png"), @src_rect, 255)  
  81.   end  
  82. #==============================================================================  
  83. # Coordonnées des sprites lors de l'ouverture du menu  
  84. #==============================================================================        
  85.   def flow_coord  
  86.     case $index_flow  
  87.       when 1  
  88.         loop_coor(80)  
  89.         $testx = 80  
  90.       when 2  
  91.         loop_coor(80 - 180)  
  92.         $testx = 80 -180  
  93.       when 3  
  94.         loop_coor(80 - 180 * 2)  
  95.         $testx = 80 - 180 * 2  
  96.       when 4 - 180 * 3  
  97.         loop_coor(80 - 180 * 3)  
  98.         $testx = 80 - 180 * 3  
  99.       when 5 - 180 * 4  
 100.         loop_coor(80 - 180 * 4)  
 101.         $testx = 80 - 180 * 4  
 102.     end  
 103.   end  
 104.     
 105.   def loop_coor(x)  
 106.     for i in 1..$index_max  
 107.       self.contents.blt(x, 30, @sprite_array[i], @src_rect, 255)  
 108.       x += 180  
 109.     end  
 110.   end  
 111.     
 112.   def update_flow  
 113.     self.contents.blt($testx, 30, @sprite_array[1], @src_rect, 255)  
 114.     self.contents.blt($testx+180, 30, @sprite_array[2], @src_rect, 255)  
 115.     self.contents.blt($testx+180*2, 30, @sprite_array[3], @src_rect, 255)  
 116.     self.contents.blt($testx+180*3, 30, @sprite_array[4], @src_rect, 255)  
 117.     self.contents.blt($testx+180*4, 30, @sprite_array[5], @src_rect, 255)  
 118.   end  
 119. #=====================================FIN=======================================  
 120. end 

Je montre aussi le script de "Pokemon_Menu" vu que je l'ai aussi modifié.
Back to top
Publicité






PostPosted: Thu 25 Jun - 17:05 (2009)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
Lén
Ex-staff


Joined: 11 Jan 2009
Posts: 1,725
Localisation: Aix
Masculin

PostPosted: Thu 25 Jun - 17:08 (2009)    Post subject: Un Menu POKéDEX

Ben il est ou le script pokémon menu ?
Back to top
jerebip
Guest





PostPosted: Thu 25 Jun - 17:10 (2009)    Post subject: Un Menu POKéDEX

Code:
   1. #==============================================================================  
   2. # ■ Pokemon_Menu  
   3. # Pokemon Script Project - Krosk   
   4. # 18/07/07  
   5. #-----------------------------------------------------------------------------  
   6. # Scene pour Menu Pokédex V4 par Lén  
   7. #-----------------------------------------------------------------------------  
   8. module POKEMON_S  
   9.   class Pokemon_Menu  
  10.     #--------------------------------------------------------------------------  
  11.     #  
  12.     #--------------------------------------------------------------------------  
  13.     def initialize(index_flow = 1)  
  14.       $index_flow = index_flow  
  15.     end  
  16.     #--------------------------------------------------------------------------  
  17.     #   
  18.     #--------------------------------------------------------------------------  
  19.     def main  
  20.       $index_max = 5  
  21.       #$index_flow = 1  
  22.       $fontsize = 14        
  23.       @spriteset = Spriteset_Map.new  
  24.       $heureold = $game_variables[42]  
  25.       $minutesold = $game_variables[43]  
  26.       @pokedex = Sprite.new  
  27.       @pokedex.bitmap = RPG::Cache.picture("DexV4")  
  28.       @pokedex.x = 640  
  29.       Graphics.transition  
  30.       if @pokedex.x != 0  
  31.         loop do  
  32.           @pokedex.x -= 80  
  33.           Graphics.update  
  34.           if @pokedex.x == 0  
  35.             break  
  36.           end  
  37.         end  
  38.       end  
  39.       @flow = Window_Flow.new  
  40.       loop do  
  41.         Graphics.update  
  42.         Input.update  
  43.         update  
  44.         if $scene != self  
  45.           break  
  46.         end  
  47.       end  
  48.       @flow.dispose  
  49. #-------------------------------------------------------------------------------        
  50.       loop do  
  51.         @pokedex.x -= 80  
  52.         Graphics.update  
  53.         if @pokedex.x == -640  
  54.           break  
  55.         end  
  56.       end  
  57. #-------------------------------------------------------------------------------  
  58.       @spriteset.dispose  
  59.       @pokedex.dispose  
  60.     end  
  61.   
  62.     def update  
  63.       @spriteset.update  
  64.       update_command  
  65.     end  
  66.     
  67.     def update_command  
  68.         
  69.       if Input.repeat?(Input::RIGHT)  
  70.         $test_direction = "droite"  
  71.         $testx_old = $testx  
  72.         if $index_flow == $index_max  
  73.           $index_flow = 1  
  74.           $testx = 80  
  75.           $test_direction = "gauche"  
  76.           $flow_speed = 40  
  77.         else  
  78.           $testx -= 180  
  79.           $index_flow += 1  
  80.           $flow_speed = 20  
  81.         end  
  82.         @flow.refresh          
  83.       end  
  84.         
  85.       if Input.repeat?(Input::LEFT)  
  86.         $test_direction = "gauche"  
  87.         $testx_old = $testx  
  88.         if $index_flow == 1  
  89.           $index_flow = $index_max  
  90.           $testx = -180*($index_max-1)+80  
  91.           $test_direction = "droite"  
  92.           $flow_speed = 40  
  93.         else  
  94.           $testx += 180  
  95.           $index_flow -= 1  
  96.           $flow_speed = 20  
  97.         end  
  98.         @flow.refresh  
  99.       end  
 100.         
 101.       if Input.trigger?(Input::B)  
 102.         $game_system.se_play($data_system.cancel_se)  
 103.         $scene = Scene_Map.new  
 104.         return  
 105.       end  
 106.       if Input.trigger?(Input::C)  
 107.         $back = true  
 108.         if $game_party.actors.size == 0 and @command_window.index < 4  
 109.           $game_system.se_play($data_system.buzzer_se)  
 110.           return  
 111.         end  
 112.         case $index_flow  
 113.         when 1 # Pokédex  
 114.           if not($data_pokedex[0])  
 115.             $game_system.se_play($data_system.buzzer_se)  
 116.             return  
 117.           end  
 118.           $game_system.se_play($data_system.decision_se)  
 119.           $scene = Pokemon_Pokedex.new  
 120.         when 2 # Menu  
 121.           if $pokemon_party.size == 0  
 122.             $game_system.se_play($data_system.buzzer_se)  
 123.             return  
 124.           end  
 125.           $scene = Pokemon_Party_Menu.new  
 126.         when 3 # Sac  
 127.           $game_system.se_play($data_system.decision_se)  
 128.           $scene = Pokemon_Item_Bag.new  
 129.         when 4 # Carte dresseur  
 130.           $game_system.se_play($data_system.decision_se)  
 131.           $game_temp.common_event_id = 19  
 132.           $scene = Scene_Map.new  
 133.         when 5 # Sauvegarde  
 134.           if $game_system.save_disabled  
 135.             $game_system.se_play($data_system.buzzer_se)  
 136.             return  
 137.           end  
 138.           $game_system.se_play($data_system.decision_se)  
 139.           $scene = Pokemon_Save.new        
 140.         end  
 141.         return  
 142.       end  
 143.     end  
 144.   end  
 145. end 


Et voilà le script Pokémon Menu,vous avz le script qu'on doit créer dans mon post d'avant et celui de Pokemon_Menu dans ce post
Back to top
Lén
Ex-staff


Joined: 11 Jan 2009
Posts: 1,725
Localisation: Aix
Masculin

PostPosted: Thu 25 Jun - 17:23 (2009)    Post subject: Un Menu POKéDEX

C'est bien gentil, mais tu as modifié quelles lignes et dans quel but ?
Back to top
jerebip
Guest





PostPosted: Thu 25 Jun - 17:26 (2009)    Post subject: Un Menu POKéDEX

Car dans le premier post tu as dit de remplacer Pokemon_Menu par ce script
Back to top
Lén
Ex-staff


Joined: 11 Jan 2009
Posts: 1,725
Localisation: Aix
Masculin

PostPosted: Thu 25 Jun - 17:42 (2009)    Post subject: Un Menu POKéDEX

jerebip wrote:

Car dans le premier post tu as dit de remplacer Pokemon_Menu par ce script
AAAAAAAAhh ok ! ta phrase précédente explicitait pourtant,t que tu y avait apporté d'autre modifs !
Back to top
<€d>
Membre


Joined: 19 Apr 2008
Posts: 707

PostPosted: Thu 25 Jun - 19:18 (2009)    Post subject: Un Menu POKéDEX

Voilà mes messages d'erreur:

le 1er:


le 2ème:





 
Code:

 #==============================================================================
# ■ 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





Et le Rapport Log.txt:


 
Code:
 ---------- 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 voila.
Back to top
Sphinx
Scribe
Scribe


Joined: 07 Jan 2008
Posts: 9,736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

PostPosted: Thu 25 Jun - 22:43 (2009)    Post subject: Un Menu POKéDEX

>> tu utilises 4G+, <€d>, tes screens le démontrent. Ce petit détail m'intéresse de près car ton bug n'a rien à voir avec le menu de len Imbécile heureux Va voir les corrections manuelles à effectuer, section Aide 4G+, tu auras la solution =)
Back to top
<€d>
Membre


Joined: 19 Apr 2008
Posts: 707

PostPosted: Fri 26 Jun - 08:25 (2009)    Post subject: Un Menu POKéDEX

J'utilise psp 4g+ c3

Edit: ça marche
Back to top
axelair11
Guest





PostPosted: Fri 26 Jun - 09:04 (2009)    Post subject: Un Menu POKéDEX

Sa ne marche pas
Back to top
Lén
Ex-staff


Joined: 11 Jan 2009
Posts: 1,725
Localisation: Aix
Masculin

PostPosted: Fri 26 Jun - 11:21 (2009)    Post subject: Un Menu POKéDEX

Jerebip je vois pas du totu d'où peu venir ton bug ... au pire envois moi une démo de ton projet et j'essaye de corrigeR ... mais là ! je vois vraiment pas !

axelair11 wrote:

Sa ne marche pas
De quoi ?
Back to top
Aten974
Membre


Joined: 21 Jun 2008
Posts: 2,579
Localisation: Réunion

PostPosted: Sun 28 Jun - 19:41 (2009)    Post subject: Un Menu POKéDEX

la police est petite après avoir lancer le menu ...
Back to top
axelair11
Guest





PostPosted: Sun 28 Jun - 19:52 (2009)    Post subject: Un Menu POKéDEX

Len non je me suis trompez j'avais mal fait un truc merci comme même
Back to top
Lén
Ex-staff


Joined: 11 Jan 2009
Posts: 1,725
Localisation: Aix
Masculin

PostPosted: Sun 28 Jun - 22:03 (2009)    Post subject: Un Menu POKéDEX

Aten974 wrote:

la police est petite après avoir lancer le menu ...
JE crois avoir donné la reponse quelques pages avant.
Back to top
Aten974
Membre


Joined: 21 Jun 2008
Posts: 2,579
Localisation: Réunion

PostPosted: Mon 29 Jun - 07:48 (2009)    Post subject: Un Menu POKéDEX

Merci ^^"
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Scripts All times are GMT + 1 Hour
Goto page: <  1, 2, 3 … , 21, 22, 23  >
Page 22 of 23

 
Jump to:  

Index | Free forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Thème par Thomas et l'équipe de la refonte PSP 2012 (version 1.0)