전투중, 각 캐릭터가 마지막에 사용한 스킬이 연계 스킬 발동 조건을 채운다 경우에 발동합니다.
발동전에 다른 스킬을 사용하거나 스킬 이외의 행동을 실시했을 경우는↑의 조건을 채우지 않기 때문에, 발동하지 않습니다.
(적이나 발동에 관여하지 않는 캐릭터는, 무엇을 해도 영향을 주지 않습니다)
예를 들면, 샘플의 「스파이럴 플레어」의 경우는
아르시스:스파이럴 브레이드
히르다:파이어
(을)를 사용한 후, 추가로 「스파이럴 플레어」가 발동…이라고 하는 상태입니다.
발동시의 애니메이션은, 연계 스킬의 [사용측 애니메이션] (이)가 됩니다.
SP는 연계 스킬 발동에 관여한 캐릭터 전원이 소비합니다
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆연계 스킬 - KGC_CooperationSkill◆
#_/----------------------------------------------------------------------------
#_/ 복수의 스킬을 조합해 다른 스킬을 발동시키는 기능입니다.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#==============================================================================
# ★ 커스터마이즈 항목 ★
#==============================================================================
module KGC
# ◆연계 스킬 배열
# ≪[발동 스킬 ID, [필요 스킬 ID1, 필요 스킬 ID2, ...]]≫
# 배열이므로, 잊지 않고 , 그리고 단락지어 주세요.
CS_SKILLS = [81, [17,24,26]], #오컬트 블로우
[101, [7, 60]], [101, [8, 60]], [101, [9, 60]], # 스파이럴 플레어
] # ←이 ] 는 지우지 않는 것
# ◆적연계 스킬 허가
# true 로 하면, 적도 연계 스킬 판정을 실시한다.
CS_ENEMY_PERMIT = true
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
$imported["CooperationSkill"] = true
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ Game_Battler (분할 정의 3)
#============================ ==================================================
class Game_Battler
#--------------------------------------------------------------------------
# ● 연계 스킬의 효과 적용
# user : 스킬의 사용자 (버틀러)
# skill : 스킬
# actor : 사용자가 액터
#----------------------------------------------- ---------------------------
def cooperation_skill_effect(users, skill, actor)
# 위기 플래그를 클리어
self.critical = false
# 스킬의 효과 범위가 HP 1 이상의 아군으로, 자신의 HP 가 0,
# 또는 스킬의 효과 범위가 HP 0 의 아군으로, 자신의 HP 가 1 이상의 경우
if ((skill.scope == 3 or skill.scope == 4) and self.hp == 0) or
((skil l.scope == 5 or skill.scope == 6) and self.hp >= 1)
# 메소드 종료
return false
end
# 유효 플래그를 클리어
effective = false
# 코먼 이벤트 ID 가 유효의 경우는 유효 플래그를 세트
effective |= skill.common_event_id > 0
# 제일 명중 판정
hit2 = 100 * users.size
if skill.atk_f > 0
for i in 0 ...users.size
user = actor ? $game_party.actors[users[i][0]] : $game_troop.enemies[users[i][0]]
hit2 += user.hit * skill.atk_f / 100
end
end
hit2 /= users.size * 0.75
hit = Integer(skill.hit * hit2 / 100)
hit_result = (rand(100) <hit) 0...USERS.SIZE $GAME_TROOP.ENEMIES[USERS[I][0]] SKILL.ATK_F 威力を計算 I ? < : 命中の場合 $GAME_PARTY.ACTORS[USERS[I][0]] /="users.size" POWER 100 + * EFFECTIVE HIT_RESULT="true" USER="actor" # SKILL.POWER) |="hit" 0.75 IN END FOR IF 不確実なスキルの場合は有効フラグをセット> 0
power -= self.pdef * skill.pdef_f / 200
power -= self.mdef * skill.mdef_f / 200
power = [power, 0].max
end
# 배율을 계산
rate = 0
for i in 0...users.size
user = actor ? $game_party.actors[users[i][0]] : $game_troop.enemies[users[i][0]]
rate += (user.str * skill.str_f / 100)
rate += (user.dex * skill.dex_f / 100)
rate += (user.agi * skill.agi_f / 100)
rate += (user.int * skill.int_f / 100)
end
rate /= users.size * 0.75
rate = Integer(rate + 20)
# 기본 데미지를 계산
self.da mage = power * rate / 20
# 속성 수정
self.damage *= elements_correct(skill.element_set)
self.damage /= 100
# 데미지의 부호가 정의 경우
if self.damage > 0
# 방어 수정
if self.guarding?
self.damage /= 2
end
end
# 분산
if skill.varian ce > 0 and self.damage.abs > 0
amp = [self.damage.abs * skill.variance / 100, 1].max
self.damage += rand(amp+1) + rand(amp+1) - amp
end
# 제2 명중 판정
eva = 0; user_dex = 0
for i in 0...users.size
user = actor ? $game_party.actors[users[i][0]] : $game _troop.enemies[users[i][0]]
user_dex += user.dex
end
user_dex /= users.size
eva += 8 * self.agi / user_dex
eva += self.eva
hit = self.damage <0 HIT) SKILL.POWER SKILL.ATK_F SKILL.EVA_F ? < 命中の場合 : EVA / - 100 * EFFECTIVE 威力 HIT_RESULT="true" # !="0" 以外の物理攻撃の場合 HIT |="hit" END IF AND 不確実なスキルの場合は有効フラグをセット> 0
# 스테이트 충격 해제
remove_states_shock
# 유효 플래그를 세트
effective = true
end
# HP 로부터 데미지를 감산
last_hp = self.hp
self.hp -= self.damage
effective |= self.hp != last_hp
# 스테이트 변화
@state_changed = false
effective |= states_ plus(skill.plus_state_set)
effective |= states_minus(skill.minus_state_set)
# 위력이 0 의 경우
if skill.power == 0
# 데미지에 공문자열을 설정
self.damage = ""
# 스테이트에 변화가 없는 경우
unless @state_changed
# 데미지에 "Miss" 를 설정
self.damage = "Miss"
end
end
# 미스의 경우
else
# 데미지에 "Miss" 를 설정
self.damage = "Miss"
end
# 전투중이 아닌 경우
unless $game_temp.in_battle
# 데미지에 nil 를 설정
self.damage = nil
end
# 메소드 종료
return effective
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆ ★☆★
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor <Game_Battler UPDATE_PHASE4_STEP6 SCENE_BATTLE @ACTIVE_BATTLER.IS_A?(GAME_ACTOR) BREAK @ACTIVE_BATTLER.IS_A?(GAME_ENEMY) DEF TARGET_ALL_DEAD="false" SKILL_CAN_USE?(SKILL_ID) フレーム更新 START_PHASE2 [] @COOPERATE_ACTORS.SIZE (分割定義 #-------------------------------------------------------------------------- BATTLER SUPER(SKILL_ID) ● パーティコマンドフェーズ開始 2) 判定用データ作成 @COOPERATE_ENEMIES="[]" (@ACTIVE_BATTLER.IS_A?(GAME_ACTOR) 行動がスキルで、対象が残っている場合 @ACTIVE_BATTLER.CURRENT_ACTION.KIND="1" $GAME_PARTY.ACTORS) リフレッシュ) ステップ ? @COOPERATE_ACTORS="[]" MAIN : 判定用配列をクリア 連繋スキル発動中の場合 ALIAS 6 元の処理を実行 KGC::CS_ENEMY_PERMIT メイン処理 @COOPERATE_ACTORS, RETURN 1) スキル 4) ■ # $GAME_TROOP.ENEMIES @ACTIVE_BATTLER.CURRENT_ACTION.SKILL_ID] 敵全滅判定 連繋スキル発動フラグを解除 BATTLER.EXIST? SKILL_ID DATA="[@active_battler.index," MAIN_KGC_COOPERATIONSKILL (メインフェーズ IN START_PHASE2_KGC_COOPERATIONSKILL END !TARGET_ALL_DEAD 連繋判定用配列を初期化 ELSIF IF FOR UPDATE_PHASE4_STEP6_KGC_COOPERATIONSKILL ID @COOPERATION_SKILL_EXEC="false" #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ && スキルの使用可能判定> = 1
for i in 0...@cooperate_actors.size
# 자신, 및 이상 데이터를 삭제
if @cooperate_actors[i][0] == @active_battler.index ||
@cooperate_actors[i].size != 2
@cooperate_actors[i] = nil
end
end
@cooperate_actors. compact!
end
# 판정용 배열에 추가
@cooperate_actors << @ACTIVE_BATTLER.IS_A?(GAME_ENEMY) @COOPERATE_ENEMIES.SIZE KGC::CS_ENEMY_PERMIT DATA ELSIF IF &&> = 1
for i in 0...@cooperate_enemies.size
# 자신, 및 이상 데이터를 삭제
if @cooperate_enemies[i][0] == @active_battler.index ||
@cooperate_enemies[i].size != 2
@cooperate_enemies[i] = nil
end
end
@cooperate_ene mies.compact!
end
# 판정용 배열에 추가
@cooperate_enemies << && $GAME_TROOP.ENEMIES[@EXEC_BATTLERS[J][0]].ANIMATION_HIT="true" SET_TARGET_BATTLERS(SKILL.SCOPE) BATTLER END 連繋スキル発動 ELSIF FOR @COOPERATE_ACTORS.DELETE_AT(K) ELSE UNLESS BREAK $GAME_PARTY.ACTORS[@EXEC_BATTLERS[J][0]].EXIST? BATTLER.COOPERATION_SKILL_EFFECT(@COOPERATE_ENEMIES, $GAME_PARTY.ACTORS[@EXEC_BATTLERS[J][0]]="@input_battler" @COOPERATE_ENEMIES.DELETE_AT(K) @INPUT_BATTLER @ANIMATION1_ID="skill.animation1_id" TARGET.EXIST? @ACTIVE_BATTLER.IS_A?(GAME_ACTOR) @TARGET_BATTLERS を設定 SKILL, SP消費 SKILL) 対象存在判定 $GAME_PARTY.ACTORS[@EXEC_BATTLERS[J][0]].SP @COOPERATE_ACTORS[K] 1) $IMPORTED["ACTIVECOUNTBATTLE"] FALSE) KGC::CS_ENEMY_PERMIT @COOPERATE_ACTORS[K].SIZE CS="KGC::CS_SKILLS[i]" 0...CS[1].SIZE TARGET EXEC3 EXEC2 @COOPERATION_SKILL_EXEC="true" スキル使用メッセージ表示 @EXEC_BATTLERS EXEC, $GAME_TROOP.ENEMIES[@EXEC_BATTLERS[J][0]].SKILL_CAN_USE?(CS[0]) $GAME_PARTY.ACTORS[@EXEC_BATTLERS[J][0]].SKILL_CAN_USE?(CS[0]) 発動フラグを立てる TRUE) || IN @ANIMATION2_ID="skill.animation2_id" $GAME_TROOP.ENEMIES[@EXEC_BATTLERS[J][0]].SP $GAME_TROOP.ENEMIES[@EXEC_BATTLERS[J][0]].EXIST? @COOPERATE_ACTORS.SIZE IF ID TARGET_DEAD @PHASE4_STEP="4" << $GAME_TROOP.ENEMIES[@EXEC_BATTLERS[J][0]].ANIMATION_ID="@animation1_id" スキル取得 @STATUS_WINDOW.REFRESH アクター判定 SHOW_SKILL_MESSAGE(@ACTIVE_BATTLER, 0...@EXEC_BATTLERS.SIZE K J I [] に移行 SKILL="$data_skills[cs[0]]" 0...@COOPERATE_ACTORS.SIZE SKILL.SCOPE="6" ステップ @COOPERATE_ENEMIES[K].SIZE NEXT アニメーション エネミー判定 $GAME_PARTY.ACTORS[@EXEC_BATTLERS[J][0]].ANIMATION_ID="@animation1_id" @ACTIVE_BATTLER.IS_A?(GAME_ENEMY) 4 0...KGC::CS_SKILLS.SIZE -="skill.sp_cost" RETURN 発動者全員に発動アニメを表示 $IMPORTED["SKILLMESSAGE"] コマンド入力を解除 EXEC.ALL? 判定用配列から削除 # ヘルプウィンドウにスキル名を表示 $GAME_PARTY.ACTORS[@EXEC_BATTLERS[J][0]].ANIMATION_HIT="true" !="2" 0...@COOPERATE_ENEMIES.SIZE @COOPERATE_ENEMIES[K] EXEC[J]="true" DATA CS[1][J]="@cooperate_enemies[k][1]" 攻撃対象取得 連繋スキル発動判定 @HELP_WINDOW.SET_TEXT(SKILL.NAME, COMMAND_INPUT_CANCEL TARGET.COOPERATION_SKILL_EFFECT(@COOPERATE_ACTORS,> 1
for i in 0...@cooperate_actors.size
if @cooperate_actors[i][0] == @active_battler.index
@cooperate_actors.delete_at(i)
break
end
end
elsif @active_battler.is_a?(Game_Enemy) && KGC::CS_ENEMY_PERMIT &&
@cooperate_e nemies.size > 1
for i in 0...@cooperate_enemies.size
if @cooperate_enemies[i][0] == @active_battler.index
@cooperate_enemies.delete_at(i)
break
end
end
end
end
# 원래의 처리를 실행
update_phase4_step6_KGC_CooperationSkill
end
#--------------------------------------------------------------------------
# ● 연계 스킬 발동중 판정
# battler : 판정하는 버틀러
#--------------------------------------------------------------------------
def cooperation_exec?(battler)
if @cooperation_skill_exec
if battler.is_a ?(Game_Actor)
# 발동자에게 포함되어 있을까 판정
for i in 0...@exec_battlers.size
if @exec_battlers[i][0] == battler.index
return true
end
end
elsif battler.is_a?(Game_Enemy) && KGC::CS_ENEMY_PERMIT
# 발동자에게 포함되어 있을까 판정
for i in 0...@exe c_battlers.size
if @exec_battlers[i][0] == battler.index
return true
end
end
end
end
return false
end
end
스크립트는 위와 같습니다.
분명 적용은 시켜서 스크립트는 맞는 것 같은데
어떻게 사용해야 할지 모르겠네요
분명 17, 24, 26번에 해당하는 ID의 마법을 차례대로썼는데도 아무일도 일어나지 않네요
어떻게 해야 하나요?
발동전에 다른 스킬을 사용하거나 스킬 이외의 행동을 실시했을 경우는↑의 조건을 채우지 않기 때문에, 발동하지 않습니다.
(적이나 발동에 관여하지 않는 캐릭터는, 무엇을 해도 영향을 주지 않습니다)
예를 들면, 샘플의 「스파이럴 플레어」의 경우는
아르시스:스파이럴 브레이드
히르다:파이어
(을)를 사용한 후, 추가로 「스파이럴 플레어」가 발동…이라고 하는 상태입니다.
발동시의 애니메이션은, 연계 스킬의 [사용측 애니메이션] (이)가 됩니다.
SP는 연계 스킬 발동에 관여한 캐릭터 전원이 소비합니다
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆연계 스킬 - KGC_CooperationSkill◆
#_/----------------------------------------------------------------------------
#_/ 복수의 스킬을 조합해 다른 스킬을 발동시키는 기능입니다.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#==============================================================================
# ★ 커스터마이즈 항목 ★
#==============================================================================
module KGC
# ◆연계 스킬 배열
# ≪[발동 스킬 ID, [필요 스킬 ID1, 필요 스킬 ID2, ...]]≫
# 배열이므로, 잊지 않고 , 그리고 단락지어 주세요.
CS_SKILLS = [81, [17,24,26]], #오컬트 블로우
[101, [7, 60]], [101, [8, 60]], [101, [9, 60]], # 스파이럴 플레어
] # ←이 ] 는 지우지 않는 것
# ◆적연계 스킬 허가
# true 로 하면, 적도 연계 스킬 판정을 실시한다.
CS_ENEMY_PERMIT = true
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
$imported["CooperationSkill"] = true
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#==============================================================================
# ■ Game_Battler (분할 정의 3)
#============================ ==================================================
class Game_Battler
#--------------------------------------------------------------------------
# ● 연계 스킬의 효과 적용
# user : 스킬의 사용자 (버틀러)
# skill : 스킬
# actor : 사용자가 액터
#----------------------------------------------- ---------------------------
def cooperation_skill_effect(users, skill, actor)
# 위기 플래그를 클리어
self.critical = false
# 스킬의 효과 범위가 HP 1 이상의 아군으로, 자신의 HP 가 0,
# 또는 스킬의 효과 범위가 HP 0 의 아군으로, 자신의 HP 가 1 이상의 경우
if ((skill.scope == 3 or skill.scope == 4) and self.hp == 0) or
((skil l.scope == 5 or skill.scope == 6) and self.hp >= 1)
# 메소드 종료
return false
end
# 유효 플래그를 클리어
effective = false
# 코먼 이벤트 ID 가 유효의 경우는 유효 플래그를 세트
effective |= skill.common_event_id > 0
# 제일 명중 판정
hit2 = 100 * users.size
if skill.atk_f > 0
for i in 0 ...users.size
user = actor ? $game_party.actors[users[i][0]] : $game_troop.enemies[users[i][0]]
hit2 += user.hit * skill.atk_f / 100
end
end
hit2 /= users.size * 0.75
hit = Integer(skill.hit * hit2 / 100)
hit_result = (rand(100) <hit) 0...USERS.SIZE $GAME_TROOP.ENEMIES[USERS[I][0]] SKILL.ATK_F 威力を計算 I ? < : 命中の場合 $GAME_PARTY.ACTORS[USERS[I][0]] /="users.size" POWER 100 + * EFFECTIVE HIT_RESULT="true" USER="actor" # SKILL.POWER) |="hit" 0.75 IN END FOR IF 不確実なスキルの場合は有効フラグをセット> 0
power -= self.pdef * skill.pdef_f / 200
power -= self.mdef * skill.mdef_f / 200
power = [power, 0].max
end
# 배율을 계산
rate = 0
for i in 0...users.size
user = actor ? $game_party.actors[users[i][0]] : $game_troop.enemies[users[i][0]]
rate += (user.str * skill.str_f / 100)
rate += (user.dex * skill.dex_f / 100)
rate += (user.agi * skill.agi_f / 100)
rate += (user.int * skill.int_f / 100)
end
rate /= users.size * 0.75
rate = Integer(rate + 20)
# 기본 데미지를 계산
self.da mage = power * rate / 20
# 속성 수정
self.damage *= elements_correct(skill.element_set)
self.damage /= 100
# 데미지의 부호가 정의 경우
if self.damage > 0
# 방어 수정
if self.guarding?
self.damage /= 2
end
end
# 분산
if skill.varian ce > 0 and self.damage.abs > 0
amp = [self.damage.abs * skill.variance / 100, 1].max
self.damage += rand(amp+1) + rand(amp+1) - amp
end
# 제2 명중 판정
eva = 0; user_dex = 0
for i in 0...users.size
user = actor ? $game_party.actors[users[i][0]] : $game _troop.enemies[users[i][0]]
user_dex += user.dex
end
user_dex /= users.size
eva += 8 * self.agi / user_dex
eva += self.eva
hit = self.damage <0 HIT) SKILL.POWER SKILL.ATK_F SKILL.EVA_F ? < 命中の場合 : EVA / - 100 * EFFECTIVE 威力 HIT_RESULT="true" # !="0" 以外の物理攻撃の場合 HIT |="hit" END IF AND 不確実なスキルの場合は有効フラグをセット> 0
# 스테이트 충격 해제
remove_states_shock
# 유효 플래그를 세트
effective = true
end
# HP 로부터 데미지를 감산
last_hp = self.hp
self.hp -= self.damage
effective |= self.hp != last_hp
# 스테이트 변화
@state_changed = false
effective |= states_ plus(skill.plus_state_set)
effective |= states_minus(skill.minus_state_set)
# 위력이 0 의 경우
if skill.power == 0
# 데미지에 공문자열을 설정
self.damage = ""
# 스테이트에 변화가 없는 경우
unless @state_changed
# 데미지에 "Miss" 를 설정
self.damage = "Miss"
end
end
# 미스의 경우
else
# 데미지에 "Miss" 를 설정
self.damage = "Miss"
end
# 전투중이 아닌 경우
unless $game_temp.in_battle
# 데미지에 nil 를 설정
self.damage = nil
end
# 메소드 종료
return effective
end
end
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆ ★☆★
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor <Game_Battler UPDATE_PHASE4_STEP6 SCENE_BATTLE @ACTIVE_BATTLER.IS_A?(GAME_ACTOR) BREAK @ACTIVE_BATTLER.IS_A?(GAME_ENEMY) DEF TARGET_ALL_DEAD="false" SKILL_CAN_USE?(SKILL_ID) フレーム更新 START_PHASE2 [] @COOPERATE_ACTORS.SIZE (分割定義 #-------------------------------------------------------------------------- BATTLER SUPER(SKILL_ID) ● パーティコマンドフェーズ開始 2) 判定用データ作成 @COOPERATE_ENEMIES="[]" (@ACTIVE_BATTLER.IS_A?(GAME_ACTOR) 行動がスキルで、対象が残っている場合 @ACTIVE_BATTLER.CURRENT_ACTION.KIND="1" $GAME_PARTY.ACTORS) リフレッシュ) ステップ ? @COOPERATE_ACTORS="[]" MAIN : 判定用配列をクリア 連繋スキル発動中の場合 ALIAS 6 元の処理を実行 KGC::CS_ENEMY_PERMIT メイン処理 @COOPERATE_ACTORS, RETURN 1) スキル 4) ■ # $GAME_TROOP.ENEMIES @ACTIVE_BATTLER.CURRENT_ACTION.SKILL_ID] 敵全滅判定 連繋スキル発動フラグを解除 BATTLER.EXIST? SKILL_ID DATA="[@active_battler.index," MAIN_KGC_COOPERATIONSKILL (メインフェーズ IN START_PHASE2_KGC_COOPERATIONSKILL END !TARGET_ALL_DEAD 連繋判定用配列を初期化 ELSIF IF FOR UPDATE_PHASE4_STEP6_KGC_COOPERATIONSKILL ID @COOPERATION_SKILL_EXEC="false" #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ && スキルの使用可能判定> = 1
for i in 0...@cooperate_actors.size
# 자신, 및 이상 데이터를 삭제
if @cooperate_actors[i][0] == @active_battler.index ||
@cooperate_actors[i].size != 2
@cooperate_actors[i] = nil
end
end
@cooperate_actors. compact!
end
# 판정용 배열에 추가
@cooperate_actors << @ACTIVE_BATTLER.IS_A?(GAME_ENEMY) @COOPERATE_ENEMIES.SIZE KGC::CS_ENEMY_PERMIT DATA ELSIF IF &&> = 1
for i in 0...@cooperate_enemies.size
# 자신, 및 이상 데이터를 삭제
if @cooperate_enemies[i][0] == @active_battler.index ||
@cooperate_enemies[i].size != 2
@cooperate_enemies[i] = nil
end
end
@cooperate_ene mies.compact!
end
# 판정용 배열에 추가
@cooperate_enemies << && $GAME_TROOP.ENEMIES[@EXEC_BATTLERS[J][0]].ANIMATION_HIT="true" SET_TARGET_BATTLERS(SKILL.SCOPE) BATTLER END 連繋スキル発動 ELSIF FOR @COOPERATE_ACTORS.DELETE_AT(K) ELSE UNLESS BREAK $GAME_PARTY.ACTORS[@EXEC_BATTLERS[J][0]].EXIST? BATTLER.COOPERATION_SKILL_EFFECT(@COOPERATE_ENEMIES, $GAME_PARTY.ACTORS[@EXEC_BATTLERS[J][0]]="@input_battler" @COOPERATE_ENEMIES.DELETE_AT(K) @INPUT_BATTLER @ANIMATION1_ID="skill.animation1_id" TARGET.EXIST? @ACTIVE_BATTLER.IS_A?(GAME_ACTOR) @TARGET_BATTLERS を設定 SKILL, SP消費 SKILL) 対象存在判定 $GAME_PARTY.ACTORS[@EXEC_BATTLERS[J][0]].SP @COOPERATE_ACTORS[K] 1) $IMPORTED["ACTIVECOUNTBATTLE"] FALSE) KGC::CS_ENEMY_PERMIT @COOPERATE_ACTORS[K].SIZE CS="KGC::CS_SKILLS[i]" 0...CS[1].SIZE TARGET EXEC3 EXEC2 @COOPERATION_SKILL_EXEC="true" スキル使用メッセージ表示 @EXEC_BATTLERS EXEC, $GAME_TROOP.ENEMIES[@EXEC_BATTLERS[J][0]].SKILL_CAN_USE?(CS[0]) $GAME_PARTY.ACTORS[@EXEC_BATTLERS[J][0]].SKILL_CAN_USE?(CS[0]) 発動フラグを立てる TRUE) || IN @ANIMATION2_ID="skill.animation2_id" $GAME_TROOP.ENEMIES[@EXEC_BATTLERS[J][0]].SP $GAME_TROOP.ENEMIES[@EXEC_BATTLERS[J][0]].EXIST? @COOPERATE_ACTORS.SIZE IF ID TARGET_DEAD @PHASE4_STEP="4" << $GAME_TROOP.ENEMIES[@EXEC_BATTLERS[J][0]].ANIMATION_ID="@animation1_id" スキル取得 @STATUS_WINDOW.REFRESH アクター判定 SHOW_SKILL_MESSAGE(@ACTIVE_BATTLER, 0...@EXEC_BATTLERS.SIZE K J I [] に移行 SKILL="$data_skills[cs[0]]" 0...@COOPERATE_ACTORS.SIZE SKILL.SCOPE="6" ステップ @COOPERATE_ENEMIES[K].SIZE NEXT アニメーション エネミー判定 $GAME_PARTY.ACTORS[@EXEC_BATTLERS[J][0]].ANIMATION_ID="@animation1_id" @ACTIVE_BATTLER.IS_A?(GAME_ENEMY) 4 0...KGC::CS_SKILLS.SIZE -="skill.sp_cost" RETURN 発動者全員に発動アニメを表示 $IMPORTED["SKILLMESSAGE"] コマンド入力を解除 EXEC.ALL? 判定用配列から削除 # ヘルプウィンドウにスキル名を表示 $GAME_PARTY.ACTORS[@EXEC_BATTLERS[J][0]].ANIMATION_HIT="true" !="2" 0...@COOPERATE_ENEMIES.SIZE @COOPERATE_ENEMIES[K] EXEC[J]="true" DATA CS[1][J]="@cooperate_enemies[k][1]" 攻撃対象取得 連繋スキル発動判定 @HELP_WINDOW.SET_TEXT(SKILL.NAME, COMMAND_INPUT_CANCEL TARGET.COOPERATION_SKILL_EFFECT(@COOPERATE_ACTORS,> 1
for i in 0...@cooperate_actors.size
if @cooperate_actors[i][0] == @active_battler.index
@cooperate_actors.delete_at(i)
break
end
end
elsif @active_battler.is_a?(Game_Enemy) && KGC::CS_ENEMY_PERMIT &&
@cooperate_e nemies.size > 1
for i in 0...@cooperate_enemies.size
if @cooperate_enemies[i][0] == @active_battler.index
@cooperate_enemies.delete_at(i)
break
end
end
end
end
# 원래의 처리를 실행
update_phase4_step6_KGC_CooperationSkill
end
#--------------------------------------------------------------------------
# ● 연계 스킬 발동중 판정
# battler : 판정하는 버틀러
#--------------------------------------------------------------------------
def cooperation_exec?(battler)
if @cooperation_skill_exec
if battler.is_a ?(Game_Actor)
# 발동자에게 포함되어 있을까 판정
for i in 0...@exec_battlers.size
if @exec_battlers[i][0] == battler.index
return true
end
end
elsif battler.is_a?(Game_Enemy) && KGC::CS_ENEMY_PERMIT
# 발동자에게 포함되어 있을까 판정
for i in 0...@exe c_battlers.size
if @exec_battlers[i][0] == battler.index
return true
end
end
end
end
return false
end
end
스크립트는 위와 같습니다.
분명 적용은 시켜서 스크립트는 맞는 것 같은데
어떻게 사용해야 할지 모르겠네요
분명 17, 24, 26번에 해당하는 ID의 마법을 차례대로썼는데도 아무일도 일어나지 않네요
어떻게 해야 하나요?