- 26
- 25
Нужно искать примеры в чате, пример может быть длиной до 6-ти чисел включительно, также могут быть использованы рандомные цвета, порядок которых ты чисто физически не знаешь
Пример: Что-то там 53+73*9/23 Что-то там
Пример 2: Что-то там 5 + 1 - 6 + 4 / 2 + 8 Что-то там
Я написал такой говнокод:
Мой говнокод решает такие примеры, но только если в нём используется только один цвет текста по типу:
Что-то там 5+7+4+1+8 Что-то там
1. Как мне сделать поиск этих примеров без добавлений каждый раз этого чёртвого плюса, либо как сделать чтобы в примере могло быть неограниченное количество чисел?
2. Как игнорировать цвет текста в чате при поиске?
Пример: Что-то там 53+73*9/23 Что-то там
Пример 2: Что-то там 5 + 1 - 6 + 4 / 2 + 8 Что-то там
Я написал такой говнокод:
Lua:
function samp.onServerMessage(color,text)
local plus = '[-+/*^]%d+'
local plus2 = '%s[-+/*^]%s%d+'
if text:match('%d+'..plus..plus..plus..plus..plus) or text:match('%d+'..plus..plus..plus..plus) or text:match('%d+'..plus..plus..plus) or text:match('%d+'..plus..plus) or text:match('%d+'..plus) then
local message_chat = text:match(('%d+'..plus..plus..plus..plus..plus)) or text:match(('%d+'..plus..plus..plus..plus)) or text:match(('%d+'..plus..plus..plus)) or text:match(('%d+'..plus..plus)) or text:match(('%d+'..plus))
local otvet = math.round(calc(message_chat),2)
lua_thread.create(function()
wait(math.random(0, 500))
sampSendChat(otvet)
end)
elseif text:match('%d+'..plus2..plus2..plus2..plus2..plus2) or text:match('%d+'..plus2..plus2..plus2..plus2) or text:match('%d+'..plus2..plus2..plus2) or text:match('%d+'..plus2..plus2) or text:match('%d+'..plus2) then
local message_chat = text:match(('%d+'..plus2..plus2..plus2..plus2..plus2)) or text:match(('%d+'..plus2..plus2..plus2..plus2)) or text:match(('%d+'..plus2..plus2..plus2)) or text:match(('%d+'..plus2..plus2)) or text:match(('%d+'..plus2))
local otvet = math.round(calc(message_chat),2)
lua_thread.create(function()
wait(math.random(0, 500))
sampSendChat(otvet)
end)
end
end
function calc(str)
return assert(load("return " .. str))()
end
Мой говнокод решает такие примеры, но только если в нём используется только один цвет текста по типу:
Что-то там 5+7+4+1+8 Что-то там
1. Как мне сделать поиск этих примеров без добавлений каждый раз этого чёртвого плюса, либо как сделать чтобы в примере могло быть неограниченное количество чисел?
2. Как игнорировать цвет текста в чате при поиске?