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.
 
 
SigFiesta/LuaScript/ID/AdlFH/AdlFH_Gate.lua

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