Partagez
Aller en bas
Balbereith
Balbereith
Staffeux retraité

Nombre de messages : 4129
Age : 26
Localisation : dans l'ombre...
Distinction : Péripatéticienne à temps perdu
Helly n°666 [Coco' ;D]
mon ptit balbounet p'tit jardinier en herbe(les râteaux ça le connait) [tonton Adurna]
Cultivateur professionnel de la commu' (il a de bons outils en de nombreux exemplaires Catégories pour magie par Doddy 522164 ) [Coco' Smile]
Date d'inscription : 13/05/2009

Catégories pour magie par Doddy Empty Catégories pour magie par Doddy

le Dim 3 Oct 2010 - 15:42
Code:
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
#_/    ◆          Skill Categorizations - KGC_CategorizeSkill          ◆ VX ◆
#_/    ◇                  Last update : 2008/03/08                          ◇
#_/    ◇                Traduit par Doddy                          ◇
#_/-----------------------------------------------------------------------------
#_/ 
#_/  Pour assigner une compétence à une catégorie tu dois mettre comme commentaire à la compétence:
#_/ 
#_/ 
#_/  EX. Feu j'ajoute en commentaire  pour que la compétence Feu soit dans la catégorie Magie Noire
#_/=============================================================================
#_/
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_

$data_system = load_data("Data/System.rvdata") if $data_system == nil

#==============================================================================#
#                            ★ カスタマイズ項目 - Customize★                               
#==============================================================================#

module KGC
 module CategorizeSkill

  #  Si vous mettez true les catégorie apparraissent dans le menu
  #  Si vous mettez false elle n'apparaissent pas dans le menu
  #  dans ce cas là mettez aussi:
  #  USE_SAME_MENU = false.
  ENABLE_NOT_IN_BATTLE = true
 
  #  Si vous mettez true le menu de catégorie apparrait en combat
  #  Si vous mettez false le menu n'apparaitra pas
  #  dans ce cas là mettez aussi:
  #  USE_SAME_MENU = false.
  ENABLE_IN_BATTLE    = true

 
  #  SI ENABLE_NOT_IN_BATTLE & ENABLE_IN_BATTLE = true
  #  mettez true aussi ici, sinon mettez false
  #  si vous mettez true les catégorie seront les même en combat et dans le menu
  #  si vous mettez false c'est que vous voulez utiliser des noms de catégorie et des textes de description différent
  #  dans le menu et pendant le combat
  USE_SAME_CATEGORY = true

                   
  #  Si vous voulez que la catégorisation se fasse automatiquement mettez true
  ENABLE_AUTO_CATEGORIZE = true

  #                  ◆ Classification ◆
  #  False=les magies peuvent être dans plusieurs catégories
  #  true= les magies seront classifié uniquement dans la catégorie qui correspond
  #au dernier tag dans leur déscription
  NOT_ALLOW_DUPLICATE = false
 
  #                  ◆ En combat ◆
  #  true = Retour automatique à la dernière catégorie utilisée.
  #  false = le menu s'ouvre  sur la première catégorie.
  REMEMBER_INDEX_IN_BATTLE = true


  #                      ◆ Identification des catégories ◆
  #  Faites en sorte que l'ordre des identifieurs soit dans le même
  #  ordre que le nom des catégories
  #  Ce sont des identifieur par défaut que je vous met, vous pouvez en ajouter ou en enlever
  #  ou même les modifier
  #  Les commentaires à droite des identifieur sont les nom des catégories.
  CATEGORY_IDENTIFIER = [
    "Magie blanche",        # magie blanche
    "Magie noire",  # magie noire
    "Physique", # magie unique
    "Invocations",    # Invoquation
    "Tout",  # toutes les compétences
    ]
 
  #  Nom de la catégorie par défaut
  SKILL_DEFAULT_CATEGORY = "Tout"

  #                    ◆ Nom des catégories ◆
  #  comme pour les identifieurs vous pouvez modifier ajouter supprimer le nom des catégories
  #  Dans le jeu elles seront classées dans le même ordre que les identifieurs
  CATEGORY_NAME = [
    "Magie blanche",
    "Magie Noire",
    "Physique",
    "Invocations",
    "Tout",
  ]

  #                      ◆ Teste de description ◆
  #  C'est ce qui s'affiche dnas la fenêtre d'aide située juste au dessus de la fenêtre des catégories dans le jeux
  #  Vous devez mettre ca dans le même ordre que les identifieurs
  CATEGORY_DEscriptION = [
    "Liste des Magies Blanches.",
    "Liste des Magies Noires.",
    "Liste des attaques physiques.",
    "Liste des invocations.",
    "Liste de Toutes les Magies.",
  ]


  #-------------------------- Catégories en combat ------------------------------#
  #    Modifiez cette partie uniquement si vous avez mis : USE_SAME_CATEGORY = false.  # 
  #---------------------------------------------------------------------------#

  #                ◆ Identifieurs en combat ◆
  #  Faites en sorte que l'ordre des identifieurs soit dans le même
  #  ordre que le nom des catégories
  #  Ce sont des identifieur par défaut que je vous met, vous pouvez en ajouter ou en enlever
  #  ou même les modifier
  #  Les commentaires à droite des identifieur sont les nom des catégories.
  CATEGORY_IDENTIFIER_BATTLE = [
      "Magie blanche",        # magie blanche
      "Magie noire",  # magie noire
      "Physique", # magie physique
      "Invoquer",    # Invoquation
      "Tout",  # toutes les compétences
    ]

  #  Nom de la catégorie par défaut
  SKILL_DEFAULT_CATEGORY_BATTLE = "Tout"

  #                    ◆ Nom des catégories ◆
  #  comme pour les identifieurs vous pouvez modifier ajouter supprimer le nom des catégories
  #  Dans le jeu elles seront classées dans le même ordre que les identifieurs
  CATEGORY_NAME_BATTLE = [
    "Magie blanche",
    "Magie Noire",
    "Physique",
    "Invocations",
    "Tout",
  ]
  #                      ◆ Teste de description ◆
  #  C'est ce qui s'affiche dnas la fenêtre d'aide située juste au dessus de la fenêtre des catégories dans le jeux
  #  Vous devez mettre ca dans le même ordre que les identifieurs
  CATEGORY_DEscriptION_BATTLE = [
    "Liste des Magies Blanches.",
    "Liste des Magies Noires.",
    "Liste des attaques physiques.",
    "Liste des Invocations.",
    "Liste de Toutes les Magies.",
  ]

  if USE_SAME_CATEGORY
    # When USE_SAME_CATEGORY = true
    CATEGORY_IDENTIFIER_BATTLE    = CATEGORY_IDENTIFIER
    SKILL_DEFAULT_CATEGORY_BATTLE = SKILL_DEFAULT_CATEGORY
    CATEGORY_NAME_BATTLE          = CATEGORY_NAME
    CATEGORY_DEscriptION_BATTLE  = CATEGORY_DEscriptION
  end


  # Propriétés et positions de la fenêtre où se situ le nom des catégorie. DANS LE MENU

  # ◆ position de la fenêtre [ x, y ]
  CATEGORY_WINDOW_POSITION  = [1, 55]
  # ◆ Nombre de catégorie
  CATEGORY_WINDOW_COLUMNS  = 5
  # ◆ Largeur de la colonne où se situ le nom des catégorie.
  CATEGORY_WINDOW_COL_WIDTH = 94
  # ◆ Modifie l'espace entre chaque nom de catégorie
  CATEGORY_WINDOW_COL_SPACE = 10


  # Propriétés et positions de la fenêtre où se situ le nom des catégorie. PENDANT LE COMBAT

  # ◆  position de la fenêtre [ x, y ]
  CATEGORY_WINDOW_POSITION_BATTLE  = [1, 55]
  # ◆ Nombre de catégorie
  CATEGORY_WINDOW_COLUMNS_BATTLE  = 5
  # ◆ Largeur de la colonne où se situ le nom des catégorie.
  CATEGORY_WINDOW_COL_WIDTH_BATTLE = 94
  # ◆ Modifie l'espace entre chaque nom de catégorie
  CATEGORY_WINDOW_COL_SPACE_BATTLE = 10
end
end

#----------------------A partir de là je n'ai pas trouvé l'intérêt de traduire-----------------------#

$imported = {} if $imported == nil
$imported["CategorizeSkill"] = true

module KGC::CategorizeSkill
  # スキルのデフォルトカテゴリ index
  SKILL_DEFAULT_CATEGORY_INDEX =
    CATEGORY_IDENTIFIER.index(SKILL_DEFAULT_CATEGORY)
  # スキルのデフォルトカテゴリ index (戦闘時)
  SKILL_DEFAULT_CATEGORY_INDEX_BATTLE =
    CATEGORY_IDENTIFIER_BATTLE.index(SKILL_DEFAULT_CATEGORY_BATTLE)


  # 予約識別名
  RESERVED_CATEGORIES = [
    "全種", "回復", "回復魔法", "回復技", "攻撃", "攻撃魔法", "攻撃技",
    "補助", "補助魔法", "補助技"
  ]
  # 予約カテゴリ index
  RESERVED_CATEGORY_INDEX = {}
  # 予約カテゴリ index (戦闘時)
  RESERVED_CATEGORY_INDEX_BATTLE = {}

  # 予約カテゴリ index 作成
  RESERVED_CATEGORIES.each { |c|
    RESERVED_CATEGORY_INDEX[c] = CATEGORY_IDENTIFIER.index(c)
    RESERVED_CATEGORY_INDEX_BATTLE[c] = CATEGORY_IDENTIFIER_BATTLE.index(c)
  }
 
 
  module Regexp

    module Skill
   
      CATEGORY = /<(?:CATEGORY|classification|categorie?)[ ]*(.*)>/i
    end
  end
end

#==============================================================================
# ■ RPG::Skill
#==============================================================================

class RPG::Skill < RPG::UsableItem
  #--------------------------------------------------------------------------
  # ○ スキル分類のキャッシュ生成 (非戦闘時)
  #--------------------------------------------------------------------------
  def create_categorize_skill_cache
    @__skill_category = []

    # 自動振り分け
    if KGC::CategorizeSkill::ENABLE_AUTO_CATEGORIZE
      prefix = auto_categorize_prefix
      if prefix != nil
        suffix = auto_categorize_suffix
        @__skill_category <<
          KGC::CategorizeSkill::RESERVED_CATEGORY_INDEX[prefix]
        @__skill_category <<
          KGC::CategorizeSkill::RESERVED_CATEGORY_INDEX[prefix + suffix]
      end
      @__skill_category.compact!
    end

    # メモ欄
    self.note.split(/[\r\n]+/).each { |line|
      if line =~ KGC::CategorizeSkill::Regexp::Skill::CATEGORY
        # カテゴリ
        c = KGC::CategorizeSkill::CATEGORY_IDENTIFIER.index($1)
        @__skill_category << c if c != nil
      end
    }

    if @__skill_category.empty?
      @__skill_category << KGC::CategorizeSkill::SKILL_DEFAULT_CATEGORY_INDEX
    elsif KGC::CategorizeSkill::NOT_ALLOW_DUPLICATE
      # 最後に指定したカテゴリに配置
      @__skill_category = [@__skill_category.pop]
    end
  end
  #--------------------------------------------------------------------------
  # ○ スキル分類のキャッシュ生成 (戦闘時)
  #--------------------------------------------------------------------------
  def create_categorize_skill_battle_cache
    @__skill_category_battle = []

    # 自動振り分け
    if KGC::CategorizeSkill::ENABLE_AUTO_CATEGORIZE
      prefix = auto_categorize_prefix
      if prefix != nil
        suffix = auto_categorize_suffix
        @__skill_category_battle <<
          KGC::CategorizeSkill::RESERVED_CATEGORY_INDEX_BATTLE[prefix]
        @__skill_category_battle <<
          KGC::CategorizeSkill::RESERVED_CATEGORY_INDEX_BATTLE[prefix + suffix]
      end
      @__skill_category_battle.compact!
    end

    # メモ欄
    self.note.split(/[\r\n]+/).each { |line|
      if line =~ KGC::CategorizeSkill::Regexp::Skill::CATEGORY
        # カテゴリ
        c = KGC::CategorizeSkill::CATEGORY_IDENTIFIER_BATTLE.index($1)
        @__skill_category_battle << c if c != nil
      end
    }

    if @__skill_category_battle.empty?
      @__skill_category_battle <<
        KGC::CategorizeSkill::SKILL_DEFAULT_CATEGORY_INDEX_BATTLE
    elsif KGC::CategorizeSkill::NOT_ALLOW_DUPLICATE
      # 最後に指定したカテゴリに配置
      @__skill_category_battle = [@__skill_category_battle.pop]
    end
  end
  #--------------------------------------------------------------------------
  # ○ 自動振り分け先の接頭辞
  #--------------------------------------------------------------------------
  def auto_categorize_prefix
    if is_recover?
      return "回復"
    elsif is_attack?
      return "攻撃"
    elsif is_assist?
      return "補助"
    else
      return nil
    end
  end
  #--------------------------------------------------------------------------
  # ○ 自動振り分け先の接尾辞
  #--------------------------------------------------------------------------
  def auto_categorize_suffix
    return (physical_attack ? "技" : "魔法")
  end
  #--------------------------------------------------------------------------
  # ○ 回復スキル判定
  #--------------------------------------------------------------------------
  def is_recover?
    result = for_friend?            # 対象が味方
    result &= (occasion != 3)      # 使用不可でない
    result &= (base_damage < 0) ||  # ダメージ量が負、または
      (plus_state_set.empty? &&    # ステートを付加せずに解除する
      !minus_state_set.empty?)
    return result
  end
  #--------------------------------------------------------------------------
  # ○ 攻撃スキル判定
  #--------------------------------------------------------------------------
  def is_attack?
    result = for_opponent?      # 対象が敵
    result &= battle_ok?        # 戦闘中に使用可能
    result &= (base_damage > 0)  # ダメージ量が正
    return result
  end
  #--------------------------------------------------------------------------
  # ○ 補助スキル判定
  #--------------------------------------------------------------------------
  def is_assist?
    result = (scope != 0)                # 対象が [なし] 以外
    result &= battle_ok?                  # 戦闘中に使用可能
    result &= !(plus_state_set.empty? &&
      minus_state_set.empty?)            # ステートが変化する
    return result
  end
  #--------------------------------------------------------------------------
  # ○ スキルのカテゴリ (非戦闘時)
  #--------------------------------------------------------------------------
  def skill_category
    create_categorize_skill_cache if @__skill_category == nil
    return @__skill_category
  end
  #--------------------------------------------------------------------------
  # ○ スキルのカテゴリ (戦闘時)
  #--------------------------------------------------------------------------
  def skill_category_battle
    create_categorize_skill_battle_cache if @__skill_category_battle == nil
    return @__skill_category_battle
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_writer  :last_skill_category      # カーソル記憶用 : スキルカテゴリ
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #    actor_id : アクター ID
  #--------------------------------------------------------------------------
  alias initialize_KGC_CategorizeSkill initialize
  def initialize(actor_id)
    initialize_KGC_CategorizeSkill(actor_id)

    @last_skill_category = 0
  end
  #--------------------------------------------------------------------------
  # ○ カーソル記憶用のカテゴリ取得
  #--------------------------------------------------------------------------
  def last_skill_category
    @last_skill_category = 0 if @last_skill_category == nil
    return @last_skill_category
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Window_Skill
#==============================================================================

class Window_Skill < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 公開インスタンス変数
  #--------------------------------------------------------------------------
  attr_reader  :category                # カテゴリ
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #    x      : ウィンドウの X 座標
  #    y      : ウィンドウの Y 座標
  #    width  : ウィンドウの幅
  #    height : ウィンドウの高さ
  #    actor  : アクター
  #--------------------------------------------------------------------------
  alias initialize_KGC_CategorizeSkill initialize
  def initialize(x, y, width, height, actor)
    @category = 0

    initialize_KGC_CategorizeSkill(x, y, width, height, actor)
  end
  #--------------------------------------------------------------------------
  # ○ カテゴリ設定
  #--------------------------------------------------------------------------
  def category=(value)
    @category = value
    refresh
  end
  #--------------------------------------------------------------------------
  # ○ スキルをリストに含めるかどうか
  #    skill : スキル
  #--------------------------------------------------------------------------
  unless $@
    alias include_KGC_CategorizeSkill? include? if method_defined?(:include?)
  end
  def include?(skill)
    return false if skill == nil

    if defined?(include_KGC_CategorizeSkill?)
      return false unless include_KGC_CategorizeSkill?(skill)
    end

    # 分類しない場合は含める
    if $game_temp.in_battle
      return true unless KGC::CategorizeSkill::ENABLE_IN_BATTLE
      reserved_index = KGC::CategorizeSkill::RESERVED_CATEGORY_INDEX_BATTLE
      skill_category = skill.skill_category_battle
    else
      return true unless KGC::CategorizeSkill::ENABLE_NOT_IN_BATTLE
      reserved_index = KGC::CategorizeSkill::RESERVED_CATEGORY_INDEX
      skill_category = skill.skill_category
    end
    # 「全種」なら含める
    return true if @category == reserved_index["全種"]
    # カテゴリ一致判定
    return (skill_category.include?(@category))
  end
  #--------------------------------------------------------------------------
  # ● リフレッシュ
  #--------------------------------------------------------------------------
  def refresh
    @data = []
    for skill in @actor.skills
      next unless include?(skill)
      @data.push(skill)
      if skill.id == @actor.last_skill_id
        self.index = @data.size - 1
      end
    end
    @item_max = @data.size
    create_contents
    for i in 0...@item_max
      draw_item(i)
    end
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# □ Window_SkillCategory
#------------------------------------------------------------------------------
#  スキル画面でカテゴリ選択を行うウィンドウです。
#==============================================================================

class Window_SkillCategory < Window_Command
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    if $game_temp.in_battle
      cols = KGC::CategorizeSkill::CATEGORY_WINDOW_COLUMNS_BATTLE
      width = KGC::CategorizeSkill::CATEGORY_WINDOW_COL_WIDTH_BATTLE
      space = KGC::CategorizeSkill::CATEGORY_WINDOW_COL_SPACE_BATTLE
      commands = KGC::CategorizeSkill::CATEGORY_NAME_BATTLE
      position = KGC::CategorizeSkill::CATEGORY_WINDOW_POSITION_BATTLE
    else
      cols = KGC::CategorizeSkill::CATEGORY_WINDOW_COLUMNS
      width = KGC::CategorizeSkill::CATEGORY_WINDOW_COL_WIDTH
      space = KGC::CategorizeSkill::CATEGORY_WINDOW_COL_SPACE
      commands = KGC::CategorizeSkill::CATEGORY_NAME
      position = KGC::CategorizeSkill::CATEGORY_WINDOW_POSITION
    end
    width = width * cols + 32
    width += (cols - 1) * space
    super(width, commands, cols, 0, space)
    self.x = position[0]
    self.y = position[1]
    self.z = 1000
    self.index = 0
  end
  #--------------------------------------------------------------------------
  # ● ヘルプテキスト更新
  #--------------------------------------------------------------------------
  def update_help
    if $game_temp.in_battle
      text = KGC::CategorizeSkill::CATEGORY_DEscriptION[self.index]
    else
      text = KGC::CategorizeSkill::CATEGORY_DEscriptION_BATTLE[self.index]
    end
    @help_window.set_text(text)
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Scene_Skill
#==============================================================================

if KGC::CategorizeSkill::ENABLE_NOT_IN_BATTLE
class Scene_Skill < Scene_Base
  #--------------------------------------------------------------------------
  # ● 開始処理
  #--------------------------------------------------------------------------
  alias start_KGC_CategorizeSkill start
  def start
    start_KGC_CategorizeSkill

    @category_window = Window_SkillCategory.new
    @category_window.help_window = @help_window
    show_category_window
  end
  #--------------------------------------------------------------------------
  # ● 終了処理
  #--------------------------------------------------------------------------
  alias terminate_KGC_CategorizeSkill terminate
  def terminate
    terminate_KGC_CategorizeSkill

    @category_window.dispose
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias update_KGC_CategorizeSkill update
  def update
    @category_window.update

    update_KGC_CategorizeSkill

    if @category_window.active
      update_category_selection
    end
  end
  #--------------------------------------------------------------------------
  # ○ カテゴリ選択の更新
  #--------------------------------------------------------------------------
  def update_category_selection
    unless @category_activated
      @category_activated = true
      return
    end

    # 選択カテゴリー変更
    if @last_category_index != @category_window.index
      @skill_window.category = @category_window.index
      @skill_window.refresh
      @last_category_index = @category_window.index
    end

    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::C)
      Sound.play_decision
      hide_category_window
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor
    end
  end
  #--------------------------------------------------------------------------
  # ● スキル選択の更新
  #--------------------------------------------------------------------------
  alias update_skill_selection_KGC_CategorizeSkill update_skill_selection
  def update_skill_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      show_category_window
      return
    elsif Input.trigger?(Input::R) || Input.trigger?(Input::L)
      # 何もしない
      return
    end

    update_skill_selection_KGC_CategorizeSkill
  end
  #--------------------------------------------------------------------------
  # ○ カテゴリウィンドウの表示
  #--------------------------------------------------------------------------
  def show_category_window
    @category_window.open
    @category_window.active = true
    @skill_window.active = false
  end
  #--------------------------------------------------------------------------
  # ○ カテゴリウィンドウの非表示
  #--------------------------------------------------------------------------
  def hide_category_window
    @category_activated = false
    @category_window.close
    @category_window.active = false
    @skill_window.active = true
    # スキルウィンドウのインデックスを調整
    if @skill_window.index >= @skill_window.item_max
      @skill_window.index = [@skill_window.item_max - 1, 0].max
    end
  end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Scene_Battle
#==============================================================================

if KGC::CategorizeSkill::ENABLE_IN_BATTLE
class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # ● スキル選択の開始
  #--------------------------------------------------------------------------
  alias start_skill_selection_KGC_CategorizeSkill start_skill_selection
  def start_skill_selection
    start_skill_selection_KGC_CategorizeSkill

    # カテゴリウィンドウを作成
    @category_window = Window_SkillCategory.new
    @category_window.help_window = @help_window
    @category_window.z = @help_window.z + 10
    @skill_window.active = false

    # 記憶していたカテゴリを復元
    if KGC::CategorizeSkill::REMEMBER_INDEX_IN_BATTLE
      @category_window.index = @active_battler.last_skill_category
      @skill_window.category = @category_window.index
      @skill_window.refresh
    end
  end
  #--------------------------------------------------------------------------
  # ● スキル選択の終了
  #--------------------------------------------------------------------------
  alias end_skill_selection_KGC_CategorizeSkill end_skill_selection
  def end_skill_selection
    if @category_window != nil
      @category_window.dispose
      @category_window = nil
    end

    end_skill_selection_KGC_CategorizeSkill
  end
  #--------------------------------------------------------------------------
  # ● スキル選択の更新
  #--------------------------------------------------------------------------
  alias update_skill_selection_KGC_CategorizeSkill update_skill_selection
  def update_skill_selection
    @category_window.update
    if @category_window.active
      update_skill_category_selection
      return
    elsif Input.trigger?(Input::B)
      Sound.play_cancel
      show_category_window
      return
    end

    update_skill_selection_KGC_CategorizeSkill
  end
  #--------------------------------------------------------------------------
  # ● スキルの決定
  #--------------------------------------------------------------------------
  alias determine_skill_KGC_CategorizeSkill determine_skill
  def determine_skill
    # 選択したカテゴリを記憶
    if KGC::CategorizeSkill::REMEMBER_INDEX_IN_BATTLE && @category_window != nil
      @active_battler.last_skill_category = @category_window.index
    end

    determine_skill_KGC_CategorizeSkill
  end
  #--------------------------------------------------------------------------
  # ○ スキルのカテゴリ選択の更新
  #--------------------------------------------------------------------------
  def update_skill_category_selection
    @help_window.update

    # 選択カテゴリー変更
    if @last_category_index != @category_window.index
      @skill_window.category = @category_window.index
      @skill_window.refresh
      @last_category_index = @category_window.index
    end

    if Input.trigger?(Input::B)
      Sound.play_cancel
      end_skill_selection
    elsif Input.trigger?(Input::C)
      Sound.play_decision
      hide_category_window
    end
  end
  #--------------------------------------------------------------------------
  # ○ カテゴリウィンドウの表示
  #--------------------------------------------------------------------------
  def show_category_window
    @category_window.open
    @category_window.active = true
    @skill_window.active = false
  end
  #--------------------------------------------------------------------------
  # ○ カテゴリウィンドウの非表示
  #--------------------------------------------------------------------------
  def hide_category_window
    @category_activated = false
    @category_window.close
    @category_window.active = false
    @skill_window.active = true
    # スキルウィンドウのインデックスを調整
    if @skill_window.index >= @skill_window.item_max
      @skill_window.index = [@skill_window.item_max - 1, 0].max
    end
  end
end
end

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
#_/  La version Originale ce trouve ici :
# http://ytomy.sakura.ne.jp/tkool/rpgtech/php/tech.php?tool=VX&cat=tech_vx/skill&tech=categorize_skill
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Black'
Black'
Membre

Nombre de messages : 351
Localisation : Far, far away
Distinction : aucune
Date d'inscription : 19/04/2010

Catégories pour magie par Doddy Empty Re: Catégories pour magie par Doddy

le Lun 4 Oct 2010 - 18:06
C'est un script pour faire des catégories de magies, du genre Magie Noire, Magie Blanche, Magie Verte, ou encore Invocation, comme dans Final Fantasy XII ?

Merci beaucoup du partage Balby', je le met illico dans mon projet Wink
dragonflysellen
dragonflysellen
Membre

Nombre de messages : 3
Distinction : aucune
Date d'inscription : 20/03/2011

Catégories pour magie par Doddy Empty Re: Catégories pour magie par Doddy

le Mar 22 Mar 2011 - 13:12
Comment tu assigne la compétence à la categorie j'ai pas trés bien comprit
Maloume
Maloume
Membre

Nombre de messages : 623
Age : 24
Localisation : Marseille mon con
Distinction : aucune
Date d'inscription : 28/05/2010

Catégories pour magie par Doddy Empty Re: Catégories pour magie par Doddy

le Mar 22 Mar 2011 - 17:47
Waw ! En gros c'est comme le script de classement d'objets mais pour les compétences ! Ca a l'air super !
dricc
dricc
Membre

Nombre de messages : 2757
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009

Catégories pour magie par Doddy Empty Re: Catégories pour magie par Doddy

le Mar 22 Mar 2011 - 18:17
Tiens , ça faisait longtemps qu'on avait pas eu de nécropost Smile

Allez , c'est pas un mal : il manque qq précisions en effet .

Le commentaire est incomplet :
#_/ EX. Feu j'ajoute en commentaire Magie Noire pour que la compétence Feu soit dans la catégorie Magie Noire

Et en fait , c'est plus "aptitude" que "compétence" dans la BDD . Y'a une traduction incorrecte de "Skills" (ça arrive Wink )
Pour chacune tu met dans la zone commentaire "Magie Noire" , etc... (voir liste dans le script) .
Contenu sponsorisé

Catégories pour magie par Doddy Empty Re: Catégories pour magie par Doddy

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum