조회 수 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
번호 제목 글쓴이 날짜 조회 수
8588 Object too deep 에러와 해결방법에대한 문의? 2 huguduk 2016.12.20 683
8587 쯔꾸르 초심자인데 캐릭터침 어떻게 하나요..? 1 file GyoBe 2016.12.18 808
8586 [Mv]mv로 게임을만들면 모바일로 가능하나요? 1 이재원 2016.12.17 815
8585 [MV] 스크립트 반복문(요약문?)을 사용해서 전부 더하는 방법...... 2 몽롱하다 2016.12.16 716
8584 이미지 질문 1 비밀아이 2016.12.14 1803
8583 게임을 받았는데 오디오파일이 알송같은 앱에서 그대로 드러납니다 엑스칼리오 2016.12.14 298
8582 Crafting System 플러그인 오류 1 file 흔들린콜라 2016.12.14 526
8581 mv 타일셋 추가 어떻게 하는 건가요? 철중 2016.12.11 424
8580 게임 어떻게 만드나요?? 2 생사과TV 2016.12.05 752
8579 알만툴 질문 2 새준 2016.12.05 876
8578 [MV] 큰 사이즈의 케릭터을 사용하면 각각의 케릭터가 겹쳐지는데 안겹쳐지게 하는방법이 있나요? 3 file 정산 2016.12.03 746
8577 [MV] 스크립트작성시 디버깅을 보통 어떻게하시나요? 2 huguduk 2016.12.01 729
8576 지나가게님꼐서 주신 앱에.. 4 새준 2016.12.01 670
8575 XP한글패치 4 새준 2016.12.01 790
8574 네코플레이어 a키가 PC버전 vx ace의 무슨 키와 매치인가요? 2 케이디 2016.11.26 908
8573 에러가 자주 떠요 1 로리하앍하앍 2016.11.26 741
8572 APK부탁 2 새준 2016.11.26 741
8571 저장 오류가 나요! (스크린샷 첨부) 1 file 낭만오리 2016.11.22 878
8570 '레벨 변수'는 어떻게 만드나요? 1 낭만오리 2016.11.21 737
8569 vx와ace의 충돌? 1 file 새준 2016.11.20 782
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(김원배) | 사신지(김병국)