赞 | 0 |
VIP | 190 |
好人卡 | 16 |
积分 | 1 |
经验 | 59358 |
最后登录 | 2017-8-17 |
在线时间 | 1441 小时 |
Lv1.梦旅人 ◇无限的妄想者◇
- 梦石
- 0
- 星屑
- 55
- 在线时间
- 1441 小时
- 注册时间
- 2012-7-14
- 帖子
- 2339
|
本帖最后由 幻想中的鸡蛋 于 2012-7-18 17:28 编辑
你的要求好诡异……好吧,首先确定一点,公共事件内脚本修改文字说明滞后于文字显示,所以不可行。
按照你的要求,非要用公共事件的话(看上去不单是随机数的问题吧),可以让这段文字显示为空,然后公共事件内添加显示文章。依然使用上面给出的脚本方案(稍微有些修改,用下面这个),第九行填写你需要的技能id,引号内为空,调用公共事件时,条件分歧用脚本$Skill_miss==true判定为技能miss,里面写你想要的内容。
公共事件最后一行加上脚本$Skill_miss = false 大致上应该就没有问题了。
因为不知道你想要的具体效果是什么,所以我也只能给到这种方案建议。- class Scene_Battle < Scene_Base
- #--------------------------------------------------------------------------
- # ● 执行战斗行动:使用技能
- #--------------------------------------------------------------------------
- def execute_action_skill
- skill = @active_battler.action.skill
- #--------------------------------------------
- case @active_battler.action.skill.id
- when 59
- @Action_Failure = ""
- else
- @Action_Failure = Vocab::ActionFailure
- end
- #--------------------------------------------
- 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)
- $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
- #--------------------------------------------------------------------------
- # ● 显示落空
- # target : 目标
- # obj : 技能或物品
- #--------------------------------------------------------------------------
- def display_miss(target, obj = nil)
- if obj == nil or obj.physical_attack
- if target.actor?
- text = sprintf(Vocab::ActorNoHit, target.name)
- else
- text = sprintf(Vocab::EnemyNoHit, target.name)
- end
- Sound.play_miss
- else
- $Skill_miss = true
- text = sprintf(@Action_Failure, target.name)
- end
- @message_window.add_instant_text(text)
- wait(30)
- end
- #--------------------------------------------------------------------------
- # ● 显示失败
- # target : 目标(角色)
- # obj : 技能或物品
- #--------------------------------------------------------------------------
- def display_failure(target, obj)
- $Skill_miss = true
- text = sprintf(@Action_Failure, target.name)
- @message_window.add_instant_text(text)
- wait(20)
- end
- end
复制代码 |
|