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

Project1

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

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

[复制链接]

Lv4.逐梦者

梦石
0
星屑
5039
在线时间
1780 小时
注册时间
2012-7-3
帖子
1799

开拓者

1
发表于 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开心呀
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-13 05:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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