赞 | 0 |
VIP | 0 |
好人卡 | 1 |
积分 | 1 |
经验 | 8096 |
最后登录 | 2019-9-11 |
在线时间 | 142 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 100
- 在线时间
- 142 小时
- 注册时间
- 2010-2-23
- 帖子
- 38
|
本帖最后由 小酋旺旺 于 2011-8-14 13:05 编辑
首先我是模仿黑暗圣剑传说来制作连击脚本。
我先在 Game_Battle 3 的 def skill_effect(user, skill) 的 return effective 前添加:
case skill.id
when 45 # 连击
self.attack_effect(user)
if self.hp > 0
$message_string = "连击"
end
end
再在 ZTBS 我方动作 中添加新阶段:
case $game_system.tactics_step
…………
when 901
double_attack1
when 902
double_attack2
…………
end
接着在 阶段9 末尾的 return 前加上:
if $message_string == "连击"
@double_damage = @targets[ i ].damage
$game_system.tactics_step = 901
else
$game_system.tactics_step = 10
end
然后再加上这么个东东:
#--------------------------------------------------------------------------
# ● 刷新画面 (主回合步骤 901,902 : 连击技能)
#--------------------------------------------------------------------------
def double_attack1
@active_battler.animation_id = @animation1_id
@active_battler.animation_hit = true
for i in @targets.keys
$game_map.events[ i ].animation_id = @animation2_id
$game_map.events[ i ].animation_hit = (@targets[ i ].damage != "Miss")
if @double_damage != nil
$game_map.events[ i ].damage = @double_damage
end
end
$game_system.tactics_step = 902
end
def double_attack2
for i in @targets.keys
$game_map.events[ i ].damage = @double_damage
if $game_map.events[ i ].damage != nil
$game_map.events[ i ].damage_pop = true
end
end
$game_system.tactics_step = 10
end
测试的结果是:确实出现了两次攻击,但是第二次攻击虽然显示了动画和伤害却没有扣血,还有第一次攻击后消失的敌人第二次攻击时还会显示动画和伤害;更严重的是,就是以这样的方式打败敌人后,角色不会获得任何经验金钱物品。请问这里有什么原因?如果要修正那该怎么下手? |
|