0
0
mirror of https://gitlab.com/YuukiPS/GC-Resources.git synced 2025-04-28 09:05:26 +00:00
GC-Resources/Resources/Scripts/Common/V3_0/LanlaluoCommander.lua
KingRainbow44 8dd3a721e5
Revert "The Great De-Local'ifying of defs and base_info"
This reverts commit 0989747b
2023-08-30 21:15:50 -04:00

135 lines
4.1 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

--ServerUploadTool Save to [/root/env/data/lua/common/V3_0]
--[[======================================
|| filename: LanlaluoCommander
|| owner: zijun.ma
|| description: 兰纳罗指挥输入
|| LogName: TD_LanlaluoCommander
|| Protection: [Protection]
=======================================]]
-- 特定Region或者Group可以写每次EnterRegion会检测
--[[
local defs ={
regionList = {123},
-- 1,2,3,4对应4套等级
curCommander =1,
}
--]]
local LanlaluoCommander_Trigger = {
{ keyWord = "EnterLanlaluoRegion",event = EventType.EVENT_ENTER_REGION, source = "", trigger_count = 0},
{ keyWord = "LeaveLanlaluoRegion",event = EventType.EVENT_LEAVE_REGION, source = "", trigger_count = 0},
}
function LF_Initialize_LanlaluoCommander()
local startConfigID = 50030001
for _,v in pairs(LanlaluoCommander_Trigger) do
v.config_id = startConfigID
if v.keyWordType == nil then
v.name = "tri_" .. v.keyWord
else
v.name = "tri_" .. v.keyWord .. v.keyWordType
end
v.action = "action_" .. v.keyWord
v.condition = ""
startConfigID = startConfigID + 1
table.insert(triggers, v)
end
LF_InsertTriggers(LanlaluoCommander_Trigger,{})
return 0
end
--
function action_EnterLanlaluoRegion(context,evt)
if LF_IsTargetRegion(evt.param1) then
ScriptLib.PrintContextLog(context,"##TD_LanlaluoCommander:玩家进入合法区域")
ScriptLib.SetTeamServerGlobalValue(context, context.uid, "SGV_LanlaluoCommander", defs.curCommander)
end
return 0
end
function action_LeaveLanlaluoRegion(context,evt)
if LF_IsTargetRegion(evt.param1) then
ScriptLib.PrintContextLog(context,"##TD_LanlaluoCommander:玩家离开合法区域")
ScriptLib.SetTeamServerGlobalValue(context, context.uid, "SGV_LanlaluoCommander", 0)
end
return 0
end
--[[=====================================
|| 流程函数
--======================================]]
function LF_IsTargetRegion(regionCid)
for i = 1,#defs.regionList,1 do
if regionCid == defs.regionList[i] then
return true
end
end
return false
end
--[[=====================================
|| 常用工具包
--======================================]]
-- 标准的InsertTriggers方法
function LF_InsertTriggers(TempTrigger,TempRequireSuite)
local hasRequireSuitList = not (TempRequireSuite == nil or #TempRequireSuite <=0)
if hasRequireSuitList then
if (init_config.io_type ~= 1) then
--常规group注入。trigger注入白名单定义的suite list
for i = 1, #TempRequireSuite do
for k,v in pairs(TempTrigger) do
if (TempRequireSuite[i]<=#suites) then
table.insert(suites[TempRequireSuite[i]].triggers, v.name)
end
end
end
else
--flow group注入。trigger注入白名单定义的suite list
for i = 1, #TempRequireSuite do
for k,v in pairs(TempTrigger) do
if (TempRequireSuite[i]<=#suite_disk) then
table.insert(suite_disk[TempRequireSuite[i]].triggers, v.name)
end
end
end
end
else
--不存在白名单设置走常规的trigger注入流程
if (init_config.io_type ~= 1) then
for i = 1, #suites do
for k,v in pairs(TempTrigger) do
table.insert(suites[i].triggers, v.name)
end
end
else
for i = 1, #suite_disk do
for k,v in pairs(TempTrigger) do
table.insert(suite_disk[i].triggers, v.name)
end
end
end
end
end
-- 简单拆分一个数组
function LF_ArrayToString(array)
local s = "{"
for k,v in pairs(array) do
if k < #array then
s = s .. v ..","
else
s = s .. v
end
end
s = s .."}"
return s
end
LF_Initialize_LanlaluoCommander()