Project1
标题:
碧之轨迹战斗系统 兼容问题
[打印本页]
作者:
sezhiyang
时间:
2018-5-25 20:02
标题:
碧之轨迹战斗系统 兼容问题
本帖最后由 sezhiyang 于 2018-5-25 20:05 编辑
原帖地址:
https://rpg.blue/forum.php?mod=v ... 7%E7%B3%BB%E7%BB%9F
测试时正常进入战斗,按物品时报错
QQ图片20180525152013.png
(6.97 KB, 下载次数: 20)
下载附件
保存到相册
2018-5-25 15:20 上传
经测试
删除这个脚本就没事了,但会导致选择敌人的高亮剪头消失,和普攻命中音效报错
作者:
sezhiyang
时间:
2018-5-25 20:05
本帖最后由 sezhiyang 于 2018-5-25 20:08 编辑
eval(load_data("Data/Scripts_Push.rvdata2").data)class Window_MakeA_ItemLise < Window_ItemList def current_item_enabled? return false unless item return false if item.lv >= 15 item.lv_price <= $game_party.gold endendclass Window_MenuStatus def draw_actor_zww(actor, x, y) src_bitmap = Cache.battler(actor.m5_20140818_name, 0) src_rect = src_bitmap.rect x = x + item_width/2 - src_rect.width / 2 y = item_height - src_rect.height - 2 contents.blt(x, y, src_bitmap, src_rect) endendclass Game_Actor alias m5_20140820_init_equips init_equips def init_equips(equips) @m5_nick = nil m5_20140820_init_equips(equips) endend#==============================================================================# +++ MOG - Battle Cry (V1.3) +++ #==============================================================================# By Moghunter# http://www.atelier-rgss.com#==============================================================================# Sistema de execuo de multiplas vozes aleatórias durante a batalha.# O sistema funciona tanto para inimigos como para os personagens.#===============================================================================module MOG_BATTLE_CRY # No modifique essa parte. # CAUTION!! Don't Touch.^_^ ACTOR_SKILL = [] ACTOR_ITEM = [] ACTOR_GENERAL_ACTION = [] ACTOR_DAMAGE = [] ACTOR_RECOVER = [] ACTOR_DEFEATED = [] ACTOR_BATTLE_START = [] ACTOR_BATTLE_END = [] ACTOR_BATTLE_ESCAPE = [] ACTOR_TURN_ACTIVE = [] ACTOR_LEVEL_UP = [] ENEMY_SKILL = [] ENEMY_GENERAL_ACTION = [] ENEMY_DAMAGE = [] ENEMY_RECOVER = [] ENEMY_DEFEATED = [] # ---------------------------------------------------------------------------- # Definio do volume da voz. VOLUME = 130 # Exemplo de configurao geral, o modo de configurar é igual para todas as # aes do battler. # # ACTOR_SKILL[ A ] = { B=>["C","C","C"], # # A - ID do battler. # B - ID da skill. (Caso necessário) # C - Nome do arquivo de som. #---------------------------------------------------------------------------- # BATTLE START #---------------------------------------------------------------------------- ACTOR_BATTLE_START[1] = ["V_ACT1_START_1","V_ACT1_START_2"] ACTOR_BATTLE_START[2] = ["V_ACT2_START_1","V_ACT2_START_2","V_ACT2_START_3"] ACTOR_BATTLE_START[3] = ["V_ACT3_START_1","V_ACT3_START_2"] ACTOR_BATTLE_START[4] = ["V_ACT4_START_1","V_ACT4_START_2","V_ACT4_START_3"] #---------------------------------------------------------------------------- # BATTLE END #---------------------------------------------------------------------------- ACTOR_BATTLE_END[1] = ["V_ACT1_WIN_1","V_ACT1_WIN_2"] ACTOR_BATTLE_END[2] = ["V_ACT2_WIN_1","V_ACT2_WIN_2","V_ACT2_WIN_3"] ACTOR_BATTLE_END[3] = ["V_ACT3_WIN_1","V_ACT3_WIN_2","V_ACT3_WIN_3"] ACTOR_BATTLE_END[4] = ["V_ACT4_WIN_1","V_ACT4_WIN_2"] #---------------------------------------------------------------------------- # BATTLE ESCAPE #---------------------------------------------------------------------------- ACTOR_BATTLE_ESCAPE[1] = ["V_ACT1_SKILL_9"] ACTOR_BATTLE_ESCAPE[2] = ["V_ACT2_SKILL_4"] ACTOR_BATTLE_ESCAPE[3] = ["V_ACT3_SKILL_4"] ACTOR_BATTLE_ESCAPE[4] = ["V_ACT4_SKILL_7"] #---------------------------------------------------------------------------- # ACTOR TURN ACTIVE #---------------------------------------------------------------------------- # Funciona apenas com script MOG AT SYSTEM. ACTOR_TURN_ACTIVE[1] = ["V_ACT1_TURN_1","V_ACT1_TURN_2","V_ACT1_TURN_3"] ACTOR_TURN_ACTIVE[2] = ["V_ACT2_TURN_1","V_ACT2_TURN_2","V_ACT2_TURN_3"] ACTOR_TURN_ACTIVE[3] = ["V_ACT3_TURN_1","V_ACT3_TURN_2","V_ACT3_TURN_3"] ACTOR_TURN_ACTIVE[4] = ["V_ACT4_TURN_1","V_ACT4_TURN_2","V_ACT4_TURN_3"] #---------------------------------------------------------------------------- # ACTOR LEVEL UP #---------------------------------------------------------------------------- ACTOR_LEVEL_UP[1] = ["V_ACT1_TURN_1"] ACTOR_LEVEL_UP[2] = ["V_ACT2_TURN_1"] ACTOR_LEVEL_UP[3] = ["V_ACT3_TURN_1"] ACTOR_LEVEL_UP[4] = ["V_ACT4_TURN_1"] #---------------------------------------------------------------------------- # ACTOR SKILL #---------------------------------------------------------------------------- ACTOR_SKILL[1] = { 1=>["V_ACT1_ATTACK_1","V_ACT1_ATTACK_2","V_ACT1_ATTACK_3"], 2=>["V_ACT1_WIN_1","V_ACT1_WIN_2"] } ACTOR_SKILL[2] = { 1=>["V_ACT2_ATTACK_1","V_ACT2_ATTACK_2","V_ACT2_ATTACK_3"], 2=>["V_ACT2_WIN_1","V_ACT2_WIN_2","V_ACT2_WIN_3"], 26=>["V_ACT2_SKILL_6","V_ACT2_SKILL_7","V_ACT2_SKILL_8"], 29=>["V_ACT2_SKILL_6","V_ACT2_SKILL_7","V_ACT2_SKILL_8"], 32=>["V_ACT2_SKILL_6","V_ACT2_SKILL_7","V_ACT2_SKILL_8"], 33=>["V_ACT2_SKILL_6","V_ACT2_SKILL_7","V_ACT2_SKILL_8"], } ACTOR_SKILL[3] = { 1=>["V_ACT3_ATTACK_1","V_ACT3_ATTACK_2","V_ACT3_ATTACK_3"], 2=>["V_ACT3_SKILL_4"], 26=>["V_ACT3_SKILL_3","V_ACT3_SKILL_6","V_ACT3_SKILL_7"], 76=>["V_ACT3_SKILL_3","V_ACT3_SKILL_6","V_ACT3_SKILL_7"], 77=>["V_ACT3_SKILL_3","V_ACT3_SKILL_6","V_ACT3_SKILL_7"], 78=>["V_ACT3_SKILL_3","V_ACT3_SKILL_6","V_ACT3_SKILL_7"] } ACTOR_SKILL[4] = { 1=>["V_ACT4_ATTACK_1","V_ACT4_ATTACK_2","V_ACT4_ATTACK_3"], 2=>["V_ACT4_SKILL_3","V_ACT4_SKILL_8"], 51=>["V_ACT4_SKILL_1","V_ACT4_SKILL_4","V_ACT4_SKILL_6","V_ACT4_SKILL_9"], 53=>["V_ACT4_SKILL_1","V_ACT4_SKILL_4","V_ACT4_SKILL_6","V_ACT4_SKILL_9"], 61=>["V_ACT4_SKILL_1","V_ACT4_SKILL_4","V_ACT4_SKILL_6","V_ACT4_SKILL_9"], 66=>["V_ACT4_SKILL_1","V_ACT4_SKILL_4","V_ACT4_SKILL_6","V_ACT4_SKILL_9"], 74=>["V_ACT4_SKILL_1","V_ACT4_SKILL_4","V_ACT4_SKILL_6","V_ACT4_SKILL_9"] } #---------------------------------------------------------------------------- # ACTOR ITEM #---------------------------------------------------------------------------- ACTOR_ITEM[1] = { 1=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"], 2=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"], 3=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"], 4=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"], 5=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"], 6=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"], 7=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"], 8=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"], 17=>["V_ACT1_SKILL_6","V_ACT1_SKILL_7"] } ACTOR_ITEM[2] = { 1=>["V_ACT2_RECOVER_2"], 2=>["V_ACT2_RECOVER_2"], 3=>["V_ACT2_RECOVER_2"], 4=>["V_ACT2_RECOVER_2"], 5=>["V_ACT2_RECOVER_2"], 6=>["V_ACT2_RECOVER_2"], 7=>["V_ACT2_RECOVER_2"], 8=>["V_ACT2_RECOVER_2"], 17=>["V_ACT2_RECOVER_2"] } ACTOR_ITEM[3] = { 1=>["V_ACT3_WIN_2"], 2=>["V_ACT3_WIN_2"], 3=>["V_ACT3_WIN_2"], 4=>["V_ACT3_WIN_2"], 5=>["V_ACT3_WIN_2"], 6=>["V_ACT3_WIN_2"], 7=>["V_ACT3_WIN_2"], 8=>["V_ACT3_WIN_2"], 17=>["V_ACT3_WIN_2"] } ACTOR_ITEM[4] = { 1=>["V_ACT4_START_3"], 2=>["V_ACT4_START_3"], 3=>["V_ACT4_START_3"], 4=>["V_ACT4_START_3"], 5=>["V_ACT4_START_3"], 6=>["V_ACT4_START_3"], 7=>["V_ACT4_START_3"], 8=>["V_ACT4_START_3"], 17=>["V_ACT4_START_3"] } #---------------------------------------------------------------------------- # ACTOR GENERAL ACTION *( STANDARD / FOR ALL SKILLS / ITEMS) #---------------------------------------------------------------------------- # Definio das vozes para habilidades no especificas. Essas vozes sero # ativadas em todas habilidades que no estejam definidas na funo ACTOR SKILL. # Naturalmente se no desejar essa funo basta no definir nada. ACTOR_GENERAL_ACTION[1] = ["V_ACT1_ATTACK_1","V_ACT1_ATTACK_2","V_ACT1_ATTACK_3"] ACTOR_GENERAL_ACTION[2] = ["V_ACT2_ATTACK_1","V_ACT2_ATTACK_2","V_ACT2_ATTACK_3"] ACTOR_GENERAL_ACTION[3] = ["V_ACT3_ATTACK_1","V_ACT3_ATTACK_2","V_ACT3_ATTACK_3"] ACTOR_GENERAL_ACTION[4] = ["V_ACT4_ATTACK_1","V_ACT4_ATTACK_2","V_ACT4_ATTACK_3"] #---------------------------------------------------------------------------- # ACTOR DAMAGE #---------------------------------------------------------------------------- ACTOR_DAMAGE[1] = ["Voice_Death_0019_00","Satori_D1"] ACTOR_DAMAGE[2] = ["Voice_Death_0019_00","Satori_D1","V_ACT2_DAMAGE_3"] ACTOR_DAMAGE[3] = ["Voice_Death_0019_00","Satori_D1","V_ACT3_DAMAGE_3"] ACTOR_DAMAGE[4] = ["Voice_Death_0019_00","Satori_D1","V_ACT4_DAMAGE_3"] #---------------------------------------------------------------------------- # ACTOR RECOVER #---------------------------------------------------------------------------- ACTOR_RECOVER[1] = ["V_ACT1_RECOVER_1","V_ACT1_RECOVER_2"] ACTOR_RECOVER[2] = ["V_ACT2_RECOVER_1","V_ACT2_RECOVER_2"] ACTOR_RECOVER[3] = ["V_ACT3_RECOVER_1","V_ACT3_RECOVER_2"] ACTOR_RECOVER[4] = ["V_ACT4_RECOVER_1","V_ACT4_RECOVER_2"] #---------------------------------------------------------------------------- # ACTOR DEFEATED #---------------------------------------------------------------------------- ACTOR_DEFEATED[1] = ["Voice_Death_0019_00"] ACTOR_DEFEATED[2] = ["V_ACT2_DEFEAT_1"] ACTOR_DEFEATED[3] = ["V_ACT3_DEFEAT_1"] ACTOR_DEFEATED[4] = ["V_ACT4_DEFEAT_1","V_ACT4_DEFEAT_2"] #---------------------------------------------------------------------------- # ENEMY SKILL #---------------------------------------------------------------------------- ENEMY_SKILL[7] = { 135=>["V_ENE1_SKILL_3"] } ENEMY_SKILL[9] = { 137=>["Cel_Attack_01","Cel_Attack_02","Cel_Attack_03","Cel_Attack_04"] } #---------------------------------------------------------------------------- # ENEMY GENERAL SKILLS #---------------------------------------------------------------------------- ENEMY_GENERAL_ACTION[7] = ["V_ENE1_ATTACK_1","V_ENE1_ATTACK_2","V_ENE1_ATTACK_3"] ENEMY_GENERAL_ACTION[8] = ["Reimu_A1","Reimu_A2"] ENEMY_GENERAL_ACTION[10] = ["Satori_A1","Satori_A2"] #---------------------------------------------------------------------------- # ENEMY DAMAGE #---------------------------------------------------------------------------- ENEMY_DAMAGE[7] = ["V_ENE1_DAMAGE_1","V_ENE1_DAMAGE_2","V_ENE1_DAMAGE_3"] ENEMY_DAMAGE[8] = ["Reimu_D1","Reimu_D2"] ENEMY_DAMAGE[9] = ["Cel_Damage1","Cel_Damage2"] ENEMY_DAMAGE[10] = ["Satori_D1","Satori_D2"] #---------------------------------------------------------------------------- # ENEMY RECOVER #---------------------------------------------------------------------------- ENEMY_RECOVER[7] = [] #---------------------------------------------------------------------------- # ENEMY DEFEATED #---------------------------------------------------------------------------- ENEMY_DEFEATED[7] = ["V_ENE1_DEFEAT_1"] ENEMY_DEFEATED[8] = ["Reimu_DF"] ENEMY_DEFEATED[10] = ["Satori_DF"] end$imported = {} if $imported.nil?$imported[:mog_battle_cry] = true#===============================================================================# ■ Battle Cry#===============================================================================module BATTLE_CRY include MOG_BATTLE_CRY #-------------------------------------------------------------------------- # ● Execute Battle Cry #-------------------------------------------------------------------------- def execute_battle_cry(type = 0, skill_id = nil, battler = nil) @type = type ; @skill_id = skill_id ; @battler = battler case @type when 0 # START # check_members_alive voice_list = ACTOR_BATTLE_START[@battler.id] rescue nil when 1 # END # check_members_alive voice_list = ACTOR_BATTLE_END[@battler.id] rescue nil when 2 # SKILL # if @battler.is_a?(Game_Actor) voice = ACTOR_SKILL[@battler.id] rescue nil else voice = ENEMY_SKILL[@battler.enemy_id] rescue nil end voice_list = voice[@skill_id] rescue nil if voice_list == nil # GENERAL ACTION if @battler.is_a?(Game_Actor) voice_list = ACTOR_GENERAL_ACTION[@battler.id] rescue nil else voice_list = ENEMY_GENERAL_ACTION[@battler.enemy_id] rescue nil end end when 3 # DAMAGE # if @battler.hp > 0 if @battler.is_a?(Game_Actor) voice_list = ACTOR_DAMAGE[@battler.id] rescue nil else voice_list = ENEMY_DAMAGE[@battler.enemy_id] rescue nil end else # DEFEATED # if @battler.is_a?(Game_Actor) voice_list = ACTOR_DEFEATED[@battler.id] rescue nil else voice_list = ENEMY_DEFEATED[@battler.enemy_id] rescue nil end end when 4 # RECOVER # if @battler.is_a?(Game_Actor) voice_list = ACTOR_RECOVER[@battler.id] rescue nil else voice_list = ENEMY_RECOVER[@battler.enemy_id] rescue nil end when 5 # ITEM # voice = ACTOR_ITEM[@battler.id] rescue nil voice_list = voice[@skill_id] rescue nil if voice_list == nil # GENERAL SKILLS voice_list = ACTOR_GENERAL_ACTION[@battler.id] rescue nil end when 6 # START # check_members_alive voice_list = ACTOR_BATTLE_ESCAPE[@battler.id] rescue nil when 7 # TURN # voice_list = ACTOR_TURN_ACTIVE[@battler.id] rescue nil end play_battle_cry(voice_list) ; check_battle_addons end #-------------------------------------------------------------------------- # ● Play Battle Cry #-------------------------------------------------------------------------- def play_battle_cry(voice_list) return if voice_list == nil voice_id = voice_list[rand(voice_list.size)] Audio.se_play("Audio/SE/" + voice_id.to_s,VOLUME,100) rescue nil end #-------------------------------------------------------------------------- # ● Check Members Alive #-------------------------------------------------------------------------- def check_members_alive alive_members = [] for i in $game_party.battle_members alive_members.push(i) if i.hp > 0 end members_id = rand(alive_members.size) alive_members.each_with_index do |i, index| if members_id == index @battler = i break end end @battler = alive_members[members_id] end #-------------------------------------------------------------------------- # ● Check Battle Addons #-------------------------------------------------------------------------- def check_battle_addons if $imported[:mog_battle_hud_ex] and SceneManager.face_battler? and @battler != nil and @battler.is_a?(Game_Actor) if @type == 0 or @type == 1 or @type == 6 @battler.face_animation = [50,1,50] unless @battler.low_hp? or @battler.restriction >= 4 elsif @type == 7 @battler.face_animation = [50,1,50] unless @battler.low_hp? or @battler.restriction >= 4 end end end end#==============================================================================# ■ BattleManager#==============================================================================class << BattleManager include BATTLE_CRY #-------------------------------------------------------------------------- # ● Process Victory #-------------------------------------------------------------------------- alias mog_battle_cry_process_victory process_victory def process_victory execute_battle_cry(1, nil, nil) mog_battle_cry_process_victory end #-------------------------------------------------------------------------- # ● Process Abort #-------------------------------------------------------------------------- alias mog_battle_cry_process_abort process_abort def process_abort execute_battle_cry(6, nil, nil) mog_battle_cry_process_abort end end#==============================================================================# ■ Game Battler#==============================================================================class Game_Battler < Game_BattlerBase include BATTLE_CRY #-------------------------------------------------------------------------- # ● Execute Damage #-------------------------------------------------------------------------- alias mog_battle_cry_execute_damage execute_damage def execute_damage(user) mog_battle_cry_execute_damage(user) execute_battle_cry_damage end #-------------------------------------------------------------------------- # ● Execute Battle Cry Damage #-------------------------------------------------------------------------- def execute_battle_cry_damage if @result.hp_damage > 0 execute_battle_cry(3, nil, self) elsif @result.hp_damage < 0 execute_battle_cry(4, nil, self) else if @result.hp_damage == 0 if @result.mp_damage > 0 execute_battle_cry(3, nil, self) elsif @result.mp_damage < 0 execute_battle_cry(4, nil, self) end end end end #-------------------------------------------------------------------------- # ● Item Effect Recover HP #-------------------------------------------------------------------------- alias mog_battle_cry_item_effect_recover_hp item_effect_recover_hp def item_effect_recover_hp(user, item, effect) chp = self.hp mog_battle_cry_item_effect_recover_hp(user, item, effect) if self.hp > chp execute_battle_cry(4, nil, self) elsif self.hp < chp execute_battle_cry(3, nil, self) end end #-------------------------------------------------------------------------- # ● Item Effect Reover MP #-------------------------------------------------------------------------- alias mog_battle_cry_item_effect_recover_mp item_effect_recover_mp def item_effect_recover_mp(user, item, effect) cmp = self.mp mog_battle_cry_item_effect_recover_mp(user, item, effect) if self.mp > cmp execute_battle_cry(4, nil, self) elsif self.mp < cmp execute_battle_cry(3, nil, self) end end end#==============================================================================# ■ Game Action#==============================================================================class Scene_Battle < Scene_Base include BATTLE_CRY #-------------------------------------------------------------------------- # ● Show Animations #-------------------------------------------------------------------------- alias mog_battle_cry_show_animation show_animation def show_animation(targets, animation_id) battle_cry(targets, animation_id) mog_battle_cry_show_animation(targets, animation_id) end #-------------------------------------------------------------------------- # ● Battle Cry #-------------------------------------------------------------------------- def battle_cry(targets, animation_id) return if @subject == nil return if @subject.current_action == nil return if @subject.current_action.item == nil if @subject.is_a?(Game_Actor) and @subject.current_action.item.is_a?(RPG::Item) execute_battle_cry(5, @subject.current_action.item.id, @subject) else execute_battle_cry(2, @subject.current_action.item.id, @subject) end end if $imported[:mog_atb_system] #-------------------------------------------------------------------------- # ● Update AT Actor #-------------------------------------------------------------------------- alias mog_battle_cry_update_at_actor update_at_actor def update_at_actor(battler) mog_battle_cry_update_at_actor(battler) execute_battle_cry(7, nil, battler) if battler.is_a?(Game_Actor) end end #-------------------------------------------------------------------------- # ● Battle Start #-------------------------------------------------------------------------- alias mog_battle_cry_update_battle update def update mog_battle_cry_update_battle execute_battle_cry_start end #-------------------------------------------------------------------------- # ● Execite Battle Cry Start #-------------------------------------------------------------------------- def execute_battle_cry_start return if @battle_cry_start != nil @battle_cry_start = true ; execute_battle_cry(0, nil, nil) endend
复制代码
作者:
sezhiyang
时间:
2018-5-25 20:09
额,代码莫名的拥挤,点击原贴里面我贴的有正常版
作者:
踢腿水上飘
时间:
2018-5-25 20:15
这个脚本,非脚本老手别碰
我都不敢摸 哈哈
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1