--&say ник,сообщение -- Команда которую хочу реализовать!
Как должна работать ?
--Допустим модератор пишет данную команду, игрок чей ник напишет модератор, отправит в чат
сообщение, которое укажет модератор, надеюсь растолковал)
В чём заключается проблема ?
--Проблема заключается в том, что если в сообщении модератор сделает пробел,
и напишет например "Привет Мир" в чат выведется только Привет, всё остальное обрезается!
--Обрезка пробелов
function trim(s)
return (string.gsub(s, "^%s*(.-)%s*$", "%1"))
end
--Разделение строки
function explode(seperator, str)
local pos, i, arr = 0, 0, {}
for st, sp in function() return string.find(str, seperator, pos, true) end do
table.insert(arr, i, trim(string.sub(str, pos, st-1)))
pos = sp + 1
i = i + 1
end
table.insert(arr, i, trim(string.sub(str, pos)))
return arr
end
-- Часть основной функции
elseif messarr[0] == "&say" and GetGmLv(role) <= 24 then SystemNotice(role,"Нет Доступа!") elseif messarr[0] == "&say" and GetGmLv(role) >= 25 then local params = {} if messarr[1] ~= nil then params = explode(",", messarr[1]) local name = tostring(params[0]) local text = tostring(params[1]) if params[1] ~= nil then local Char = GetPlayerByName(name) Say(Char,text) elseif params[1] == nil then end end
-- Косяк в том, что когда я делаю в сообщении пробел , то, что после пробела не пишется.
P.S Я конечно могу делать нижнее подчёркивание вместо пробелов, но это очень не удобно, буду благодарен за вашу помощь!
Никак не получается реализовать!
--&say ник,сообщение -- Команда которую хочу реализовать!
Как должна работать ?
--Допустим модератор пишет данную команду, игрок чей ник напишет модератор, отправит в чат
сообщение, которое укажет модератор, надеюсь растолковал)
В чём заключается проблема ?
--Проблема заключается в том, что если в сообщении модератор сделает пробел,
и напишет например "Привет Мир" в чат выведется только Привет, всё остальное обрезается!
--Обрезка пробелов
--Разделение строки
-- Часть основной функции
elseif messarr[0] == "&say" and GetGmLv(role) <= 24 then
SystemNotice(role,"Нет Доступа!")
elseif messarr[0] == "&say" and GetGmLv(role) >= 25 then
local params = {}
if messarr[1] ~= nil then
params = explode(",", messarr[1])
local name = tostring(params[0])
local text = tostring(params[1])
if params[1] ~= nil then
local Char = GetPlayerByName(name)
Say(Char,text)
elseif params[1] == nil then
end
end
-- Косяк в том, что когда я делаю в сообщении пробел , то, что после пробела не пишется.
P.S Я конечно могу делать нижнее подчёркивание вместо пробелов, но это очень не удобно, буду благодарен за вашу помощь!
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах