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.

542 lines
15 KiB

--------------------------------------------------------------------------------
-- Giant Honeying Sub Functions --
--------------------------------------------------------------------------------
function DummyFunc( Var )
cExecCheck "DummyFunc"
end
----------------------------------------------------------------------
-- Manager Functions
----------------------------------------------------------------------
function ArenaFlag_Manager( Var )
cExecCheck "ArenaFlag_Manager"
if Var == nil
then
return
end
local ArenaFlagInfo = Var[ "ArenaFlag" ]
if ArenaFlagInfo == nil
then
return
end
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
for i = 1, #TeamNumberList
do
local TeamNumber = TeamNumberList[ i ]
-- <EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD>ڰ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ
if ArenaFlagInfo[ TeamNumber ][ "Handle" ] == nil and
ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ] == nil
then
local Regen_Flag = RegenInfo[ "NPC" ][ "ArenaFlag" ][ TeamNumber ]
local Regen_Handle = nil
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ
Regen_Handle = cMobRegen_XY( Var[ "MapIndex" ], Regen_Flag[ "Index" ], Regen_Flag[ "X" ], Regen_Flag[ "Y" ], Regen_Flag[ "Dir" ] )
if Regen_Handle ~= nil
then
cSetAIScript ( MainLuaScriptPath, Regen_Handle )
cAIScriptFunc( Regen_Handle, "Entrance", "ArenaFlag_Entrance" )
ArenaFlagInfo[ TeamNumber ][ "Handle" ] = Regen_Handle
ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ] = nil
ArenaFlagInfo[ TeamNumber ][ "PlayerTeam" ] = nil
ArenaFlagInfo[ TeamNumber ][ "Drop_LifeTime" ] = nil
ArenaFlagInfo[ TeamNumber ][ "X" ] = Regen_Flag[ "X" ]
ArenaFlagInfo[ TeamNumber ][ "Y" ] = Regen_Flag[ "Y" ]
ArenaFlagInfo[ TeamNumber ][ "GoalConditionNoticeTime" ] = nil
ArenaFlagInfo[ TeamNumber ][ "Penalty"] = nil
end
end
------------------------------------------------------------
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
------------------------------------------------------------
if ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ] ~= nil
then
local bDropFlag = false
if cIsInMap( ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ], Var[ "MapIndex" ] ) == nil
then
bDropFlag = true
cScriptMessage( Var[ "MapIndex" ], ArenaFlag[ TeamNumber ][ "ScriptMsg" ][ "Drop_Logoff" ] )
end
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> Ȯ<EFBFBD><EFBFBD>( <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
if bDropFlag == false
then
for j = 1, #ArenaFlag[ "Drop_Abstate" ]
do
if cAbstateRestTime( ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ], ArenaFlag[ "Drop_Abstate" ][ j ] ) ~= nil
then
bDropFlag = true
cScriptMessage( Var[ "MapIndex" ], ArenaFlag[ TeamNumber ][ "ScriptMsg" ][ "Drop_Hide" ] )
break
end
end
end
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> Ȯ<EFBFBD><EFBFBD>( <EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
if bDropFlag == false
then
if cAbstateRestTime( ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ], ArenaFlag[ TeamNumber ][ "Abstate" ][ "Index" ] ) == nil
then
bDropFlag = true
cScriptMessage( Var[ "MapIndex" ], ArenaFlag[ TeamNumber ][ "ScriptMsg" ][ "Drop_Dead" ] )
end
end
-- <EFBFBD>׾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
if bDropFlag == false
then
if cIsObjectDead( ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ] ) ~= nil
then
bDropFlag = true
cScriptMessage( Var[ "MapIndex" ], ArenaFlag[ TeamNumber ][ "ScriptMsg" ][ "Drop_Dead" ] )
end
end
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if bDropFlag == true
then
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
local FlagRegenData = RegenInfo["NPC"]["ArenaFlag"][ i ]
local FlagData = ArenaFlag[ TeamNumber ]
local PenaltyData = ArenaFlag["Penalty"]
local Regen_Handle = nil
-- ȭ<EFBFBD><EFBFBD>ǥ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cDelDirectionalArrow( ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ] )
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cResetAbstate( ArenaFlagInfo[ TeamNumber ]["PlayerHandle"], FlagData["Abstate"]["Index"] )
-- <EFBFBD>г<EFBFBD>Ƽ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for PenaltyIndex = 1, #PenaltyData["Abstate"]
do
cResetAbstate( ArenaFlagInfo[ TeamNumber ]["PlayerHandle"], PenaltyData["Abstate"]["Index"] )
end
-- <EFBFBD>÷<EFBFBD><EFBFBD>̾<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȹ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for j = 1, #Var[ "Player" ]
do
if Var[ "Player" ][ j ][ "Handle" ] == ArenaFlagInfo[ TeamNumber ][ "Handle" ]
then
Var[ "Player" ][ j ][ "FlagPickSec" ] = Var[ "CurSec" ] + ArenaFlag[ "PickDelay" ]
break
end
end
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ
Regen_Handle = cMobRegen_XY( Var[ "MapIndex" ], FlagRegenData[ "Index" ], ArenaFlagInfo[ TeamNumber ][ "X" ], ArenaFlagInfo[ TeamNumber ][ "Y" ], FlagRegenData[ "Dir" ] )
if Regen_Handle ~= nil
then
cSetAIScript ( MainLuaScriptPath, Regen_Handle )
cAIScriptFunc( Regen_Handle, "Entrance", "ArenaFlag_Entrance" )
ArenaFlagInfo[ TeamNumber ][ "Handle" ] = Regen_Handle
ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ] = nil
ArenaFlagInfo[ TeamNumber ][ "PlayerTeam" ] = nil
ArenaFlagInfo[ TeamNumber ][ "Drop_LifeTime" ] = Var[ "CurSec" ] + ArenaFlag[ "Drop_LifeTime" ]
ArenaFlagInfo[ TeamNumber ][ "GoalConditionNoticeTime" ] = nil
ArenaFlagInfo[ TeamNumber ][ "Penalty"] = nil
end
return
end
end
------------------------------------------------------------
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ġ) Ȯ<EFBFBD><EFBFBD>
------------------------------------------------------------
if ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ] ~= nil
then
local Player_X, Player_Y = cObjectLocate( ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ] )
if Player_X == nil or Player_Y == nil
then
Player_X = 0
Player_Y = 0
end
local PlayerTeamNo = ArenaFlagInfo[ TeamNumber ][ "PlayerTeam" ]
if PlayerTeamNo ~= nil
then
local CheckDistance = cDistanceSquar( Player_X, Player_Y, ArenaFlag[ TeamNumber ][ "GoalPoint" ][ "X" ], ArenaFlag[ TeamNumber ][ "GoalPoint" ][ "Y" ] )
if CheckDistance <= ArenaFlag[ "CheckDistance_Goal" ] -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
then
if ArenaFlagInfo[ PlayerTeamNo ][ "Handle" ] ~= nil and -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
ArenaFlagInfo[ PlayerTeamNo ][ "Drop_LifeTime" ] == nil -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
then
local FlagData = ArenaFlag[ TeamNumber ]
local PenaltyData = ArenaFlag["Penalty"]
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Var[ "Team" ][ PlayerTeamNo ][ "Score" ] = Var[ "Team" ][ PlayerTeamNo ][ "Score" ] + 1
cScoreInfo_AllInMap( Var[ "MapIndex" ], #TeamNumberList, Var[ "Team" ][ RED_TEAM ][ "Score" ], Var[ "Team" ][ BLUE_TEAM ][ "Score" ] )
cScriptMessage( Var[ "MapIndex" ], FlagData[ "ScriptMsg" ][ "GetPoint" ] )
-- ȭ<EFBFBD><EFBFBD>ǥ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cDelDirectionalArrow( ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ] )
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
cResetAbstate( ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ], FlagData["Abstate"]["Index"] )
-- <EFBFBD>г<EFBFBD>Ƽ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for PenaltyIndex = 1, #PenaltyData["Abstate"]
do
cResetAbstate( ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ], PenaltyData["Abstate"][PenaltyIndex][ "Index" ] )
end
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ȯ
local Regen_Flag = RegenInfo[ "NPC" ][ "ArenaFlag" ][ TeamNumber ]
local Regen_Handle = nil
Regen_Handle = cMobRegen_XY( Var[ "MapIndex" ], Regen_Flag[ "Index" ], Regen_Flag[ "X" ], Regen_Flag[ "Y" ], Regen_Flag[ "Dir" ] )
if Regen_Handle ~= nil
then
cSetAIScript ( MainLuaScriptPath, Regen_Handle )
cAIScriptFunc( Regen_Handle, "Entrance", "ArenaFlag_Entrance" )
ArenaFlagInfo[ TeamNumber ][ "Handle" ] = Regen_Handle
ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ] = nil
ArenaFlagInfo[ TeamNumber ][ "PlayerTeam" ] = nil
ArenaFlagInfo[ TeamNumber ][ "Drop_LifeTime" ] = nil
ArenaFlagInfo[ TeamNumber ][ "X" ] = Regen_Flag[ "X" ]
ArenaFlagInfo[ TeamNumber ][ "Y" ] = Regen_Flag[ "Y" ]
ArenaFlagInfo[ TeamNumber ][ "GoalConditionNoticeTime" ] = nil
ArenaFlagInfo[ TeamNumber ][ "Penalty"] = nil
end
return
else
-- <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>޽<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ArenaFlagInfo[ TeamNumber ][ "GoalConditionNoticeTime" ] == nil
then
ArenaFlagInfo[ TeamNumber ][ "GoalConditionNoticeTime" ] = Var[ "CurSec" ]
end
if ArenaFlagInfo[ TeamNumber ][ "GoalConditionNoticeTime" ] <= Var[ "CurSec" ]
then
for j = 1, #Var[ "Team" ][ PlayerTeamNo ][ "Member" ]
do
cScriptMessage_Obj( Var[ "Team" ][ PlayerTeamNo ][ "Member" ][ j ], ArenaFlag[ TeamNumber ][ "ScriptMsg" ][ "GoalCondition" ] )
end
ArenaFlagInfo[ TeamNumber ][ "GoalConditionNoticeTime" ] = Var[ "CurSec" ] + DelayTime[ "GoalConditionNoticeIntervalTime" ]
end
end
end
end
------------------------------------------------------------
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̻<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
------------------------------------------------------------
if ArenaFlagInfo[ TeamNumber ]["Penalty"] ~= nil
then
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
local PenaltyData = ArenaFlag["Penalty"]
local PenaltyStep = ArenaFlagInfo[ TeamNumber ]["Penalty"]["Step"]
local PenaltyCheckTime = ArenaFlagInfo[ TeamNumber ]["Penalty"]["CheckTime"]
if PenaltyStep <= #PenaltyData["Step"]
then
if PenaltyCheckTime <= Var[ "CurSec" ]
then
for PenaltyIndex = 1, #PenaltyData["Abstate"]
do
cSetAbstate( ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ], PenaltyData["Abstate"][PenaltyIndex]["Index"],
PenaltyData["Step"][ PenaltyStep ]["AbstateStr"],
PenaltyData["Abstate"][PenaltyIndex]["KeepTime"] )
end
PenaltyStep = PenaltyStep + 1
if PenaltyStep <= #PenaltyData["Step"]
then
ArenaFlagInfo[ TeamNumber ]["Penalty"]["Step"] = PenaltyStep
ArenaFlagInfo[ TeamNumber ]["Penalty"]["CheckTime"] = Var["CurSec"] + PenaltyData["Step"][ PenaltyStep ]["CheckTick"]
else
ArenaFlagInfo[ TeamNumber ]["Penalty"] = nil
end
end
end
end
ArenaFlagInfo[ TeamNumber ][ "X" ] = Player_X
ArenaFlagInfo[ TeamNumber ][ "Y" ] = Player_Y
end
end
end
function ArenaFlagMarking_Manager( Var )
cExecCheck "ArenaFlagMarking_Manager"
if Var == nil
then
return
end
local ArenaFlagInfo = Var[ "ArenaFlag" ]
if ArenaFlagInfo == nil
then
return
end
for i = 1, #TeamNumberList
do
local TeamNumber = TeamNumberList[ i ]
local bMapMarking = false
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ǥ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD> : <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ȹ<EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ArenaFlagInfo[ TeamNumber ][ "Handle" ] ~= nil and
ArenaFlagInfo[ TeamNumber ][ "Drop_LifeTime" ] ~= nil
then
bMapMarking = true
end
if ArenaFlagInfo[ TeamNumber ][ "PlayerHandle" ] ~= nil
then
bMapMarking = true
end
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> ǥ<EFBFBD><EFBFBD>
if bMapMarking == true
then
local MapMarkTable = {}
local mmData = {}
mmData[ "Group" ] = 0
mmData[ "x" ] = ArenaFlagInfo[ TeamNumber ][ "X" ]
mmData[ "y" ] = ArenaFlagInfo[ TeamNumber ][ "Y" ]
mmData[ "KeepTime" ] = 1000
mmData[ "IconIndex" ] = ArenaFlag[ TeamNumber ][ "IconIndex" ]
MapMarkTable[ mmData["Group"] ] = mmData
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ŷ <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>˸<EFBFBD>
cMapMark_FieldSight( Var[ "MapIndex" ], ArenaFlagInfo[ TeamNumber ][ "X" ], ArenaFlagInfo[ TeamNumber ][ "Y" ], MapMarkTable )
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD> <EFBFBD>˷<EFBFBD><EFBFBD>ش<EFBFBD>.
if ArenaFlagInfo[ TeamNumber ][ "PlayerTeam" ] ~= nil
then
local PlayerTeamNo = ArenaFlagInfo[ TeamNumber ][ "PlayerTeam" ]
for j = 1, #Var[ "Team" ][ PlayerTeamNo ][ "Member" ]
do
cMapMark_Obj( Var[ "Team" ][ PlayerTeamNo ][ "Member" ][ j ], MapMarkTable )
end
end
end
end
end
function ArenaMonster_Manager( Var )
cExecCheck "AranaMonster_Manager"
if Var == nil
then
return
end
------------------------------------------------------------
-- ArenaCrystal
------------------------------------------------------------
if Var[ "ArenaCrystal" ] == nil
then
return
end
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
if Var[ "ArenaCrystal" ][ "Handle" ] == nil
then
local bRegen = false
local Regen_ArenaCrystal = RegenInfo[ "Monster" ][ "ArenaCrystal" ]
-- <EFBFBD>Ҹ<EFBFBD><EFBFBD>ð<EFBFBD> Ȯ<EFBFBD><EFBFBD>
if Var[ "ArenaCrystal" ][ "VanishTime" ] == nil
then
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ʰ<EFBFBD>, <EFBFBD>Ҹ<EFBFBD><EFBFBD>ð<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><EFBFBD>.
bRegen = true
else
-- <EFBFBD>Ҹ<EFBFBD><EFBFBD>ð<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ð<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><EFBFBD>.
if Var[ "ArenaCrystal" ][ "VanishTime" ] + Regen_ArenaCrystal[ "RegenInterval" ] <= Var[ "CurSec" ]
then
bRegen = true
end
end
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if bRegen == true
then
local Regen_Handle = cMobRegen_XY( Var[ "MapIndex" ], Regen_ArenaCrystal[ "Index" ], Regen_ArenaCrystal[ "X" ], Regen_ArenaCrystal[ "Y" ], Regen_ArenaCrystal[ "Dir" ] )
if Regen_Handle ~= nil
then
cSetAbstate( Regen_Handle, ArenaCrystal[ "RegenAbsatate" ][ "Index" ], ArenaCrystal[ "RegenAbsatate" ][ "Str" ], ArenaCrystal[ "RegenAbsatate" ][ "KeepTime" ] )
cSetAIScript ( MainLuaScriptPath, Regen_Handle )
cAIScriptFunc( Regen_Handle, "Entrance", "ArenaCrystal_Entrance" )
Var[ "ArenaCrystal" ][ "Handle" ] = Regen_Handle
Var[ "ArenaCrystal" ][ "VanishTime" ] = nil
Var[ "ArenaCrystal" ][ "SkillUseTime" ] = Var[ "CurSec" ] + ArenaCrystal[ "Routine" ][ "BlastTime" ]
end
end
end
------------------------------------------------------------
-- AncientArenaWarrior
------------------------------------------------------------
if Var[ "AncientArenaWarrior" ] == nil
then
return
end
-- AncientArenaWarrior <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
local Regen_ArenaWarrior = RegenInfo[ "Monster" ][ "AncientArenaWarrior" ]
for i = 1, Var[ "AncientArenaWarrior" ][ "Count" ]
do
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD> Ȯ<EFBFBD><EFBFBD>
if Var[ "AncientArenaWarrior" ][ i ][ "RegenTime" ] == nil
then
if Var[ "AncientArenaWarrior" ][ i ][ "Handle" ] == nil or -- <EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD> nil
cIsObjectDead( Var[ "AncientArenaWarrior" ][ i ][ "Handle" ] ) ~= nil -- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
then
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Var[ "AncientArenaWarrior" ][ i ][ "RegenTime" ] = Var[ "CurSec" ] + Regen_ArenaWarrior[ i ][ "RegenInterval" ]
end
else
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ð<EFBFBD> Ȯ<EFBFBD><EFBFBD>
if Var[ "AncientArenaWarrior" ][ i ][ "RegenTime" ] <= Var[ "CurSec" ]
then
-- <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Var[ "AncientArenaWarrior" ][ i ][ "Handle" ] = cMobRegen_XY( Var[ "MapIndex" ], Regen_ArenaWarrior[ i ][ "Index" ], Regen_ArenaWarrior[ i ][ "X" ], Regen_ArenaWarrior[ i ][ "Y" ], Regen_ArenaWarrior[ i ][ "Dir" ] )
Var[ "AncientArenaWarrior" ][ i ][ "RegenTime" ] = nil
end
end
end
end
function Player_Manager( Var )
cExecCheck "Player_Manager"
if Var == nil
then
return
end
local PlayerInfo = Var[ "Player" ]
if PlayerInfo == nil
then
return
end
-- <EFBFBD>÷<EFBFBD><EFBFBD>̾<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
for i = 1, #PlayerInfo
do
if PlayerInfo[ i ][ "InMap" ] == true
then
if cIsInMap( PlayerInfo[ i ][ "Handle" ], Var[ "MapIndex" ] ) == nil
then
PlayerInfo[ i ][ "InMap" ] = false
end
end
end
end
----------------------------------------------------------------------
-- Log Functions
----------------------------------------------------------------------
function DebugLog( String )
if String == nil
then
cAssertLog( "DebugLog::String == nil" )
return
end
--cAssertLog( "Debug - "..String )
end
function ErrorLog( String )
if String == nil
then
cAssertLog( "ErrorLog::String == nil" )
return
end
cAssertLog( "Error - "..String )
end