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

Project1

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

[已经解决] 请问这种情况如何才能去掉攻击者的状态?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
105
在线时间
2107 小时
注册时间
2011-2-23
帖子
83
跳转到指定楼层
1
 楼主| 发表于 2013-1-30 20:15:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
是想制作一种类似于反弹的状态,需要先判断出攻击者,所以
在Game_Battler 3里面设置了一种状态,

RUBY 代码复制
  1. if self.state?(84)
  2.    self.damage = ""
  3.    attacker.add_state(128, true)
  4.       end


也就是,如果被攻击者是84号状态,就给攻击者加上128号状态。
然后在Scene_Battle 4 里面调用公共事件,
如果某某是128号状态,则XXX,否则,则XXX,
最后,当然是让所有人都解除128号状态。

可是测试却发现状态解除不了,一旦被加上这个状态了就一直带着,然后其他队员攻击的时候他也会跟着受这种状态的“处罚”。


我对脚本并不是很懂,只是根据自己搜索到的内容,大体觉得似乎应该这样写,请问问题出在哪里呢?谢谢~~

Lv5.捕梦者

梦石
0
星屑
31989
在线时间
5081 小时
注册时间
2012-11-19
帖子
4877

开拓者

2
发表于 2013-1-31 14:28:10 | 只看该作者
个人觉得LZ再加上一个解除该状态的定义,而不是用事件来解除,因为照LZ那样,脚本里面一个被指定状态的人被攻击,脚本会反复执行LZ写的上面那段脚本。
也就是说,再定义一下:“else”,其他情况下又怎样怎样
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
105
在线时间
2107 小时
注册时间
2011-2-23
帖子
83
3
 楼主| 发表于 2013-1-31 15:08:20 | 只看该作者
本帖最后由 君子兰 于 2013-1-31 16:11 编辑
芯☆淡茹水 发表于 2013-1-31 15:28
个人觉得LZ再加上一个解除该状态的定义,而不是用事件来解除,因为照LZ那样,脚本里面一个被指定状态的人被 ...


对不起,我没有弄明白您的意思,那个else 应该是写在哪里呢?8 4号状态那个if 的后面吗?
为什么会反复执行呢?我以前也以为是不是会一直执行这个,所以写self.damage = "xxx"试了一下,xxx这几个字就只显示一次啊。我又实在不太懂脚本,请问到底是怎么个意思呢?
而且,我其实有试过,在执行这段脚本之前先加上一个解除128号状态的命令,可是还是解除不了。
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
31989
在线时间
5081 小时
注册时间
2012-11-19
帖子
4877

开拓者

4
发表于 2013-1-31 15:23:41 | 只看该作者
按照LZ那种想法,我也想不出什么来,
其实个人觉得这样写比较方便:
  条件分歧如果被攻击者处于某种状态
  那么攻击者减少HP为被攻击者减少HP的十分之一(伤害反射嘛)
这样就不用强行给被攻击者附加某种状态了

点评

可以了,我在Scene_Battle 4里用脚本强行解除解决了~谢谢您了~~做这个其实想借助反弹的原理,做出有一些几率减钱减sp或者其他什么的,弄得有趣一点啦~  发表于 2013-1-31 15:45

评分

参与人数 2星屑 +30 梦石 +1 收起 理由
hcm + 1 认可答案
君子兰 + 30 塞糖

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-3 03:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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