| 
 
| 赞 | 11 |  
| VIP | 94 |  
| 好人卡 | 57 |  
| 积分 | 39 |  
| 经验 | 47770 |  
| 最后登录 | 2025-10-23 |  
| 在线时间 | 1588 小时 |  
 Lv3.寻梦者 
	梦石0 星屑3907 在线时间1588 小时注册时间2006-5-5帖子2743 | 
| 【升级补血】 
 不少游戏都有升级的时候把HP,SP补慢的功能。在RMXP中怎么制作呢?我先说制作方法,再简单讲一下原理和碰到其他新脚本之后的更改方法。
 
 1、默认情况下的升级加HP,SP方法:
 
 Scene_Battle 2 的173行开始,有如下3段内容:
 
 if actor.level > last_level
 @status_window.level_up(i)
 end
 
 这里就是升级的内容,只要在if那个下面一行添加
 actor.hp = actor.maxhp;          actor.sp = actor.maxsp
 
 就可以补满血。如果需要增加50%的最大生命和最大SP,则写
 actor.hp += actor.maxhp*0.5;          actor.sp += actor.maxsp*0.5
 
 2、雅土的升级提示脚本:
 
 首先你得确定是本站提供的脚本,否则行数会略有偏差,用ctrl+f搜索即可。在279行内容如下:
 
 if actor.level > last_level
 
 在行此下面一行添加:actor.hp = actor.maxhp;          actor.sp = actor.maxsp
 如果需要增加50%的最大生命和最大SP,则写actor.hp += actor.maxhp*0.5;          actor.sp += @actor.maxsp*0.5
 
 3、RTAB
 
 首先你得确定是本站提供的脚本,否则行数会略有偏差,用ctrl+f搜索即可。在773行内容如下:
 
 if actor.level > last_level
 
 在行此下面一行添加:actor.hp = actor.maxhp;          actor.sp = actor.maxsp
 如果需要增加50%的最大生命和最大SP,则写actor.hp +=actor.maxhp*0.5;          actor.sp += actor.maxsp*0.5
 
 【原理】
 
 其实所有的升级补血都是在升级出现提示表现之后帮忙把HP和SP补满。所以只需要在脚本中按ctrl+shift+f搜索
 if actor.level > last_level
 就可以了。不过有的脚本写得不是非常规范,可能会写成if actor.level >last_level这样(和最标准的格式比缺一个空格),这样搜索就搜不到了。这是可以全局搜索.level,然后自己挑出来。这个.level是默认定义的,一般的脚本不会随便更改这个。
 
 actor.hp = actor.maxhp,就是把现在的hp赋值为最大hp (maxhp),SP也相同。如果使用增加一些hp或sp,就使用 += 的方法增加现有值。
 | 
 |