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

Project1

 找回密码
 注册会员
搜索
查看: 2252|回复: 3
打印 上一主题 下一主题

[已经解决] 战斗的时候防御补一定的HP和MP

[复制链接]

Lv1.梦旅人

梦石
0
星屑
75
在线时间
26 小时
注册时间
2009-11-27
帖子
156
跳转到指定楼层
1
发表于 2010-8-12 11:41:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
战斗时防御就可以补充一定的HPMP,这个怎么做啊

Lv1.梦旅人

梦石
0
星屑
50
在线时间
416 小时
注册时间
2006-10-21
帖子
1245
2
发表于 2010-8-12 12:42:42 | 只看该作者
  1. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2. #_/    ◆ 防御時回復 - KGC_GuardRecover ◆ VX ◆
  3. #_/    ◇ Last update : 2008/08/10 ◇
  4. #_/----------------------------------------------------------------------------
  5. #_/  防御時に HP/MP を回復する処理を追加します。
  6. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

  7. #==============================================================================
  8. # ★ カスタマイズ項目 - Customize ★
  9. #==============================================================================

  10. module KGC
  11. module GuardRecover
  12.   # ◆ HP回復割合 [%] (アクター)
  13.   HP_RATE_ACTOR = 1
  14.   # ◆ MP回復割合 [%] (アクター)
  15.   MP_RATE_ACTOR = 1

  16.   # ◆ HP回復割合 [%] (敵)
  17.   HP_RATE_ENEMY = 2
  18.   # ◆ MP回復割合 [%] (敵)
  19.   MP_RATE_ENEMY = 2
  20. end
  21. end

  22. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  23. $imported = {} if $imported == nil
  24. $imported["GuardRecover"] = true

  25. #==============================================================================
  26. # ■ Game_Battler
  27. #==============================================================================

  28. class Game_Battler
  29.   #--------------------------------------------------------------------------
  30.   # ○ 防御時回復量の計算
  31.   #     hp_rate : HP 回復率
  32.   #     mp_rate : MP 回復率
  33.   #--------------------------------------------------------------------------
  34.   def make_guard_recover_value(hp_rate, mp_rate)
  35.     recover_hp = maxhp * hp_rate / 100
  36.     if hp_rate > 0
  37.       recover_hp = [1, recover_hp].max
  38.     elsif hp_rate < 0
  39.       recover_hp = [-1, recover_hp].min
  40.     end

  41.     recover_mp = maxmp * mp_rate / 100
  42.     if mp_rate > 0
  43.       recover_mp = [1, recover_mp].max
  44.     elsif mp_rate < 0
  45.       recover_mp = [-1, recover_mp].min
  46.     end

  47.     @hp_damage -= recover_hp
  48.     @mp_damage -= recover_mp
  49.   end
  50. end

  51. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  52. #==============================================================================
  53. # ■ Game_Actor
  54. #==============================================================================

  55. class Game_Actor < Game_Battler
  56.   #--------------------------------------------------------------------------
  57.   # ○ 防御時回復効果の適用
  58.   #--------------------------------------------------------------------------
  59.   def guard_recover_effect
  60.     clear_action_results
  61.     make_guard_recover_value(
  62.       KGC::GuardRecover::HP_RATE_ACTOR,
  63.       KGC::GuardRecover::MP_RATE_ACTOR)
  64.     execute_damage(nil)
  65.   end
  66. end

  67. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  68. #==============================================================================
  69. # ■ Game_Enemy
  70. #==============================================================================

  71. class Game_Enemy < Game_Battler
  72.   #--------------------------------------------------------------------------
  73.   # ○ 防御時回復効果の適用
  74.   #--------------------------------------------------------------------------
  75.   def guard_recover_effect
  76.     clear_action_results
  77.     make_guard_recover_value(
  78.       KGC::GuardRecover::HP_RATE_ENEMY,
  79.       KGC::GuardRecover::MP_RATE_ENEMY)
  80.     execute_damage(nil)
  81.   end
  82. end

  83. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  84. #==============================================================================
  85. # ■ Scene_Battle
  86. #==============================================================================

  87. class Scene_Battle < Scene_Base
  88.   #--------------------------------------------------------------------------
  89.   # ● 戦闘行動の実行 : 防御
  90.   #--------------------------------------------------------------------------
  91.   alias execute_action_guard_KGC_GuardRecover execute_action_guard
  92.   def execute_action_guard
  93.     execute_action_guard_KGC_GuardRecover

  94.     @active_battler.guard_recover_effect
  95.     if @active_battler.hp_damage != 0
  96.       display_damage(@active_battler)
  97.     elsif @active_battler.mp_damage != 0
  98.       display_mp_damage(@active_battler)
  99.     end
  100.   end
  101. end
复制代码

评分

参与人数 1星屑 +200 收起 理由
小幽的马甲 + 200

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

天空之神

梦石
0
星屑
156
在线时间
173 小时
注册时间
2009-5-3
帖子
612
3
发表于 2010-8-12 12:43:35 | 只看该作者
在脚本:防御指令编辑中添加
$game_temp.common_event_id = 1
然后设置公共事件1为补充量即可……
不懂的话给我一百经验,帮你解决……

点评

好吧,我试着自己加过,但是不知道是放的位置不对还是别的问题。。。 不过公共事件怎么判断是回复哪个人物呢。。。  发表于 2010-8-13 08:32
100经验 。。你给我我把我的回复删了  发表于 2010-8-12 12:49

评分

参与人数 1星屑 +200 收起 理由
小幽的马甲 + 200

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
124
在线时间
0 小时
注册时间
2010-8-12
帖子
1
4
发表于 2010-8-12 15:13:18 | 只看该作者
:L看不懂
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-3 19:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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