Автопиар через /ad для СМИшника

Porn Hub

Известный
Автор темы
309
86
В общем и целом господа.
Нужен такой скриптик, что бы кидал /ad "что-то тут, что-то там, аля реклама", потом ловил его, и редачил. Другие объявления не нужно трогать, только от себя которые.
 
Решение
Lua:
local sampev = require('lib.samp.events')

local obyava = '' -- твоё объявление
local adnick = ''
local active = false

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('cmd', function ()
        active = true
        sampAddChatMessage('отправляем...', -1)
        sampProcessChatInput('/ad ' .. obyava)
    end)
    wait(-1)
end

function sampev.onServerMessage(color, text)
    if active then
        if text:match('На обработку объявлений пришло сообщение от: (%w+)') then
            adnick = text:match('На обработку объявлений пришло сообщение от: (%w+)')
            if sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))):find(adnick) then...

fokichevskiy

Известный
478
247
Посмотреть вложение 249458Диалога никакого нету, но и не происходит ничего =_=

Я что-то щас подумал, может быть это из-за того что твоя система определяет мой ник не правильно ?
Потому что в табе на вс перед ником [id сервера], а в чате пишется просто ник
так и есть

напиши мне пример вот этого сообщения 'На оброботку...'
 

Porn Hub

Известный
Автор темы
309
86
Вот с чат лога:
На обработку объявлений пришло сообщение от: Don_Foretti
Но в табе этот человек: [14] Don_Foretti

1723849058568.png
в табе у всех перед ником, ид сервера

но в сообщении:
На обработку объявлений пришло сообщение от: Don_Foretti
Приходит просто ник, без сервера
 

fokichevskiy

Известный
478
247
Вот с чат лога:
На обработку объявлений пришло сообщение от: Don_Foretti
Но в табе этот человек: [14] Don_Foretti

Посмотреть вложение 249460в табе у всех перед ником, ид сервера

но в сообщении:
На обработку объявлений пришло сообщение от: Don_Foretti
Приходит просто ник, без сервера
Lua:
local sampev = require('lib.samp.events')

local obyava = '' -- твоё объявление
local active = false

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('cmd', function ()
        active = true
        sampAddChatMessage('отправляем...', -1)
        sampProcessChatInput('/ad ' .. obyava)
    end)
    wait(-1)
end

function sampev.onServerMessage(color, text)
    if active then
        if text:match('На обработку объявлений пришло сообщение от: (%w+_%w+)') then
            local adnick = text:match('На обработку объявлений пришло сообщение от: (%w+_%w+)')
            if adnick:find(sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))) then
                sampProcessChatInput('/newsredak')
            end
        end
    end
end

function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if active then
        if dialogId == 25612 then
            sampSendDialogResponse(dialogId, 1, 0, '')
            return false
        elseif dialogId == 25613 then
            local count = -1
            for n in text:gmatch('[^\r\n]+') do
                if n:find(sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))) then
                    sampSendDialogResponse(25613, 1, count, '')
                end
                count = count + 1
            end
            return false
        elseif dialogId == 25614 then
            sampSendDialogResponse(25614, 1, 0, 'ну там че те надо типа') -- поменяй
            active = false
            return false
        end
    end
end
 

fokichevskiy

Известный
478
247
Тяжелый что-то случай... Один хер такая же картина

Посмотреть вложение 249463
На этом моменте тишина
Lua:
local sampev = require('lib.samp.events')

local obyava = '' -- твоё объявление
local active = false

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('cmd', function ()
        active = true
        sampAddChatMessage('отправляем...', -1)
        sampProcessChatInput('/ad ' .. obyava)
    end)
    wait(-1)
end

function sampev.onServerMessage(color, text)
    if active then
        if text:match('На обработку объявлений пришло сообщение от: (%w+)') then
            local adnick = text:match('На обработку объявлений пришло сообщение от: (%w+)')
            if sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))):find(adnick) then
                sampProcessChatInput('/newsredak')
            end
        end
    end
end

function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if active then
        if dialogId == 25612 then
            sampSendDialogResponse(dialogId, 1, 0, '')
            return false
        elseif dialogId == 25613 then
            local count = -1
            for n in text:gmatch('[^\r\n]+') do
                if n:find(sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))) then
                    sampSendDialogResponse(25613, 1, count, '')
                end
                count = count + 1
            end
            return false
        elseif dialogId == 25614 then
            sampSendDialogResponse(25614, 1, 0, 'ну там че те надо типа') -- поменяй
            active = false
            return false
        end
    end
end
бля я еблан перепутал кое-что
 

Porn Hub

Известный
Автор темы
309
86
1723850373286.png

Теперь получается так, что он отправляет, но в чат даже не приходит уведомление о том что "На обработку объявлений пришло сообщение от"
Но по DialogInfo видно что диалог /newsredak открывается

Может теперь мой ник не ищет в диалоге 25613 ? Там если что пишется просто ник, без [ид сервера]
 

fokichevskiy

Известный
478
247
Lua:
local sampev = require('lib.samp.events')

local obyava = '' -- твоё объявление
local adnick = ''
local active = false

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('cmd', function ()
        active = true
        sampAddChatMessage('отправляем...', -1)
        sampProcessChatInput('/ad ' .. obyava)
    end)
    wait(-1)
end

function sampev.onServerMessage(color, text)
    if active then
        if text:match('На обработку объявлений пришло сообщение от: (%w+)') then
            adnick = text:match('На обработку объявлений пришло сообщение от: (%w+)')
            if sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))):find(adnick) then
                sampProcessChatInput('/newsredak')
            end
        end
    end
end

function sampev.onShowDialog(dialogId, style, title, button1, button2, text)
    if active then
        if dialogId == 25612 then
            sampSendDialogResponse(dialogId, 1, 0, '')
            return false
        elseif dialogId == 25613 then
            local count = -1
            for n in text:gmatch('[^\r\n]+') do
                if n:find(adnick) then
                    sampSendDialogResponse(25613, 1, count, '')
                end
                count = count + 1
            end
            return false
        elseif dialogId == 25614 then
            sampSendDialogResponse(25614, 1, 0, 'ну там че те надо типа') -- поменяй
            active = false
            return false
        end
    end
end
надеюсь всё
 
  • Нравится
Реакции: Porn Hub