查看: 1002|回复: 5

[有事请教] 关于自动恢复TP的问题

[复制链接]
梦石
0
星屑
248
在线时间
29 小时
注册时间
2019-11-2
回帖
19
发表于 2025-2-10 23:12:19 | 显示全部楼层 |阅读模式
悬赏10星屑未解决
我在装备中设置一个特性可以自动恢复固定百分比TP,并且我设定TP每次战斗后可以保留,但是我发现就算没有在战斗中TP也会不断慢慢增长,请问这是什么原因?

梦石
0
星屑
4472
在线时间
492 小时
注册时间
2018-8-3
回帖
94
发表于 2025-2-11 14:33:41 | 显示全部楼层
因为和战斗外保留的状态是属于同一种效果,战斗外中毒每走几步就会掉血,这个回复tp也是在这个步骤里执行的,理论上可以给这个写成被动,只是插件少,不常见
回复

使用道具 举报

梦石
0
星屑
248
在线时间
29 小时
注册时间
2019-11-2
回帖
19
 楼主| 发表于 2025-2-11 18:18:06 | 显示全部楼层
jack99zgp 发表于 2025-2-11 14:33
因为和战斗外保留的状态是属于同一种效果,战斗外中毒每走几步就会掉血,这个回复tp也是在这个步骤里执行的 ...

有沒有辦法能够实现在非战斗的时候TP不自动增长呢?
回复

使用道具 举报

梦石
0
星屑
248
在线时间
29 小时
注册时间
2019-11-2
回帖
19
 楼主| 发表于 2025-2-13 21:41:55 | 显示全部楼层
经过研究已经把这个问题解决了,有需求的朋友可以参考一下,在object的脚本里面有一个代码关于regenerateTp的函数,把里面的代码改成以下就能实现,原理就是检测角色是否是在战斗中,如果是的会便会自动恢复,同理也可运用到MP,HP的自动恢复中。
Game_Battler.prototype.regenerateTp = function() {
   
     if ($gameParty.inBattle()) {
        var value = Math.floor(100 * this.trg);
    } else {
       var value = 0;
    }

   this.gainSilentTp(value);
};

点评

建议再改一下把 this.gainSilentTp(value); 也放在 }else{ 之前,否则即使 value 为 0 也可能有副作用。  发表于 2025-2-15 11:14
回复

使用道具 举报

梦石
0
星屑
248
在线时间
29 小时
注册时间
2019-11-2
回帖
19
 楼主| 发表于 2025-2-15 11:28:15 | 显示全部楼层
Kaede_123 发表于 2025-2-13 21:41
经过研究已经把这个问题解决了,有需求的朋友可以参考一下,在object的脚本里面有一个代码关于regenerateTp ...

谢谢建议,我的想法else里面的代码就是非战斗状态下的TP自动增长效果,如果有人希望在非战斗状态下有不一样的增长效果的话就能实现,当然我代码能力基本属于小白,确实不清楚会不会有副作用就是了。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部