조회 수 263 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
전투중, 각 캐릭터가 마지막에 사용한 스킬이 연계 스킬 발동 조건을 채운다 경우에 발동합니다.
발동전에 다른 스킬을 사용하거나 스킬 이외의 행동을 실시했을 경우는↑의 조건을 채우지 않기 때문에, 발동하지 않습니다.
(적이나 발동에 관여하지 않는 캐릭터는, 무엇을 해도 영향을 주지 않습니다)
예를 들면, 샘플의 「스파이럴 플레어」의 경우는
 아르시스:스파이럴 브레이드
   히르다:파이어
(을)를 사용한 후, 추가로 「스파이럴 플레어」가 발동…이라고 하는 상태입니다.
발동시의 애니메이션은, 연계 스킬의 [사용측 애니메이션] (이)가 됩니다.
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의 마법을 차례대로썼는데도 아무일도 일어나지 않네요

어떻게 해야 하나요?
?

List of Articles
번호 제목 글쓴이 날짜 조회 수
8827 형제들이여 !!! 나를 구제해다오!! Ress 2006.01.26 223
8826 형제들이여 !!! 나를 구제해다오!! KaSsia 2006.01.25 263
8825 rpg2003에서 music음향이 작업시에는 실행되는데 게임을 실행하면 않되네요 ★샤일☆ 2007.01.03 784
8824 RPG2003의 그림들의 사이즈... MiNi'M' 2006.02.21 821
8823 RPG만들기2003에 관하여...정말 굼금해요~!~부탁드림 ∑☆メ이누∴。』 2005.08.09 577
8822 게이지바 구동 방법좀 <<게이지 유>> file 랑이a 2006.07.03 429
8821 길드는 어떻게 만드나요? 루넨스 2009.06.15 974
8820 길드는 어떻게 만드나요? 제로스 2009.06.15 1232
8819 동영상 관련및.. 급해요 ㅠ RML 2006.07.12 1483
8818 마법 연계 다시 질문!!! 제발 대답부탁!!; file 나르카이제 2005.06.15 331
8817 몬스터가없으면 다른곳으로 자동이동가능? Novelist 2006.08.29 277
8816 몬스터가없으면 다른곳으로 자동이동가능? CredMotion 2006.08.29 341
8815 스크립트로요,, 이동하는걸 보드게임처럼 할순 없나요? XLostTimesX 2006.01.09 429
8814 아이템창 같은 단축창를 만들려고하는데..[rpg2003] ScolPion 2006.04.15 572
8813 아이템창 같은 단축창를 만들려고하는데..[rpg2003] 방콕족의생활 2006.04.15 786
8812 질문! file 『Q트_아키』 2005.05.22 494
8811 "스크립트 데이터 읽기 실패" 라고 뜨는데.. 김세츠나 2009.07.31 1062
8810 "클래스가 등록되지 않았습니다"라니 -0-;;[RPG2003] Chrishyua .E 2007.03.02 700
8809 "클래스가 등록되지 않았습니다"라니 -0-;;[RPG2003] =ROD= 2007.03.07 886
8808 "파일 dmd 은 열지 않습니다" 이리저디 옮겼는데.. 윈드 2006.08.18 208
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 442 Next
/ 442


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)