Project1
标题:
如何制作消耗HP的技能?
[打印本页]
作者:
结城照美
时间:
2013-6-22 18:11
标题:
如何制作消耗HP的技能?
本帖最后由 结城照美 于 2013-7-7 14:18 编辑
RT,角色使用该技能时消耗一定值的HP,如果HP小于需要的量则不能使用该技能。
作者:
zl245479821
时间:
2013-6-22 18:12
特技里加上公共事件,公共事件设置HP减少。
作者:
mo88
时间:
2013-6-22 18:42
用变量开关
作者:
怪蜀黍
时间:
2013-6-22 21:46
本帖最后由 protosssonny 于 2013-6-22 22:03 编辑
1、Game_Battler类下找到:
#--------------------------------------------------------------------------
# ● 可以使用技能的判定
# skill : 技能
#--------------------------------------------------------------------------
def skill_can_use?(skill)
return false unless skill.is_a?(RPG::Skill)
return false unless movable?
return false if silent? and skill.spi_f > 0
return false if calc_mp_cost(skill) > mp
return false if skill.id == xx and @hp < yy # 请自己设定技能ID为xx且当HP小于yy不能使用
if $game_temp.in_battle
return skill.battle_ok?
else
return skill.menu_ok?
end
end
复制代码
2、Scene_Battle类下找到:
#--------------------------------------------------------------------------
# ● 执行战斗行动:使用技能
#--------------------------------------------------------------------------
def execute_action_skill
skill = @active_battler.action.skill
text = @active_battler.name + skill.message1
@message_window.add_instant_text(text)
unless skill.message2.empty?
wait(10)
@message_window.add_instant_text(skill.message2)
end
targets = @active_battler.action.make_targets
display_animation(targets, skill.animation_id)
@active_battler.mp -= @active_battler.calc_mp_cost(skill)
@active_battler.hp -= yy if skill.id == xx # 刚才xx、yy是多少这里就写多少
$game_temp.common_event_id = skill.common_event_id
for target in targets
target.skill_effect(@active_battler, skill)
display_action_effects(target, skill)
end
end
复制代码
3、Scene_Skill类下找到:
#--------------------------------------------------------------------------
# ● 非同伴目标使用物品
#--------------------------------------------------------------------------
def use_skill_nontarget
Sound.play_use_skill
@actor.mp -= @actor.calc_mp_cost(@skill)
@actor.hp -= yy if @skill.id == xx # 刚才xx、yy是多少这里就写多少
@status_window.refresh
@skill_window.refresh
@target_window.refresh
if $game_party.all_dead?
$scene = Scene_Gameover.new
elsif @skill.common_event_id > 0
$game_temp.common_event_id = @skill.common_event_id
$scene = Scene_Map.new
end
end
复制代码
作者:
Password
时间:
2013-6-22 22:27
本帖最后由 Password 于 2013-6-22 22:31 编辑
范例:
Project1.rar
(238.16 KB, 下载次数: 90)
2013-6-22 22:22 上传
点击文件名下载附件
做好了,纯脚本改动,
所有修改过的脚本的脚本名前都用“★”标出,详细的修改点可以用全局搜索“修改点”找到~
目测效果会很完美。
当前的功能:
1,实现此技能使用后减掉使用者的一些HP,而并不用公共事件,也就是说可以让所有角色甚至敌人也学会此技能。
2,此技能可同时消耗MP(消耗MP是消耗HP的倍数,实际上这俩共用了一个值)
3,此技能在HP或MP不足时无法使用并且技能名变灰。
但是这次的改动比较大,修改的东西也比较碎,见谅
哎呀……难得P叔抢饭菜 QwQ
@protosssonny
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1