diff options
author | Degranon <boba09@list.ru> | 2025-02-03 22:31:59 +0100 |
---|---|---|
committer | Degranon <boba09@list.ru> | 2025-02-03 22:31:59 +0100 |
commit | 0e2f00db647067b7f5524ab38a07f10ecda61462 (patch) | |
tree | e0f5a0eba17893cccdf0a6d68f72ff63e39b3465 /assets/opensb | |
parent | 017441cb88c7748d3808867e9bb8cfb8ac21ec90 (diff) |
Use chat.parseArguments instead
Diffstat (limited to 'assets/opensb')
-rw-r--r-- | assets/opensb/scripts/opensb/player/commands.lua | 24 | ||||
-rw-r--r-- | assets/opensb/scripts/opensb/player/identity.lua | 5 |
2 files changed, 2 insertions, 27 deletions
diff --git a/assets/opensb/scripts/opensb/player/commands.lua b/assets/opensb/scripts/opensb/player/commands.lua index 4cd3117..96f6e8c 100644 --- a/assets/opensb/scripts/opensb/player/commands.lua +++ b/assets/opensb/scripts/opensb/player/commands.lua @@ -6,30 +6,6 @@ local function register(name, func) commands[name] = func end -local function splitArgs(input) - local args = {} - local spat, epat, buf, quoted = [=[^(['"])]=], [=[(['"])$]=] - for str in input:gmatch("%S+") do - local squoted = str:match(spat) - local equoted = str:match(epat) - local escaped = str:match([=[(\*)['"]$]=]) - - if squoted and not quoted and not equoted then - buf, quoted = str, squoted - elseif buf and equoted == quoted and #escaped % 2 == 0 then - str, buf, quoted = buf .. ' ' .. str, nil, nil - elseif buf then - buf = buf .. ' ' .. str - end - if not buf and str then - local cleaned = str:gsub(spat,""):gsub(epat,"") - table.insert(args, cleaned) - end - end - - return table.unpack(args) -end - function module.init() for name, func in pairs(commands) do message.setHandler({name = "/" .. name, localOnly = true}, func) diff --git a/assets/opensb/scripts/opensb/player/identity.lua b/assets/opensb/scripts/opensb/player/identity.lua index 112532a..d076910 100644 --- a/assets/opensb/scripts/opensb/player/identity.lua +++ b/assets/opensb/scripts/opensb/player/identity.lua @@ -4,9 +4,8 @@ modules.copy_paste = module local commands = modules.commands -commands.register("identity", function(parms) - method, path, value = commands.splitArgs(parms) - +commands.register("identity", function(args) + method, path, value = chat.parseArguments(args) if not method or method == "get" or method == "" then local identity = player.humanoidIdentity() |