Не работает find:text

Dewize

Потрачен
Автор темы
442
88
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Версия MoonLoader
.027.0-preview
Крч я сделал чтоб у меня после слов [РЕКЛАМА] [VIP] NICK_MOY: (Текст дальше) выполнялся блок, но он не работает



Код:
function sampev.onServerMessage(color, text)
            if text:find("%{......%}%["..vipstatus.."%] %{......%}"..name.."%[%d+%]") then
                --ASIASI
            end
end
 

Dewize

Потрачен
Автор темы
442
88
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
покажи откуда ты берёшь этот випстатус и нейм, если таблицы, то их надо парсить
Код:
---@diagnostic disable: undefined-global, lowercase-global
--==================================== [ Информация ] ====================================--
script_name('reva_gey')
script_author('REVA_LOX')
script_version('0.1')
script_description('')
------------------------------

--==================================== [ Подгружаем библиотеки ] ====================================--
require 'lib.moonloader'
local sampev = require 'lib.samp.events'
local imgui = require('imgui')
local bass = require "lib.bass"
------------------------------

--==================================== [ Конфиг ] ====================================--
local inicfg = require 'inicfg'
local directIni = ('cdvr.ini')
local ini = inicfg.load(inicfg.load({
    main = {
    nick='nick',
    vip=1,
    time=10
    }
}, directIni))
inicfg.save(ini, directIni)
------------------------------

--==================================== [ Кодировка ] ====================================--
local encoding = require('encoding')
encoding.default = 'CP1251'
u8 = encoding.UTF8
------------------------------

--==================================== [ Переменные ] ====================================--
local arr = ({'VIP', 'PREMIUM'})
local nick = imgui.ImBuffer(128)
local vip = imgui.ImInt(1)
local time = imgui.ImInt(1)
local main_window_state = imgui.ImBool(false)
local sw, sh = getScreenResolution()
local radio = bass.BASS_StreamCreateFile(false, "moonloader/resource/cdvr/cdvr.mp3", 0, 0, 0)
------------------------------



--==================================== [ Сохраняем конфиг ] ====================================--
function save()
    ini.main.nick = nick.v
    ini.main.vip = vip.v
    ini.main.time = time.v
    inicfg.save(ini, directIni)
end
------------------------------

--==================================== [ Гл.Функция ] ====================================--
function main()
    --Проверки--
    while not isSampAvailable() do wait(200) end
    if not isSampLoaded() or not isSampfuncsLoaded() then return end -- на загрузку сампа и сампфункса
    imgui.Process = false
    ------------------------------


    sampRegisterChatCommand('REVA_LOX', cmd_imgui) -- Регаем команду


    
    
    sampAddChatMessage('[REVA_LOX] {cccccc}Скрипт {66ff00}успешно {cccccc}загружен. {ffffff}/REVA_LOX {cccccc}для открытия меню скрипта.', -1)

    --Беск.Функция--
    while true do
        wait(0)
        nick.v = ini.main.nick
        vip.v = ini.main.vip
        time.v = ini.main.time

        local vipstatus = arr[vip.v+1]
        local name = nick.v
        imgui.Process = main_window_state.v
        function sampev.onServerMessage(color, text)
            if text:find("%{......%}%["..vipstatus.."%] %{......%}"..name.."%[%d+%]") then
                timer()
            end
        end
    end
    ------------------------------
end
------------------------------

--==================================== [ Функция ] ====================================--
function cmd_imgui()
    main_window_state.v = not main_window_state.v
    imgui.Process = main_window_state
end
------------------------------

--==================================== [ Функция x2 ] ====================================--
function timer()
    lua_thread.create(function()
        cd = time.v
        printStringNow('REVA LOX, TIMER STARTED '..cd..' minutes left', 3000)
        while true do
            if cd > 0 then
                wait(60000)
                cd = cd - 1
                printStringNow(cd..' minutes left', 3000)
            elseif cd == 0 then
                printStringNow('REVA LOX, YOU CAN WRITE', 3000)
                bass.BASS_ChannelSetAttribute(radio, BASS_ATTRIB_VOL, 1)
                bass.BASS_ChannelPlay(radio, false)
                break
            end
        end
    end)
end
------------------------------
--==================================== [ Вся работа с ИМГУИ ] ====================================--
function imgui.OnDrawFrame()
        setDarkStyle()
        imgui.SetNextWindowSize(imgui.ImVec2(370, 160), imgui.Cond.FirstUseEver)
        imgui.SetNextWindowPos(imgui.ImVec2((sw / 2), sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))

        imgui.Begin(u8' Настройки', main_window_state, imgui.WindowFlags.NoResize)
        if imgui.InputText(u8'Ник', nick) then save() end
        if imgui.Combo(u8'Вип статус', vip, arr, #arr) then save() end
        if imgui.SliderInt(u8"КД в минутах", time, 1, 30) then save() end
        imgui.Text(u8'REVA_LOX')
        imgui.End()
end
------------------------------

--==================================== [ Имгуи стиль ] ====================================--
function setDarkStyle()
    
    imgui.SwitchContext()
    local style = imgui.GetStyle()
    local colors = style.Colors
    local clr = imgui.Col
    local ImVec4 = imgui.ImVec4
 
    style.WindowPadding = imgui.ImVec2(15, 15)
    style.WindowRounding = 1.5
    style.FramePadding = imgui.ImVec2(5, 5)
    style.FrameRounding = 4.0
    style.ItemSpacing = imgui.ImVec2(12, 8)
    style.ItemInnerSpacing = imgui.ImVec2(8, 6)
    style.IndentSpacing = 25.0
    style.ScrollbarSize = 15.0
    style.ScrollbarRounding = 9.0
    style.GrabMinSize = 5.0
    style.GrabRounding = 3.0
 
    colors[clr.Text] = ImVec4(0.80, 0.80, 0.83, 1.00)
    colors[clr.TextDisabled] = ImVec4(0.24, 0.23, 0.29, 1.00)
    colors[clr.WindowBg] = ImVec4(0.06, 0.05, 0.07, 1.00)
    colors[clr.ChildWindowBg] = ImVec4(0.07, 0.07, 0.09, 1.00)
    colors[clr.PopupBg] = ImVec4(0.07, 0.07, 0.09, 1.00)
    colors[clr.Border] = ImVec4(0.80, 0.80, 0.83, 0.88)
    colors[clr.BorderShadow] = ImVec4(0.92, 0.91, 0.88, 0.00)
    colors[clr.FrameBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
    colors[clr.FrameBgHovered] = ImVec4(0.24, 0.23, 0.29, 1.00)
    colors[clr.FrameBgActive] = ImVec4(0.56, 0.56, 0.58, 1.00)
    colors[clr.TitleBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
    colors[clr.TitleBgCollapsed] = ImVec4(1.00, 0.98, 0.95, 0.75)
    colors[clr.TitleBgActive] = ImVec4(0.07, 0.07, 0.09, 1.00)
    colors[clr.MenuBarBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
    colors[clr.ScrollbarBg] = ImVec4(0.10, 0.09, 0.12, 1.00)
    colors[clr.ScrollbarGrab] = ImVec4(0.80, 0.80, 0.83, 0.31)
    colors[clr.ScrollbarGrabHovered] = ImVec4(0.56, 0.56, 0.58, 1.00)
    colors[clr.ScrollbarGrabActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
    colors[clr.ComboBg] = ImVec4(0.19, 0.18, 0.21, 1.00)
    colors[clr.CheckMark] = ImVec4(0.80, 0.80, 0.83, 0.31)
    colors[clr.SliderGrab] = ImVec4(0.80, 0.80, 0.83, 0.31)
    colors[clr.SliderGrabActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
    colors[clr.Button] = ImVec4(0.10, 0.09, 0.12, 1.00)
    colors[clr.ButtonHovered] = ImVec4(0.24, 0.23, 0.29, 1.00)
    colors[clr.ButtonActive] = ImVec4(0.56, 0.56, 0.58, 1.00)
    colors[clr.Header] = ImVec4(0.10, 0.09, 0.12, 1.00)
    colors[clr.HeaderHovered] = ImVec4(0.56, 0.56, 0.58, 1.00)
    colors[clr.HeaderActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
    colors[clr.ResizeGrip] = ImVec4(0.00, 0.00, 0.00, 0.00)
    colors[clr.ResizeGripHovered] = ImVec4(0.56, 0.56, 0.58, 1.00)
    colors[clr.ResizeGripActive] = ImVec4(0.06, 0.05, 0.07, 1.00)
    colors[clr.CloseButton] = ImVec4(0.40, 0.39, 0.38, 0.16)
    colors[clr.CloseButtonHovered] = ImVec4(0.40, 0.39, 0.38, 0.39)
    colors[clr.CloseButtonActive] = ImVec4(0.40, 0.39, 0.38, 1.00)
    colors[clr.PlotLines] = ImVec4(0.40, 0.39, 0.38, 0.63)
    colors[clr.PlotLinesHovered] = ImVec4(0.25, 1.00, 0.00, 1.00)
    colors[clr.PlotHistogram] = ImVec4(0.40, 0.39, 0.38, 0.63)
    colors[clr.PlotHistogramHovered] = ImVec4(0.25, 1.00, 0.00, 1.00)
    colors[clr.TextSelectedBg] = ImVec4(0.25, 1.00, 0.00, 0.43)
    colors[clr.ModalWindowDarkening] = ImVec4(1.00, 0.98, 0.95, 0.73)
end
------------------------------
 

MLycoris

На вид оружие массового семяизвержения
Проверенный
1,981
2,196
@diagnostic disable: undefined-global, lowercase-global
попробуй так, если не сработает, то кинь чатлог
Lua:
function sampev.onServerMessage(color, text)
    if text:find("%[РЕКЛАМА%] %{......%}%[.+%]%{......%} %w+%_%w+%[%d+%]%: (.+)") then
        local vipstatus, name, id, text = text:match("%[РЕКЛАМА%] %{......%}%[(.+)%]%{......%} (%w+%_%w+)%[(%d+)%]%: (.+)")
        sampAddChatMessage(text,-1)
    end
end
 

Dewize

Потрачен
Автор темы
442
88
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
попробуй так, если не сработает, то кинь чатлог
Lua:
function sampev.onServerMessage(color, text)
    if text:find("%[РЕКЛАМА%] %{......%}%[.+%]%{......%} %w+%_%w+%[%d+%]%: (.+)") then
        local vipstatus, name, id, text = text:match("%[РЕКЛАМА%] %{......%}%[(.+)%]%{......%} (%w+%_%w+)%[(%d+)%]%: (.+)")
        sampAddChatMessage(text,-1)
    end
end
[ML] (error) cdvr.lua: H:\Edik\WING\moonloader\cdvr.lua:83: unexpected symbol near '..'
[ML] (error) cdvr.lua: Script died due to an error. (0C5B236C)
 

MLycoris

На вид оружие массового семяизвержения
Проверенный
1,981
2,196
if text:find("%[РЕКЛАМА%] %{......%}%[.+%]%{......%} %w+%_%w+%[%d+%]%: (.+)") then
я только щас заметил, как минимум ошибка в том, что ты функцию onServerMessage в беск цикле создаёшь, убери её в другое место, ещё ты в беск цикле задаёшь кучу значений по кругу, это не нужно, можешь один раз в имгуи сохранить их и дальше использовать. Если б на мимгуи писал, то я смог бы нормально помочь, а так придётся ждать кого-то умного