赞 | 27 |
VIP | 400 |
好人卡 | 13 |
积分 | 17 |
经验 | 69730 |
最后登录 | 2025-8-2 |
在线时间 | 3039 小时 |
Lv3.寻梦者 (暗夜天使) 精灵族の天使
- 梦石
- 0
- 星屑
- 1707
- 在线时间
- 3039 小时
- 注册时间
- 2007-3-16
- 帖子
- 33731
 
|
以下引用光之赫恩海姆于2007-7-7 1:25:32的发言:
如果按4楼的那种没有效果,我做的是纵版的,按照添加
actor.hp = actor.maxhp; actor.sp = actor.maxsp
的方法效果不是很好,升级提示结束后血才会满,我想让升级的同时血就会满那种效果
不知道能否实现
我的那个帖子里面说过了。
另外,比较好的方法:在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
添加到这里应该是更好。4楼的脚本说的不错。
如果被重新定义的话就在你的脚本里面搜索这个。
其实所有的升级补血都是在升级出现提示表现之后帮忙把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,就使用 += 的方法增加现有值。 |
|