onServerMessage

Статус
В этой теме нельзя размещать новые ответы.

Downesa

Известный
Автор темы
341
54
Версия MoonLoader
.026-beta
Не работает вот это, кто знает почему?
1643184374153.png

Код:
zxc.onServerMessage = function(color, text)
    if text:find("У вас осталось 30 секунд что бы доехать до остановки!") then
        if control.autoOff.v then
            control.start = false
            control.step = 0
            control.startTp = false
            control.nop = false
        end
        if control.telegramNotf.v then
            local server = sampGetCurrentServerName()
            local nik = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))
            sendTelegramNotification('Чекпоинт пропущен: \nНик: '..nik..'\nСервер: '..server)
        end
    end
end
 
Последнее редактирование модератором:
Решение
Это я сделал, хочется еще больше усовершенствовать бота, сделал другое, появилась еще одна ошибка

code:
    if text:find("Вы хотите освободить своё место в очереди?") and not dialogId == 0 then
        lua_thread.create(function()
            runToPoint(-2260, 504)
            runToPoint(-2257, 508)
            runToPoint(-2254, 508)
            runToPoint(-2254, 505)
            sampSendDialogResponse(dialogId, 1, -1, -1)
            end
            if getCharModel(playerPed) ~= 18 then
                sampSendDialogResponse(dialogId, 1, -1, -1)
            end
            if getCharModel(playerPed) == 253 then
                runToPoint(-2254, 508)
                runToPoint(-2258, 508)
                runToPoint(-2261, 503)...

PanSeek

t.me/dailypanseek
Всефорумный модератор
908
1,776
не забудь кодировку cp1251 поставить
Lua:
local se = require 'samp.events'
function se.onServerMessage(color, text)
    if text:find("У вас осталось 30 секунд что бы доехать до остановки!") then
        if control.autoOff.v then
            control.start, control.step, control.startTp, control.nop = false, 0, false, false
        end
        if control.telegramNotf.v then
            sendTelegramNotification('Чекпоинт пропущен: \nНик: '..sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))..'\nСервер: '..sampGetCurrentServerName())
        end
    end
end
 

Downesa

Известный
Автор темы
341
54
не забудь кодировку cp1251 поставить
Lua:
local se = require 'samp.events'
function se.onServerMessage(color, text)
    if text:find("У вас осталось 30 секунд что бы доехать до остановки!") then
        if control.autoOff.v then
            control.start, control.step, control.startTp, control.nop = false, 0, false, false
        end
        if control.telegramNotf.v then
            sendTelegramNotification('Чекпоинт пропущен: \nНик: '..sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))..'\nСервер: '..sampGetCurrentServerName())
        end
    end
end
не рабочий

вот так сделал
1643622095215.png

при text:find ничего не пишет.
 

SomaGnoma

Известный
436
150

Downesa

Известный
Автор темы
341
54
не закрыл условие на строке 400, и да, зачем ты ищешь в тексте id, когда там онли color, text? и зачем создавать поток на пустом месте?
Я в итоге сделал вот так:
code:
        if text:find('Вы хотите освободить своё место в очереди') then
            if control.autoOff.v then
                control.start, control.step, control.startTp, control.nop = false, 0, false, false
            end
            if control telegramNotf.v then
                    sendTelegramNotification('Bot bugged: \nНик: '..sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))..'\nСервер: '..sampGetCurrentServerName())
            end
        end
но всё равно не работает с ошибкой telegramNotf.v
VPxz4gIvCPw.jpg
 

PanSeek

t.me/dailypanseek
Всефорумный модератор
908
1,776
скобку закрой на 421 строке
Ошибка не только в этом.
Эту решил, появилась другая
V2tfjNbCZ0A.jpg
Чтобы видеть такие простые ошибки достаточно соблюдать табуляцию. Но да, еще и скобку потерял, как писали выше.
Lua:
local se = require 'samp.events'
function se.onServerMessage(color, text)
    if text:find('У вас осталось 30 секунд что бы доехать до остановки!') then
        lua_thread.create(function()
            wait(15000)
            BeginToPoint(-2258.41, 504.89, 1487.69, 0.7, -255, false)
            BeginToPoint(-2258.11, 511.5, 1487.7, 0.7, -255, false)
            for i = 0, 2 do
                wait(2000)
                setGameKeyState(21, 255)
                wait(500)
            end
        end)
    end
end
Впредь кидай код в блок "Код".
 
  • Вау
Реакции: SomaGnoma

Downesa

Известный
Автор темы
341
54
Ошибка не только в этом.

Чтобы видеть такие простые ошибки достаточно соблюдать табуляцию. Но да, еще и скобку потерял, как писали выше.
Lua:
local se = require 'samp.events'
function se.onServerMessage(color, text)
    if text:find('У вас осталось 30 секунд что бы доехать до остановки!') then
        lua_thread.create(function()
            wait(15000)
            BeginToPoint(-2258.41, 504.89, 1487.69, 0.7, -255, false)
            BeginToPoint(-2258.11, 511.5, 1487.7, 0.7, -255, false)
            for i = 0, 2 do
                wait(2000)
                setGameKeyState(21, 255)
                wait(500)
            end
        end)
    end
end
Впредь кидай код в блок "Код".
Это я сделал, хочется еще больше усовершенствовать бота, сделал другое, появилась еще одна ошибка

code:
    if text:find("Вы хотите освободить своё место в очереди?") and not dialogId == 0 then
        lua_thread.create(function()
            runToPoint(-2260, 504)
            runToPoint(-2257, 508)
            runToPoint(-2254, 508)
            runToPoint(-2254, 505)
            sampSendDialogResponse(dialogId, 1, -1, -1)
            end
            if getCharModel(playerPed) ~= 18 then
                sampSendDialogResponse(dialogId, 1, -1, -1)
            end
            if getCharModel(playerPed) == 253 then
                runToPoint(-2254, 508)
                runToPoint(-2258, 508)
                runToPoint(-2261, 503)
                runToPoint(-2263, 506)
                sampSendDialogResponse(dialogId, 1, -1, -1)
                end
            end
        end

1643704091229.png

вот такая ошибка, хотя добавлял код про runToPoint
1643704116157.png
 

SomaGnoma

Известный
436
150
Это я сделал, хочется еще больше усовершенствовать бота, сделал другое, появилась еще одна ошибка

code:
    if text:find("Вы хотите освободить своё место в очереди?") and not dialogId == 0 then
        lua_thread.create(function()
            runToPoint(-2260, 504)
            runToPoint(-2257, 508)
            runToPoint(-2254, 508)
            runToPoint(-2254, 505)
            sampSendDialogResponse(dialogId, 1, -1, -1)
            end
            if getCharModel(playerPed) ~= 18 then
                sampSendDialogResponse(dialogId, 1, -1, -1)
            end
            if getCharModel(playerPed) == 253 then
                runToPoint(-2254, 508)
                runToPoint(-2258, 508)
                runToPoint(-2261, 503)
                runToPoint(-2263, 506)
                sampSendDialogResponse(dialogId, 1, -1, -1)
                end
            end
        end

Посмотреть вложение 134444
вот такая ошибка, хотя добавлял код про runToPoint
Посмотреть вложение 134445
создавай поток, незя юзать задержку без него вне main()
 
Статус
В этой теме нельзя размещать новые ответы.