--- Cubric.lua --- Edited And delete In ETC_dungeon_prop.lua --- remove Quest for cubric npc 11691 quest Id = 3600 function on_create_cubric_instance( layer ) -- 큐브릭 인스턴스 던전 ID: 30000 set_instance_dungeon_flag( 30000, layer, 'QuestInProgressCount', 0 ) -- 인던 진행 퀘스트 체크 대상인 3607 퀘스트를 진행 중인 유저 수 체크용 set_instance_dungeon_flag( 30000, layer, 'AdditionalBossRespawned', 0 ) -- 인던 진행 퀘스트로 인해 추가 보스몹들의 리젠 여부 체크용(중첩 리젠 방지용) set_instance_dungeon_flag( 30000, layer, 'ExitPropRespawned', 0 ) -- 인던 최종 출구 프랍 리젠 여부 체크용(중첩 리젠 방지용) set_instance_dungeon_flag( 30000, layer, 'MissionRevealed', 0 ) -- 아크샤 두 마리 잡으라는 미션을 유저들에게 보여줬는지 체크용(0:활성화 전, 1:활성화 중, 2:미션 완료) end -- 용도: 큐브릭 인스턴스 던전에 유저가 참여할 때마다 호출되는 함수 -- 역할: 방금 참여한 유저가 체크 대상인 퀘스트를 보유하고 있었을 경우 던전 내부 체크용 변수 세팅 function on_join_cubric( layer ) if get_quest_progress( 3607 ) == 1 then -- 큐브릭 인스턴스 던전 ID: 30000 set_instance_dungeon_flag( 30000, layer, 'QuestInProgressCount', get_instance_dungeon_flag( 30000, layer, 'QuestInProgressCount' ) + 1 ) end -- 미션 UI가 아직 활성화된 이후에 입장하는 거라면 미션 UI 표시 if get_instance_dungeon_flag( 30000, layer, 'MissionRevealed' ) == 1 then -- 미션 제목 send_mission_title( '@1234' ) -- 0번 미션 목표(서쪽의 아크샤) send_mission_objective( 0, 1, '@1235' ) -- 1번 미션 목표(동쪽의 아크샤) send_mission_objective( 1, 1, '@1236' ) -- 2번 미션 목표(보스방 드가세요) send_mission_objective( 2, 1, '@1237' ) -- 미션 보상 안내 send_mission_reward( '@1238' ) -- 미션 목표 진행 상태 update_cubric_mission( false, layer ) end end function on_leave_cubric( layer ) if get_quest_progress( 3607 ) == 1 then set_instance_dungeon_flag( 30000, layer, 'QuestInProgressCount', get_instance_dungeon_flag( 30000, layer, 'QuestInProgressCount' ) - 1 ) end if get_instance_dungeon_flag( 30000, layer, 'MissionRevealed' ) == 1 then send_mission_title( '' ) end end function cubric_check_respawn_group_clear2( respawn_group, x, y, layer ) if respawn_group == 1 or respawn_group == 2 then -- 부 보스 그룹으로 리젠된 몬스터가 죽은 경우 add_field_prop( 60156, 0, x, y, layer, 0 ) update_cubric_mission( true, layer ) elseif respawn_group == 3 then if get_instance_dungeon_flag( 30000, layer, 'QuestInProgressCount' ) == 0 then add_field_prop( 60102, 0, 99954, 31302, layer, 0 ) -- 출구 프랍 99954, 31302 로 옮겨주면 좋겠다. 기존 좌표 99954, 31539 set_instance_dungeon_flag( 30000, layer, 'ExitPropRespawned', 1 ) add_field_prop( 9001, 0, 100180, 31767, layer, -3, 0, 0, 0, 1, 1, 1 ) --보스 생성 프랍 broadcast_notice( 1, "@90610144", 30000, layer ) -- 프랍 클릭하면 보스 나온다는 메세지? end end end function warp_to_cubric_branch_room( side ) local layer = gv( 'layer' ) if side == 1 then warp( 98858, 30827, layer ) elseif side == 2 then warp( 99180, 30825, layer ) end end function warp_to_cubric_boss_room() local layer = gv( 'layer' ) warp( 99711, 31535, layer ) end function cubric_reward_distributer() --퀘스트 보상 Lv 150, 1% 수준 insert_gold( 300000 ) add_exp_jp( 5131363, 884717 ) cprint( '@1239' ) end ------------ CUBRIC REPOP By FunZone function cubric_check_respawn_group_clear( respawn_group, x, y, layer ) local cnt = get_alive_instance_respawn_group_monster_count( 30000, layer, respawn_group ) -- Annonce Kill Monster For next wave monster_group_array = {2+3+3 , 3+2+3 , 2+3+2 , 3+3+2 , 3+3+2 , 2+3+2 , 2+3+3 , 1+3+3 , 2+2+2 , 3+3+2 , 2+2+2 , 3+2+2 , 3+2+2 , 2+3+3 , 3+3+3 , 2+2+2 , 1+3+3 , 1+3+3} broadcast_mission_objective_progress( 1, 0, monster_group_array[respawn_group] - cnt, 30000, layer ) respawn_array = {} respawn_array[1] = {30000,30001,30002} respawn_array[2] = {30003,30004,30005} respawn_array[3] = {30006,30007,30008} respawn_array[4] = {30009,30010,30011} respawn_array[5] = {30012,30013,30014} respawn_array[6] = {30021,30022,30023} respawn_array[7] = {30018,30019,30020} respawn_array[8] = {30015,30016,30017} respawn_array[9] = {30024,30025,30026} respawn_array[10] = {30030,30031,30032} respawn_array[11] = {30033,30034,30035} respawn_array[12] = {30036,30037,30038} respawn_array[13] = {30039,30040,30041} respawn_array[14] = {30042,30043,30044} respawn_array[15] = {30045,30046,30047} respawn_array[16] = {30048,30049,30050} respawn_array[17] = {30051,30052,30053} respawn_array[18] = {30027,30028,30029} -- Butka respawn_array[19] = {} respawn_array[20] = {} -- add_instance_dungeon_monster( 30018 , 30000, 1 ) if cnt == 0 then wave = respawn_group + 1 if wave == 19 then -- Final Boss send_mission_title( '' ) add_field_prop( 60102, 0, 99954, 31302, layer, 0 ) set_instance_dungeon_flag( 30000, layer, 'ExitPropRespawned', 1 ) add_field_prop( 9001, 0, 100180, 31767, layer, -3, 0, 0, 0, 1, 1, 1 ) broadcast_notice( 1, "@90610144", 30000, layer ) end if table.getn(respawn_array[wave]) > 0 then for i = 1 , table.getn(respawn_array[wave]) do add_instance_dungeon_monster( respawn_array[wave][i], 30000, layer ) end send_mission_title( 'Stage : ' .. wave ) --'@9901' send_mission_objective( 0, monster_group_array[respawn_group+1], '@1224' ) send_mission_reward("No reward") end end --[[ if monster_group == 1 then add_instance_dungeon_monster( 50023, 50000, layer ) add_instance_dungeon_monster( 50024, 50000, layer ) add_instance_dungeon_monster( 50025, 50000, layer ) send_mission_title( '@9901' ) send_mission_objective( 0, monster_group_array[monster_group+1], '@1224' ) send_mission_reward("No reward") elseif monster_group == 2 then add_instance_dungeon_monster( 50030, 50000, layer) add_instance_dungeon_monster( 50031, 50000, layer) add_instance_dungeon_monster( 50032, 50000, layer) add_instance_dungeon_monster( 50033, 50000, layer) add_instance_dungeon_monster( 50034, 50000, layer) add_instance_dungeon_monster( 50035, 50000, layer) send_mission_title( '@9901' ) send_mission_objective( 0, 13, '@1224' ) send_mission_reward("No reward") elseif monster_group == 3 then add_instance_dungeon_monster( 50036, 50000, layer) add_instance_dungeon_monster( 50037, 50000, layer) add_instance_dungeon_monster( 50038, 50000, layer) add_instance_dungeon_monster( 50039, 50000, layer) add_instance_dungeon_monster( 50040, 50000, layer) add_instance_dungeon_monster( 50041, 50000, layer) add_instance_dungeon_monster( 50042, 50000, layer) add_instance_dungeon_monster( 50043, 50000, layer) add_instance_dungeon_monster( 50044, 50000, layer) add_instance_dungeon_monster( 50045, 50000, layer) add_instance_dungeon_monster( 50046, 50000, layer) add_instance_dungeon_monster( 50047, 50000, layer) add_instance_dungeon_monster( 50048, 50000, layer) send_mission_title( '@9903' ) send_mission_objective( 0, 23, '@1224' ) send_mission_reward("5% Xp [lv < 160]") elseif monster_group == 4 then add_instance_dungeon_monster( 50049, 50000, layer) add_instance_dungeon_monster( 50050, 50000, layer) add_instance_dungeon_monster( 50051, 50000, layer) add_instance_dungeon_monster( 50052, 50000, layer) add_instance_dungeon_monster( 50053, 50000, layer) add_instance_dungeon_monster( 50054, 50000, layer) add_instance_dungeon_monster( 50055, 50000, layer) add_instance_dungeon_monster( 50056, 50000, layer) add_instance_dungeon_monster( 50057, 50000, layer) send_mission_title( '@9903' ) send_mission_objective( 0, 23, '@1224' ) send_mission_reward("10% Xp [lv < 160]") do_each_player_in_instance_dungeon( 50000, layer, 'circus_exp_reward(5)' ) elseif monster_group == 5 then do_each_player_in_instance_dungeon( 50000, layer, 'circus_exp_reward(10)' ) add_field_prop( 60191, 0, 39552, 136341, layer, 0, 0, 0, 3, 0.3, 0.3, 0.3 ) if get_instance_dungeon_type_id( 50000, layer ) == 0 then -- BOSS REZU add_field_prop( 9006, 0, 39556, 137014, layer, -3, 0, 0, 0, 1, 1, 1 ) end broadcast_mission_title( 1, '', 50000, layer ) end ]]-- end function on_join_cubric( layer ) local cnt_1 = get_alive_instance_respawn_group_monster_count( 50000, layer, 1 ) local cnt_2 = get_alive_instance_respawn_group_monster_count( 50000, layer, 2 ) local cnt_3 = get_alive_instance_respawn_group_monster_count( 50000, layer, 3 ) local cnt_4 = get_alive_instance_respawn_group_monster_count( 50000, layer, 4 ) local cnt_5 = get_alive_instance_respawn_group_monster_count( 50000, layer, 5 ) local monster_group_array = {2+3+3 , 3+2+3 , 2+3+2 , 3+3+2 , 3+3+2 , 2+3+2 , 2+3+3 , 1+3+3 , 2+2+2 , 3+3+2 , 2+2+2 , 3+2+2 , 3+2+2 , 2+3+3 , 3+3+3 , 2+2+2 , 1+3+3 , 1+3+3} for i = 1 , table.getn(monster_group_array) do if get_alive_instance_respawn_group_monster_count( 30000, layer, i ) > 0 then if i >= 19 then send_mission_title( '' ) else send_mission_title( 'Stage : ' .. i ) --'@9901' send_mission_objective( 0, monster_group_array[i], '@1224' ) send_mission_reward("No reward") end else end end end