- 158
- 18
- Версия MoonLoader
- .026-beta
Привет. Я использую перенос строк (не вспомню автора уж...)
Но я начал разрабатывать биндер, и хочу совместить эти функции. Пока что у меня обычный бинд на команду, типо: /бинд- sampSendChat(текст в биндере), но чтобы проверить, введена ли команда бинда, я использую это:
Но если я просто так возьму и помещу новый код в старый (с переносом строк), то они будут конфликтовать, из за чего - не работать. Сам же блок (если вместо переноса строк поместить биндер) - работает. Помогите пожалуйста, как решить проблему. Может, можно использовать что то другое, что заменит этот sampev?
Lua:
function sampev.onSendCommand(msg)
if bi then bi = false; return end
local cmd, msg = msg:match("/(%S*) (.*)")
if msg == nil then return end
-- cmd = cmd:lower()
--Рация, радио, ООС чат, шепот, крик (с поддержкой переноса ООС-скобок)
for i, v in ipairs(commands) do if cmd == v then
local length = msg:len()
if msg:sub(1, 2) == "((" then
msg = string.gsub(msg:sub(4), "%)%)", "")
if length > 80 then divide(msg, "/" .. cmd .. " (( ", " ))"); return false end
else
if length > 80 then divide(msg, "/" .. cmd .. " ", ""); return false end
end
end end
--РП команды
if cmd == "me" or cmd == "do" then
local length = msg:len()
if length > 75 then divide(msg, "/" .. cmd .. " ", "", "ext"); return false end
end
--SMS
if cmd == "sms" then
local msg = "{}" .. msg
local number, _msg = msg:match("{}(%d+) (.*)")
local msg = msg:sub(3)
if _msg == nil then -- если номер не указан, ищется ближайшее полученное/отправленное сообщение
for i = 1, 99 do -- номер берется из него
local test = sampGetChatString(i):match("SMS: .* | .*: (.*)")
if test ~= nil then number = string.match(test, ".* %[.*%.(%d+)%]") end
end
else msg = _msg end
if number == nil then return end
local length = msg:len()
-- long SMS
if length > 66 then divide(msg, "/sms " .. number .. " ", "", "sms"); return false end
-- short SMS
if length < 66 then bi = true; sampSendChat("/sms " .. number .. " " .. msg); return false end
end
end
Lua:
function sampev.onSendCommand(msg)
for _, bind in ipairs(bindList) do
if bind.type == 0 and string.lower(msg) == string.lower(bind.trigger) then
sampSendChat(bind.text)
return false
end
end
end