赞 | 1 |
VIP | 0 |
好人卡 | 0 |
积分 | 92 |
经验 | 0 |
最后登录 | 2024-10-20 |
在线时间 | 466 小时 |
Lv4.逐梦者
- 梦石
- 0
- 星屑
- 9163
- 在线时间
- 466 小时
- 注册时间
- 2015-5-8
- 帖子
- 866
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 taeckle 于 2022-7-18 15:32 编辑
先附上Sailcat大神做的这个连击脚本代码:
- # ===================================================================
- # 连击效果(完美版) v1.2 by SailCat
- # ===================================================================
- # 数据库设定(特技):
- # 名称:技能名称,连击次数(要用半角逗号)
- # 例如:超究舞神霸斩,11
- # 狮子心,16
- # 陨石,9
- # 注意这是连击次数,实际攻击的回数是这个回数+1回。
- # 省略逗号连同后面的参数的话,连击次数默认为零。
- # 连击次数是负数的话,将取绝对值处理。
- # 视觉效果是发动动画只放1回,击中动画放N回,伤害值显示N次,
- # 所以,如使用了齐时战斗的话,要修改倒数第四行,该行内容为:
- # @phase4_step = 4
- # 改为@phase4_step = 3
- # 其他:RTAB不适用
- # ===================================================================
- module RPG
- class Skill
- def name
- name = @name.split(/,/)[0]
- return name != nil ? name : ""
- end
- def hit_count
- name = @name.split(/,/)[1]
- return name != nil ? name.to_i.abs : 0
- end
- end
- class Sprite < ::Sprite
- def effect?
- @_whiten_duration > 0 or
- @_appear_duration > 0 or
- @_escape_duration > 0 or
- @_animation_duration > 0
- end
- def damage_effect?
- @_damage_duration > 0 or
- @_collapse_duration > 0
- end
- end
- end
- class Spriteset_Battle
- def damage_effect?
- for sprite in @enemy_sprites + @actor_sprites
- return true if sprite.damage_effect?
- end
- return false
- end
- end
- class Scene_Battle
- alias sailcat_update_phase4_step1 update_phase4_step1
- alias sailcat_make_skill_action_result make_skill_action_result
- alias sailcat_update_phase4_step5 update_phase4_step5
- def update_phase4_step1
- @hit_count = 0
- sailcat_update_phase4_step1
- end
- def make_skill_action_result
- sailcat_make_skill_action_result
- @hit_count = @skill.hit_count
- end
- def update_phase4_step5
- sailcat_update_phase4_step5
- if @hit_count > 0
- for target in @target_battlers.clone
- if target.dead?
- if @target_battlers.size > 1
- @target_battlers.delete(target)
- else
- @target_battlers.delete(target)
- if target.is_a?(Game_Enemy)
- target = $game_troop.smooth_target_enemy(target.index)
- else
- target = $game_party.smooth_target_actor(target.index)
- end
- if target.is_a?(Game_Battler)
- @target_battlers.push(target)
- end
- end
- end
- end
- if @target_battlers.size == 0
- return
- end
- for target in @target_battlers
- if target.damage != nil
- @phase4_step = 5
- return
- end
- target.skill_effect(@active_battler, @skill)
- end
- # 如果你应用了23种战斗特效的公共事件版脚本请去掉下面几行的注释
- # if @common_event_id > 0
- # common_event = $data_common_events[@common_event_id]
- # $game_system.battle_interpreter.setup(common_event.list, 0)
- # end
- @hit_count -= 1
- @phase4_step = 4
- end
- end
- end
-
- 脚本2(替换Scene_Battle 1相关部分,可能这里大家会改过不少东西,因此就不照抄段落了):
- Scene_Battle 1 搜索以下注释:
- # 显示效果中的情况下
- 默认工程的位置是Line 273,将该注释直到下一注释之前的部分替换成:
- # 显示效果中的情况下
- if @spriteset.effect?
- return
- end
- if @spriteset.damage_effect?
- if @phase == 4
- return unless @phase4_step != 6
- else
- return
- end
- end
复制代码
请问下这段代码的第87,88两行 “@phase4_step = 5 return”到底有什么意义呢?可以不写嘛?还请大神指点一二,多谢了! |
|