| 赞 | 0 |
| VIP | 0 |
| 好人卡 | 0 |
| 积分 | 1 |
| 经验 | 55044 |
| 最后登录 | 2022-1-4 |
| 在线时间 | 49 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 95
- 在线时间
- 49 小时
- 注册时间
- 2006-5-7
- 帖子
- 526
|
详细说明。。。。。
#--------------------------------------------------------------------------
# ● 检查连续伤害 (地图用)
#--------------------------------------------------------------------------
def check_map_slip_damage
for actor in @actors
if actor.hp > 0 and actor.slip_damage?
从这里开始,就是对连续伤害的处理了,我们可以通过添加各种判断达到多重连续伤害的效果
actor.hp -= [actor.maxhp / 100, 1].max这是对角色的伤害
if actor.hp == 0 这下面是人物对死亡的判断,对于持续恢复可以不要这些
$game_system.se_play($data_system.actor_collapse_se)
end
$game_screen.start_flash(Color.new(255,0,0,128), 4)
$game_temp.gameover = $game_party.all_dead?
到此结束
end
end
end
试将以上彩色部分修改成如下内容:
if actor.state?(3) #当人物有3号状态时
actor.hp -= 20 #每次减20血
elsif actor.state?(4) #当人物有4号状态时
actor.hp -= 10 #每次减10血
actor.sp -= 20 #每次减20魔
elsif actor.state?(5) #当人物有5号状态时
actor.hp -= actor.hp/10 #每次减当前血量的10%
end
if actor.hp == 0 #这下面是人物对死亡的判断,对于持续恢复可以不要这些
$game_system.se_play($data_system.actor_collapse_se)
end
$game_screen.start_flash(Color.new(255,0,0,128), 4)
$game_temp.gameover = $game_party.all_dead?
这样,你就拥有了3号、4号、5号这三个不同的连续伤害状态,在game_battler也做修改就可以让它们在战斗时也发挥作用(需要注意战斗时用self而不是actor),用类似
用类似的修改可以达到任何想要的效果 系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~ |
|