Как это прописать в коде?

tonytt

Новичок
Автор темы
13
1
Версия MoonLoader
.026-beta
Как найти такое сообщение из чата:?
[Жалоба] от Kevin_Fisher[45]:{FFFFFF} как посмотреть скиллы на работы. Уже 1 жалоб!!!
Не понимаю, сижу несколько часов не могу никак прописать в text:find()
 

tonytt

Новичок
Автор темы
13
1
Lua:
%[Жалоба%] от (.+)%[(%d+)%]:{FFFFFF} (.+)%. Уже (%d+) жалоб!!!
А как сделать так, чтобы скрипт искал этот текст, только после того, как человек нажмёт кнопку? и если откроется диалог то он выключает функцию
 

YarikVL

Известный
Проверенный
4,796
1,813
А как сделать так, чтобы скрипт искал этот текст, только после того, как человек нажмёт кнопку?
if wasKeyPressed(VK_L) and act then в хук твой onServerMessage
и если откроется диалог то он выключает функцию
Сделай ещё хук onShowDialog и там проверку на открытие определенного диалога, если открылся такой диалог то переменной act присваиваешь true

Если не понял чёт - иди смотри ролики по несколько раз каждый с ютуб канала The champ Guess, а потом ( если чёт не понял с роликов ) иди задавай вопросы на бх
 

tonytt

Новичок
Автор темы
13
1
if wasKeyPressed(VK_L) and act then в хук твой onServerMessage

Сделай ещё хук onShowDialog и там проверку на открытие определенного диалога, если открылся такой диалог то переменной act присваиваешь true

Если не понял чёт - иди смотри ролики по несколько раз каждый с ютуб канала The champ Guess, а потом ( если чёт не понял с роликов ) иди задавай вопросы на бх
Можно код? а то я не очень понимаю
Сейчас он такой

Lua:
function sampev.onServerMessage(color, text)
        if  text:find("%[Репорт%] от %a+_%a+%[%d+%]:") then sampSendChat("/ot")
        if sampIsCursourActive() then sampAddChatMessage("» {9f7ec9}[Ловля репорта]{ffffff}: Репорт успешно пойман!", -1)
        end
    end
end
 

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,776
11,224
А как сделать так, чтобы скрипт искал этот текст, только после того, как человек нажмёт кнопку? и если откроется диалог то он выключает функцию
Lua:
require 'lib.moonloader'
local sampev = require 'lib.samp.events'
local active = false

function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        if wasKeyPressed(VK_J) and not sampIsCursorActive() then
            active = not active
            sampAddChatMessage('auto-rep: '..(active and 'ON' or 'OFF'), -1)
        end
    end
end

function sampev.onServerMessage(color, text)
    if active then
        if text:find('%[Жалоба%] от (.+)%[(%d+)%]:{FFFFFF} (.+)%. Уже (%d+) жалоб') then
            sampSendChat('/ot')
            active = false
            sampAddChatMessage('Пойман репорт, скрипт выключен', -1)
        end
    end
end

function sampev.onShowDialog(id, style, title, button1, button2, text)
    if active then
        active = false
        sampAddChatMessage('появился диалог, скрипт выключен', -1)
    end
end
 

tonytt

Новичок
Автор темы
13
1
Lua:
require 'lib.moonloader'
local sampev = require 'lib.samp.events'
local active = false

function main()
    while not isSampAvailable() do wait(0) end
    while true do
        wait(0)
        if wasKeyPressed(VK_J) and not sampIsCursorActive() then
            active = not active
            sampAddChatMessage('auto-rep: '..(active and 'ON' or 'OFF'), -1)
        end
    end
end

function sampev.onServerMessage(color, text)
    if active then
        if text:find('%[Жалоба%] от (.+)%[(%d+)%]:{FFFFFF} (.+)%. Уже (%d+) жалоб') then
            sampSendChat('/ot')
            active = false
            sampAddChatMessage('Пойман репорт, скрипт выключен', -1)
        end
    end
end

function sampev.onShowDialog(id, style, title, button1, button2, text)
    if active then
        active = false
        sampAddChatMessage('появился диалог, скрипт выключен', -1)
    end
end
Спасибо, а можно как то узнать ид imgui с другого скрипта? Чтоб при его открытии, функция переставала работать