Самп эвентс в помощь
local ev = requirw 'samp.events'
function ev.onServerMessage(color, msg)
if msg:find('Шо найдет') then
...
End
End
На вики не написано про samp.lua, если тебе будет удобнее не подключать samp lua и пользоваться стандартными функциямиКхе, да. Тоже об этом подумал, но что-то на Wiki не нашёл это событие. Хорошо, сейчас попробую.
На вики не написано про samp.lua, если тебе будет удобнее не подключать samp lua и пользоваться стандартными функциями
zstring text, zstring prefix, int color, int pcolor = sampGetChatString(99) - получает последнюю строку в чате
Все функции samp.lua есть тут
Вообще, любой текстовый редактор, но в установщике moonloader'a было расширение для notepad++ со всеми функциями из него.А можете подсказать, IDE для Lua, а то на VSCode не очень удобно работать. Подсказок нету (Оutline).
Как насчет расширения moonloader и lua lint, стоило бы поискать...А можете подсказать, IDE для Lua, а то на VSCode не очень удобно работать. Подсказок нету (Оutline).
Самп эвентс в помощь
local ev = requirw 'samp.events'
function ev.onServerMessage(color, msg)
if msg:find('Шо найдет') then
...
End
End
function SampEvents.onServerMessage(color, msg)
if msg:find('Вы можете взять') then
text = text:match('Вы можете взять %s(%S+) материалов.')
end
end
SAMP.ChatInputOpened()
1 - пустая переменная text , правильнее будет text = msg:match('Вы можете взять %s(%S+) материалов.')1. Вопрос:
Что тут не так?
2. Вопрос:
Как сделать проверку, на то, открыт ли чат, то есть, куда вводить сообщение, как в Cleo -SAMP.ChatInputOpened()
1 - пустая переменная text , правильнее будет text = msg:match('Вы можете взять %s(%S+) материалов.')
2 - bool result = sampIsChatInputActive()
1 - пустая переменная text , правильнее будет text = msg:match('Вы можете взять %s(%S+) материалов.')
2 - bool result = sampIsChatInputActive()
2Спасибо, сейчас попробую.
Чтобы сделать двойную проверку, нужно:
1. and if sampIsChatInputActive()
2. and sampIsChatInputActive() ?
main.lua:35: in function 'callback'
function SampEvents.onServerMessage(color, msg)
if msg:find('Вы можете взять') and not sampIsChatInputActive() then
text = msg:match('Вы можете взять %s(%S+) материалов.')
sampSendChat(string.format('/get guns %s'), text) -- < 35 строка
end
end
sampSendChat(string.format('/get guns %s', text))
function SampEvents.onServerMessage(color, msg)
if msg:find('Вы можете взять') and not sampIsChatInputActive() then
text = msg:match('Вы можете взять %s+(%d+) материалов.')
sampSendChat(string.format('/get guns %d', text)) --- < main.lua:35: in function 'callback'
end
end
какое значение в этой строке в самой игре?'Вы можете взять %s+(%d+) материалов.'