조회 수 246 추천 수 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
번호 제목 글쓴이 날짜 조회 수
507 투명화 하는방법좀요 -_ -ㅋ ⓢⓔⓘ 2005.06.17 306
506 NPC한테 대화햇을때 말할때마다 다른말이 나오도록 하는법.. 아마란스 2005.06.17 198
505 NPC한테 대화햇을때 말할때마다 다른말이 나오도록 하는법.. 내마음블루 2005.06.17 121
504 [XP]'훔치기' 스크립트 질문!! 입니다!; 나르카이제 2005.06.16 416
503 음악만드는 프로그램에 관한건데... 레이디안 2005.06.16 458
502 대화창에 캐릭터 얼굴이 안나옵 수수 2005.06.16 264
501 [XP]'훔치기' 스크립트 질문!! 입니다!; 내마음블루 2005.06.16 221
500 액알에서 스텟조절기 적용 수수 2005.06.15 445
499 마법 연계 다시 질문!!! 제발 대답부탁!!; file 나르카이제 2005.06.15 319
498 똥똥배님 작품중에 나오는 음악 mr.정석 2005.06.15 205
497 대화창에 캐릭터 얼굴이 안나옵니다. メIllusion。 2005.06.15 142
496 저... 이런게 있을까요??? 내마음블루 2005.06.15 218
495 액알에서 스텟조절기 적용시키는 방법. 내마음블루 2005.06.15 276
494 으음 문제가 좀 있는데요.. file 보물사냥꾼 2005.06.14 208
493 저... 이런게 있을까요??? メIllusion。 2005.06.14 151
» [XP]마법 연계 질문입니다. 나르카이제 2005.06.14 246
491 [RPG2003] 알선소, 혹은 모험자 길드 시스템에 관해서... 내마음블루 2005.06.14 391
490 [RPG2003] 알선소, 혹은 모험자 길드 시스템에 관해서... 비만고양이 2005.06.14 466
489 RPG2003 에서요 스킬 이여 Toolz소프트 2005.06.14 524
488 으음 문제가 좀 있는데요.. メIllusion。 2005.06.14 157
Board Pagination Prev 1 ... 412 413 414 415 416 417 418 419 420 421 ... 442 Next
/ 442


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

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