请问RPG VX软件中如何修改脚本,如何让角色升级后自动恢复气血和魔法值? 如何在Rpgmaker vx中,让主角升级后自动红蓝回复全满...

rpg maker vx ace\u4e2d\u5982\u4f55\u5236\u4f5c\u5347\u7ea7\u540e\u5b8c\u5168\u6062\u590d\u4f53\u529b\u548c\u9b54\u529b\uff1f

\u6ca1\u6709\u81ea\u52a8\u8ba1\u6570\u2026\u2026 \u8fd9\u91cc\u53bb\u4e00\u4e2a\u4f8b\u5b50\u2026\u2026 \u6218\u6597 \u6218\u6597\u5904\u7406 \u5f3a\u76d7*3 \u80dc\u5229 \u53d8\u91cf n \u6740\u6b7b\u5f3a\u76d7\u6570\u503c 3 \u5931\u8d25 \u2026\u2026 \u9003\u8dd1 \u2026\u2026 \u6761\u4ef6\u5206\u6b67 \u5f53\u6740\u6b7b\u5f3a\u76d7\u53d8\u91cf\u5927\u4e8e\u7b49\u4e8e10\u65f6 \u663e\u793a\u6587\u7ae0 \u4efb\u52a1\u5b8c\u6210\u4e86\uff0c\u56de\u53bb\u4ea4\u5dee\u5427\u3002 \u7136\u540e\u7528\u811a\u672c\uff0c\u4efb\u52a1\u5b8c\u6210\u3002 \u5b8c\u6bd5\u3002 = begin rmxp\u56e2\u961f \u8d34\u5427\u606d\u5019\u3002

\u6253\u5f00\u6570\u636e\u5e93~
\u627e\u5230 Game_Actor ~
\u627e\u5230
def level_up
@level += 1
for learning in self.class.learnings
learn_skill(learning.skill_id) if learning.level == @level
end
end
\u6539\u6210
def level_up
@level += 1
for learning in self.class.learnings
learn_skill(learning.skill_id) if learning.level == @level
self.hp += maxhp
self.mp += maxmp
end
end

【升级补血】

不少游戏都有升级的时候把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.52、雅土的升级提示脚本:首先你得确定是本站提供的脚本,否则行数会略有偏差,用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.53、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,就使用 += 的方法增加现有值。【战斗结束后补血补气】了解上面的原理,比如我现在想模拟仙剑的效果每次战斗结束恢复50%受伤的生命和精神,这样不会完全补满,又不至于受伤过重难度太大。方法其实很简单了:在Window_BattleResult中(这个是用来表示战斗结束时、显示获得的 EXP 及金钱的窗口),在initialize或者refresh函数定义中,添加如下内容(比如添加在28行下面):for actor in $game_party.actors
actor.hp += 0.5*(actor.maxhp-actor.hp)
actor.sp += 0.5*(actor.maxsp-actor.sp)
end你应该可以看明白这个简短的脚本是怎么运行的。另外,比较好的方法:在Game_Actor里的 #--------------------------------------------------------------------------
# ● 更改 EXP
# exp : 新的 EXP
#--------------------------------------------------------------------------
def exp=(exp)
@exp = [[exp, 9999999].min, 0].max
# 升级
while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
@level += 1
@hp = maxhp
@sp = maxsp
# 学会特技
for j in $data_classes[@class_id].learnings
if j.level == @level
learn_skill(j.skill_id)
end
end
end
# 降级
while @exp < @exp_list[@level]
@level -= 1
end
# 修正当前的 HP 与 SP 超过最大值
@hp = [@hp, self.maxhp].min
@sp = [@sp, self.maxsp].min
end

扩展阅读:开户软件社工库 ... 黑客社工库软件v1.6 ... 附身srpg汉化安卓版下载 ... 社工猎魔查询软件下载 ... wishroom游戏v2.0 ... rpg maker vx破解版 ... rpg vx ace ... tsrpg手机版怎么下载 ... tsrpg官方游戏在哪里下载 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网