Как получить сообщение с чата не зная его ид

KOHTOP

Участник
Автор темы
138
17
Версия MoonLoader
.027.0-preview
Возник такой вопрос, хотел бы сделать автовыдачу наказания за ловлю дома/бизнеса и по темам на BlastHack там нужно указывать цвет текста, НО в чатлоге ничего не пишет (именно про цвет)
Script:
[A] Vladimir_Simkinov [1] купил бизнес ID:(144) по гос. цене за (6:5382)s Капча: (58946 | 58946)
Как мне получить из сообщения Ник, ид, ид бизнеса, и за сколько словил бизнес?
Смотрел тему по регулярным выражениям, так и не понял
 

Vespan

Чешский луашер
Проверенный
2,123
1,729
Lua:
sampev = require 'samp.events'
function sampev.OnServerMessage(color,text)

    if text:find('%[A%] (%S+) %[(%d+)%] купил бизнес ID%:%((%d+)%) по гос%. цене за (%S+)s Капча: (%S+)') then
        local nick,id,idbiz,secs,captcha = text:match('%[A%] (%S+) %[(%d+)%] купил бизнес ID%:%((%d+)%) по гос%. цене за (%S+)s Капча: (%S+)')
        sampSendChat('/ban '..id..' 30 жду опру, и купи маме цветы')
    end
    
end
 

KOHTOP

Участник
Автор темы
138
17
Lua:
sampev = require 'samp.events'
function sampev.OnServerMessage(color,text)

    if text:find('%[A%] (%S+) %[(%d+)%] купил бизнес ID%:%((%d+)%) по гос%. цене за (%S+)s Капча: (%S+)') then
        local nick,id,idbiz,secs,captcha = text:match('%[A%] (%S+) %[(%d+)%] купил бизнес ID%:%((%d+)%) по гос%. цене за (%S+)s Капча: (%S+)')
        sampSendChat('/ban '..id..' 30 жду опру, и купи маме цветы')
    end
   
end
Script:
function sampev.OnServerMessage(color,text)
    if text:find('%[A%] (%S+) %[(%d+)%] купил бизнес ID%:%((%d+)%) по гос%. цене за (%S+)s Капча: (%S+)') then
        local nick,id,idbiz,secs,captcha = text:match('%[A%] (%S+) %[(%d+)%] купил бизнес ID%:%((%d+)%) по гос%. цене за (%S+)s Капча: (%S+)')
        sampSendChat('/jail ' .. idl .. ' 3000 Опра биз ' .. idbiz .. ' (' .. secs .. 's)')
    end
end

Не работает
 

chromiusj

Известный
Модератор
5,655
3,958
Script:
function sampev.OnServerMessage(color,text)
    if text:find('%[A%] (%S+) %[(%d+)%] купил бизнес ID%:%((%d+)%) по гос%. цене за (%S+)s Капча: (%S+)') then
        local nick,id,idbiz,secs,captcha = text:match('%[A%] (%S+) %[(%d+)%] купил бизнес ID%:%((%d+)%) по гос%. цене за (%S+)s Капча: (%S+)')
        sampSendChat('/jail ' .. idl .. ' 3000 Опра биз ' .. idbiz .. ' (' .. secs .. 's)')
    end
end

Не работает
потому что читать нужно ,"id","idl"
 
  • Нравится
Реакции: Vespan

Vespan

Чешский луашер
Проверенный
2,123
1,729
сохрани скрипт в кодировке если не делал
1684570467863.png

а если и так не работает, ну так блять своими ручками делай
пример уже подал тебе, эксперементируй
 
  • Нравится
Реакции: YarikVL

Dmitriy Makarov

25.05.2021
Проверенный
2,505
1,134
onServerMessage
id
Lua:
function sampev.onServerMessage(color, text)
    if text:find('%[A%] (%S+) %[(%d+)%] купил бизнес ID%:%((%d+)%) по гос%. цене за (%S+)s Капча: (%S+)') then
        lua_thread.create(function() wait(10)
            local nick, id, idbiz, secs, captcha = text:match('%[A%] (%S+) %[(%d+)%] купил бизнес ID%:%((%d+)%) по гос%. цене за (%S+)s Капча: (%S+)')
            sampSendChat('/jail '..id..' 3000 Опра биз '..idbiz..' ('..secs..'s)')
        end)
    end
end
Если всё равно не будет работать, то замени везде (%S+) на (.+). Не нравятся они мне почему-то..
И ставьте пробел после запятой. 🙁
 
  • Нравится
Реакции: joumey