Project1

标题: 默认的脚本升级不自动加血加蓝- - [打印本页]

作者: q740750396    时间: 2010-11-9 13:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: 烁灵    时间: 2010-11-9 13:06
升级恢复么。。。为什么不先搜索下啊

http://rpg.blue/forum.php?mod=vi ... =%E5%8D%87%E7%BA%A7
作者: 魔火    时间: 2010-11-9 13:14
Window_BattleStatus的43行和44行之间加一句
recover_all
作者: q740750396    时间: 2010-11-9 13:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: mythos    时间: 2010-11-9 18:11
本帖最后由 mythos 于 2010-11-9 18:16 编辑

你在game_actor的462和463之间加
@hp=maxhp
@sp=maxsp
亲测过,没问题~~~
作者: 步兵中尉    时间: 2010-11-10 22:13
【升级补血】

不少游戏都有升级的时候把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,就使用 += 的方法增加现有值。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1