onServerMessage

Anarch

Известный
Автор темы
344
75
1654415640865.png



LUA:
function hook.onServerMessage(col, msg)
    if msg:find("%[Промо-коды%] Был создан промо-код ") then
        lua_thread.create(function()
            wait(delay)
            local code = msg:match("%[Промо-коды%] был создан промо-код (.+) %(")
            sampSendChat(code)
        end)
    end
end

Пытаюсь гетнуть сообщение (на скрине выше и отправить текст после
промо-код (но чёт не хукает его)
 
Решение
Все либы



Lua:
local sampev = require 'lib.samp.events'
local delay = 4000

function main()
    sampRegisterChatCommand('setdelay', function(arg)
        if tonumber(arg) then
            delay = tonumber(arg)
            sampAddChatMessage('Задержка изменена на '..delay..' мс. ('..math.floor(delay / 1000)..' сек.)', -1)
        else
            sampAddChatMessage('введи число', -1)
        end
    end)
    wait(-1)
end

function sampev.onServerMessage(color, text)
    if text:find('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)') then
        local code, prize = text:match('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)')
        -- тут твой код, в переменной code содержится сам...

chapo

чопа сребдс // @moujeek
Модератор
8,934
11,701
[11:39:58] [Промо-коды] {FFFFFF}Был создан промо-код 4MhmE5i4N | Приз: Бумбокс с заточкой +2)

[11:39:58] [Промо-коды] {FFFFFF}Первый человек который введет его в {FFFF00}Чат {FFFFFF}будет вознагражден

[11:40:03] [Промо-коды] {FFFFFF}Klad_Man[22] первым ввел промо-код за 4.955999 ms и получает приз
Lua:
if text:find('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)') then   
    local code, prize = text:match('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)')
    print(code, prize)
end
все работает
1654419181252.png
 
  • Нравится
Реакции: ARMOR и Fluffy1560

ARMOR

011110000111100101101001
Модератор
4,969
6,887
Тире как символ и луа при поиске почему то шлёт нахер все на свете
Lua:
msg = 'Промо-код'
    if msg:find('Промо-код') then
        print('ep')
    end
    -- Нихуя не выдаст если шо
Это я понял, но твой код работать не будет, ибо там парсинг строчки у тебя хуевый все равно
 

Anarch

Известный
Автор темы
344
75
Lua:
if text:find('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)') then  
    local code, prize = text:match('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)')
    print(code, prize)
end
все работает
Посмотреть вложение 151023
lua:
function hook.onServerMessage(col, text)
    if text:find('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)') then   
    local code, prize = text:match('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)')
    print(code, prize)
end
И как его встроить в код теперь? пишет ошибка в 21 строке (function hook.onServerMessage(col, text)
 

chapo

чопа сребдс // @moujeek
Модератор
8,934
11,701
lua:
function hook.onServerMessage(col, text)
    if text:find('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)') then  
    local code, prize = text:match('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)')
    print(code, prize)
end
И как его встроить в код теперь? пишет ошибка в 21 строке (function hook.onServerMessage(col, text)
Lua:
local sampev = require 'lib.samp.events'

function sampev.onServerMessage(color, text)
    if text:find('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)') then   
        local code, prize = text:match('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)')
        -- тут твой код, в переменной code содержится сам промо-код, а в prize - название приза
    end
end
 
  • Нравится
Реакции: Sidney31

chapo

чопа сребдс // @moujeek
Модератор
8,934
11,701
да вы заебали, он не так скопировал мой код и там не хватает энда после print.
Просто блять скопируй это, вставь и все
Lua:
local sampev = require 'lib.samp.events'

function sampev.onServerMessage(color, text)
    if text:find('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)') then  
        local code, prize = text:match('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)')
        -- тут твой код, в переменной code содержится сам промо-код, а в prize - название приза
    end
end
 
  • Нравится
Реакции: Sidney31 и ARMOR

Anarch

Известный
Автор темы
344
75
У тебя SAMP.lua установлен хотя-бы?
Все либы

да вы заебали, он не так скопировал мой код и там не хватает энда после print.
Просто блять скопируй это, вставь и все

Lua:
local sampev = require 'lib.samp.events'
local delay = 4000

function main()
    sampRegisterChatCommand('setdelay', function(arg)
        if tonumber(arg) then
            delay = tonumber(arg)
            sampAddChatMessage('Задержка изменена на '..delay..' мс. ('..math.floor(delay / 1000)..' сек.)', -1)
        else
            sampAddChatMessage('введи число', -1)
        end
    end)
    wait(-1)
end

function sampev.onServerMessage(color, text)
    if text:find('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)') then 
        local code, prize = text:match('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)')
        -- тут твой код, в переменной code содержится сам промо-код, а в prize - название приза
    end
end

Склеил твой предыдущий скрипт (задержка нужна просто) возможно и за него и не работает (из-за функции в мейне)
 
Последнее редактирование:

chapo

чопа сребдс // @moujeek
Модератор
8,934
11,701
Все либы



Lua:
local sampev = require 'lib.samp.events'
local delay = 4000

function main()
    sampRegisterChatCommand('setdelay', function(arg)
        if tonumber(arg) then
            delay = tonumber(arg)
            sampAddChatMessage('Задержка изменена на '..delay..' мс. ('..math.floor(delay / 1000)..' сек.)', -1)
        else
            sampAddChatMessage('введи число', -1)
        end
    end)
    wait(-1)
end

function sampev.onServerMessage(color, text)
    if text:find('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)') then
        local code, prize = text:match('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)')
        -- тут твой код, в переменной code содержится сам промо-код, а в prize - название приза
    end
end

Склеил твой предыдущий скрипт (задержка нужна просто) возможно и за него и не работает (из-за функции в мейне)
Lua:
local sampev = require 'lib.samp.events'
local delay = 4000

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('setdelay', function(arg)
        if tonumber(arg) then
            delay = tonumber(arg)
            sampAddChatMessage('Задержка изменена на '..delay..' мс. ('..math.floor(delay / 1000)..' сек.)', -1)
        else
            sampAddChatMessage('введи число', -1)
        end
    end)
    wait(-1)
end

function sampev.onServerMessage(color, text)
    if text:find('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)') then
        local code, prize = text:match('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)')
        lua_thread.create(function()
            wait(delay)
            sampSendChat(code)
        end)
    end
end
 

Anarch

Известный
Автор темы
344
75
Lua:
local sampev = require 'lib.samp.events'
local delay = 4000

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('setdelay', function(arg)
        if tonumber(arg) then
            delay = tonumber(arg)
            sampAddChatMessage('Задержка изменена на '..delay..' мс. ('..math.floor(delay / 1000)..' сек.)', -1)
        else
            sampAddChatMessage('введи число', -1)
        end
    end)
    wait(-1)
end

function sampev.onServerMessage(color, text)
    if text:find('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)') then
        local code, prize = text:match('%[Промо%-коды%] {FFFFFF}Был создан промо%-код (.+) %| Приз: (.+)')
        lua_thread.create(function()
            wait(delay)
            sampSendChat(code)
        end)
    end
end
thx