Помощь в скрипте:

Maxim_Wayner

Активный
Автор темы
101
44
Версия MoonLoader
.026-beta
Здрасвуйте, написал на первый взгляд легкий скрипт который должен парсить обьявление с чата, и после чего сохранять их в текстовом документе.
Но почему-то, в консоле пишет что все ОК, а на самом деле не высвечивает кто автор и название скрипта, не реагирует на зареганую команду.
Lua::
script_author('maxim wayner')
script_name('Parser Number')
script_version('bomg ver')
require "lib.moonloader"
encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
fa = require 'faIcons'
fa_font = require 'faIcons'
inicfg = require 'inicfg'
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand('pars', pars)
    wait(1000)

  
end


 

function pars(arg)
    event = require 'lib.samp.events'
    text, prefix, color, pcolor = sampGetChatString(99)
    event.onServerMessage(color, text)
    sampev.onServerMessage(color, text)
    if text:find('%w+_%w+%[%d+%]') then
        obav = text:find()
        local directIni = 'ParserObav.ini'
        local ini = inicfg.load(inicfg.load({
            settings = {     
                obav()
            }
        }, directIni))
        inicfg.save(ini, directIni)
        sampAddChatMessage('Обьявление спарсено'..number, -1)
    end
end
 

Maxim_Wayner

Активный
Автор темы
101
44
Почитай про pattern matching и будет тебе счастье.
Почти почти:
script_author('maxim wayner')
script_name('Parser Number')
script_version('bomg ver')


function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('pars', pars)
    while true do
      wait(0)
   end
end

function pars(arg)
    text, prefix, color, pcolor = sampGetChatString(99)
    if text:find('Обьявление:') then
        obav = string.match(text,'Обьявление: %[(.-)%] (.-) Отправил: (.+) ')
        local directIni = "Obava\\ObavaInf.ini"
        local def = {
            info = {
                obav(text)
            },
        }
        if not doesFileExist('moonloader/config/Obava/ObavaInf.ini') then inicfg.save(def, directIni) end
        sampAddChatMessage('Обьявление спарсено!'..number, -1)
    end
end
Спасибо, тебе что помогаешь, только блять я запутался как правильно ставить регулярные выражения.
Обьявление: %[(.-)%] (.-) Отправил: (.+)
вот тут блять
читал вот эту статью ну чет не было выражения для полного текста https://www.blast.hk/threads/93808/