设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: 冰舞蝶恋
打印 上一主题 下一主题

[推荐问答] 【<菜鸟问题收容所> 】

   关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
47
在线时间
537 小时
注册时间
2011-6-28
帖子
655
641
发表于 2011-7-2 13:36:06 | 只看该作者
vx的事件设置可以参照xp66的视频吗?原来看过,现在忘了不少。

===============
好棒的。支持一下~\(≧▽≦)/~啦啦啦~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
133
在线时间
45 小时
注册时间
2011-2-27
帖子
11
642
发表于 2011-7-2 14:22:21 | 只看该作者
本帖最后由 shepcmm 于 2011-7-2 14:23 编辑

问题名称:关于横版装备详细显示的脚本有么?
问题状况:搜索功能一直搜索不到。。。。。就是装备能显示属性和攻击什么的。。
报酬:我要说喜欢你。非常非常喜欢你。

点评

详尽帮助  发表于 2011-7-3 21:41
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
78 小时
注册时间
2011-6-29
帖子
16
643
发表于 2011-7-2 15:55:04 | 只看该作者
问题名称:请问该如何在游戏中变更随机遇敌的组合?
问题状况:我想做一个地下城系统,随着故事的推进怪物也变的不一样
请问一下我该怎么去变更随机遇敌的组合?
我记得RM2K可以直接增减组合,但是VX好像没看到

问题名称:如何在遭遇战斗时关闭烛光系统?
问题状况:我使用了这个烛光系统
http://rpg.blue/thread-89801-1-1.html
但是这个系统在战斗中仍然会显示烛光
请问该如何判断进入战斗时暂时把烛光关掉,结束后再打开?

点评

这个的话也许可以用明雷系统+分歧判断。  发表于 2011-7-2 19:04
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
676
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

644
 楼主| 发表于 2011-7-2 16:03:39 | 只看该作者
wix3000 发表于 2011-7-2 15:55
问题名称:请问该如何在游戏中变更随机遇敌的组合?
问题状况:我想做一个地下城系统,随着故事的推进怪物 ...

呃。。你做两个地图吧,然后判断角色等级然后进不同的地图

点评

呃...我还以为可以直接更改,不过做多地图某方面来说也算比较方便  发表于 2011-7-2 18:38
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
57 小时
注册时间
2011-6-11
帖子
60
645
发表于 2011-7-2 16:36:03 | 只看该作者
這是腳本
  1. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2. #_/    ◆ スキル習得装備 - KGC_EquipLearnSkill ◆ VX ◆
  3. #_/    ◇ Last update : 2009/09/26 ◇
  4. #_/----------------------------------------------------------------------------
  5. #_/  スキルを習得する装備品を作成します。
  6. #_/============================================================================
  7. #_/ 【スキル】≪スキルCP制≫ より上に導入してください。
  8. #_/ 【メニュー】≪拡張装備画面≫ より上に導入してください。
  9. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

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

  11. #==============================================================================
  12. # ★ カスタマイズ項目 - Customize ★
  13. #==============================================================================

  14. module KGC
  15. module EquipLearnSkill
  16.   # ◆ AP の名称
  17.   #  ゲーム中の表記のみ変化。
  18.   VOCAB_AP     = "AP"
  19.   # ◆ AP のデフォルト値
  20.   #  所持 AP を指定しなかったエネミーの AP。
  21.   DEFAULT_AP   = 1
  22.   # ◆ 装備しただけでは習得しない
  23.   #  true  : AP が溜まるまで使用不能
  24.   #  false : 装備するだけで使用可能
  25.   NEED_FULL_AP = false

  26.   # ◆ リザルト画面での獲得 AP の表示
  27.   #  %s : 獲得した AP
  28.   VOCAB_RESULT_OBTAIN_AP         = "#{VOCAB_AP} を %s 獲得!"
  29.   # ◆ リザルト画面でスキルをマスターした際のメッセージ
  30.   #  %s : アクター名
  31.   VOCAB_RESULT_MASTER_SKILL      = "%s"
  32.   # ◆ リザルト画面でマスターしたスキルの表示
  33.   #  %s : マスターしたスキルの名前
  34.   VOCAB_RESULT_MASTER_SKILL_NAME = "%s掌握了!"

  35.   # ◆ メニュー画面に「AP ビューア」コマンドを追加する
  36.   #  追加する場所は、メニューコマンドの最下部です。
  37.   #  他の部分に追加したければ、≪カスタムメニューコマンド≫ をご利用ください。
  38.   USE_MENU_AP_VIEWER_COMMAND = true
  39.   # ◆ メニュー画面の「AP ビューア」コマンドの名称
  40.   VOCAB_MENU_AP_VIEWER       = "#{VOCAB_AP} ビューア"

  41.   # ◆ マスター(完全習得)したスキルの AP 欄
  42.   VOCAB_MASTER_SKILL      = "- MASTER -"
  43.   # ◆ 蓄積 AP が 0 のスキルも AP ビューアに表示
  44.   SHOW_ZERO_AP_SKILL      = true
  45.   # ◆ 蓄積 AP が 0 のスキルの名前を隠す
  46.   MASK_ZERO_AP_SKILL_NAME = true
  47.   # ◆ 蓄積 AP が 0 のスキルに表示する名前
  48.   #  1文字だけ指定すると、スキル名と同じ長さに拡張されます。
  49.   ZERO_AP_NAME_MASK       = "?"
  50.   # ◆ 蓄積 AP が 0 のスキルのヘルプを隠す
  51.   HIDE_ZERO_AP_SKILL_HELP = true
  52.   # ◆ 蓄積 AP が 0 のスキルに表示するヘルプ
  53.   ZERO_AP_SKILL_HELP      = "????????"

  54.   # ◆ 除外装備品配列
  55.   #  配列の添字がアクター ID に対応。
  56.   #  習得装備から除外する武器・防具の ID を配列に格納。
  57.   EXCLUDE_WEAPONS = []  # 武器
  58.   EXCLUDE_ARMORS  = []  # 防具
  59.   # ここから下に定義。
  60.   #  <例>
  61.   #  アクターID:1 は、武器ID:50 と 70 のスキルを習得できない。
  62.   # EXCLUDE_WEAPONS[1] = [50, 70]

  63.   # ◆ 除外スキル配列
  64.   #  配列の添字がアクター ID と対応。
  65.   #  装備では習得不可能にするスキル ID を配列に格納。
  66.   EXCLUDE_SKILLS = []
  67.   #  <例>
  68.   #  アクターID:1 は、スキルID:30 を装備品で習得することはできない。
  69.   # EXCLUDE_SKILLS[1] = [30]
  70. end
  71. end

  72. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  73. $imported = {} if $imported == nil
  74. $imported["EquipLearnSkill"] = true

  75. module KGC::EquipLearnSkill
  76.   module Regexp
  77.     module BaseItem
  78.       # 習得スキル
  79.       LEARN_SKILL = /<(?:LEARN_SKILL|スキル習得)\s*(\d+(?:\s*,\s*\d+)*)>/i
  80.     end

  81.     module Skill
  82.       # 必要 AP
  83.       NEED_AP = /<(?:NEED_AP|必要AP)\s*(\d+)>/i
  84.     end

  85.     module Enemy
  86.       # 所持 AP
  87.       AP = /<AP\s*(\d+)>/i
  88.     end
  89.   end
  90. end

  91. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  92. #==============================================================================
  93. # □ KGC::Commands
  94. #==============================================================================

  95. module KGC
  96. module Commands
  97.   module_function
  98.   #--------------------------------------------------------------------------
  99.   # ○ AP の獲得
  100.   #     actor_id : アクター ID
  101.   #     ap       : 獲得 AP
  102.   #     show     : マスター表示フラグ
  103.   #--------------------------------------------------------------------------
  104.   def gain_actor_ap(actor_id, ap, show = false)
  105.     $game_actors[actor_id].gain_ap(ap, show)
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ○ AP の変更
  109.   #     actor_id : アクター ID
  110.   #     skill_id : スキル ID
  111.   #     ap       : AP
  112.   #--------------------------------------------------------------------------
  113.   def change_actor_ap(actor_id, skill_id, ap)
  114.     skill = $data_skills[skill_id]
  115.     return if skill == nil
  116.     $game_actors[actor_id].change_ap(skill, ap)

  117.     $game_actors[actor_id].restore_passive_rev if $imported["PassiveSkill"]
  118.   end
  119.   #--------------------------------------------------------------------------
  120.   # ○ AP ビューアの呼び出し
  121.   #     actor_index : アクターインデックス
  122.   #--------------------------------------------------------------------------
  123.   def call_ap_viewer(actor_index = 0)
  124.     return if $game_temp.in_battle
  125.     $game_temp.next_scene = :ap_viewer
  126.     $game_temp.next_scene_actor_index = actor_index
  127.   end
  128. end
  129. end

  130. class Game_Interpreter
  131.   include KGC::Commands
  132. end

  133. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  134. #==============================================================================
  135. # ■ Vocab
  136. #==============================================================================

  137. module Vocab
  138.   # 戦闘終了メッセージ
  139.   ObtainAP              = KGC::EquipLearnSkill::VOCAB_RESULT_OBTAIN_AP
  140.   ResultFullAPSkill     = KGC::EquipLearnSkill::VOCAB_RESULT_MASTER_SKILL
  141.   ResultFullAPSkillName = KGC::EquipLearnSkill::VOCAB_RESULT_MASTER_SKILL_NAME

  142.   # AP
  143.   def self.ap
  144.     return KGC::EquipLearnSkill::VOCAB_AP
  145.   end

  146.   # マスターしたスキル
  147.   def self.full_ap_skill
  148.     return KGC::EquipLearnSkill::VOCAB_MASTER_SKILL
  149.   end

  150.   # AP ビューア
  151.   def self.ap_viewer
  152.     return KGC::EquipLearnSkill::VOCAB_MENU_AP_VIEWER
  153.   end
  154. end

  155. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  156. #==============================================================================
  157. # ■ RPG::BaseItem
  158. #==============================================================================

  159. class RPG::BaseItem
  160.   #--------------------------------------------------------------------------
  161.   # ○ スキル習得装備のキャッシュ生成
  162.   #--------------------------------------------------------------------------
  163.   def create_equip_learn_skill_cache
  164.     @__learn_skills = []

  165.     self.note.each_line { |line|
  166.       if line =~ KGC::EquipLearnSkill::Regexp::BaseItem::LEARN_SKILL
  167.         # スキル習得
  168.         $1.scan(/\d+/).each { |num|
  169.           skill_id = num.to_i
  170.           # 存在するスキルならリストに加える
  171.           @__learn_skills << skill_id if $data_skills[skill_id] != nil
  172.         }
  173.       end
  174.     }
  175.   end
  176.   #--------------------------------------------------------------------------
  177.   # ○ 習得するスキル ID の配列
  178.   #--------------------------------------------------------------------------
  179.   def learn_skills
  180.     create_equip_learn_skill_cache if @__learn_skills == nil
  181.     return @__learn_skills
  182.   end
  183. end

  184. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  185. #==============================================================================
  186. # ■ RPG::Skill
  187. #==============================================================================

  188. class RPG::Skill < RPG::UsableItem
  189.   #--------------------------------------------------------------------------
  190.   # ○ クラス変数
  191.   #--------------------------------------------------------------------------
  192.   @@__masked_name =
  193.     KGC::EquipLearnSkill::ZERO_AP_NAME_MASK  # マスク名
  194.   @@__expand_masked_name = false             # マスク名拡張表示フラグ

  195.   if @@__expand_masked_name != nil
  196.     @@__expand_masked_name = (@@__masked_name.scan(/./).size == 1)
  197.   end
  198.   #--------------------------------------------------------------------------
  199.   # ○ スキル習得装備のキャッシュ生成
  200.   #--------------------------------------------------------------------------
  201.   def create_equip_learn_skill_cache
  202.     @__need_ap = 0

  203.     self.note.each_line { |line|
  204.       if line =~ KGC::EquipLearnSkill::Regexp::Skill::NEED_AP  # 必要 AP
  205.         @__need_ap = $1.to_i
  206.       end
  207.     }
  208.   end
  209.   #--------------------------------------------------------------------------
  210.   # ○ マスク名
  211.   #--------------------------------------------------------------------------
  212.   def masked_name
  213.     if KGC::EquipLearnSkill::MASK_ZERO_AP_SKILL_NAME
  214.       if @@__expand_masked_name
  215.         # マスク名を拡張して表示
  216.         return @@__masked_name * self.name.scan(/./).size
  217.       else
  218.         return @@__masked_name
  219.       end
  220.     else
  221.       return self.name
  222.     end
  223.   end
  224.   #--------------------------------------------------------------------------
  225.   # ○ 習得に必要な AP
  226.   #--------------------------------------------------------------------------
  227.   def need_ap
  228.     create_equip_learn_skill_cache if @__need_ap == nil
  229.     return @__need_ap
  230.   end
  231. end

  232. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  233. #==============================================================================
  234. # ■ RPG::Enemy
  235. #==============================================================================

  236. class RPG::Enemy
  237.   #--------------------------------------------------------------------------
  238.   # ○ スキル習得装備のキャッシュ生成
  239.   #--------------------------------------------------------------------------
  240.   def create_equip_learn_skill_cache
  241.     @__ap = KGC::EquipLearnSkill::DEFAULT_AP

  242.     self.note.each_line { |line|
  243.       if line =~ KGC::EquipLearnSkill::Regexp::Enemy::AP  # 所持 AP
  244.         @__ap = $1.to_i
  245.       end
  246.     }
  247.   end
  248.   #--------------------------------------------------------------------------
  249.   # ○ 所持 AP
  250.   #--------------------------------------------------------------------------
  251.   def ap
  252.     create_equip_learn_skill_cache if @__ap == nil
  253.     return @__ap
  254.   end
  255. end

  256. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  257. #==============================================================================
  258. # ■ Game_Temp
  259. #==============================================================================

  260. unless $imported["CustomMenuCommand"]
  261. class Game_Temp
  262.   #--------------------------------------------------------------------------
  263.   # ● 公開インスタンス変数
  264.   #--------------------------------------------------------------------------
  265.   attr_accessor :next_scene_actor_index   # 次のシーンのアクターインデックス
  266.   #--------------------------------------------------------------------------
  267.   # ● オブジェクト初期化
  268.   #--------------------------------------------------------------------------
  269.   alias initialize_KGC_EquipLearnSkill initialize
  270.   def initialize
  271.     initialize_KGC_EquipLearnSkill

  272.     @next_scene_actor_index = 0
  273.   end
  274. end
  275. end

  276. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  277. #==============================================================================
  278. # ■ Game_Actor
  279. #==============================================================================

  280. class Game_Actor < Game_Battler
  281.   #--------------------------------------------------------------------------
  282.   # ● セットアップ
  283.   #     actor_id : アクター ID
  284.   #--------------------------------------------------------------------------
  285.   alias setup_KGC_EquipLearnSkill setup
  286.   def setup(actor_id)
  287.     setup_KGC_EquipLearnSkill(actor_id)

  288.     @skill_ap = []
  289.   end
  290.   #--------------------------------------------------------------------------
  291.   # ○ 指定スキルの AP 取得
  292.   #     skill_id : スキル ID
  293.   #--------------------------------------------------------------------------
  294.   def skill_ap(skill_id)
  295.     @skill_ap = [] if @skill_ap == nil
  296.     return (@skill_ap[skill_id] != nil ? @skill_ap[skill_id] : 0)
  297.   end
  298.   #--------------------------------------------------------------------------
  299.   # ○ AP 変更
  300.   #     skill : スキル
  301.   #     ap    : 新しい AP
  302.   #--------------------------------------------------------------------------
  303.   def change_ap(skill, ap)
  304.     @skill_ap = [] if @skill_ap == nil
  305.     @skill_ap[skill.id] = [[ap, skill.need_ap].min, 0].max
  306.   end
  307.   #--------------------------------------------------------------------------
  308.   # ○ マスターしたスキルの表示
  309.   #     new_skills : 新しくマスターしたスキルの配列
  310.   #--------------------------------------------------------------------------
  311.   def display_full_ap_skills(new_skills)
  312.     $game_message.new_page
  313.     text = sprintf(Vocab::ResultFullAPSkill, name)
  314.     $game_message.texts.push(text)
  315.     new_skills.each { |skill|
  316.       text = sprintf(Vocab::ResultFullAPSkillName, skill.name)
  317.       $game_message.texts.push(text)
  318.     }
  319.   end
  320.   #--------------------------------------------------------------------------
  321.   # ○ AP 獲得
  322.   #     ap   : AP の増加量
  323.   #     show : マスタースキル表示フラグ
  324.   #--------------------------------------------------------------------------
  325.   def gain_ap(ap, show)
  326.     last_full_ap_skills = full_ap_skills

  327.     # 装備品により習得しているスキルに AP を加算
  328.     equipment_skills(true).each { |skill|
  329.       change_ap(skill, skill_ap(skill.id) + ap)
  330.     }
  331.     restore_passive_rev if $imported["PassiveSkill"]

  332.     # マスターしたスキルを表示
  333.     if show && last_full_ap_skills != full_ap_skills
  334.       display_full_ap_skills(full_ap_skills - last_full_ap_skills)
  335.     end
  336.   end
  337.   #--------------------------------------------------------------------------
  338.   # ● スキルオブジェクトの配列取得
  339.   #--------------------------------------------------------------------------
  340.   alias skills_KGC_EquipLearnSkill skills
  341.   def skills
  342.     result = skills_KGC_EquipLearnSkill

  343.     # 装備品と AP 蓄積済みのスキルを追加
  344.     additional_skills = equipment_skills | full_ap_skills
  345.     return (result | additional_skills).sort_by { |s| s.id }
  346.   end
  347.   #--------------------------------------------------------------------------
  348.   # ○ 装備品の習得スキル取得
  349.   #     all : 使用不可能なスキルも含める
  350.   #--------------------------------------------------------------------------
  351.   def equipment_skills(all = false)
  352.     result = []
  353.     equips.compact.each { |item|
  354.       next unless include_learnable_equipment?(item)        # 除外装備は無視

  355.       item.learn_skills.each { |i|
  356.         skill = $data_skills[i]
  357.         next unless include_equipment_skill?(skill)          # 除外スキルは無視
  358.         if !all && KGC::EquipLearnSkill::NEED_FULL_AP        # 要蓄積の場合
  359.           next unless skill.need_ap == 0 || ap_full?(skill)    # 未達成なら無視
  360.         end
  361.         result << skill
  362.       }
  363.     }
  364.     return result
  365.   end
  366.   #--------------------------------------------------------------------------
  367.   # ○ スキル習得装備除外判定
  368.   #     item : 判定装備
  369.   #--------------------------------------------------------------------------
  370.   def include_learnable_equipment?(item)
  371.     return false unless item.is_a?(RPG::Weapon) || item.is_a?(RPG::Armor)
  372.     return false unless equippable?(item)

  373.     case item
  374.     when RPG::Weapon  # 武器
  375.       # 除外武器に含まれている場合
  376.       if KGC::EquipLearnSkill::EXCLUDE_WEAPONS[id] != nil &&
  377.           KGC::EquipLearnSkill::EXCLUDE_WEAPONS[id].include?(item.id)
  378.         return false
  379.       end
  380.     when RPG::Armor   # 防具
  381.       # 除外防具に含まれている場合
  382.       if KGC::EquipLearnSkill::EXCLUDE_ARMORS[id] != nil &&
  383.           KGC::EquipLearnSkill::EXCLUDE_ARMORS[id].include?(item.id)
  384.         return false
  385.       end
  386.     end

  387.     return true
  388.   end
  389.   #--------------------------------------------------------------------------
  390.   # ○ 装備品による習得スキル除外判定
  391.   #     skill : スキル
  392.   #--------------------------------------------------------------------------
  393.   def include_equipment_skill?(skill)
  394.     # 自身が除外されている場合
  395.     if KGC::EquipLearnSkill::EXCLUDE_SKILLS[id] != nil &&
  396.         KGC::EquipLearnSkill::EXCLUDE_SKILLS[id].include?(skill.id)
  397.       return false
  398.     end

  399.     return true
  400.   end
  401.   #--------------------------------------------------------------------------
  402.   # ○ AP 蓄積済みのスキルを取得
  403.   #--------------------------------------------------------------------------
  404.   def full_ap_skills
  405.     result = []
  406.     (1...$data_skills.size).each { |i|
  407.       skill = $data_skills[i]
  408.       result << skill if ap_full?(skill) && include_equipment_skill?(skill)
  409.     }
  410.     return result
  411.   end
  412.   #--------------------------------------------------------------------------
  413.   # ○ AP 蓄積可能なスキルを取得
  414.   #--------------------------------------------------------------------------
  415.   def can_gain_ap_skills
  416.     result = []
  417.     equips.compact.each { |item|
  418.       next unless include_learnable_equipment?(item)  # 除外装備なら無視

  419.       item.learn_skills.each { |i|
  420.         skill = $data_skills[i]
  421.         next unless include_equipment_skill?(skill)   # 除外スキルなら無視
  422.         result << skill
  423.       }
  424.     }
  425.     return (result - full_ap_skills)              # マスターしたものを除く
  426.   end
  427.   #--------------------------------------------------------------------------
  428.   # ○ AP 蓄積済み判定
  429.   #     skill : スキル
  430.   #--------------------------------------------------------------------------
  431.   def ap_full?(skill)
  432.     return false unless skill.is_a?(RPG::Skill)   # スキル以外
  433.     return false if skill.need_ap == 0            # 必要 AP が 0
  434.     return true  if @skills.include?(skill.id)    # 習得済み

  435.     return (skill_ap(skill.id) >= skill.need_ap)
  436.   end
  437.   #--------------------------------------------------------------------------
  438.   # ● スキルの使用可能判定
  439.   #     skill : スキル
  440.   #--------------------------------------------------------------------------
  441.   def skill_can_use?(skill)
  442.     return super
  443.   end
  444. end

  445. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  446. #==============================================================================
  447. # ■ Game_Enemy
  448. #==============================================================================

  449. class Game_Enemy < Game_Battler
  450.   #--------------------------------------------------------------------------
  451.   # ○ AP の取得
  452.   #--------------------------------------------------------------------------
  453.   def ap
  454.     return enemy.ap
  455.   end
  456. end

  457. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  458. #==============================================================================
  459. # ■ Game_Troop
  460. #==============================================================================

  461. class Game_Troop < Game_Unit
  462.   #--------------------------------------------------------------------------
  463.   # ○ AP の合計計算
  464.   #--------------------------------------------------------------------------
  465.   def ap_total
  466.     ap = 0
  467.     for enemy in dead_members
  468.       ap += enemy.ap unless enemy.hidden
  469.     end
  470.     return ap
  471.   end
  472. end

  473. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  474. #==============================================================================
  475. # ■ Window_Command
  476. #==============================================================================

  477. class Window_Command < Window_Selectable
  478.   unless method_defined?(:add_command)
  479.   #--------------------------------------------------------------------------
  480.   # ○ コマンドを追加
  481.   #    追加した位置を返す
  482.   #--------------------------------------------------------------------------
  483.   def add_command(command)
  484.     @commands << command
  485.     @item_max = @commands.size
  486.     item_index = @item_max - 1
  487.     refresh_command
  488.     draw_item(item_index)
  489.     return item_index
  490.   end
  491.   #--------------------------------------------------------------------------
  492.   # ○ コマンドをリフレッシュ
  493.   #--------------------------------------------------------------------------
  494.   def refresh_command
  495.     buf = self.contents.clone
  496.     self.height = [self.height, row_max * WLH + 32].max
  497.     create_contents
  498.     self.contents.blt(0, 0, buf, buf.rect)
  499.     buf.dispose
  500.   end
  501.   #--------------------------------------------------------------------------
  502.   # ○ コマンドを挿入
  503.   #--------------------------------------------------------------------------
  504.   def insert_command(index, command)
  505.     @commands.insert(index, command)
  506.     @item_max = @commands.size
  507.     refresh_command
  508.     refresh
  509.   end
  510.   #--------------------------------------------------------------------------
  511.   # ○ コマンドを削除
  512.   #--------------------------------------------------------------------------
  513.   def remove_command(command)
  514.     @commands.delete(command)
  515.     @item_max = @commands.size
  516.     refresh
  517.   end
  518.   end
  519. end

  520. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  521. #==============================================================================
  522. # □ Window_APViewer
  523. #------------------------------------------------------------------------------
  524. #  AP ビューアでスキルを表示するウィンドウです。
  525. #==============================================================================

  526. class Window_APViewer < Window_Selectable
  527.   #--------------------------------------------------------------------------
  528.   # ● オブジェクト初期化
  529.   #     x      : ウィンドウの X 座標
  530.   #     y      : ウィンドウの Y 座標
  531.   #     width  : ウィンドウの幅
  532.   #     height : ウィンドウの高さ
  533.   #     actor  : アクター
  534.   #--------------------------------------------------------------------------
  535.   def initialize(x, y, width, height, actor)
  536.     super(x, y, width, height)
  537.     @actor = actor
  538.     @can_gain_ap_skills = []
  539.     @equipment_skills   = []
  540.     self.index = 0
  541.     refresh
  542.   end
  543.   #--------------------------------------------------------------------------
  544.   # ○ スキルの取得
  545.   #--------------------------------------------------------------------------
  546.   def skill
  547.     return @data[self.index]
  548.   end
  549.   #--------------------------------------------------------------------------
  550.   # ○ リフレッシュ
  551.   #--------------------------------------------------------------------------
  552.   def refresh
  553.     @data = []
  554.     @can_gain_ap_skills = @actor.can_gain_ap_skills
  555.     @equipment_skills   = @actor.equipment_skills(true)

  556.     (1...$data_skills.size).each { |i|
  557.       skill = $data_skills[i]
  558.       @data << skill if include?(skill)
  559.     }
  560.     @item_max = @data.size
  561.     create_contents
  562.     @item_max.times { |i| draw_item(i) }
  563.   end
  564.   #--------------------------------------------------------------------------
  565.   # ○ 項目の描画
  566.   #     index : 項目番号
  567.   #--------------------------------------------------------------------------
  568.   def draw_item(index)
  569.     rect = item_rect(index)
  570.     self.contents.clear_rect(rect)
  571.     skill = @data[index]
  572.     if skill != nil
  573.       rect.width -= 4
  574.       draw_item_name(skill, rect.x, rect.y, enable?(skill))
  575.       if @actor.ap_full?(skill) || @actor.skill_learn?(skill)
  576.         # マスター
  577.         text = Vocab.full_ap_skill
  578.       else
  579.         # AP 蓄積中
  580.         text = sprintf("%s %4d/%4d",
  581.           Vocab.ap, @actor.skill_ap(skill.id), skill.need_ap)
  582.       end
  583.       # AP を描画
  584.       self.contents.font.color = normal_color
  585.       self.contents.draw_text(rect, text, 2)
  586.     end
  587.   end
  588.   #--------------------------------------------------------------------------
  589.   # ○ スキルをリストに含めるか
  590.   #     skill : スキル
  591.   #--------------------------------------------------------------------------
  592.   def include?(skill)
  593.     return false if skill.need_ap == 0
  594.     unless KGC::EquipLearnSkill::SHOW_ZERO_AP_SKILL
  595.       # AP が 0 、かつ装備品で習得していない
  596.       if @actor.skill_ap(skill.id) == 0 && !@equipment_skills.include?(skill)
  597.         return false
  598.       end
  599.     end

  600.     return true
  601.   end
  602.   #--------------------------------------------------------------------------
  603.   # ○ スキルを有効状態で表示するかどうか
  604.   #     skill : スキル
  605.   #--------------------------------------------------------------------------
  606.   def enable?(skill)
  607.     return true if @actor.skill_learn?(skill)           # 習得済み
  608.     return true if @actor.ap_full?(skill)               # マスター
  609.     return true if @can_gain_ap_skills.include?(skill)  # AP 蓄積可能

  610.     return false
  611.   end
  612.   #--------------------------------------------------------------------------
  613.   # ○ スキルをマスク表示するかどうか
  614.   #     skill : スキル
  615.   #--------------------------------------------------------------------------
  616.   def mask?(skill)
  617.     return false if @actor.skill_learn?(skill)           # 習得済み
  618.     return false if @actor.skill_ap(skill.id) > 0        # AP が 1 以上
  619.     return false if @can_gain_ap_skills.include?(skill)  # AP 蓄積可能

  620.     return true
  621.   end
  622.   #--------------------------------------------------------------------------
  623.   # ● アイテム名の描画
  624.   #     item    : アイテム (スキル、武器、防具でも可)
  625.   #     x       : 描画先 X 座標
  626.   #     y       : 描画先 Y 座標
  627.   #     enabled : 有効フラグ。false のとき半透明で描画
  628.   #--------------------------------------------------------------------------
  629.   def draw_item_name(item, x, y, enabled = true)
  630.     draw_icon(item.icon_index, x, y, enabled)
  631.     self.contents.font.color = normal_color
  632.     self.contents.font.color.alpha = enabled ? 255 : 128
  633.     self.contents.draw_text(x + 24, y, 172, WLH,
  634.       mask?(item) ? item.masked_name : item.name)
  635.   end
  636.   #--------------------------------------------------------------------------
  637.   # ● カーソルを 1 ページ後ろに移動
  638.   #--------------------------------------------------------------------------
  639.   def cursor_pagedown
  640.     return if Input.repeat?(Input::R)
  641.     super
  642.   end
  643.   #--------------------------------------------------------------------------
  644.   # ● カーソルを 1 ページ前に移動
  645.   #--------------------------------------------------------------------------
  646.   def cursor_pageup
  647.     return if Input.repeat?(Input::L)
  648.     super
  649.   end
  650.   #--------------------------------------------------------------------------
  651.   # ● フレーム更新
  652.   #--------------------------------------------------------------------------
  653.   def update
  654.     last_index = @index
  655.     super
  656.     return unless self.active

  657.     if Input.repeat?(Input::RIGHT)
  658.       cursor_pagedown
  659.     elsif Input.repeat?(Input::LEFT)
  660.       cursor_pageup
  661.     end
  662.     if @index != last_index
  663.       Sound.play_cursor
  664.     end
  665.   end
  666.   #--------------------------------------------------------------------------
  667.   # ● ヘルプテキスト更新
  668.   #--------------------------------------------------------------------------
  669.   def update_help
  670.     if KGC::EquipLearnSkill::HIDE_ZERO_AP_SKILL_HELP && mask?(skill)
  671.       @help_window.set_text(KGC::EquipLearnSkill::ZERO_AP_SKILL_HELP)
  672.     else
  673.       @help_window.set_text(skill == nil ? "" : skill.description)
  674.     end
  675.   end
  676. end

  677. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  678. #==============================================================================
  679. # ■ Scene_Map
  680. #==============================================================================

  681. class Scene_Map < Scene_Base
  682.   #--------------------------------------------------------------------------
  683.   # ● 画面切り替えの実行
  684.   #--------------------------------------------------------------------------
  685.   alias update_scene_change_KGC_EquipLearnSkill update_scene_change
  686.   def update_scene_change
  687.     return if $game_player.moving?    # プレイヤーの移動中?

  688.     if $game_temp.next_scene == :ap_viewer
  689.       call_ap_viewer
  690.       return
  691.     end

  692.     update_scene_change_KGC_EquipLearnSkill
  693.   end
  694.   #--------------------------------------------------------------------------
  695.   # ○ AP ビューアへの切り替え
  696.   #--------------------------------------------------------------------------
  697.   def call_ap_viewer
  698.     $game_temp.next_scene = nil
  699.     $scene = Scene_APViewer.new($game_temp.next_scene_actor_index,
  700.       0, Scene_APViewer::HOST_MAP)
  701.   end
  702. end

  703. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  704. #==============================================================================
  705. # ■ Scene_Menu
  706. #==============================================================================

  707. class Scene_Menu < Scene_Base
  708.   if KGC::EquipLearnSkill::USE_MENU_AP_VIEWER_COMMAND
  709.   #--------------------------------------------------------------------------
  710.   # ● コマンドウィンドウの作成
  711.   #--------------------------------------------------------------------------
  712.   alias create_command_window_KGC_EquipLearnSkill create_command_window
  713.   def create_command_window
  714.     create_command_window_KGC_EquipLearnSkill

  715.     return if $imported["CustomMenuCommand"]

  716.     @__command_ap_viewer_index = @command_window.add_command(Vocab.ap_viewer)
  717.     if @command_window.oy > 0
  718.       @command_window.oy -= Window_Base::WLH
  719.     end
  720.     @command_window.index = @menu_index
  721.   end
  722.   end
  723.   #--------------------------------------------------------------------------
  724.   # ● コマンド選択の更新
  725.   #--------------------------------------------------------------------------
  726.   alias update_command_selection_KGC_EquipLearnSkill update_command_selection
  727.   def update_command_selection
  728.     call_ap_viewer_flag = false
  729.     if Input.trigger?(Input::C)
  730.       case @command_window.index
  731.       when @__command_ap_viewer_index  # AP ビューア
  732.         call_ap_viewer_flag = true
  733.       end
  734.     end

  735.     # AP ビューアに移行
  736.     if call_ap_viewer_flag
  737.       if $game_party.members.size == 0
  738.         Sound.play_buzzer
  739.         return
  740.       end
  741.       Sound.play_decision
  742.       start_actor_selection
  743.       return
  744.     end

  745.     update_command_selection_KGC_EquipLearnSkill
  746.   end
  747.   #--------------------------------------------------------------------------
  748.   # ● アクター選択の更新
  749.   #--------------------------------------------------------------------------
  750.   alias update_actor_selection_KGC_EquipLearnSkill update_actor_selection
  751.   def update_actor_selection
  752.     if Input.trigger?(Input::C)
  753.       $game_party.last_actor_index = @status_window.index
  754.       Sound.play_decision
  755.       case @command_window.index
  756.       when @__command_ap_viewer_index  # AP ビューア
  757.         $scene = Scene_APViewer.new(@status_window.index,
  758.           @__command_ap_viewer_index, Scene_APViewer::HOST_MENU)
  759.         return
  760.       end
  761.     end

  762.     update_actor_selection_KGC_EquipLearnSkill
  763.   end
  764. end

  765. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  766. #==============================================================================
  767. # □ Scene_APViewer
  768. #------------------------------------------------------------------------------
  769. #   AP ビューアの処理を行うクラスです。
  770. #==============================================================================

  771. class Scene_APViewer < Scene_Base
  772.   HOST_MENU   = 0
  773.   HOST_MAP    = 1
  774.   #--------------------------------------------------------------------------
  775.   # ● オブジェクト初期化
  776.   #     actor_index : アクターインデックス
  777.   #     menu_index  : コマンドのカーソル初期位置
  778.   #     host_scene  : 呼び出し元 (0..メニュー  1..マップ)
  779.   #--------------------------------------------------------------------------
  780.   def initialize(actor_index = 0, menu_index = 0, host_scene = HOST_MENU)
  781.     @actor_index = actor_index
  782.     @menu_index = menu_index
  783.     @host_scene = host_scene
  784.   end
  785.   #--------------------------------------------------------------------------
  786.   # ● 開始処理
  787.   #--------------------------------------------------------------------------
  788.   def start
  789.     super
  790.     create_menu_background
  791.     @actor = $game_party.members[@actor_index]
  792.     @help_window = Window_Help.new
  793.     if $imported["HelpExtension"]
  794.       @help_window.row_max = KGC::HelpExtension::ROW_MAX
  795.     end
  796.     @status_window = Window_SkillStatus.new(0, @help_window.height, @actor)
  797.     dy = @help_window.height + @status_window.height
  798.     @skill_window = Window_APViewer.new(0, dy,
  799.       Graphics.width, Graphics.height - dy, @actor)
  800.     @skill_window.help_window = @help_window
  801.   end
  802.   #--------------------------------------------------------------------------
  803.   # ● 終了処理
  804.   #--------------------------------------------------------------------------
  805.   def terminate
  806.     super
  807.     dispose_menu_background
  808.     @help_window.dispose
  809.     @status_window.dispose
  810.     @skill_window.dispose
  811.   end
  812.   #--------------------------------------------------------------------------
  813.   # ○ 元の画面へ戻る
  814.   #--------------------------------------------------------------------------
  815.   def return_scene
  816.     case @host_scene
  817.     when HOST_MENU
  818.       $scene = Scene_Menu.new(@menu_index)
  819.     when HOST_MAP
  820.       $scene = Scene_Map.new
  821.     end
  822.   end
  823.   #--------------------------------------------------------------------------
  824.   # ○ 次のアクターの画面に切り替え
  825.   #--------------------------------------------------------------------------
  826.   def next_actor
  827.     @actor_index += 1
  828.     @actor_index %= $game_party.members.size
  829.     $scene = Scene_APViewer.new(@actor_index, @menu_index, @host_scene)
  830.   end
  831.   #--------------------------------------------------------------------------
  832.   # ○ 前のアクターの画面に切り替え
  833.   #--------------------------------------------------------------------------
  834.   def prev_actor
  835.     @actor_index += $game_party.members.size - 1
  836.     @actor_index %= $game_party.members.size
  837.     $scene = Scene_APViewer.new(@actor_index, @menu_index, @host_scene)
  838.   end
  839.   #--------------------------------------------------------------------------
  840.   # ● フレーム更新
  841.   #--------------------------------------------------------------------------
  842.   def update
  843.     super
  844.     update_menu_background
  845.     @help_window.update
  846.     @skill_window.update
  847.     @status_window.update
  848.     if @skill_window.active
  849.       update_skill_selection
  850.     end
  851.   end
  852.   #--------------------------------------------------------------------------
  853.   # ○ スキル選択の更新
  854.   #--------------------------------------------------------------------------
  855.   def update_skill_selection
  856.     if Input.trigger?(Input::B)
  857.       Sound.play_cancel
  858.       return_scene
  859.     elsif Input.trigger?(Input::R)
  860.       Sound.play_cursor
  861.       next_actor
  862.     elsif Input.trigger?(Input::L)
  863.       Sound.play_cursor
  864.       prev_actor
  865.     end
  866.   end
  867. end

  868. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  869. #==============================================================================
  870. # ■ Scene_Battle
  871. #==============================================================================

  872. class Scene_Battle < Scene_Base
  873.   #--------------------------------------------------------------------------
  874.   # ● メッセージ表示が終わるまでウェイト
  875.   #--------------------------------------------------------------------------
  876.   alias wait_for_message_KGC_EquipLearnSkill wait_for_message
  877.   def wait_for_message
  878.     return if @ignore_wait_for_message  # メッセージ終了までのウェイトを無視

  879.     wait_for_message_KGC_EquipLearnSkill
  880.   end
  881.   #--------------------------------------------------------------------------
  882.   # ● 獲得した経験値とお金の表示
  883.   #--------------------------------------------------------------------------
  884.   alias display_exp_and_gold_KGC_EquipLearnSkill display_exp_and_gold
  885.   def display_exp_and_gold
  886.     @ignore_wait_for_message = true

  887.     display_exp_and_gold_KGC_EquipLearnSkill

  888.     display_ap
  889.     @ignore_wait_for_message = false
  890.     wait_for_message
  891.   end
  892.   #--------------------------------------------------------------------------
  893.   # ● レベルアップの表示
  894.   #--------------------------------------------------------------------------
  895.   alias display_level_up_KGC_EquipLearnSkill display_level_up
  896.   def display_level_up
  897.     display_level_up_KGC_EquipLearnSkill

  898.     display_master_equipment_skill
  899.   end
  900.   #--------------------------------------------------------------------------
  901.   # ○ 獲得 AP の表示
  902.   #--------------------------------------------------------------------------
  903.   def display_ap
  904.     ap = $game_troop.ap_total
  905.     if ap > 0
  906.       text = sprintf(Vocab::ObtainAP, ap)
  907.       $game_message.texts.push('\.' + text)
  908.     end
  909.     wait_for_message
  910.   end
  911.   #--------------------------------------------------------------------------
  912.   # ○ マスターしたスキルの表示
  913.   #--------------------------------------------------------------------------
  914.   def display_master_equipment_skill
  915.     ap = $game_troop.ap_total
  916.     $game_party.existing_members.each { |actor|
  917.       last_skills = actor.skills
  918.       actor.gain_ap(ap, true)
  919.     }
  920.     wait_for_message
  921.   end
  922. end
复制代码

点评

原問題 用了KGC的武器技能習得腳本 這腳本是裝備武器後以AP點來學習技能 但我想改做"只有裝備時才有技能" 就是除去AP點學習 除去裝備後技能會消失   发表于 2011-7-2 16:37
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
36 小时
注册时间
2010-8-6
帖子
32
646
发表于 2011-7-2 21:49:34 | 只看该作者
问题名称:RM能做横版格斗类的游戏吗?
问题状况:如题,顺便问问脚本谁有
报酬:本人初夜一个~~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

647
发表于 2011-7-2 22:15:13 | 只看该作者
本帖最后由 feizhaodan 于 2011-7-2 22:16 编辑
人渣誠 发表于 2011-7-2 16:36
這是腳本


其实啊,把
  1.   USE_MENU_AP_VIEWER_COMMAND = true
复制代码
true改成false,之后不输任何跟AP有关的东东,就完全ok的...

对了,再把
  1.   DEFAULT_AP   = 1
复制代码
改成0,因该就可以了。我也用这个脚本。

点评

謝了  发表于 2011-7-2 22:31

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
冰舞蝶恋 + 200 + 2 多谢回答

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
648
在线时间
2657 小时
注册时间
2010-6-28
帖子
1361

开拓者

648
发表于 2011-7-2 22:19:29 | 只看该作者
shepcmm 发表于 2011-7-2 14:22
问题名称:关于横版装备详细显示的脚本有么?
问题状况:搜索功能一直搜索不到。。。。。就是装备能显示属 ...
  1. #==============================================================================
  2. # ■ Window_Help
  3. #------------------------------------------------------------------------------
  4. # 原作:xuelong
  5. # 修正:水迭澜
  6. # 移植:禾西
  7. #==============================================================================
  8. class Window_Help < Window_Base
  9.   #--------------------------------------------------------------------------
  10.   # ● 定義
  11.   #--------------------------------------------------------------------------
  12.   def set
  13.     @phrase,@y= {}, 0
  14.     @scope, @parameter_type = [], []
  15. =begin
  16.     @name_size = 名字文字大小
  17.     @size = 描述文字大小
  18.     @word = 每行的描述文字數
  19. =end
  20.     @name_size = 18
  21.     @size = 14
  22.     @word = 11
  23.    
  24.     # 不顯示的 屬性 與 狀態 ID
  25.     @unshow_elements = [17, 18]
  26.     @unshow_states = []
  27.    
  28.     # 基本文字設定
  29.     @phrase[:price]          = "售价"
  30.     @phrase[:elements]       = "属性"
  31.     @phrase[:states]         = "附加状态"
  32.     @phrase[:guard_elements] = "半減属性"
  33.     @phrase[:guard_states]   = "无效的状态"
  34.     #------------------#
  35.     #   物品效果語句   #
  36.     #------------------#
  37.     @phrase[:recover]      = "回复"
  38.     @phrase[:hp]           = "HP"
  39.     @phrase[:mp]           = "MP"
  40.     @phrase[:plus_states]  = "狀態附加"
  41.     @phrase[:minus_states] = "狀態解除"
  42.     @phrase[:speed]        = "速度補正"
  43.     @phrase[:consumable]   = "消耗品"
  44.     @phrase[:base_damage]  = "基本傷害"
  45.     #------------------#
  46.     #   特殊效果語句   #
  47.     #------------------#
  48.     @phrase[:special]          = "特殊效果"
  49.     @phrase[:two_handed]       = "双手武器"
  50.     @phrase[:fast_attack]      = "先制几率上升"
  51.     @phrase[:dual_attack]      = "连续攻撃"
  52.     @phrase[:critical_bonus]   = "暴击率上升"
  53.     @phrase[:prevent_critical] = "暴击回避上升"
  54.     @phrase[:half_mp_cost]     = "消費MP减半"
  55.     @phrase[:double_exp_gain]  = "取得経験値2倍"
  56.     @phrase[:auto_hp_recover]  = "HP自動回復"
  57.     @phrase[:physical_attack]  = "物理攻撃"
  58.     @phrase[:damage_to_mp]     = "减少MP"
  59.     @phrase[:absorb_damage]    = "傷害吸収"
  60.     @phrase[:ignore_defense]   = "防御力無視"
  61.     #------------------#
  62.     #   技能描述語句   #
  63.     #------------------#
  64.     @phrase[:recovery] = "回復力"
  65.     @phrase[:mp_cost]  = "消耗SP"
  66.     @phrase[:hit]      = "命中率"
  67.     #------------------#
  68.     #   效果範圍語句   #
  69.     #------------------#
  70.     @phrase[:scope]    = "効果範囲"
  71.     @scope[0]  = "特殊"
  72.     @scope[1]  = "敵単体"
  73.     @scope[2]  = "敵全体"
  74.     @scope[3]  = "敵単体 連続"
  75.     @scope[4]  = "敵単体 隨機"
  76.     @scope[5]  = "敵二体 隨機"
  77.     @scope[6]  = "敵三体 隨機"
  78.     @scope[7]  = "味方単体"
  79.     @scope[8]  = "味方全体"
  80.     @scope[9]  = "味方戦闘不能(単)"
  81.     @scope[10] = "味方戦闘不能(全)"
  82.     @scope[11] = "使用者"
  83.     #------------------#
  84.     #   效果範圍語句   #
  85.     #------------------#
  86.     @parameter_type[1] = "MaxHP"
  87.     @parameter_type[2] = "MaxMP"
  88.     @parameter_type[3] = $data_system.terms.atk
  89.     @parameter_type[4] = $data_system.terms.def
  90.     @parameter_type[5] = $data_system.terms.spi
  91.     @parameter_type[6] = $data_system.terms.agi
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # ● 初始化對象
  95.   #--------------------------------------------------------------------------
  96.   def initialize
  97.     super(0, 0, 544, WLH + 32)
  98.     self.opacity = 200
  99.     self.z = 150
  100.     self.visible = false
  101.   end
  102.   #--------------------------------------------------------------------------
  103.   # ● 設置文本
  104.   #     data  : 窗口顯示的字符串/物品資料
  105.   #     align : 對齊方式 (0..左對齊、1..中間對齊、2..右對齊)
  106.   #--------------------------------------------------------------------------
  107.   def set_text(data, align=0)
  108.     #------------------------------------------------------------------------
  109.     # ● 當資料爲文字時候
  110.     #------------------------------------------------------------------------
  111.     if data != @text or align != @align
  112.       if data.is_a?(String)
  113.         draw_string(data,align)
  114.       end
  115.     end
  116.     return if data.is_a?(String)
  117.     #------------------------------------------------------------------------
  118.     # ● 當沒有資料時候
  119.     #------------------------------------------------------------------------
  120.     if data.nil?
  121.       self.visible=false
  122.     else
  123.       self.visible=true
  124.     end
  125.     #------------------------------------------------------------------------
  126.     # ● 當資料爲物品/技能時候
  127.     #------------------------------------------------------------------------
  128.     if data != nil && @data != data
  129.       self.width = 210
  130.       self.height = 430
  131.       self.x=0
  132.       self.y=200
  133.       set
  134.       draw_data(data)
  135.     else
  136.       return
  137.     end
  138.   end
  139.   #--------------------------------------------------------------------------
  140.   # ● 更新帮助窗口
  141.   #--------------------------------------------------------------------------
  142.   def draw_string(data,align)
  143.     self.width = 544        #修正寬度
  144.     self.height = WLH + 32  #修正高度
  145.     self.x=0                #修正 x 坐標
  146.     self.y=0                #修正 y 坐標
  147.     @text = data            #記錄文本資料
  148.     @align = align          #記錄對齊方式
  149.     @actor = nil            #清空角色資料
  150.     self.contents = Bitmap.new(width - 32, height - 32) if self.contents.nil?
  151.     self.contents.clear
  152.     self.contents.font.color = normal_color
  153.     self.contents.font.size = 20
  154.     self.contents.draw_text(4, 0, self.width - 40, 32, data, align)
  155.     self.visible = true
  156.   end
  157.   #--------------------------------------------------------------------------
  158.   # ● 更新帮助窗口
  159.   #--------------------------------------------------------------------------
  160.   def draw_data(data=@data)
  161.     self.width = 186        #修正寬度
  162.     self.height = 430       #修正高度
  163.     self.x=0                #修正 x 坐標
  164.     self.y=150              #修正 y 坐標
  165.     @data = data            #記錄 data 資料
  166.     case @data
  167.     when RPG::Item
  168.       set_item_text(@data)
  169.     when RPG::Weapon, RPG::Armor
  170.       set_equipment_text(@data)
  171.     when RPG::Skill
  172.       set_skill_text(@data)
  173.     end
  174.   end
  175.   #--------------------------------------------------------------------------
  176.   # ● 修正窗口位置
  177.   #--------------------------------------------------------------------------
  178.   def set_pos(x,y,width,oy,index,column_max)
  179.     cursor_width = width / column_max - 32
  180.     xx = index % column_max * (cursor_width + WLH)
  181.     yy = index / column_max * WLH - oy
  182.     self.x=xx+x+140
  183.     self.y=yy+y+35
  184.     if self.x+self.width>544
  185.       self.x=544-self.width
  186.     end
  187.     if self.y+self.height>416
  188.       self.y=416-self.height
  189.     end  
  190.   end
  191.   #------------------------------------------------------------------------
  192.   # ● 文字描繪
  193.   #------------------------------------------------------------------------
  194.   def draw_text(text, increase, move=0)
  195.     @y += increase
  196.     self.contents.font.color = normal_color
  197.     self.contents.font.size = @size
  198.     self.contents.draw_text(0+move, @y*@size+5, text.size*6, @size, text, 0)
  199.   end
  200. #-------------------------------------#
  201. # 子方法
  202. #-------------------------------------#
  203.   #--------------------------------------------------------------------------
  204.   # ● 裝備幫助窗口
  205.   #--------------------------------------------------------------------------
  206.   def set_equipment_text(equipment)
  207.     #------------------------------------------------------------------------
  208.     # ● 取得基本質料
  209.     #------------------------------------------------------------------------
  210.    
  211.     #----------------------------#
  212.     # 取得屬性、狀態、說明之副本 #
  213.     #----------------------------#
  214.     element_set = equipment.element_set.clone
  215.     state_set   = equipment.state_set.clone
  216.     description = equipment.description.clone
  217.     phrase      = @phrase
  218.     #----------------------------#
  219.     # 過濾不顯示的屬性與狀態描述 #
  220.     #----------------------------#
  221.     element_set -= @unshow_elements
  222.     state_set   -= @unshow_states
  223.     #----------------#
  224.     # 初始化數據設定 #
  225.     #----------------#
  226.     x, h, move = 0, 0, 0
  227.     #------------------#
  228.     # 取得特殊效果數據 #
  229.     #------------------#
  230.     special = []
  231.     gifts = [] if gifts.nil?
  232.     s = [
  233.     "攻击 + [s]",   "攻击 + [s]%",
  234.     "防御 + [s]",   "防御 + [s]%",
  235.     "精神 + [s]",   "精神 + [s]%",
  236.     "敏捷 + [s]",   "敏捷 + [s]%",
  237.     "最大HP + [s]", "最大HP + [s]%",
  238.     "最大MP + [s]", "最大MP + [s]%",
  239.     "命中率 + [s]",
  240.     "闪避率 + [s]",
  241.     "暴击率 + [s]",
  242.     "额外经验 + [s]%",
  243.     "极品爆率 + [s]%"
  244.     ]
  245.     for g in gifts
  246.       special << s[g.type].sub(/\[s\]/) {g.value}
  247.     end
  248.     #------------------------------------------------------------------------
  249.     # ● 確定背景圖片的高度
  250.     #------------------------------------------------------------------------
  251.     h += (description.size/3/@word)
  252.     h += 1 if (description.size/3%@word) > 0
  253.     now_h = h
  254.    
  255.     h += 1                               #價格
  256.    
  257.     h += 1 unless equipment.atk.zero?    #攻擊力
  258.     h += 1 unless equipment.def.zero?    #防禦力
  259.     h += 1 unless equipment.spi.zero?    #精神力
  260.     h += 1 unless equipment.agi.zero?    #敏捷力
  261.    
  262.     h += element_set.size + 1 if element_set.size > 0  #屬性
  263.     h += state_set.size   + 1 if state_set.size   > 0  #狀態
  264.     h += special.size     + 2 if special.size     > 0  #特殊效果
  265.    
  266.     #------------------------------------------------------------------------
  267.     # ● 圖片顯示保證高度
  268.     #------------------------------------------------------------------------
  269.     #h = 6 + now_h if (h - now_h) < 6
  270.     #------------------------------------------------------------------------
  271.     # ● 換算高度
  272.     #------------------------------------------------------------------------
  273.     self.height = h * @size + @name_size + 32
  274.     #------------------------------------------------------------------------
  275.     # ● 生成背景
  276.     #------------------------------------------------------------------------
  277.     self.contents = Bitmap.new(self.width - 32, self.height - 32)
  278.     self.contents.clear
  279.     #------------------------------------------------------------------------
  280.     # ● 名字描繪
  281.     #------------------------------------------------------------------------
  282.     text = equipment.name
  283.     self.contents.font.color = normal_color
  284.     self.contents.font.size = @name_size
  285.     if text.nil?
  286.       self.visible = false
  287.     else
  288.       self.visible = true
  289.       ###self.contents.draw_text(0, 0, text.size*7, @name_size, text, 0)
  290.       self.contents.draw_text(0, 0, contents.width-4, @name_size, text)
  291.     end
  292.     #------------------------------------------------------------------------
  293.     # ● 說明描繪
  294.     #------------------------------------------------------------------------
  295.     x = 0
  296.     @y += 1
  297.     while ((text = description.slice!(/./m)) != nil)
  298.       self.contents.font.color = normal_color
  299.       self.contents.font.size = @size
  300.       self.contents.draw_text(x*@size, @y*@size+5, @size, @size, text, 0)
  301.       x+=1
  302.       if x == @word
  303.         x=0
  304.         @y+=1
  305.       end
  306.     end
  307.     #------------------------------------------------------------------------
  308.     # ● 圖標描繪
  309.     #------------------------------------------------------------------------
  310.     #bitmap = Cache.system("Iconset")
  311.     #rect = Rect.new(equipment.icon_index % 16 * 24, equipment.icon_index / 16 * 24, 24, 24)
  312.     #self.contents.blt(0, y*size + 20, bitmap, rect, 255)
  313.     #------------------------------------------------------------------------
  314.     # ● 價格描繪
  315.     #------------------------------------------------------------------------
  316.     unless equipment.price.zero?
  317.       text = phrase[:price] + ":" + equipment.price.to_s
  318.       draw_text(text, 1, move)
  319.     end
  320.     #------------------------------------------------------------------------
  321.     # ● 攻擊力
  322.     #------------------------------------------------------------------------
  323.     unless equipment.atk.zero?
  324.       text = $data_system.terms.atk + ":" + equipment.atk.to_s
  325.       draw_text(text, 1, move)
  326.     end
  327.     #------------------------------------------------------------------------
  328.     # ● 防禦力
  329.     #------------------------------------------------------------------------
  330.     unless equipment.def.zero?
  331.       text = $data_system.terms.def + ":" + equipment.def.to_s
  332.       draw_text(text, 1, move)
  333.     end
  334.     #------------------------------------------------------------------------
  335.     # ● 精神力
  336.     #------------------------------------------------------------------------
  337.     unless equipment.spi.zero?
  338.       text = $data_system.terms.spi + ":" + equipment.spi.to_s
  339.       draw_text(text, 1, move)
  340.     end
  341.     #------------------------------------------------------------------------
  342.     # ● 敏捷力
  343.     #------------------------------------------------------------------------
  344.     unless equipment.agi.zero?
  345.       text = $data_system.terms.agi + ":" + equipment.agi.to_s
  346.       draw_text(text, 1, move)
  347.     end
  348.     #------------------------------------------------------------------------
  349.     # ● 屬性
  350.     #------------------------------------------------------------------------
  351.     if element_set.size > 0
  352.       case equipment
  353.       when RPG::Weapon
  354.         text=phrase[:elements]+":"
  355.       when RPG::Armor
  356.         text=phrase[:guard_elements]+":"
  357.       end
  358.       draw_text(text, 1, move)
  359.       element_set.each do |i|
  360.         text = $data_system.elements[i]
  361.         draw_text(text, 1, move + @size)
  362.       end
  363.     end
  364.     #------------------------------------------------------------------------
  365.     # ● 狀態
  366.     #------------------------------------------------------------------------
  367.     if state_set.size > 0
  368.       case equipment
  369.       when RPG::Weapon
  370.         text=phrase[:states]+":"
  371.       when RPG::Armor
  372.         text=phrase[:guard_states]+":"
  373.       end
  374.       draw_text(text, 1, move)
  375.       state_set.each do |i|
  376.         text = $data_states[i].name
  377.         draw_text(text, 1, move + @size)
  378.       end
  379.     end
  380.     #------------------------------------------------------------------------
  381.     # ● 特殊效果
  382.     #------------------------------------------------------------------------
  383.     if special.size > 0
  384.       text = phrase[:special]+":"
  385.       draw_text(text, 1, move)
  386.       special.each {|text| draw_text(text, 1, move + @size)}
  387.     end
  388.   end
  389. #////////////////////////////////////////////////////////////////////////////
  390.   #--------------------------------------------------------------------------
  391.   # ● 物品幫助窗口
  392.   #--------------------------------------------------------------------------
  393.   def set_item_text(item)
  394.     #----------------------------#
  395.     # 取得屬性、狀態、說明之副本 #
  396.     #----------------------------#
  397.     description = item.description.clone
  398.     element_set = item.element_set.clone
  399.     plus_state_set = item.plus_state_set.clone
  400.     minus_state_set = item.minus_state_set.clone
  401.     # 過濾不顯示的描述
  402.     element_set -= @unshow_elements
  403.     plus_state_set -= @unshow_states
  404.     minus_state_set -= @unshow_states
  405.     # 初始化數據設定
  406.     x, h, move = 0, 0, 0
  407.     phrase = @phrase
  408.     scope = @scope
  409.     parameter_type = @parameter_type
  410.     occasion = @occasion
  411.     # 基本文字設定

  412.    
  413.     #------------------#
  414.     # 取得特殊效果數據 #
  415.     #------------------#
  416.     special = []
  417.     special << phrase[:physical_attack] if item.physical_attack #物理攻撃
  418.     special << phrase[:damage_to_mp]    if item.damage_to_mp    #MPにダメージ
  419.     special << phrase[:absorb_damage]   if item.absorb_damage   #ダメージを吸収
  420.     special << phrase[:ignore_defense]  if item.ignore_defense  #防御力無視
  421.    
  422.     #------------------------------------------------------------------------
  423.     # ● 確定背景圖片的高度
  424.     #------------------------------------------------------------------------
  425.     h += (description.size/3/@word)
  426.     h += 1 if (description.size/3%@word) > 0
  427.     now_h = h
  428.    
  429.     h += 2                                  #効果範囲,價格
  430.     h += 1 if item.consumable               #消耗品
  431.     h += 1 unless item.speed.zero?          #速度補正値
  432.    
  433.     h += 1 unless item.hp_recovery_rate==0 and item.hp_recovery==0 #HP 回復
  434.     h += 1 unless item.mp_recovery_rate==0 and item.mp_recovery==0 #MP 回復
  435.    
  436.     h += 1 unless item.parameter_type.zero? #能力値
  437.     h += 1 unless item.base_damage.zero?    #基本ダメージ
  438.    
  439.     h += element_set.size     + 1 if element_set.size     > 0  #屬性
  440.     h += plus_state_set.size  + 1 if plus_state_set.size  > 0  #附加狀態
  441.     h += minus_state_set.size + 1 if minus_state_set.size > 0  #解除狀態
  442.     h += special.size         + 1 if special.size         > 0  #特殊效果
  443.    
  444.     #------------------------------------------------------------------------
  445.     # ● 圖片顯示保證高度
  446.     #------------------------------------------------------------------------
  447.     #h = 6 + now_h if (h - now_h) < 6
  448.     #------------------------------------------------------------------------
  449.     # ● 換算高度
  450.     #------------------------------------------------------------------------
  451.     self.height = h * @size + @name_size + 32
  452.     #------------------------------------------------------------------------
  453.     # ● 生成背景
  454.     #------------------------------------------------------------------------
  455.     self.contents = Bitmap.new(self.width - 32, self.height - 32)
  456.     self.contents.clear
  457.     #------------------------------------------------------------------------
  458.     # ● 名字描繪
  459.     #------------------------------------------------------------------------
  460.     text = item.name
  461.     self.contents.font.color = normal_color#顔色腳本
  462.     self.contents.font.size = @name_size
  463.     if text.nil?
  464.       self.visible = false
  465.     else
  466.       self.visible = true
  467.       self.contents.draw_text(0,0, text.size*7, 20, text, 0)
  468.     end
  469.     #------------------------------------------------------------------------
  470.     # ● 說明描繪
  471.     #------------------------------------------------------------------------
  472.      x = 0
  473.     @y += 1
  474.     while ((text = description.slice!(/./m)) != nil)
  475.       self.contents.font.color = normal_color
  476.       self.contents.font.size = @size
  477.       self.contents.draw_text(x*@size, @y*@size+5, @size, @size, text, 0)
  478.       x+=1
  479.       if x == @word
  480.          x = 0
  481.         @y += 1
  482.       end
  483.     end
  484.     #------------------------------------------------------------------------
  485.     # ● 圖標描繪
  486.     #------------------------------------------------------------------------
  487.     #bitmap = Cache.system("Iconset")
  488.     #rect = Rect.new(item.icon_index % 16 * 24, equipment.icon_index / 16 * 24, 24, 24)
  489.     #self.contents.blt(0, y*size + 20, bitmap, rect, 255)
  490.     #------------------------------------------------------------------------
  491.     # ● 效果範圍
  492.     #------------------------------------------------------------------------
  493.     text = phrase[:scope] +":"
  494.     draw_text(text, 1, move)
  495.     text = scope[item.scope]
  496.     draw_text(text, 1, move + @size)
  497.     #------------------------------------------------------------------------
  498.     # ● 價格
  499.     #------------------------------------------------------------------------
  500.     text = phrase[:price] + item.price.to_s
  501.     draw_text(text, 1, move)
  502.     #------------------------------------------------------------------------
  503.     # ● 消耗品
  504.     #------------------------------------------------------------------------
  505.     if item.consumable
  506.       text = phrase[:consumable]
  507.       draw_text(text, 1, move)
  508.     end
  509.     #------------------------------------------------------------------------
  510.     # ● 速度補正値
  511.     #------------------------------------------------------------------------
  512.     unless item.speed.zero?
  513.       text = phrase[:speed]
  514.       draw_text(text, 1, move)
  515.     end
  516.     #------------------------------------------------------------------------
  517.     # ● HP回復
  518.     #------------------------------------------------------------------------
  519.     unless item.hp_recovery_rate.zero? and item.hp_recovery.zero?
  520.       if item.hp_recovery_rate > 0 and item.hp_recovery > 0
  521.         text = " + "
  522.       else
  523.         text = ""
  524.       end
  525.       
  526.       unless item.hp_recovery_rate.zero?
  527.         text = item.hp_recovery_rate.to_s + "%" + text
  528.       end
  529.       unless item.hp_recovery.zero?
  530.         text += item.hp_recovery.to_s
  531.       end
  532.       text = phrase[:recover] +":" + phrase[:hp] + text
  533.       draw_text(text, 1, move)
  534.     end
  535.     #------------------------------------------------------------------------
  536.     # ● SP回復
  537.     #------------------------------------------------------------------------
  538.     unless item.mp_recovery_rate.zero? and item.mp_recovery.zero?
  539.       if item.mp_recovery_rate > 0 and item.mp_recovery > 0
  540.         text = " + "
  541.       else
  542.         text = ""
  543.       end
  544.       
  545.       unless item.mp_recovery_rate.zero?
  546.         text = item.mp_recovery_rate.to_s + "%" + text
  547.       end
  548.       unless item.mp_recovery.zero?
  549.         text += item.mp_recovery.to_s
  550.       end
  551.       text = phrase[:recover] +":" + phrase[:mp] + text
  552.       draw_text(text, 1, move)
  553.     end
  554.     #------------------------------------------------------------------------
  555.     # ● 能力值增加
  556.     #------------------------------------------------------------------------
  557.     unless item.parameter_type.zero?
  558.       text= parameter_type[item.parameter_type]+" +"+item.parameter_points.to_s
  559.       draw_text(text, 1, move)
  560.     end
  561.     #------------------------------------------------------------------------
  562.     # ● 基本ダメージ
  563.     #------------------------------------------------------------------------
  564.     unless item.base_damage.zero?
  565.       text = phrase[:base_damage] +":" + item.base_damage.to_s
  566.       draw_text(text, 1, move)
  567.     end
  568.     #------------------------------------------------------------------------
  569.     # ● 屬性
  570.     #------------------------------------------------------------------------
  571.     if element_set.size > 0
  572.       text = phrase[:elements]+":"
  573.       draw_text(text, 1, move)
  574.       element_set.each do |i|
  575.         text = $data_system.elements[i]
  576.         draw_text(text, 1, move + @size)
  577.       end
  578.     end
  579.     #------------------------------------------------------------------------
  580.     # ● 添加狀態
  581.     #------------------------------------------------------------------------
  582.     unless plus_state_set.empty?
  583.       text = phrase[:plus_states]+":"
  584.       draw_text(text, 1, move)
  585.       plus_state_set.each do |i|
  586.         text = $data_states[i].name
  587.         draw_text(text, 1, move + @size)
  588.       end
  589.     end
  590.     #------------------------------------------------------------------------
  591.     # ● 解除狀態
  592.     #------------------------------------------------------------------------
  593.     unless minus_state_set.empty?
  594.       text = phrase[:minus_states]+":"
  595.       draw_text(text, 1, move)
  596.       minus_state_set.each do |i|
  597.         text = $data_states[i].name
  598.         draw_text(text, 1, move + @size)
  599.       end
  600.     end
  601.     #------------------------------------------------------------------------
  602.     # ● 特殊效果
  603.     #------------------------------------------------------------------------
  604.     if special.size > 0
  605.       text = phrase[:special]+":"
  606.       draw_text(text, 1, move)
  607.       special.each {|text| draw_text(text, 1, move + @size)}
  608.     end
  609.   end
  610. #////////////////////////////////////////////////////////////////////////////
  611.   #--------------------------------------------------------------------------
  612.   # ● 技能帮助窗口
  613.   #--------------------------------------------------------------------------
  614.   def set_skill_text(skill)
  615.     #----------------------------#
  616.     # 取得屬性、狀態、說明之副本 #
  617.     #----------------------------#
  618.     description = skill.description.clone
  619.     element_set = skill.element_set.clone
  620.     plus_state_set = skill.plus_state_set.clone
  621.     minus_state_set = skill.minus_state_set.clone
  622.     # 過濾不顯示的描述
  623.     element_set -= @unshow_elements
  624.     plus_state_set -= @unshow_states
  625.     minus_state_set -= @unshow_states
  626.     # 初始化設定
  627.     x ,h, move = 0, 0, 0
  628.     phrase = @phrase
  629.     scope = @scope
  630.     #------------------#
  631.     # 取得特殊效果數據 #
  632.     #------------------#
  633.     special = []
  634.     special << phrase[:physical_attack] if skill.physical_attack #物理攻撃
  635.     special << phrase[:damage_to_mp]    if skill.damage_to_mp    #MPにダメージ
  636.     special << phrase[:absorb_damage]   if skill.absorb_damage   #ダメージを吸収
  637.     special << phrase[:ignore_defense]  if skill.ignore_defense  #防御力無視
  638.     #------------------------------------------------------------------------
  639.     # ● 確定背景圖片的高度
  640.     #------------------------------------------------------------------------
  641.     h += (description.size/3/@word)
  642.     h += 1 if (description.size/3%@word) > 0
  643.     now_h = h
  644.    
  645.     h += 4                                  #効果範囲,消費MP,命中率
  646.     h += 1 unless skill.speed.zero?         #速度補正値
  647.     h += 1 unless skill.base_damage.zero?   #基本ダメージ
  648.    
  649.    
  650.    
  651.     h += element_set.size     + 1 if element_set.size     > 0  #屬性
  652.     h += plus_state_set.size  + 1 if plus_state_set.size  > 0  #附加狀態
  653.     h += minus_state_set.size + 1 if minus_state_set.size > 0  #解除狀態
  654.     h += special.size         + 1 if special.size         > 0  #特殊效果
  655.     #------------------------------------------------------------------------
  656.     # ● 換算高度
  657.     #------------------------------------------------------------------------
  658.     self.height=h * @size + @name_size + 32  
  659.     self.contents = Bitmap.new(self.width - 32,self.height - 32)
  660.     self.contents.clear
  661.    
  662.     #------------------------------------------------------------------------
  663.     # ● 名字描述
  664.     #------------------------------------------------------------------------
  665.     text = skill.name
  666.     self.contents.font.color = Color.new(255, 255, 128, 255)
  667.     self.contents.font.size = @name_size
  668.     if text!=nil
  669.       self.visible = true
  670.       self.contents.draw_text(0,0, text.size*7, @name_size, text, 0)
  671.     else
  672.       self.visible = false
  673.     end
  674.    
  675.     #------------------------------------------------------------------------
  676.     # ● 說明描述
  677.     #------------------------------------------------------------------------
  678.     x = 0
  679.     @y += 1
  680.     text = description
  681.     while ((text = description.slice!(/./m)) != nil)
  682.       self.contents.font.color = normal_color
  683.       self.contents.font.size = @size
  684.       self.contents.draw_text(x*@size, @y*@size+5, @size, @size, text, 0)
  685.       x+=1
  686.       if x==@word
  687.         x = 0
  688.         @y += 1
  689.       end
  690.     end
  691.    
  692.     #------------------------------------------------------------------------
  693.     # ● 攻擊範圍
  694.     #------------------------------------------------------------------------
  695.     text = phrase[:scope] +":"
  696.     draw_text(text, 1, move)
  697.     text = scope[skill.scope]
  698.     draw_text(text, 1, move + @size)
  699.     #------------------------------------------------------------------------
  700.     # ● 基本ダメージ
  701.     #------------------------------------------------------------------------
  702.     unless skill.base_damage .zero?
  703.       text = skill.base_damage > 0 ? phrase[:base_damage] : phrase[:recovery]
  704.       text += ":" + skill.base_damage.abs.to_s
  705.       draw_text(text, 1, move)
  706.     end
  707.     #------------------------------------------------------------------------
  708.     # ● 消費SP描述
  709.     #------------------------------------------------------------------------
  710.     text = phrase[:mp_cost] +":"+ skill.mp_cost.to_s
  711.     draw_text(text, 1, move)
  712.     #------------------------------------------------------------------------
  713.     # ● 命中率描述
  714.     #------------------------------------------------------------------------
  715.     text = phrase[:hit] + ":" + skill.hit.to_s + "%"
  716.     draw_text(text, 1, move)
  717.     #------------------------------------------------------------------------
  718.     # ● 屬性
  719.     #------------------------------------------------------------------------
  720.     if element_set.size > 0
  721.       text = phrase[:elements]+":"
  722.       draw_text(text, 1, move)
  723.       element_set.each do |i|
  724.         text = $data_system.elements[i]
  725.         draw_text(text, 1, move + @size)
  726.       end
  727.     end
  728.     #------------------------------------------------------------------------
  729.     # ● 添加狀態
  730.     #------------------------------------------------------------------------
  731.     unless plus_state_set.empty?
  732.       text = phrase[:plus_states]+":"
  733.       draw_text(text, 1, move)
  734.       plus_state_set.each do |i|
  735.         text = $data_states[i].name
  736.         draw_text(text, 1, move + @size)
  737.       end
  738.     end
  739.     #------------------------------------------------------------------------
  740.     # ● 解除狀態
  741.     #------------------------------------------------------------------------
  742.     unless minus_state_set.empty?
  743.       text = phrase[:minus_states]+":"
  744.       draw_text(text, 1, move)
  745.       minus_state_set.each do |i|
  746.         text = $data_states[i].name
  747.         draw_text(text, 1, move + @size)
  748.       end
  749.     end
  750.     #------------------------------------------------------------------------
  751.     # ● 特殊效果
  752.     #------------------------------------------------------------------------
  753.     if special.size > 0
  754.       text = phrase[:special]+":"
  755.       draw_text(text, 1, move)
  756.       special.each {|text| draw_text(text, 1, move + @size)}
  757.     end  
  758.   end
  759. end

  760. #==============================================================================
  761. # ■ Window_Item
  762. #------------------------------------------------------------------------------
  763. #  アイテム画面などで、所持アイテムの一覧を表示するウィンドウです。
  764. #==============================================================================

  765. class Window_Item < Window_Selectable
  766.   #--------------------------------------------------------------------------
  767.   # ● ヘルプテキスト更新
  768.   #--------------------------------------------------------------------------
  769.   def update_help
  770.     @help_window.set_text(item)
  771.     #修正窗口位置
  772.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  773.   end
  774. end
  775. #==============================================================================
  776. # ■ Window_Skill
  777. #------------------------------------------------------------------------------
  778. #  スキル画面などで、使用できるスキルの一覧を表示するウィンドウです。
  779. #==============================================================================

  780. class Window_Skill < Window_Selectable
  781.   #--------------------------------------------------------------------------
  782.   # ● ヘルプテキスト更新
  783.   #--------------------------------------------------------------------------
  784.   def update_help
  785.     @help_window.set_text(skill)
  786.     #修正窗口位置
  787.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  788.   end
  789. end
  790. #==============================================================================
  791. # ■ Window_Equip
  792. #------------------------------------------------------------------------------
  793. #  装備画面で、アクターが現在装備しているアイテムを表示するウィンドウです。
  794. #==============================================================================

  795. class Window_Equip < Window_Selectable
  796.   #--------------------------------------------------------------------------
  797.   # ● ヘルプテキスト更新
  798.   #--------------------------------------------------------------------------
  799.   def update_help
  800.     @help_window.set_text(item)
  801.     #修正窗口位置
  802.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  803.   end
  804. end
  805. #==============================================================================
  806. # ■ Window_ShopBuy
  807. #------------------------------------------------------------------------------
  808. #  ショップ画面で、購入できる商品の一覧を表示するウィンドウです。
  809. #==============================================================================
  810. class Window_ShopBuy < Window_Selectable
  811.   #--------------------------------------------------------------------------
  812.   # ● ヘルプテキスト更新
  813.   #--------------------------------------------------------------------------
  814.   def update_help
  815.     @help_window.set_text(item)
  816.     #修正窗口位置
  817.     @help_window.set_pos(self.x,self.y,self.width,self.oy,self.index,@column_max)
  818.   end
  819. end
复制代码

评分

参与人数 1星屑 +200 梦石 +2 收起 理由
冰舞蝶恋 + 200 + 2 鼓励回答

查看全部评分


                 无从有中来,有从无中生。
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
676
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

649
 楼主| 发表于 2011-7-2 22:57:01 | 只看该作者
仙邪 发表于 2011-7-2 21:49
问题名称:RM能做横版格斗类的游戏吗?
问题状况:如题,顺便问问脚本谁有
报酬:本人初夜一个~~~ ...

有ARPG脚本~

点评

童鞋,报酬你打算什么时候要  发表于 2011-7-3 16:44
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
133
在线时间
45 小时
注册时间
2011-2-27
帖子
11
650
发表于 2011-7-3 01:21:08 | 只看该作者
我的米呀 发表于 2011-7-2 22:19

我喜欢你。

点评

谢谢,我也喜欢你。  发表于 2011-7-3 23:06
=w=  发表于 2011-7-3 21:43
喂喂~~~  发表于 2011-7-3 21:43
这就是传说中的表白吗?  发表于 2011-7-3 16:44
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-15 19:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表