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

Project1

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

[有事请教] 覆盖自动状态的问题,状态栏覆盖了但状态的效果依旧生效

[复制链接]

Lv4.逐梦者

素材区好人

梦石
3
星屑
9470
在线时间
3783 小时
注册时间
2011-7-21
帖子
2400

极短26参与极短25参与极短24参与极短23参与极短22参与极短21参与

跳转到指定楼层
1
发表于 昨天 00:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本来已经问过2次了,不应该问第3次,不过确实出现了这样的问题
在此直接放入工程
测试.zip (1.48 MB, 下载次数: 1)
下面是问题
角色装备了附加狂化的装备,会不受玩家控制,直接攻击敌人

之后装备了另一个装备,这个装备的效果是可以让角色免疫狂化
(具体做法为赋予另一个定量0的状态,这个状态变化中的狂化状态勾了减号)

可以看到,状态栏显示已经变成正常,但问题是,角色依旧会不受控制攻击敌人,也就是说状态效果并没有消失,甚至状态动画都没有消失


下面是关键脚本(虽然上传了工程,但还是放一下吧)
状态覆盖
状态更新

Lv5.捕梦者

梦石
0
星屑
40241
在线时间
5853 小时
注册时间
2006-11-10
帖子
6717
2
发表于 昨天 09:54 | 只看该作者
本帖最后由 灯笼菜刀王 于 2025-11-19 10:08 编辑

看了看, 第二个脚本写法和我好像....
原来就是我写的

要修改两个地方
第10行,括号里的 i 要改成 a
然后29行下面增加一句 return if !state?(state_id)

第一个脚本删掉, 没任何意义, 不改动@states就是面子工程, 对实际效果没影响

-------------分割线-----------------------------------------------

其实, 如果想要 "防具也可以免疫被动状态"

那全局搜索 def update_auto_state(old_armor, new_armor)
然后在 if new_armor != nil and new_armor.auto_state_id != 0  这句下面加一句
return if state_guard?(new_armor.auto_state_id)

这样, 自动状态就和普通状态一样, 在防具的"状态防御"那打钩就可以免疫掉了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-11-20 00:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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