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

Project1

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

[已经解决] 状态效果:受到攻击时,几率使攻击者陷入指定异常状态

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1394
在线时间
268 小时
注册时间
2017-2-18
帖子
101

开拓者

跳转到指定楼层
1
发表于 2017-7-10 16:31:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
就是说当角色或敌人处于一个状态,受到攻击时,攻击角色或敌人的人有几率陷入一个指定的异常状态

Lv3.寻梦者

梦石
0
星屑
1696
在线时间
761 小时
注册时间
2013-9-23
帖子
211

开拓者

2
发表于 2017-7-10 19:02:24 | 只看该作者
本帖最后由 午睡的风铃 于 2017-7-10 20:18 编辑
  1. #==============================================================================
  2. # ■ Game_Battler
  3. #==============================================================================
  4. class Game_Battler < Game_BattlerBase
  5.   #--------------------------------------------------------------------------
  6.   # ● 应用技能/物品的效果
  7.   #--------------------------------------------------------------------------
  8.   def item_apply(user, item)
  9.     @result.clear
  10.     @result.used = item_test(user, item)
  11.     @result.missed = (@result.used && rand >= item_hit(user, item))
  12.     @result.evaded = ([email protected] && rand < item_eva(user, item))
  13.     if @result.hit?
  14.       unless item.damage.none?
  15.         @result.critical = (rand < item_cri(user, item))
  16.         make_damage_value(user, item)
  17.         execute_damage(user)
  18.       end
  19.       make_special_effect(user, item)  #~
  20.       item.effects.each {|effect| item_effect_apply(user, item, effect) }
  21.       item_user_effect(user, item)
  22.     end
  23.   end
  24.   #---------------------------------------------------------------------------
  25.   # ● 技能/物品的特殊效果
  26.   #---------------------------------------------------------------------------
  27.   def make_special_effect(user, item)
  28.   
  29.     # 如果攻击命中目标,且目标处在x状态,那么攻击者有y几率陷入z状态。
  30.     if self.state?(x) && rand(100) < y
  31.       if self.actor? && user.enemy? or self.enemy? && user.actor?
  32.         user.add_state(z)
  33.       end
  34.     end
  35.    
  36.   end
  37. end
复制代码


需要在脚本30和32行设置
测试目前我能考虑到的可能性都没问题
一定还有更好方法的,一定还有更简单方法的,一定还有......

评分

参与人数 1星屑 +250 收起 理由
RaidenInfinity + 250 版主认可的答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1345
在线时间
378 小时
注册时间
2015-6-16
帖子
571
3
发表于 2017-7-10 20:01:20 | 只看该作者
伤害公式是可以,但是缺点在你状态个数多了你复制粘贴也麻烦。
按照你的说法角色目标通用那就很简单大概得格式是
if self.state?(2)
user.add_state(1)
end
解释目标处于二号状态,攻击者附加1号状态
PS:伤害公式脚本请去别的地方询问。哦对了记得这里有个什么装备吸血反伤效果的那个帖子我发过伤害公式脚本的,你把他复制过来,然后用我这个格式去写即可,注意一个if跟一个end
但是缺点很明显,一次性只能判定一个。用while end加变量指定状态ID的话大部分电脑会因为
这样而卡顿很久也不是很好用。你就按照我的格式一个状态判定一个。
P1不太上了,有问题加个Q1286124843,不管是脚本还是游戏问题都可以来找我
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

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

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

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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