You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
3.2 KiB
108 lines
3.2 KiB
--------------------------------------------------------------------------------
|
|
-- Main File --
|
|
--------------------------------------------------------------------------------
|
|
require( "common" )
|
|
|
|
--[[
|
|
require( "Data/Name" ) -- 파일경로, 파일이름, 역참조를 위한 네임 테이블
|
|
require( "Data/Process" ) -- 각종 딜레이타임과 링크 정보, 공지, 퀘스트 등의 진행 관련 데이터
|
|
require( "Data/Servant" ) -- 소환수 정보
|
|
require( "Data/Regen" ) -- 리젠 데이터(그룹, 몹, NPC, 문, 아이템 등의 리젠 종류, 위치 및 속성 관련)
|
|
|
|
require( "Functions/SubFunc" ) -- 전체적인 진행에 필요한 각종 Sub Functions
|
|
require( "Functions/Routine" ) -- 몹 등에 붙는 AI 관련 루틴들
|
|
require( "Functions/Progress" ) -- 각 단계가 정의된 진행 함수들
|
|
--]]--
|
|
|
|
|
|
require( "KQ/KDWater/Data/Name" ) -- 파일경로, 파일이름, 역참조를 위한 네임 테이블
|
|
require( "KQ/KDWater/Data/Process" ) -- 각종 딜레이타임과 링크 정보, 공지, 퀘스트 등의 진행 관련 데이터
|
|
require( "KQ/KDWater/Data/Servant" ) -- 소환수 정보
|
|
require( "KQ/KDWater/Data/Regen" ) -- 리젠 데이터(그룹, 몹, NPC, 문, 아이템 등의 리젠 종류, 위치 및 속성 관련)
|
|
|
|
require( "KQ/KDWater/Functions/SubFunc" ) -- 전체적인 진행에 필요한 각종 Sub Functions
|
|
require( "KQ/KDWater/Functions/Routine" ) -- 몹 등에 붙는 AI 관련 루틴들
|
|
require( "KQ/KDWater/Functions/Progress" ) -- 각 단계가 정의된 진행 함수들
|
|
--]]--
|
|
|
|
|
|
function Main( Field )
|
|
cExecCheck "Main"
|
|
|
|
local Var = InstanceField[ Field ]
|
|
|
|
if Var == nil
|
|
then
|
|
InstanceField[ Field ] = {} -- 킹퀘 테이블 생성
|
|
|
|
Var = InstanceField[ Field ]
|
|
Var["MapIndex"] = Field -- 맵 인덱스( 필드 인덱스 )
|
|
Var["InitialSec"] = cCurrentSecond() -- 최초 실행 시간
|
|
Var["CurSec"] = Var["InitialSec"] -- 현재 시간
|
|
Var["StepFunc"] = KQInit -- 스탭 함수
|
|
Var["Round"] = 1 -- 현재 라운드
|
|
Var["RoundEndTime"] = 0 -- 라운드 끝나는 시간
|
|
Var["RoundTimeOver"]= false -- 라운드 종료가 타임오버 일경우
|
|
|
|
|
|
-- 플레이어 정보 초기화
|
|
Var["Player"] = {}
|
|
-- Var["Player"][ i ]["CharNo"] = nil
|
|
-- Var["Player"][ i ]["CharID"] = nil
|
|
-- Var["Player"][ i ]["Handle"] = nil
|
|
-- Var["Player"][ i ]["TeamType"] = KQ_TEAM["MAX"]
|
|
-- Var["Player"][ i ]["Goal"] = nil
|
|
-- Var["Player"][ i ]["IsInMap"] = true
|
|
-- Var["Player"][ i ]["BalloonHandle"] = nil
|
|
-- Var["Player"][ i ]["BalloonAbstateTime"] = 0
|
|
-- Var["Player"][ i ]["PrisonLinkToWaitTime"] = 0
|
|
-- Var["Player"][ i ]["IsOut"] = false
|
|
|
|
|
|
-- 도어 핸들
|
|
-- Var["Door"] = nil
|
|
|
|
|
|
-- 팀 정보(점수) 초기화
|
|
Var["Team"] = {}
|
|
Var["Team"][ KQ_TEAM["RED"] ] =
|
|
{
|
|
Score = 0,
|
|
Win = 0,
|
|
Lose = 0,
|
|
Draw = 0,
|
|
}
|
|
|
|
Var["Team"][ KQ_TEAM["BLUE"] ] =
|
|
{
|
|
Score = 0,
|
|
Win = 0,
|
|
Lose = 0,
|
|
Draw = 0,
|
|
}
|
|
|
|
|
|
-- InvisibleDoor 정보 초기화
|
|
Var["InvisibleDoor"] = nil
|
|
|
|
|
|
-- 맵 로그인 함수 설정
|
|
cSetFieldScript ( Var["MapIndex"], MainLuaScriptPath )
|
|
cFieldScriptFunc( Var["MapIndex"], "MapLogin", "PlayerMapLogin" )
|
|
cFieldScriptFunc( Var["MapIndex"], "ServantSummon", "ServantSummon" )
|
|
end
|
|
|
|
|
|
-- 0.1초 마다 실행
|
|
if Var["CurSec"] + 0.1 > cCurrentSecond()
|
|
then
|
|
return
|
|
else
|
|
Var["CurSec"] = cCurrentSecond()
|
|
end
|
|
|
|
|
|
-- 스텝함수 실행 ( Functions/Progress.lua )
|
|
Var["StepFunc"]( Var )
|
|
|
|
end
|
|
|