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

Amélioration du mode debug !

 
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Scripts
Previous topic :: Next topic   
Author Message
Drakhaine
Guest





PostPosted: Sat 2 Feb - 03:32 (2008)    Post subject: Amélioration du mode debug !

Voilà, ça me stressait de voir une option "modifier" qui ne menait à rien, donc j'ai codé pendant quelques heures et on obtient un résultat très sympa :
Vous pouvez modifier en passant par le mode debug le pool (ou moveset, les attaques quoi) des pokémon de votre équipe. Pour ce faire rien de plus simple :

- Séléctionnez "Modifier"
- Séléctionnez un pokémon
- Séléctionnez une attaque parmis toutes les attaques programmées (les votres aussi si vous en avez ajoutées)
- Séléctionnez un des 4 slots

Voilà !

Très important : le script Pokemon_Skill devra être copié/collé AU-DESSUS du script Scene_Debug !!

Voici le code qu'il faut mettre dans le script Scene_Debug (le deuxième !) à la place de l'ancien


Code:


 class Scene_Debug
  include POKEMON_S
# ------------------------------
#Script modifié par RPG Advocate, traduit et adapté par Bodom-Child
  def main
    @z_level = 200
    
    @left_window = Window_DebugLeft.new
    @right_window = Window_DebugRight.new
    @left_window.z = 0
    @right_window.z = 0
    
    c1 = "Régénérer l'équipe"
    c2 = "Invincible"
    c3 = "Argent"
    c4 = "Rencontres aléatoires"
    c5 = "Objets"
    c6 = "Armes"
    c7 = "Armures"
    c8 = "Téléporter"
    c9 = "Vitesse de marche"
    c10 = "Sauvegarder"
    
    c1 = "Ajouter"
    c2 = "Supprimer"
    c3 = "Modifier"
    c4 = "Soigner"
    c5 = "Objets"
    c55 = "Argent"
    c6 = "Pokédex"
    c7 = "Rencontres"
    c8 = "Invincibilité"
    c9 = "Vitesse"
    c10 = "Téléporter"
    c11 = "MAJ BDD"
    c12 = "Compiler"
    
    x1 = "Activé"
    x2 = "Désactivé"
    
    w1 = "La plus basse"
    w2 = "Très basse"
    w3 = "Basse"
    w4 = "Rapide"
    w5 = "Très rapide"
    w6 = "La plus rapide"
    
    d1 = "Point de Retour"
    d2 = "Enregistrer Pos"
    
    p1 = "Désactivé"
    p2 = "Activé"
    p3 = "Activé et vierge"
    p4 = "Activé et complété"
    
    
    main_commands = [c1, c2, c3, c4, c5, c55, c6, c7, c8, c9, c10, c11, c12]
    speed_commands = [w1, w2, w3, w4, w5, w6]
    toggle_commands = [x1, x2]
    warp_commands = [d1, d2]
    pkdx_commands = [p1, p2, p3, p4]
    
    skills_list = []
    for i in 1..$data_skills_pokemon.length-1
      if $data_skills_pokemon[i][0].is_a?(String) and $data_skills_pokemon[i][0] != ""
        skills_list.push(i)
      end
    end
    
    @other_window = Window_Command.new(192, main_commands)
    @other_window.z = @z_level + 20
    @speed_window = Window_Command.new(200, speed_commands)
    @enc_window = Window_Command.new(150, toggle_commands)
    @god_window = Window_Command.new(150, toggle_commands)
    @warp_window = Window_Command.new(240, warp_commands)
    @target_window = Window_Target.new
    @skills_window = Skills_List.new(skills_list)
    @skills_window.z = @z_level + 40
    @slots_window = Window_Command.new(300, ["Slot 1", "Slot 2", "Slot 3", "Slot 4"])
    @slots_window.z = @z_level + 40
    
    @party_window = POKEMON_S::Debug_Party_Window.new
    @party_window.active = false
    @party_window.visible = false
    @party_window.z = @z_level + 10
    
    @menu_gene = Window_Command.new(150, ["ID", "Niveau", "Générer"], $fontsize)
    @menu_gene.x = 8
    @menu_gene.y = 8
    @menu_gene.z = @z_level + 30
    @menu_gene.visible = false
    @menu_gene.active = false

    @sprite_gene = Window_Base.new(285, 8, 192, 192 + 128)
    @sprite_gene.contents = Bitmap.new(160,160 + 128)
    @sprite_gene.z = @z_level + 40
    @sprite_gene.visible = false
    @sprite_gene.active = false
    @sprite_gene.contents.font.name = $fontface
    @sprite_gene.contents.font.size = $fontsize
    @sprite_gene.contents.font.color = @sprite_gene.normal_color
      
    @id_gene = Window_Base.new(8, 138, 150, 64)
    @id_gene.contents = Bitmap.new(150-32, 32)
    @id_gene.z = @z_level + 40
    @id_gene.contents.font.name = $fontface
    @id_gene.contents.font.size = $fontsize
    @id_gene.active = false
    @id_gene.visible = false
    @id_gene.contents.font.color = @id_gene.normal_color
    @id_gene_index = 0 # Index Digit: 0 unité, 1 dizaines, 2 centaines
      
    @level_gene = Window_Base.new(8, 138, 150, 64)
    @level_gene.contents = Bitmap.new(150-32, 32)
    @level_gene.z = @z_level + 40
    @level_gene.contents.font.name = $fontface
    @level_gene.contents.font.size = $fontsize
    @level_gene.active = false
    @level_gene.visible = false
    @level_gene.contents.font.color = @level_gene.normal_color
    
    @pkdx_window = Window_Command.new(240, pkdx_commands)
    @pkdx_window.active = false
    @pkdx_window.visible = false
    
    @level = 1
    @id = 1
    refresh_sprite
    
    @money_window = Window_Gold.new
    @number_window = Window_InputNumber.new(7)
    @var_window = Window_InputNumber.new(  8)  
    @help_window = Window_Base.new(192, 352, 448, 128)
    @help_window.contents = Bitmap.new(406, 96)
    @help_window.contents.font.name = "Arial"
    @help_window.contents.font.size = 24
    @help_window.contents.font.color = @help_window.normal_color
    @left_window.top_row = $game_temp.debug_top_row
    @left_window.index = $game_temp.debug_index
    @right_window.mode = @left_window.mode
    @right_window.top_id = @left_window.top_id
    @other_window.visible = false
    @other_window.active = false
    @target_window.visible = false
    @target_window.active = false
    @enc_window.visible = false
    @enc_window.active = false
    @god_window.visible = false
    @god_window.active = false
    @speed_window.visible = false
    @speed_window.active = false
    @warp_window.visible = false
    @warp_window.active = false
    @skills_window.visible = false
    @skills_window.active = false
    @skills_window.refresh
    @slots_window.visible = false
    @slots_window.active = false
    @money_window.visible = false
    @money_window.active = false
    @number_window.visible = false
    @number_window.active = false
    @var_window.visible = false
    @var_window.active = false
    @itemset_window = Window_Dataset.new(1)
    @itemset_window.visible = false
    @itemset_window.active = false
    @weaponset_window = Window_Dataset.new(2)
    @weaponset_window.visible = false
    @weaponset_window.active = false
    @armorset_window = Window_Dataset.new(3)
    @armorset_window.visible = false
    @armorset_window.active = false
    @other_window.opacity = 255
    #@other_window.x = 100
    #@other_window.y = 48
    @target_window.x = 304
    @target_window.y = 0
    @target_window.z = @z_level + 100
    @target_window.opacity = 255
    @pkdx_window.x = 270
    @pkdx_window.y = 100
    @pkdx_window.z = @z_level + 100
    @enc_window.x = 225
    @enc_window.y = 180
    @enc_window.z = @z_level + 50
    @enc_window.opacity = 255
    @god_window.x = 225
    @god_window.y = 180
    @god_window.z = @z_level + 50
    @god_window.opacity = 255
    @speed_window.x = 270
    @speed_window.y = 100
    @speed_window.z = @z_level + 50
    @speed_window.opacity = 255
    @warp_window.x = 270
    @warp_window.y = 100
    @warp_window.z = @z_level + 50
    @warp_window.opacity = 255
    @skills_window. opacity = 255
    @slots_window.x = 170
    @slots_window.y = 100
    @slots_window.opacity = 255
    @itemset_window.x = 0
    @itemset_window.y = 0
    @itemset_window.z = @z_level + 100
    @itemset_window.opacity = 255
    @weaponset_window.x = 0
    @weaponset_window.y = 0
    @weaponset_window.z = 1000
    @weaponset_window.opacity = 255
    @armorset_window.x = 0
    @armorset_window.y = 0
    @armorset_window.z = 1000
    @armorset_window.opacity = 255
    @money_window.x = 270
    @money_window.y = 100
    @money_window.z = 700
    @money_window.opacity = 255
    @number_window.x = 270
    @number_window.y = 164
    @number_window.z = 710
    @number_window.opacity = 255
    @var_window.x = 270
    @var_window.y = 164
    @var_window.z = 710
    @var_window.opacity = 255
    @variable_edit = 0
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    $game_map.refresh
    Graphics.freeze
    @left_window.dispose
    @right_window.dispose
    @help_window.dispose
    @other_window.dispose
    @god_window.dispose
    @speed_window.dispose
    @enc_window.dispose
    @target_window.dispose
    @warp_window.dispose
    @skills_window.dispose
    @slots_window.dispose
    @itemset_window.dispose
    @weaponset_window.dispose
    @armorset_window.dispose
    @money_window.dispose
    @var_window.dispose
    @party_window.dispose
    @pkdx_window.dispose
    @menu_gene.dispose
    @id_gene.dispose
    @level_gene.dispose
    @sprite_gene.dispose
  end
  # ------------------------------
  def update
    @right_window.mode = @left_window.mode
    @right_window.top_id = @left_window.top_id
    @left_window.update
    @right_window.update
    @other_window.update
    @enc_window.update
    @itemset_window.update
    @weaponset_window.update
    @armorset_window.update
    @target_window.update
    @god_window.update
    @speed_window.update
    @warp_window.update
    @skills_window.update
    @slots_window.update
    @money_window.update
    @number_window.update
    @var_window.update
    $game_temp.debug_top_row = @left_window.top_row
    $game_temp.debug_index = @left_window.index
    
    @menu_gene.update
    @level_gene.update
    @id_gene.update
    @party_window.update
    @pkdx_window.update
    
    if @level_gene.active
      update_gen_level
      return
    end
    if @id_gene.active
      update_gen_id
      return
    end
    if @menu_gene.active
      update_gene
      return
    end
    
    if @party_window.active
      update_party
      return
    end
    if @pkdx_window.active
      update_pkdx
      return
    end
    
    if @left_window.active
      update_left
      return
    end
    if @right_window.active
      update_right
      return
    end
    if @other_window.active
      update_command
      return
    end
    if @target_window.active
      update_target
      return
    end
    if @enc_window.active
      update_enc
      return
    end
     if @itemset_window.active
      update_itemset
      return
    end
      if @weaponset_window.active
      update_weaponset
      return
    end
    if @armorset_window.active
      update_armorset
      return
    end
     if @god_window.active
      update_god
      return
    end
     if @speed_window.active
      update_speed
      return
    end
     if @warp_window.active
      update_warp
      return
    end
     if @skills_window.active
      update_skills
      return
    end
     if @slots_window.active
      update_slots
      return
    end
      if @number_window.active
      update_money
      return
    end
      if @var_window.active
      update_var
      return
    end
  end
  
  
 # ------------------------------
  def update_left
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $scene = Scene_Map.new
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      if @left_window.mode == 0
        text1 = "Entrée ou C : Activé / Désactivé"
        @help_window.contents.draw_text(4, 0, 406, 32, text1)
      else
        text1 = "Gauche : -1   Droite : +1"
        text2 = "Q : -10     W : +10"
        text3 = "Entrée ou C : Entrer la valeur"
        text4 = "A: Debug avancé"
        text5 = ""
        @help_window.contents.draw_text(4, 0, 200, 32, text1)
        @help_window.contents.draw_text(4, 32, 200, 32, text2)
        @help_window.contents.draw_text(4, 64, 400, 32, text3)
        @help_window.contents.draw_text(240, 0, 180, 32, text4)
        @help_window.contents.draw_text(240, 32, 180, 32, text5)
      end
      @left_window.active = false
      @right_window.active = true
      @right_window.index = 0
      return
    end
    if Input.trigger?(Input::X)
      $game_system.se_play($data_system.decision_se)
      @other_window.visible = true
      @left_window.visible = false
      @right_window.visible = false
      @help_window.visible = false
      @left_window.active = false
      @other_window.active = true
      @party_window.visible = true
    end
  end
  
  
  def update_gene
    # Fenetre level
    if Input.trigger?(Input::C) and @menu_gene.index == 1
      $game_system.se_play($data_system.decision_se)
      @menu_gene.active = false
      @level_gene.active = true
      @level_gene.visible = true
      refresh_gen_level
      return
    end
    
    # Fenetre ID
    if Input.trigger?(Input::C) and @menu_gene.index == 0
      $game_system.se_play($data_system.decision_se)
      @menu_gene.active = false
      @id_gene.visible = true
      @id_gene.active = true
      refresh_id
      return
    end
    
    # Générer
    if Input.trigger?(Input::C) and @menu_gene.index == 2
      @menu_gene.active = false
      @menu_gene.visible = false
      @sprite_gene.visible = false
      $game_system.se_play($data_system.decision_se)
      $pokemon_party.add(POKEMON_S::Pokemon.new(@id, @level))
      @party_window.refresh
      @other_window.active = true
      return
    end
      
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.buzzer_se)
      @menu_gene.active = false
      @menu_gene.visible = false
      @sprite_gene.visible = false
      @other_window.active = true
      return
    end
  end
  
  def update_gen_level
    if Input.repeat?(Input::UP)
      if @level >= MAX_LEVEL
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @level += 1
      refresh_sprite
      refresh_gen_level
      return
    end
      
    if Input.repeat?(Input::DOWN)
      if @level <= 1
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @level -= 1
      refresh_sprite
      refresh_gen_level
      return
    end
      
    if Input.repeat?(Input::RIGHT)
      if @level >= MAX_LEVEL
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @level += 10
      if @level >= MAX_LEVEL
        @level = MAX_LEVEL
      end
      refresh_sprite
      refresh_gen_level
      return
    end
      
    if Input.repeat?(Input::LEFT)
      if @level <= 1
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @level -= 10
      if @level <= 1
        @level = 1
      end
      refresh_sprite
      refresh_gen_level
      return
    end
      
    if Input.trigger?(Input::C) or Input.trigger?(Input::B)
      $game_system.se_play($data_system.decision_se)
      @level_gene.active = false
      @level_gene.visible = false
      @menu_gene.active = true
      refresh_sprite
      return
    end
  end
  
  def update_gen_id
    if Input.trigger?(Input::LEFT)
      if @id_gene_index == 2
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @id_gene_index += 1
      refresh_id
    end
    
    if Input.trigger?(Input::RIGHT)
      if @id_gene_index == 0
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @id_gene_index -= 1
      refresh_id
    end
    
    if Input.repeat?(Input::UP)
      if @id >= $data_pokemon.length-1
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @id += 10 ** @id_gene_index
      if @id >= $data_pokemon.length-1
        @id = $data_pokemon.length-1
      end
      refresh_sprite
      refresh_id
      return
    end
    
    if Input.repeat?(Input::DOWN)
      if @id <= 1
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      @id -= 10 ** @id_gene_index
      if @id <= 1
        @id = 1
      end
      refresh_sprite
      refresh_id
      return
    end
    
    if Input.trigger?(Input::C) or Input.trigger?(Input::B)
      $game_system.se_play($data_system.decision_se)
      @id_gene.active = false
      @id_gene.visible = false
      @menu_gene.active = true
      refresh_sprite
      return
    end
  end
  
  def refresh_sprite
      @sprite_gene.contents.clear
      src_rect = Rect.new(0, 0, 160, 160)
      ida = sprintf("%03d", @id)
      bitmap = RPG::Cache.battler("Front_Male/" + ida + ".png", 0)
      @sprite_gene.contents.blt(0, 0, bitmap, src_rect, 255)
      string = $pokemon_info.name(@id)
      @sprite_gene.contents.draw_text(0, 160, 160, 32, string, 1)
      @sprite_gene.contents.draw_text(0, 192, 160, 32, "ID: "+ida.to_s, 1)
      @sprite_gene.contents.draw_text(0, 224, 160, 32, "Nv: "+@level.to_s, 1)
    end
    
    def refresh_id
      @id_gene.contents.clear
      @id_gene.contents.draw_text(0, 0, 118, 32, "ID")
      if not($data_pokedex[@id][0])
        @id_gene.contents.font.color = @id_gene.disabled_color
      end
      string = ("000" + @id.to_s)[-3..-1]
      for i in 0..2
        if i == @id_gene_index
          @id_gene.contents.font.color = @id_gene.text_color(2)
        end
        @id_gene.contents.draw_text(0, 0, 118 - 22*i, 32, string[2-i..2-i], 2)
        @id_gene.contents.font.color = @id_gene.normal_color
      end
      @id_gene.contents.font.color = @id_gene.normal_color
    end
    
  def refresh_gen_level
    @level_gene.contents.clear
    @level_gene.contents.draw_text(0, 0, 150-32, 32, "Niveau")
    @level_gene.contents.draw_text(0, 0, 150-32, 32, @level.to_s, 2)
  end
  
  def update_pkdx
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      case @pkdx_window.index
      when 0
        $data_pokedex[0] = false
      when 1
        $data_pokedex[0] = true
      when 2
        $data_pokedex[0] = true
        for i in 1..$data_pokedex.length-1
          $data_pokedex[i] = [false, false]
        end
      when 3
        $data_pokedex[0] = true
        for i in 1..$data_pokedex.length-1
          $data_pokedex[i] = [true, true]
        end
      end
      return
    end
    
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @pkdx_window.visible = false
      @pkdx_window.active = false
      @other_window.active = true
      return
    end
  end
  
    
  def update_party
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      case @other_window.index
      when 1 # Supprimer sélectionné
        $pokemon_party.remove_id(@party_window.index)
        @party_window.refresh
      when 2 # Modifier séléctionner
        @party_window.active = false
        @skills_window.active = true
        @skills_window.visible = true
      end
      return
    end
    
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @party_window.active = false
      @party_window.index = -1
      @other_window.active = true
      return
    end
  end
    
  # ------------------------------
  def update_command
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @other_window.active = false
      @left_window.active = true
      @left_window.visible = true
      @right_window.visible = true
      @help_window.visible = true
      @other_window.visible = false
      @party_window.visible = false
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      case @other_window.index
      when 0 #Ajouter
        @menu_gene.active = true
        @menu_gene.visible = true
        @sprite_gene.visible = true
        @other_window.active = false
      when 1 #Supprimer
        @other_window.active = false
        @party_window.active = true
        @party_window.index = 0
      when 2 #Modifier
        $game_system.se_play($data_system.decision_se)
        @other_window.active = false
        @party_window.active = true
        @party_window.index = 0
      when 3 #Soigner
        $pokemon_party.refill_party
        @party_window.refresh
      when 4 #Objets
        @itemset_window.index = 0
        @itemset_window.active = true
        @itemset_window.visible = true
        @other_window.active = false
      when 5 #Argent
        @number_window.number = 0
        @money_window.visible = true
        @number_window.active = true
        @number_window.visible = true
        @other_window.active = false
      when 6 #Pkdx
        @pkdx_window.active = true
        @pkdx_window.visible = true
        @other_window.active = false
      when 7 #Rencontres
        @enc_window.index = 0
        if $game_system.encounter_disabled
          @enc_window.index = 1
        end
        @enc_window.active = true
        @enc_window.visible = true
        @other_window.active = false
      when 8 #Invincible
        @god_window.index = 1
        if $game_temp.god_mode
          @god_window.index = 0
        end
        @god_window.active = true
        @god_window.visible = true
        @other_window.active = false
      when 10
        @warp_window.active = true
        @warp_window.visible = true
        @other_window.active = false
      when 9
        @speed_window.index = $game_player.move_speed - 1
        @speed_window.active = true
        @speed_window.visible = true
        @other_window.active = false
      when 11
        pokemon_conversion
        update_library
      when 12
        update_datafile
      end
    end
  end
  
  # ------------------------------
  def update_money
   if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @number_window.active = false
      @other_window.active = true
      @money_window.visible = false
      @number_window.visible = false
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      $pokemon_party.lose_money(9999999)
      $pokemon_party.add_money(@number_window.number)
      @money_window.refresh
    end
    if Input.repeat?(Input::X)
      $game_system.se_play($data_system.cursor_se)
      $pokemon_party.add_money(9999999)
      @money_window.refresh
    end
     if Input.repeat?(Input::Y)
      $game_system.se_play($data_system.cursor_se)
      $pokemon_party.add_money(9999999)
      @money_window.refresh
    end
  end
   # ------------------------------
  def update_itemset
   if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @itemset_window.active = false
      @other_window.active = true
      @itemset_window.visible = false
      return
    end
    if Input.repeat?(Input::RIGHT)
      $game_system.se_play($data_system.cursor_se)
      $pokemon_party.add_item(@itemset_window.index + 1, 1)
      @itemset_window.refresh
    end
    if Input.repeat?(Input::LEFT)
      $game_system.se_play($data_system.cursor_se)
      $pokemon_party.drop_item(@itemset_window.index + 1, 1)
      @itemset_window.refresh
    end
    if Input.repeat?(Input::X)
      $game_system.se_play($data_system.cursor_se)
      $pokemon_party.drop_item(@itemset_window.index + 1, 10)
      @itemset_window.refresh
    end
    if Input.repeat?(Input::Y)
      $game_system.se_play($data_system.cursor_se)
      $pokemon_party.add_item(@itemset_window.index + 1, 10)
      @itemset_window.refresh
    end
  end
   # ------------------------------
  def update_weaponset
   if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @weaponset_window.active = false
      @other_window.active = true
      @weaponset_window.visible = false
      return
    end
    if Input.repeat?(Input::RIGHT)
      $game_system.se_play($data_system.cursor_se)
      $game_party.gain_weapon(@weaponset_window.index + 1, 1)
      @weaponset_window.refresh
    end
    if Input.repeat?(Input::LEFT)
      $game_system.se_play($data_system.cursor_se)
      $game_party.lose_weapon(@weaponset_window.index + 1, 1)
      @weaponset_window.refresh
    end
    if Input.repeat?(Input::X)
      $game_system.se_play($data_system.cursor_se)
      $game_party.lose_weapon(@weaponset_window.index + 1, 10)
      @weaponset_window.refresh
    end
    if Input.repeat?(Input::Y)
      $game_system.se_play($data_system.cursor_se)
      $game_party.gain_weapon(@weaponset_window.index + 1, 10)
      @weaponset_window.refresh
    end
  end
   # ------------------------------
  def update_armorset
   if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @armorset_window.active = false
      @other_window.active = true
      @armorset_window.visible = false
      return
    end
    if Input.repeat?(Input::RIGHT)
      $game_system.se_play($data_system.cursor_se)
      $game_party.gain_armor(@armorset_window.index + 1, 1)
      @armorset_window.refresh
    end
    if Input.repeat?(Input::LEFT)
      $game_system.se_play($data_system.cursor_se)
      $game_party.lose_armor(@armorset_window.index + 1, 1)
      @armorset_window.refresh
    end
    if Input.repeat?(Input::X)
      $game_system.se_play($data_system.cursor_se)
      $game_party.lose_armor(@armorset_window.index + 1, 10)
      @armorset_window.refresh
    end
    if Input.repeat?(Input::Y)
      $game_system.se_play($data_system.cursor_se)
      $game_party.gain_armor(@armorset_window.index + 1, 10)
      @armorset_window.refresh
    end
  end
  # -------------------------------
   def update_enc
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @enc_window.active = false
      @other_window.active = true
      @enc_window.visible = false
      return
    end
    if Input.trigger?(Input::C)
      case @enc_window.index
      when 0
        $game_system.se_play($data_system.decision_se)
        $game_system.encounter_disabled = false
        @enc_window.active = false
        @other_window.active = true
        @enc_window.visible = false
      when 1
        $game_system.se_play($data_system.decision_se)
        $game_system.encounter_disabled = true
        @enc_window.active = false
        @other_window.active = true
        @enc_window.visible = false
      end
    end
  end
   # -------------------------------
   def update_god
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @god_window.active = false
      @other_window.active = true
      @god_window.visible = false
      return
    end
    if Input.trigger?(Input::C)
      case @god_window.index
      when 0
        $game_system.se_play($data_system.decision_se)
        $game_temp.god_mode = true
        @god_window.active = false
        @other_window.active = true
        @god_window.visible = false
      when 1
        $game_system.se_play($data_system.decision_se)
        $game_temp.god_mode = false
        @god_window.active = false
        @other_window.active = true
        @god_window.visible = false
      end
    end
  end
   # -------------------------------
  def update_speed
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @speed_window.active = false
      @other_window.active = true
      @speed_window.visible = false
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      $game_player.move_speed = @speed_window.index + 1
      @speed_window.active = false
      @other_window.active = true
      @speed_window.visible = false
    end
  end
   # -------------------------------
   def update_warp
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @warp_window.active = false
      @other_window.active = true
      @warp_window.visible = false
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      $game_temp.player_transferring = true
      case @warp_window.index
      when 0
        $game_temp.player_new_map_id = $game_variables[1]
        $game_temp.player_new_x = $game_variables[2]
        $game_temp.player_new_y = $game_variables[3]
        @warp_window.active = false
        @other_window.active = true
        @warp_window.visible = false
      when 1
        $game_temp.player_transferring = false
        $game_variables[1] = $game_map.map_id
        $game_variables[2] = $game_player.x
        $game_variables[3] = $game_player.y
      end
    end
  end
  
  def update_skills
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @skills_window.active = false
      @party_window.active = true
      @skills_window.visible = false
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      @skills_window.active = false
      @slots_window.active = true
      @skills_window.visible = false
      @slots_window.visible = true
    end
  end
  
  def update_slots
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @slots_window.active = false
      @skills_window.active = true
      @slots_window.visible = false
      @skills_window.visible = true
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      $pokemon_party.actors[@party_window.index].replace_skill_index(@slots_window.index,$data_skills_pokemon[@skills_window.index+1][0])
      @slots_window.active = false
      @skills_window.active = true
      @slots_window.visible = false
      @skills_window.visible = true
    end
  end
  # ------------------------------
  def update_target
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @target_window.active = false
      @other_window.active = true
      @target_window.visible = false
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.save_se)
      for i in 1..$data_states.size
        $game_party.actors[@target_window.index].remove_state(i)
      end
      $game_party.actors[@target_window.index].hp += 9999
      $game_party.actors[@target_window.index].sp += 9999
      @target_window.refresh
    end
    if Input.trigger?(Input::X)
      $game_system.se_play($data_system.save_se)
      $game_party.actors[@target_window.index].hp += 9999
      @target_window.refresh
    end
    if Input.trigger?(Input::Y)
      $game_system.se_play($data_system.save_se)
      $game_party.actors[@target_window.index].sp += 9999
      @target_window.refresh
    end
    if Input.trigger?(Input::A)
      $game_system.se_play($data_system.save_se)
      for i in 1..$data_states.size
        $game_party.actors[@target_window.index].remove_state(i)
      end
      @target_window.refresh
    end
  end
  # ------------------------------
  def update_var
   if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @var_window.active = false
      @var_window.visible = false
      @right_window.active = true
      return
    end
    if Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      $game_variables[@variable_edit] = @var_window.number
      @right_window.refresh
      @var_window.active = false
      @var_window.visible = false
      @right_window.active = true
    end
  end
 # ------------------------------
  def update_right
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @left_window.active = true
      @right_window.active = false
      @right_window.index = -1
      @help_window.contents.clear
      return
    end
    current_id = @right_window.top_id + @right_window.index
    if @right_window.mode == 0
      if Input.trigger?(Input::C)
        $game_system.se_play($data_system.decision_se)
        $game_switches[current_id] = (not $game_switches[current_id])
        @right_window.refresh
        return
      end
    end
    if @right_window.mode == 1
      if Input.repeat?(Input::RIGHT)
        $game_system.se_play($data_system.cursor_se)
        $game_variables[current_id] += 1
        if $game_variables[current_id] > 99999999
          $game_variables[current_id] = 99999999
        end
        @right_window.refresh
        return
      end
      if Input.repeat?(Input::LEFT)
        $game_system.se_play($data_system.cursor_se)
        $game_variables[current_id] -= 1
        if $game_variables[current_id] < -99999999
          $game_variables[current_id] = -99999999
        end
        @right_window.refresh
        return
      end
      if Input.repeat?(Input::C)
        $game_system.se_play($data_system.decision_se)
        current_id = @right_window.top_id + @right_window.index
        @variable_edit = current_id
        @var_window.number = $game_variables[current_id].abs
        @var_window.visible = true
        @var_window.active = true
        @right_window.active = false
      end
       if Input.repeat?(Input::X)
        $game_system.se_play($data_system.decision_se)
        current_id = @right_window.top_id + @right_window.index
        $game_variables[current_id] *= -1
        @right_window.refresh
      end
      if Input.repeat?(Input::R)
        $game_system.se_play($data_system.cursor_se)
        $game_variables[current_id] += 10
        if $game_variables[current_id] > 99999999
          $game_variables[current_id] = 99999999
        end
        @right_window.refresh
        return
      end
      if Input.repeat?(Input::L)
        $game_system.se_play($data_system.cursor_se)
        $game_variables[current_id] -= 10
        if $game_variables[current_id] < -99999999
          $game_variables[current_id] = -99999999
        end
        @right_window.refresh
        return
      end
    end
  end
  
  
  def pokemon_conversion
    # Inscription des noms
    for i in 118..175
      if $data_weapons[i-84] == nil
        $data_weapons[i-84] = RPG::Weapon.new
      end
      $data_weapons[i-84].name = $item.name(i)
    end
    
    # Inscription des capa spé
    for i in 1..77
      if $data_armors[i+33] == nil
        $data_armors[i+33] = RPG::Armor.new
      end
      $data_armors[i+33].name = $data_ability[i][0]
      $data_armors[i+33].description = $data_ability[i][1]
    end
    
    
    # Conversion
    for id in 1..$data_pokemon.length-1
      pokemon = POKEMON_S::Pokemon.new(id)
      
      if $data_enemies[id] == nil
        $data_enemies[id] = RPG::Enemy.new
      end
      
      if $data_classes[id] == nil
        $data_classes[id] = RPG::Class.new
      end
      
      # Reset données
      $data_enemies[id].mdef = 0
      $data_enemies[id].pdef = 0
      $data_enemies[id].actions = []
      
      $data_classes[id].weapon_set = []
      $data_classes[id].armor_set = []
      
      # Nom
      $data_enemies[id].name = pokemon.name
      $data_enemies[id].battler_name = "Front_Male/"+sprintf("%03d",id)+".png"
      
      # ID secondaire
      $data_enemies[id].maxsp = id
      
      # Base Stats
      $data_enemies[id].maxhp = pokemon.base_hp
      $data_enemies[id].agi = pokemon.base_spd
      $data_enemies[id].int = pokemon.base_ats
      $data_enemies[id].str = pokemon.base_atk
      $data_enemies[id].dex = pokemon.base_dfe
      $data_enemies[id].atk = pokemon.base_dfs
      
      # Apprentissage des skills
      $data_classes[id].learnings = []
      for skill in pokemon.skills_table
        learning = RPG::Class::Learning.new
        learning.level = skill[1]
        learning.skill_id = skill[0]
        $data_classes[id].learnings.push(learning)
      end
      
      # CT/CS: support script
      
      # Exp Type
      $data_classes[id].weapon_set.push(pokemon.exp_type + 15)
      
      # Evolution
      $data_classes[id].name = ""
      
      # Evolution unique
      if pokemon.evolve_list.length == 2
        # Evolution naturelle seulement
        name = pokemon.evolve_list[1][0]
        data = pokemon.evolve_list[1][1]
        if data.type == Fixnum and name != ""
          $data_classes[id].name = name + "/" + data.to_s
          $data_classes[id].weapon_set.push(22)
        elsif data == "loyal"
          $data_classes[id].name = name#"L" + "/" + name
          $data_classes[id].weapon_set.push(24)
        elsif data == "trade"
          $data_classes[id].name = name#"T" + "/" + name
          $data_classes[id].weapon_set.push(25)
        elsif data == "stone"
          $data_classes[id].name = name#"S" + "/" + name
          $data_classes[id].weapon_set.push(23)
        end
      else
        # Evolution spéciale/multiple
        $data_classes[id].weapon_set.push(26)
      end
      
      # Type
      if pokemon.type1 != 0
        $data_enemies[id].element_ranks[pokemon.type1] = 1
        $data_classes[id].element_ranks[pokemon.type1] = 3
      end
      if pokemon.type2 != 0
        $data_enemies[id].element_ranks[pokemon.type2] = 2
        $data_classes[id].element_ranks[pokemon.type2] = 3
      end
      
      # Rareté
      $data_enemies[id].gold = pokemon.rareness
      
      # Genre
      $data_classes[id].armor_set = []
      case $pokemon_info.female_rate(id) # Female rate
      when -1
        $data_classes[id].armor_set.push(2)
      when 0
        $data_classes[id].armor_set.push(3)
      when 12.5
        $data_classes[id].armor_set.push(4)
      when 25
        $data_classes[id].armor_set.push(5)
      when 50
        $data_classes[id].armor_set.push(6)
      when 75
        $data_classes[id].armor_set.push(7)
      when 87.5
        $data_classes[id].armor_set.push(  8)  
      when 100
        $data_classes[id].armor_set.push(9)
      else
        $data_classes[id].armor_set.push(6)
      end
      
      # Loyauté
      case pokemon.loyalty
      when 0
        $data_classes[id].armor_set.push(11)
      when 35
        $data_classes[id].armor_set.push(12)
      when 70
        $data_classes[id].armor_set.push(13)
      when 90
        $data_classes[id].armor_set.push(14)
      when 100
        $data_classes[id].armor_set.push(15)
      when 140
        $data_classes[id].armor_set.push(16)
      else
        $data_classes[id].armor_set.push(13)
      end
      
      # EV et Base Exp
      i = 0
      for element in pokemon.battle_list
        if i == pokemon.battle_list.length-1
          $data_enemies[id].exp = element
          next
        end
        
        case element
        when 1
          $data_classes[id].weapon_set.push(2+i)
        when 2
          $data_classes[id].weapon_set.push(6+i)
        when 3
          $data_classes[id].weapon_set.push(2+i)
          $data_classes[id].weapon_set.push(6+i)
        end
        i += 1
      end
      
      # Breed Groupe
      for group in pokemon.breed_group
        $data_classes[id].armor_set.push(group + 17)
      end
      
      # Egg Hatch
      case pokemon.hatch_step
      when 1280
        $data_classes[id].weapon_set.push(28)
      when 2560
        $data_classes[id].weapon_set.push(29)
      when 3840
        $data_classes[id].weapon_set.push(28)
        $data_classes[id].weapon_set.push(29)
      when 5120
        $data_classes[id].weapon_set.push(30)
      when 6400
        $data_classes[id].weapon_set.push(30)
        $data_classes[id].weapon_set.push(28)
      when 7680
        $data_classes[id].weapon_set.push(30)
        $data_classes[id].weapon_set.push(29)
      when 8960
        $data_classes[id].weapon_set.push(30)
        $data_classes[id].weapon_set.push(29)
        $data_classes[id].weapon_set.push(28)
      when 10240
        $data_classes[id].weapon_set.push(31)
      when 20480
        $data_classes[id].weapon_set.push(32)
      when 30720
        $data_classes[id].weapon_set.push(31)
        $data_classes[id].weapon_set.push(32)
      else
        $data_classes[id].weapon_set.push(30)
      end
      
      # Liste CT/CS
      for element in pokemon.skills_allow
        if element.type == Fixnum
          if element > 33
            $data_classes[id].weapon_set.push(33 + element)
          end
        end
        if element.type == Array
          $data_classes[id].weapon_set.push(33 + 50 + element[0])
        end
      end
      
      # Capa Spé
      list = []
      for i in 1..$data_ability.length-1
        list.push($data_ability[i][0])
      end
      for ability in $pokemon_info.ability_list(id)
        abid = list.index(ability) + 1
        $data_classes[id].armor_set.push(abid + 33)
      end
      
      # Attaque par accouplement
      r = 0
      for skill in pokemon.breed_move
        if $data_enemies[id].actions[r] == nil
          $data_enemies[id].actions[r] = RPG::Enemy::Action.new
        end
        $data_enemies[id].actions[r].kind = 1
        $data_enemies[id].actions[r].skill_id = skill
        r += 1
      end
    end
    
    file = File.open("Data/Enemies.rxdata", "wb")
    Marshal.dump($data_enemies, file)
    file.close
    file = File.open("Data/Classes.rxdata", "wb")
    Marshal.dump($data_classes, file)
    file.close
    file = File.open("Data/Weapons.rxdata", "wb")
    Marshal.dump($data_weapons, file)
    file.close
    file = File.open("Data/Armors.rxdata", "wb")
    Marshal.dump($data_armors, file)
    file.close
  end
  
  def update_library
    $picture_data = {}
    for i in 1..$data_pokemon.length
      id = sprintf("%03d", i)
      $picture_data["Graphics/Battlers/Front_Male/" + id + ".png"] = FileTest.exist?("Graphics/Battlers/Front_Male/" + id + ".png")
      $picture_data["Graphics/Battlers/Front_Female/" + id + ".png"] = FileTest.exist?("Graphics/Battlers/Front_Female/" + id + ".png")
      $picture_data["Graphics/Battlers/Back_Male/" + id + ".png"] = FileTest.exist?("Graphics/Battlers/Back_Male/" + id + ".png")
      $picture_data["Graphics/Battlers/Back_Female/" + id + ".png"] = FileTest.exist?("Graphics/Battlers/Back_Female/" + id + ".png")
      $picture_data["Graphics/Battlers/Shiny_Front_Male/" + id + ".png"] = FileTest.exist?("Graphics/Battlers/Shiny_Front_Male/" + id + ".png")
      $picture_data["Graphics/Battlers/Shiny_Front_Female/" + id + ".png"] = FileTest.exist?("Graphics/Battlers/Shiny_Front_Female/" + id + ".png")
      $picture_data["Graphics/Battlers/Shiny_Back_Male/" + id + ".png"] = FileTest.exist?("Graphics/Battlers/Shiny_Back_Male/" + id + ".png")
      $picture_data["Graphics/Battlers/Shiny_Back_Female/" + id + ".png"] = FileTest.exist?("Graphics/Battlers/Shiny_Back_Female/" + id + ".png")
      $picture_data["Graphics/Battlers/Icon/" + id + ".png"] = FileTest.exist?("Graphics/Battlers/Icon/" + id + ".png")
    end
    library = File.open("Data/Library.rxdata", "wb")
    Marshal.dump($picture_data, library)
    library.close
  end
  
  def update_datafile
    file = File.open("Data/data_pokemon.rxdata", "wb")
    Marshal.dump($data_pokemon, file)
    file.close
    
    file = File.open("Data/data_item.rxdata", "wb")
    Marshal.dump($data_item, file)
    file.close
    
    file = File.open("Data/data_ball.rxdata", "wb")
    Marshal.dump($data_ball, file)
    file.close
  end
  
end

class Skills_List < Window_Selectable
  def initialize(id_list = [], menu_index = 0) 
    super(170, 20, 300, 448, 32)
    @index = menu_index
    @skills_list = id_list
    @last = id_list[-1]
    self.opacity = 255
    value = id_list.size
    @item_max = value - 1
    self.contents = Bitmap.new(width - 32, value * 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    self.contents.font.color = Color.new(0,0,0,255)
  end
  
  def refresh
    self.contents.clear
    for i in 0.. @item_max
      string = $data_skills_pokemon[@skills_list[i]][0]
      self.contents.draw_text(0, 32 * i, 480, 32, string)
    end  
  end
end







Si vous l'utilisez, pensez à me glisser un petit mot ici histoire de me dire si il y a des choses à changer (même si tout va bien, ça fait toujours plaisir un p'tit mot hein^^)
C'est l'heure d'un repos bien mérité ! Ciao !


Last edited by Drakhaine on Fri 8 Feb - 21:29 (2008); edited 1 time in total
Back to top
Publicité






PostPosted: Sat 2 Feb - 03:32 (2008)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
lois
Membre


Joined: 04 Jan 2008
Posts: 97

PostPosted: Sat 2 Feb - 08:36 (2008)    Post subject: Amélioration du mode debug !

Super il n'y a rien a changer Bouche extensiblek:  bravo
Back to top
Shadow
Guest





PostPosted: Sun 3 Feb - 18:10 (2008)    Post subject: Amélioration du mode debug !

J'ai pas comprit a 100% ce que ce script permet de faire, vous pouvez m'éclairer un peu svp  Petit saligaud mal élevé ?
Back to top
lois
Membre


Joined: 04 Jan 2008
Posts: 97

PostPosted: Sun 3 Feb - 18:42 (2008)    Post subject: Amélioration du mode debug !

en faite autre fois sans se sript dans le menu débug modifier ne servait a rien alors que maintenet on peut modifier les attaques du pokémon séléctioné .
Back to top
valpokbest
Guest





PostPosted: Fri 8 Feb - 21:13 (2008)    Post subject: Amélioration du mode debug !

Petit problème avec la ligne 1228: $data_enemies[id].element_ranks[pokemon.type1] = 1

Voilà le message d'erreur qui surgit lorsque j'appuie sur MAJ BDD:
????? 'Scene_Debug' ? 1228 ??? TypeError ????????
no implicit conversion from nil to integer
Back to top
Drakhaine
Guest





PostPosted: Fri 8 Feb - 21:26 (2008)    Post subject: Amélioration du mode debug !

ça me le fait pas moi, t'as pas créé un pokémon sans type n°1 par hasard ?
Back to top
valpokbest
Guest





PostPosted: Fri 8 Feb - 21:40 (2008)    Post subject: Amélioration du mode debug !

ah c'est bien ça. Sphinx hésitait donc merci^^
Back to top
Krosk
Ex-staff


Joined: 03 Jan 2008
Posts: 2,938

PostPosted: Sat 9 Feb - 01:30 (2008)    Post subject: Amélioration du mode debug !

Ah bah fort sympathique Drakhaine, merci beaucoup. Ca m'évitera de le programmer moi même. Tu permets que je l'inclus d'office dans le Kit, avec ton crédit bien entendu?
Back to top
Drakhaine
Guest





PostPosted: Sat 9 Feb - 02:31 (2008)    Post subject: Amélioration du mode debug !

Aucun problème Clin d'œil foireux

Juste, tu devrais regarder au niveau de Liste CT/CS (un p'tit coup de Ctrl + F), j'avais modifié certains trucs et j'ai remis d'origine de mémoire, mais je crois que le if element > 33 n'y était pas à la base... Je ne pense pas que ça fasse bugger (après tout, les CT que tu as programmées commencent à l'élément 34), mais sait-on jamais ?

(D'ailleurs t'as un bug à ce niveau. Si l'on créé une CT (disons 51) et qu'on l'ajoute dans les paramètres après la CS08, si on la coche, au moment de faire une MAJ BDD, elle va activer le paramètre 33+51, donc la CS01... Et tout le reste (tout ce qui se trouve après les CS en fait) va se décaler de 8 cases vers le haut. J'ai pas essayé d'insérer les nouvelles CT avant les CS pour pas me retaper les réglages des CS des 386 premiers poké, j'ai biaisé le système en modifiant le calcul suivant le nombre d'élément)




Code:

 if element <= 50 # CT 01 à 50
   $data_classes[id].weapon_set.push(33 + element)
 else # CT 51 à 92
   $data_classes[id].weapon_set.push(33 + 8 + element)
 end

Back to top
gogo258
Guest





PostPosted: Wed 12 Nov - 17:06 (2008)    Post subject: Amélioration du mode debug !

Quest que le manu debug? Lordork chez mémé
Back to top
Aten974
Membre


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

PostPosted: Wed 12 Nov - 17:13 (2008)    Post subject: Amélioration du mode debug !

Le menu débug sert au testeur de "tricher" touche F9 en plein test et tu verras ...
Back to top
Visit poster’s website
Soshi
Guest





PostPosted: Wed 12 Nov - 17:14 (2008)    Post subject: Amélioration du mode debug !

Puis appuie sur A...
Back to top
gogo258
Guest





PostPosted: Wed 12 Nov - 17:17 (2008)    Post subject: Amélioration du mode debug !

MERCI! Petit saligaud mal élevé
Back to top
Ace Attorney Man
Guest





PostPosted: Wed 12 Nov - 17:17 (2008)    Post subject: Amélioration du mode debug !

Et ne up plus(pas contre ça mais)pour poser des questions de débutant avec des fautes  Yeux motorisés
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
Page 1 of 1

 
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)