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.
165 lines
2.8 KiB
165 lines
2.8 KiB
require( "common" )
|
|
|
|
|
|
|
|
function Gate_ID_Complete( Handle, MapIndex )
|
|
cExecCheck "Gate_ID_Complete"
|
|
|
|
return Gate_Main( Handle, MapIndex )
|
|
end
|
|
|
|
function Gate_ID_Exit( Handle, MapIndex )
|
|
cExecCheck "Gate_ID_Exit"
|
|
|
|
return Gate_Main( Handle, MapIndex )
|
|
end
|
|
|
|
|
|
|
|
GateMemBlock = {}
|
|
|
|
|
|
function Gate_Main( Handle, MapIndex )
|
|
cExecCheck "Gate_Main"
|
|
|
|
local Var = GateMemBlock[Handle]
|
|
|
|
if cIsObjectDead( Handle ) then -- 죽었음
|
|
|
|
cAIScriptSet( Handle ) -- 스크립트 없앰
|
|
GateMemBlock[Handle] = nil -- 메모리해제
|
|
|
|
return ReturnAI.END
|
|
end
|
|
|
|
if Var == nil then
|
|
|
|
GateMemBlock[Handle] = {}
|
|
|
|
Var = GateMemBlock[Handle]
|
|
|
|
Var.Handle = Handle
|
|
Var.MapIndex = MapIndex
|
|
end
|
|
|
|
return ReturnAI.END
|
|
end
|
|
|
|
|
|
|
|
function ExitGateFunc( NPCHandle, PlyHandle, RegistNumber )
|
|
cExecCheck "ExitGateFunc"
|
|
|
|
|
|
local Var = GateMemBlock[NPCHandle]
|
|
|
|
if Var == nil then
|
|
return
|
|
end
|
|
|
|
|
|
cServerMenu( PlyHandle, NPCHandle, RegenInfo.ExitGate.Title,
|
|
RegenInfo.ExitGate.Yes, "LinkToVillage",
|
|
RegenInfo.ExitGate.No, "GateDummy")
|
|
|
|
end
|
|
|
|
|
|
function BossRoomGateFunc( NPCHandle, PlyHandle, RegistNumber )
|
|
cExecCheck "BossRoomGate"
|
|
|
|
|
|
local Var = GateMemBlock[NPCHandle]
|
|
|
|
if Var == nil then
|
|
return
|
|
end
|
|
|
|
cServerMenu( PlyHandle, NPCHandle, RegenInfo.BossRoomGate.Title,
|
|
RegenInfo.BossRoomGate.Yes, "LinkToBossRoom",
|
|
RegenInfo.BossRoomGate.No, "GateDummy")
|
|
|
|
end
|
|
|
|
|
|
function CompleteGateFunc( NPCHandle, PlyHandle, RegistNumber )
|
|
cExecCheck "CompleteGateFunc"
|
|
|
|
|
|
local Var = GateMemBlock[NPCHandle]
|
|
|
|
if Var == nil then
|
|
return
|
|
end
|
|
|
|
cServerMenu( PlyHandle, NPCHandle, RegenInfo.CompleteGate.Title,
|
|
RegenInfo.CompleteGate.Yes, "LinkToVillage",
|
|
RegenInfo.CompleteGate.No, "GateDummy")
|
|
|
|
end
|
|
|
|
|
|
function ExitBossGateFunc( NPCHandle, PlyHandle, RegistNumber )
|
|
cExecCheck "ExitBossGateFunc"
|
|
|
|
|
|
local Var = GateMemBlock[NPCHandle]
|
|
|
|
if Var == nil then
|
|
return
|
|
end
|
|
|
|
cServerMenu( PlyHandle, NPCHandle, RegenInfo.CompleteGate.Title,
|
|
RegenInfo.CompleteGate.Yes, "LinkToZone3",
|
|
RegenInfo.CompleteGate.No, "GateDummy")
|
|
|
|
end
|
|
|
|
|
|
|
|
-- 취소
|
|
function GateDummy( NPCHandle, PlyHandle, RegistNumber )
|
|
end
|
|
|
|
-- 보스방으로 이동
|
|
function LinkToBossRoom( NPCHandle, PlyHandle, RegistNumber )
|
|
cExecCheck "LinkToBossRoom"
|
|
|
|
local Var = GateMemBlock[NPCHandle]
|
|
|
|
if Var == nil then
|
|
return
|
|
end
|
|
|
|
cLinkTo( PlyHandle, Var.MapIndex, 12924, 6373 )
|
|
|
|
end
|
|
|
|
-- 마을로 이동
|
|
function LinkToVillage( NPCHandle, PlyHandle, RegistNumber )
|
|
cExecCheck "LinkToVillage"
|
|
|
|
local Var = GateMemBlock[NPCHandle]
|
|
|
|
if Var == nil then
|
|
return
|
|
end
|
|
|
|
cLinkTo( PlyHandle, "AdlVal01", 26057, 6110 )
|
|
|
|
end
|
|
|
|
-- 3지역으로 이동
|
|
function LinkToZone3( NPCHandle, PlyHandle, RegistNumber )
|
|
cExecCheck "LinkToZone3"
|
|
|
|
local Var = GateMemBlock[NPCHandle]
|
|
|
|
if Var == nil then
|
|
return
|
|
end
|
|
|
|
cLinkTo( PlyHandle, Var.MapIndex, 9412, 20075 )
|
|
|
|
end
|
|
|
|
|