조회 수 115 추천 수 1 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
이 스크립트 이상없이 실행되더군요...

방법은 저번에 제가 올린것과 같습니다...

다만...

>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

이런부분의 스크립트는 조금 수정을 가해야겠지요 -_-;;;

일본사이트에서 변역기로 돌려진 부분이 뭉친 상태에서 일어난 에러같군요...

일본사이트는 번역기로 돌려서 들어가지마시고

일본어로 된 자체를 복사해서 한번 해보시길 권장합니다....








>전투중, 각 캐릭터가 마지막에 사용한 스킬이 연계 스킬 발동 조건을 채운다 경우에 발동합니다.
>발동전에 다른 스킬을 사용하거나 스킬 이외의 행동을 실시했을 경우는↑의 조건을 채우지 않기 때문에, 발동하지 않습니다.
>(적이나 발동에 관여하지 않는 캐릭터는, 무엇을 해도 영향을 주지 않습니다)
>예를 들면, 샘플의 「스파이럴 플레어」의 경우는
> 아르시스:스파이럴 브레이드
>   히르다:파이어
>(을)를 사용한 후, 추가로 「스파이럴 플레어」가 발동…이라고 하는 상태입니다.
>발동시의 애니메이션은, 연계 스킬의 [사용측 애니메이션] (이)가 됩니다.
>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
번호 제목 글쓴이 날짜 조회 수
8589 앞에 질문한사람인데 암호화문서를하면.. killermj 2005.09.08 114
8588 자작 메뉴 만드는 법좀.. 필기도구 2005.12.09 114
8587 몹을 잡은 후 경험치 등이 올라가게 하려면 어떻게 해야 하죠? 크레시스 2005.12.28 114
8586 고수님들 빠른답변부탁드림니다 RPG앵 2005.12.30 114
8585 간단한 질문이요 ;; 쉽게 설명해주세요 2006.01.09 114
8584 XP강좌에 타이틀에 제작자정보 추가하는거 하다가 에러걸림(위급) file 鬼神엔젤 2006.01.14 114
8583 배틀캐릭?/ 아 xp입니다 Polaris君 2006.02.02 114
8582 말하는거 Novelist 2006.02.16 114
8581 성만들기에 대해서;; Ress 2006.02.18 114
8580 질문좀... Maind 2006.02.20 114
8579 초보의 질문입니다;; 호야군☆ 2006.04.20 114
8578 맵트리 데이터가 깨졌다?; 샤르엘 2006.11.18 114
8577 맵을 만들려고하는곳에서의 문제 file Novelist 2006.12.26 114
8576 딴 컴에서 실행이.. Zeprod 2007.01.05 114
» [XP]마법 연계 질문입니다. 내마음블루 2005.06.13 115
8574 xp에서 계속 오류뜸. 늑대소년 2005.06.22 115
8573 Dunky's answer ! 덩키동크 2005.06.28 115
8572 dunky`s answer ! 덩키동크 2005.08.15 115
8571 스위치 예제입니다. file 덩키동크 2005.11.07 115
8570 xp 전투시에 나오는 글들.. 필기도구 2005.11.28 115
Board Pagination Prev 1 ... 8 9 10 11 12 13 14 15 16 17 ... 442 Next
/ 442






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

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