Implement shared split

This commit is contained in:
2025-01-15 11:30:20 +01:00
parent 82f1539815
commit 7af1b40222

View File

@@ -25,6 +25,7 @@ local function init()
---@field utf8len fun(input: string): number ---@field utf8len fun(input: string): number
---@field padString fun(input: string, targetLength: number, left?: boolean): string ---@field padString fun(input: string, targetLength: number, left?: boolean): string
---@field GetOrDefault fun(table: table<any, any>, keys: string[], default: any): any ---@field GetOrDefault fun(table: table<any, any>, keys: string[], default: any): any
---@field Split fun(input: string, deliminer: string): string[]
---@field Whoer InitTable ---@field Whoer InitTable
---@field Messenger InitTable ---@field Messenger InitTable
---@field Spotter InitTable ---@field Spotter InitTable
@@ -380,9 +381,11 @@ local function init()
scale = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "scale" }, 3), scale = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "scale" }, 3),
tagTTL = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "tagTTL" }, 1), tagTTL = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "tagTTL" }, 1),
tagSound = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "tagSound" }, false), tagSound = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "tagSound" }, false),
tagSoundFile = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "tagSoundFile" }, "MGSSpot.ogg"), tagSoundFile = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "tagSoundFile" },
"MGSSpot.ogg"),
tagSoundThrottle = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "tagSoundThrottle" }, 0), tagSoundThrottle = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "tagSoundThrottle" }, 0),
tagTextureFile = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "tagTextureFile" }, "Aura4.tga"), tagTextureFile = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "tagTextureFile" },
"Aura4.tga"),
--- ---
alertTTL = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "alertTTL" }, 1), alertTTL = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "alertTTL" }, 1),
alertSound = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "alertSound" }, false), alertSound = shared.GetOrDefault(Heimdall_Data, { "config", "minimapTagger", "alertSound" }, false),
@@ -511,6 +514,20 @@ local function init()
return input return input
end end
---@param input string
---@param deliminer string
---@return table<number, string>
shared.Split = function(input, deliminer)
if deliminer == nil then
deliminer = "%s"
end
local t = {}
for str in string.gmatch(input, "([^" .. deliminer .. "]+)") do
table.insert(t, str)
end
return t
end
shared.Messenger.Init() shared.Messenger.Init()
shared.StinkyTracker.Init() shared.StinkyTracker.Init()
shared.AgentTracker.Init() shared.AgentTracker.Init()