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

Project1

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

[RMXP发布] 自己改的一个技能消耗HP脚本,顺便请高手帮我完善下。

[复制链接]

Lv2.观梦者

梦石
0
星屑
511
在线时间
50 小时
注册时间
2009-7-1
帖子
87
跳转到指定楼层
1
发表于 2010-8-24 21:59:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 daiboy12 于 2010-8-24 22:11 编辑

首先在Game_Battler中定义如下
  1. class Game_Battler
  2.   def skill_cost_hp?(skill_id)
  3.     if skill_id == 1 or
  4.       skill_id == 2
  5.       return true
  6.     end
  7.   end
  8. end
复制代码
也就是说1号技能和2号技能视为消耗HP的技能。

接下来在下面一点的地方改一下def skill_can_use?(skill_id)这块
  1. if skill_cost_hp?(skill_id)
  2.   if $data_skills[skill_id].sp_cost > self.hp - 1
  3.     return false
  4.   end
  5. else
  6.   if $data_skills[skill_id].sp_cost > self.sp
  7.     return false
  8.   end
  9. end
复制代码
消耗HP的技能如果HP不足消耗量的话就视为不能使用。这样在下面可以少改很多窗口的地方。
-1是为了防止玩家使用技能造成死亡。

然后在Scene_Skill中
有个使用特技的情况下
大概在124行有这个
  1. if @actor.skill_cost_hp?(@skill.id)
  2.   @actor.hp -= @skill.sp_cost
  3. else
  4.   @actor.sp -= @skill.sp_cost
  5. end
复制代码
把消耗SP改为消耗HP

接下来在战斗中还要再修改一次消耗HP。我用的是RTAB战斗脚本,所以就只能在这个脚本上改了。
大概在1789行中的
  1. battler.sp -= @skill.sp_cost
复制代码
修改成
  1. if battler.skill_cost_hp?(@skill.id)
  2.   battler.hp -= @skill.sp_cost
  3. else
  4.    battler.sp -= @skill.sp_cost
  5. end
复制代码
之后就大功告成啦!

请高手帮我看看有没有问题吧!至少我现在测试起来是OK了。

还有一个问题,就是在Game_Battler中的定义我好像做的太复杂了。如果有很多个技能就要打很多个 skill_id == XX 有什么办法可以简化吗?看很多其他人写的脚本中间都是隔着一个逗号就能行的。

Lv2.观梦者

梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
帖子
607

开拓者

3
发表于 2010-8-24 22:26:47 | 只看该作者
个人觉得连续伤害状态够用了

点评

好像不那么高,记得这个状态,在地图上走路也会扣血。  发表于 2010-8-25 11:51
消耗hp没法定量,记得连续伤害是1/10还是1/20来着?  发表于 2010-8-24 22:34
往事简直不堪回首,稍微做点想做的事吧
回复 支持 反对

使用道具 举报

Lv2.观梦者

旅之愚者

梦石
0
星屑
275
在线时间
812 小时
注册时间
2007-7-28
帖子
2148

贵宾

2
发表于 2010-8-24 22:23:48 | 只看该作者
回复 daiboy12 的帖子

用[1 , 3 , 5 , 7].include?(skill_id)的写法即可

另外楼主这样写的话,自己用可以,可移植性不高
   
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 17:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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