查看: 3353|回复: 3

[已经过期] 升级后角色能否自动将hp mp完全补满?

[复制链接]
梦石
0
星屑
1321
在线时间
157 小时
注册时间
2006-2-12
回帖
157
发表于 2017-8-13 15:26:35 | 显示全部楼层 |阅读模式

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

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

×
如题,角色战斗时hp mp有损耗,但当前这一局结束胜利后刚好升级了,能不能自动补满?
梦石
0
星屑
5037
在线时间
1780 小时
注册时间
2012-7-3
回帖
1749

开拓者

发表于 2017-8-13 21:04:10 | 显示全部楼层
本帖最后由 defisym 于 2017-8-13 21:09 编辑

直接修改升级时的代码即可
在rpg_objects.js的第3891行开始
  1. Game_Actor.prototype.levelUp = function() {
  2.     this._level++;
  3.     this.currentClass().learnings.forEach(function(learning) {
  4.         if (learning.level === this._level) {
  5.             this.learnSkill(learning.skillId);
  6.         }
  7.     }, this);
  8. };
复制代码

改为
  1. Game_Actor.prototype.levelUp = function() {
  2.     this._level++;
  3.         this._hp = this.mhp;
  4.         this._mp = this.mmp;
  5.         this.currentClass().learnings.forEach(function(learning) {
  6.         if (learning.level === this._level) {
  7.             this.learnSkill(learning.skillId);
  8.         }
  9.     }, this);
  10. };
复制代码

也可以调用 this.recoverAll();
改完了是这个样子的
  1. Game_Actor.prototype.levelUp = function() {
  2.     this._level++;
  3.     this.recoverAll();
  4.     this.currentClass().learnings.forEach(function(learning) {
  5.         if (learning.level === this._level) {
  6.             this.learnSkill(learning.skillId);
  7.         }
  8.     }, this);
  9. };
复制代码

当然你也可以在判定升级条件的方法里面在调用升级的同时调用回复……
反正方法很多……
不管你怎么搞最后都能实现
(时刻走个并行公共事件判定主角等级与上一次循环时候等级一样不一样,不一样就全恢复也行
…………就是会很卡……)
(RPG MAKER支持的判定条件太特么少了,哎

点评

感谢指正…… 我对MV没那么了解……就是随意改了改测试一下没有问题就发了OTL……  发表于 2017-8-13 21:40
this._hp = this.mhp 没有refresh,可能在载入某些场景的时候出现血量显示错误。YEP最好不要用recoverAll()可能丢失临时数据。  发表于 2017-8-13 21:32
Project Ktr进行中:
   
------------------
→SRPG开发之六-天气与地形互动
→→围观
→→→去Lofter围观
------------------
离经叛道的扯淡者/伪独立游戏爱好者/Decade Studio(?)/造轮子真TM开心呀
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部