幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3281|回复: 12

[已解决] 腿神帮忙,状态问题。。。菜

[复制链接]

15

主题

271

帖子

2198

积分

⑥精研

我要疯狂积累活跃度!

积分
2198
QQ
发表于 2010-6-17 19:25:51 | 显示全部楼层 |阅读模式
研究中毒状态,怎么在持续伤害那段脚本加上并列的其他状态?
中文意思大概是这样:

如果是状态【3】 #中毒
计算HP持续伤害
处理伤害

如果是状态【4】 #魔力流失
计算SP持续伤害
处理伤害

如果是状态【5】 #生命恢复
计算HP持续伤害  (加血)
处理伤害

如果是状态【6】 #魔法恢复
计算SP持续伤害
处理伤害

完毕

谢了腿神,完美解决问题。。。
紫月光流奈河畔, 孤影独行笑苍天。 酆都倒比人间好, 从此慕鬼不羡仙!
回复

使用道具 举报

10

主题

85

帖子

258

积分

③业余

脚本万年废柴

积分
258
QQ
发表于 2010-6-17 21:31:16 | 显示全部楼层
用绿发Eclair的脚本改了一下,终于看懂了,但这种傻到不行的脚本我还是懂滴,不过不是腿神大人答也可以吧
位于Game_Battler 3中

  1. #--------------------------------------------------------------------------
  2.   # ● 应用连续伤害效果
  3.   #--------------------------------------------------------------------------
  4.   def slip_damage_effect
  5.     # 设置伤害
  6.   ############################################################
  7.     #在“中毒”的状态下,每回合HP减去十六分之一。
  8.     if self.states.include?(3)
  9.       self.damage = self.maxhp / 16
  10.     ############################################################
  11.     #在“魔力流失”的状态下,每回合SP减去十六分之一。
  12.     if self.states.include?(4)
  13.       self.damage = self.maxsp / 16
  14.     ############################################################
  15.     #在“生命恢复”的状态下,每回合HP回复十分之一
  16.     elsif self.states.include?(5)
  17.        self.damage = -self.maxhp / 10
  18.     else
  19.     self.damage = self.maxhp / 10
  20.   end
  21.     ############################################################
  22.     #在“魔法恢复”的状态下,每回合SP回复十分之一
  23.     elsif self.states.include?(6)
  24.        self.damage = -self.maxsp / 10
  25.     else
  26.     self.damage = self.maxsp / 10
  27.   end
  28.     ############################################################
  29.     # 分散
  30.     if self.damage.abs > 0
  31.       amp = [self.damage.abs * 15 / 100, 1].max
  32.       self.damage += rand(amp+1) + rand(amp+1) - amp
  33.     end
  34.     # HP 的伤害减法运算
  35.     self.hp -= self.damage
  36.     # 过程结束
  37.     return true
  38.   end
复制代码
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-17 21:54:17 | 显示全部楼层
差不多应该就是这个样子了。。。做做实验看吧。。。就是脚本的格式太“难看”,也太难“看”了
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

15

主题

271

帖子

2198

积分

⑥精研

我要疯狂积累活跃度!

积分
2198
QQ
 楼主| 发表于 2010-6-18 06:40:19 | 显示全部楼层
表示无语,应用不能。。。设置状态后不勾连续伤害,状态变化之后SP不动,勾上连续伤害的话减HP。SP依旧不动。。。生命 / 魔法恢复同样不能。。。谁能给一个实现这个目的的范例或详尽教程?
中毒后持续减HP,中魔法消失持续减SP,中恢复持续加HP,中魔法恢复持续加SP。
能无视战斗中和战斗外最好,只能在战斗中实现也行
紫月光流奈河畔, 孤影独行笑苍天。 酆都倒比人间好, 从此慕鬼不羡仙!
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-18 08:53:11 | 显示全部楼层
如果是状态【4】 #魔力流失
计算SP持续伤害
处理伤害


我还以为是 按照 SP的百分比长 HP。。orz
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-18 09:12:48 | 显示全部楼层
替换 game_battler3 的def slip_damage_effect
  1.   def damage_amp(damage)
  2.     # 分散
  3.     if damage.abs > 0
  4.       amp = [damage.abs * 15 / 100, 1].max
  5.       damage = rand(amp+1) + rand(amp+1) - amp
  6.     end
  7.     return damage
  8.   end
  9.   #--------------------------------------------------------------------------
  10.   # ● 应用连续伤害效果
  11.   #--------------------------------------------------------------------------
  12.   def slip_damage_effect
  13.     if @states.include?(3)
  14.       # 设置伤害
  15.       self.damage = self.maxhp / 10
  16.       self.damage += damage_amp(self.damage)
  17.       # HP 的伤害减法运算
  18.       self.hp -= self.damage
  19.     end
  20.     if @states.include?(4)
  21.       # 设置削魔
  22.       self.damage = self.maxsp / 10
  23.       self.damage += damage_amp(self.damage)
  24.       # SP 的伤害减法运算
  25.       self.sp -= self.damage
  26.     end
  27.     if @states.include?(5)
  28.       # 设置加血
  29.       self.damage = self.maxhp / 10
  30.       self.damage += damage_amp(self.damage)
  31.       # HP 的伤害减法运算
  32.       self.hp += self.damage
  33.     end
  34.     if @states.include?(6)
  35.       # 设置加魔
  36.       self.damage = self.maxsp / 10
  37.       self.damage += damage_amp(self.damage)
  38.       # SP 的伤害减法运算
  39.       self.sp += self.damage
  40.     end
  41.     # 过程结束
  42.     return true
  43.   end
复制代码
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-18 19:20:02 | 显示全部楼层
这个用了之后别的状态可就不能用了啊。。。

比如 你第三个状态是毒  7号状态也是毒。。。7号的就不能用了。。。

想用的话

   if @states.include?(3) or @states.include?(7)

这样就可以了、、、、如果太多毒状态的话。。。再说,也很简单。。。不过估计也不能有那么多
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

15

主题

271

帖子

2198

积分

⑥精研

我要疯狂积累活跃度!

积分
2198
QQ
 楼主| 发表于 2010-6-18 22:14:10 | 显示全部楼层
被你说中了。。。我的状态都设定了三级,因为人物进阶职业两个,所以一共三个技能。。。
状态同样也是三级了,就拿毒来说,猛毒(3回合正常伤),剧毒(三回合重伤),咒毒(五回合重伤)。。。其次,流血,烧伤等等持续伤害的状态都有三个等级。。。
我正考虑在那个脚本里面继续添加同等级状态。。。
基本上是继续罩着你前面的往下写,不过还没有实验。理论上可行。。。我对那段脚本的理解基本等于事件处理的并列的条件分歧。。。应该没错得太离谱哈。。。明天去欢乐谷玩,等后天回来再实验吧。其实我用公共事件也做了跟这个差不多的效果,但是实在太笨拙了。
紫月光流奈河畔, 孤影独行笑苍天。 酆都倒比人间好, 从此慕鬼不羡仙!
回复 支持 反对

使用道具 举报

550

主题

9116

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2010-6-18 22:53:11 | 显示全部楼层
如果效果不同就需要多做几个判断了。。。你把效果说清楚点。。我看看
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

15

主题

271

帖子

2198

积分

⑥精研

我要疯狂积累活跃度!

积分
2198
QQ
 楼主| 发表于 2010-6-21 21:11:47 | 显示全部楼层

回 8楼(secondsen) 的帖子

自己弄了。。。其实效果就是加血加蓝减血减兰为基础,其他的RM默认的那些选项组合起来已经足够用了。 而且我已经不想再增加我的美工工程了,地图,战斗图和动画就够我画到死了
紫月光流奈河畔, 孤影独行笑苍天。 酆都倒比人间好, 从此慕鬼不羡仙!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-5-2 12:00 , Processed in 0.030641 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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