查看: 2314|回复: 2

[已经解决] 【ACE】如何让状态在mp归0的情况下自动解除?

[复制链接]
梦石
0
星屑
2085
在线时间
185 小时
注册时间
2022-6-24
回帖
148
发表于 2023-1-25 06:01:14 | 显示全部楼层 |阅读模式

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

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

×
就如标题所言,想要做出这样的效果有什么办法?
我先尝试过了用技能呼叫公共事件开启开关,然后让开关开启自动进行的公共事件来不断赋值mp变量,最后判定mp为零消除状态,但是公共事件不知道为什么没用?还是说战斗的时候不能用公共事件?
在尝试做游戏了,但还是个菜狗(结果现在编程,音乐和剧情设计没开始学,画画也暂时没时间学了(;д;))

(个人精神状况不是很好,有时会说出一些奇怪且根本没法理解意思的话,直接无视就好,如果说出的话不小心冒犯到你,我会在精神状况良好时和你道歉的(`・ω・´)(不过一般在感觉到不适时会直接下线,请勿过于担心))
梦石
0
星屑
29896
在线时间
5733 小时
注册时间
2016-3-8
回帖
1653
发表于 2023-1-25 10:41:14 | 显示全部楼层
众所周知, 1号状态(濒死会在hp为0时自动附加, hp不为0时自动移除
所以反过来说,  只要找到相应的语句,  就能改成mp不为0时啥也不变, mp为0时自动移除

相应的语句:Game_BattlerBase 504行的@hp == 0 ? add_state(death_state_id) : remove_state(death_state_id)

写个alias:
class Game_BattlerBase
  alias refresh_state_by_zero_mp refresh
  def refresh
    refresh_state_by_zero_mp
    remove_state(状态id) if @mp == 0
  end
end

点评

感谢125大佬的帮助,问题已经解决了,谢谢  发表于 2023-1-26 06:33

评分

参与人数 1赞 +1 收起 理由
ACRI + 1 认可答案

查看全部评分

回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部