при определённом тексте в чате самп - выполняется скрипт

6y6Jluk

Новичок
Автор темы
11
0
Ребята, подскажите как сделать в этом скрипте (bot maker) что б после какой-то определённой фразы или текста в чате, например сервер напишет "У вас закончилось что-то там" и тогда скрипт начинает свою роботу, сообственно начинает бег по координатам. Буду очень благодарен

Lua:
script_name("beg")
script_authors("no")
script_description("Бот создан в bot maker")
script_version("0.1")
script_dependencies("CLEO", "SAMP", "SAMPFUNCS")

---------------------------------------------------------------------------

require "lib.moonloader"
require "lib.sampfuncs"

---------------------------------------------------------------------------

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    sampRegisterChatCommand("beg", cmd_bot)

    local saveX = {}
    local saveY = {}
    local saveZ = {}
    while true do
        wait(0)
        if isPlayerPlaying(playerHandle) and enabled then
---------------------------------------------------------------------------
            BeginToPoint(2611.879883, -2469.300049, 3.240000, 1.000000, -255, false)
            BeginToPoint(2593.020020, -2469.239990, 3.240000, 1.000000, -255, false)
            BeginToPoint(2593.489990, -2462.120117, 3.240000, 1.000000, -255, false)
            BeginToPoint(2618.879883, -2461.629883, 13.360000, 1.000000, -255, false)
            BeginToPoint(2616.530029, -2456.659912, 13.640000, 1.000000, -255, false)
            BeginToPoint(2597.780029, -2435.780029, 13.660000, 1.000000, -255, false)
            BeginToPoint(2602.219971, -2431.959961, 13.660000, 1.000000, -255, false)
            BeginToPoint(2607.620117, -2437.040039, 13.670000, 1.000000, -255, false)
            wait(3000)
            BeginToPoint(2607.620117, -2437.040039, 13.670000, 1.000000, -255, false)
            BeginToPoint(2602.219971, -2431.959961, 13.660000, 1.000000, -255, false)
            BeginToPoint(2597.780029, -2435.780029, 13.660000, 1.000000, -255, false)
            BeginToPoint(2616.530029, -2456.659912, 13.640000, 1.000000, -255, false)
            BeginToPoint(2618.879883, -2461.629883, 13.360000, 1.000000, -255, false)
            BeginToPoint(2593.489990, -2462.120117, 3.240000, 1.000000, -255, false)
            BeginToPoint(2593.020020, -2469.239990, 3.240000, 1.000000, -255, false)
            BeginToPoint(2611.879883, -2469.300049, 3.240000, 1.000000, -255, false)
            BeginToPoint(2612.699951, -2474.560059, 3.240000, 1.000000, -255, false)
---------------------------------------------------------------------------
        end
    end
end



--------------------------- STANDART FUNCTIONS ---------------------------

function BeginToPoint(x, y, z, radius, move_code, isSprint)
    repeat
        local posX, posY, posZ = GetCoordinates()
        SetAngle(x, y, z)
        MovePlayer(move_code, isSprint)
        local dist = getDistanceBetweenCoords3d(x, y, z, posX, posY, z)
        wait(0)
    until not enabled or dist < radius
end
function MovePlayer(move_code, isSprint)
    setGameKeyState(1, move_code)
    --[[255 - обычный бег назад
       -255 - обычный бег вперед
      65535 - идти шагом вперед
     -65535 - идти шагом назад]]
    if isSprint then setGameKeyState(16, 255) end
end

function SetAngle(x, y, z)
    local posX, posY, posZ = GetCoordinates()
    local pX = x - posX
    local pY = y - posY
    local zAngle = getHeadingFromVector2d(pX, pY)

    if isCharInAnyCar(playerPed) then
        local car = storeCarCharIsInNoSave(playerPed)
        setCarHeading(car, zAngle)
    else
        setCharHeading(playerPed, zAngle)
    end

    restoreCameraJumpcut()
end

function GetCoordinates()
    if isCharInAnyCar(playerPed) then
        local car = storeCarCharIsInNoSave(playerPed)
        return getCarCoordinates(car)
    else
        return getCharCoordinates(playerPed)
    end
end

function cmd_bot(param)
    enabled = not enabled
    if enabled then
        sampAddChatMessage(string.format("[%s]: Активирован", thisScript().name), 0x40FF40)
    else
        sampAddChatMessage(string.format("[%s]: Деактивирован", thisScript().name), 0xFF4040)
    end
end

--------------------------- ADDITIONAL FUNCTIONS ---------------------------
 

6y6Jluk

Новичок
Автор темы
11
0

MrBidloKoder

Известный
425
248
Lua:
script_name("beg")
script_authors("no")
script_description("Бот создан в bot maker")
script_version("0.1")
script_dependencies("CLEO", "SAMP", "SAMPFUNCS")

---------------------------------------------------------------------------

require "lib.moonloader"
require "lib.sampfuncs"
local sampev  = require("lib.samp.events")

---------------------------------------------------------------------------

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    sampRegisterChatCommand("beg", cmd_bot)

    local saveX = {}
    local saveY = {}
    local saveZ = {}
    while true do
        wait(0)
        if isPlayerPlaying(playerHandle) and enabled then
---------------------------------------------------------------------------
            BeginToPoint(2611.879883, -2469.300049, 3.240000, 1.000000, -255, false)
            BeginToPoint(2593.020020, -2469.239990, 3.240000, 1.000000, -255, false)
            BeginToPoint(2593.489990, -2462.120117, 3.240000, 1.000000, -255, false)
            BeginToPoint(2618.879883, -2461.629883, 13.360000, 1.000000, -255, false)
            BeginToPoint(2616.530029, -2456.659912, 13.640000, 1.000000, -255, false)
            BeginToPoint(2597.780029, -2435.780029, 13.660000, 1.000000, -255, false)
            BeginToPoint(2602.219971, -2431.959961, 13.660000, 1.000000, -255, false)
            BeginToPoint(2607.620117, -2437.040039, 13.670000, 1.000000, -255, false)
            wait(3000)
            BeginToPoint(2607.620117, -2437.040039, 13.670000, 1.000000, -255, false)
            BeginToPoint(2602.219971, -2431.959961, 13.660000, 1.000000, -255, false)
            BeginToPoint(2597.780029, -2435.780029, 13.660000, 1.000000, -255, false)
            BeginToPoint(2616.530029, -2456.659912, 13.640000, 1.000000, -255, false)
            BeginToPoint(2618.879883, -2461.629883, 13.360000, 1.000000, -255, false)
            BeginToPoint(2593.489990, -2462.120117, 3.240000, 1.000000, -255, false)
            BeginToPoint(2593.020020, -2469.239990, 3.240000, 1.000000, -255, false)
            BeginToPoint(2611.879883, -2469.300049, 3.240000, 1.000000, -255, false)
            BeginToPoint(2612.699951, -2474.560059, 3.240000, 1.000000, -255, false)
---------------------------------------------------------------------------
        end
    end
end



--------------------------- STANDART FUNCTIONS ---------------------------

function BeginToPoint(x, y, z, radius, move_code, isSprint)
    repeat
        local posX, posY, posZ = GetCoordinates()
        SetAngle(x, y, z)
        MovePlayer(move_code, isSprint)
        local dist = getDistanceBetweenCoords3d(x, y, z, posX, posY, z)
        wait(0)
    until not enabled or dist < radius
end
function MovePlayer(move_code, isSprint)
    setGameKeyState(1, move_code)
    --[[255 - обычный бег назад
       -255 - обычный бег вперед
      65535 - идти шагом вперед
     -65535 - идти шагом назад]]
    if isSprint then setGameKeyState(16, 255) end
end

function SetAngle(x, y, z)
    local posX, posY, posZ = GetCoordinates()
    local pX = x - posX
    local pY = y - posY
    local zAngle = getHeadingFromVector2d(pX, pY)

    if isCharInAnyCar(playerPed) then
        local car = storeCarCharIsInNoSave(playerPed)
        setCarHeading(car, zAngle)
    else
        setCharHeading(playerPed, zAngle)
    end

    restoreCameraJumpcut()
end

function GetCoordinates()
    if isCharInAnyCar(playerPed) then
        local car = storeCarCharIsInNoSave(playerPed)
        return getCarCoordinates(car)
    else
        return getCharCoordinates(playerPed)
    end
end

function cmd_bot(param)
    enabled = not enabled
    if enabled then
        sampAddChatMessage(string.format("[%s]: Активирован", thisScript().name), 0x40FF40)
    else
        sampAddChatMessage(string.format("[%s]: Деактивирован", thisScript().name), 0xFF4040)
    end
end

--------------------------- ADDITIONAL FUNCTIONS ---------------------------

function sampev.onServerMessage(color, text)
    if text:find("дэб") then
        cmd_bot()
    end
end
 
  • Нравится
Реакции: 6y6Jluk

6y6Jluk

Новичок
Автор темы
11
0
Lua:
script_name("beg")
script_authors("no")
script_description("Бот создан в bot maker")
script_version("0.1")
script_dependencies("CLEO", "SAMP", "SAMPFUNCS")

---------------------------------------------------------------------------

require "lib.moonloader"
require "lib.sampfuncs"
local sampev  = require("lib.samp.events")

---------------------------------------------------------------------------

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    sampRegisterChatCommand("beg", cmd_bot)

    local saveX = {}
    local saveY = {}
    local saveZ = {}
    while true do
        wait(0)
        if isPlayerPlaying(playerHandle) and enabled then
---------------------------------------------------------------------------
            BeginToPoint(2611.879883, -2469.300049, 3.240000, 1.000000, -255, false)
            BeginToPoint(2593.020020, -2469.239990, 3.240000, 1.000000, -255, false)
            BeginToPoint(2593.489990, -2462.120117, 3.240000, 1.000000, -255, false)
            BeginToPoint(2618.879883, -2461.629883, 13.360000, 1.000000, -255, false)
            BeginToPoint(2616.530029, -2456.659912, 13.640000, 1.000000, -255, false)
            BeginToPoint(2597.780029, -2435.780029, 13.660000, 1.000000, -255, false)
            BeginToPoint(2602.219971, -2431.959961, 13.660000, 1.000000, -255, false)
            BeginToPoint(2607.620117, -2437.040039, 13.670000, 1.000000, -255, false)
            wait(3000)
            BeginToPoint(2607.620117, -2437.040039, 13.670000, 1.000000, -255, false)
            BeginToPoint(2602.219971, -2431.959961, 13.660000, 1.000000, -255, false)
            BeginToPoint(2597.780029, -2435.780029, 13.660000, 1.000000, -255, false)
            BeginToPoint(2616.530029, -2456.659912, 13.640000, 1.000000, -255, false)
            BeginToPoint(2618.879883, -2461.629883, 13.360000, 1.000000, -255, false)
            BeginToPoint(2593.489990, -2462.120117, 3.240000, 1.000000, -255, false)
            BeginToPoint(2593.020020, -2469.239990, 3.240000, 1.000000, -255, false)
            BeginToPoint(2611.879883, -2469.300049, 3.240000, 1.000000, -255, false)
            BeginToPoint(2612.699951, -2474.560059, 3.240000, 1.000000, -255, false)
---------------------------------------------------------------------------
        end
    end
end



--------------------------- STANDART FUNCTIONS ---------------------------

function BeginToPoint(x, y, z, radius, move_code, isSprint)
    repeat
        local posX, posY, posZ = GetCoordinates()
        SetAngle(x, y, z)
        MovePlayer(move_code, isSprint)
        local dist = getDistanceBetweenCoords3d(x, y, z, posX, posY, z)
        wait(0)
    until not enabled or dist < radius
end
function MovePlayer(move_code, isSprint)
    setGameKeyState(1, move_code)
    --[[255 - обычный бег назад
       -255 - обычный бег вперед
      65535 - идти шагом вперед
     -65535 - идти шагом назад]]
    if isSprint then setGameKeyState(16, 255) end
end

function SetAngle(x, y, z)
    local posX, posY, posZ = GetCoordinates()
    local pX = x - posX
    local pY = y - posY
    local zAngle = getHeadingFromVector2d(pX, pY)

    if isCharInAnyCar(playerPed) then
        local car = storeCarCharIsInNoSave(playerPed)
        setCarHeading(car, zAngle)
    else
        setCharHeading(playerPed, zAngle)
    end

    restoreCameraJumpcut()
end

function GetCoordinates()
    if isCharInAnyCar(playerPed) then
        local car = storeCarCharIsInNoSave(playerPed)
        return getCarCoordinates(car)
    else
        return getCharCoordinates(playerPed)
    end
end

function cmd_bot(param)
    enabled = not enabled
    if enabled then
        sampAddChatMessage(string.format("[%s]: Активирован", thisScript().name), 0x40FF40)
    else
        sampAddChatMessage(string.format("[%s]: Деактивирован", thisScript().name), 0xFF4040)
    end
end

--------------------------- ADDITIONAL FUNCTIONS ---------------------------

function sampev.onServerMessage(color, text)
    if text:find("дэб") then
        cmd_bot()
    end
end
А как добавить задержку, что б бег активировался например через 1000мс после увиденого в чате?

Lua:
script_name("beg")
script_authors("no")
script_description("Бот создан в bot maker")
script_version("0.1")
script_dependencies("CLEO", "SAMP", "SAMPFUNCS")

---------------------------------------------------------------------------

require "lib.moonloader"
require "lib.sampfuncs"
local sampev  = require("lib.samp.events")

---------------------------------------------------------------------------

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    sampRegisterChatCommand("beg", cmd_bot)

    local saveX = {}
    local saveY = {}
    local saveZ = {}
    while true do
        wait(0)
        if isPlayerPlaying(playerHandle) and enabled then
---------------------------------------------------------------------------
            BeginToPoint(2611.879883, -2469.300049, 3.240000, 1.000000, -255, false)
            BeginToPoint(2593.020020, -2469.239990, 3.240000, 1.000000, -255, false)
            BeginToPoint(2593.489990, -2462.120117, 3.240000, 1.000000, -255, false)
            BeginToPoint(2618.879883, -2461.629883, 13.360000, 1.000000, -255, false)
            BeginToPoint(2616.530029, -2456.659912, 13.640000, 1.000000, -255, false)
            BeginToPoint(2597.780029, -2435.780029, 13.660000, 1.000000, -255, false)
            BeginToPoint(2602.219971, -2431.959961, 13.660000, 1.000000, -255, false)
            BeginToPoint(2607.620117, -2437.040039, 13.670000, 1.000000, -255, false)
            wait(3000)
            BeginToPoint(2607.620117, -2437.040039, 13.670000, 1.000000, -255, false)
            BeginToPoint(2602.219971, -2431.959961, 13.660000, 1.000000, -255, false)
            BeginToPoint(2597.780029, -2435.780029, 13.660000, 1.000000, -255, false)
            BeginToPoint(2616.530029, -2456.659912, 13.640000, 1.000000, -255, false)
            BeginToPoint(2618.879883, -2461.629883, 13.360000, 1.000000, -255, false)
            BeginToPoint(2593.489990, -2462.120117, 3.240000, 1.000000, -255, false)
            BeginToPoint(2593.020020, -2469.239990, 3.240000, 1.000000, -255, false)
            BeginToPoint(2611.879883, -2469.300049, 3.240000, 1.000000, -255, false)
            BeginToPoint(2612.699951, -2474.560059, 3.240000, 1.000000, -255, false)
---------------------------------------------------------------------------
        end
    end
end



--------------------------- STANDART FUNCTIONS ---------------------------

function BeginToPoint(x, y, z, radius, move_code, isSprint)
    repeat
        local posX, posY, posZ = GetCoordinates()
        SetAngle(x, y, z)
        MovePlayer(move_code, isSprint)
        local dist = getDistanceBetweenCoords3d(x, y, z, posX, posY, z)
        wait(0)
    until not enabled or dist < radius
end
function MovePlayer(move_code, isSprint)
    setGameKeyState(1, move_code)
    --[[255 - обычный бег назад
       -255 - обычный бег вперед
      65535 - идти шагом вперед
     -65535 - идти шагом назад]]
    if isSprint then setGameKeyState(16, 255) end
end

function SetAngle(x, y, z)
    local posX, posY, posZ = GetCoordinates()
    local pX = x - posX
    local pY = y - posY
    local zAngle = getHeadingFromVector2d(pX, pY)

    if isCharInAnyCar(playerPed) then
        local car = storeCarCharIsInNoSave(playerPed)
        setCarHeading(car, zAngle)
    else
        setCharHeading(playerPed, zAngle)
    end

    restoreCameraJumpcut()
end

function GetCoordinates()
    if isCharInAnyCar(playerPed) then
        local car = storeCarCharIsInNoSave(playerPed)
        return getCarCoordinates(car)
    else
        return getCharCoordinates(playerPed)
    end
end

function cmd_bot(param)
    enabled = not enabled
    if enabled then
        sampAddChatMessage(string.format("[%s]: Активирован", thisScript().name), 0x40FF40)
    else
        sampAddChatMessage(string.format("[%s]: Деактивирован", thisScript().name), 0xFF4040)
    end
end

--------------------------- ADDITIONAL FUNCTIONS ---------------------------

function sampev.onServerMessage(color, text)
    if text:find("дэб") then
        cmd_bot()
    end
end
Заметил такую штуку, может поможешь разобраться? Вообщем когда учился пользоваться языком луа сегодня, то заметил такую штуку... Если я делаю что б после какой-то команды что-то писало sampAddChatMessage и текст на русском, то будут какие-то символы. Для этого мне приходится в нотепаде ++ менять кодировку на ANSI постоянно что б оно писало нормально... Так же если я в том скрипте что ты мне помог сделать сделаю на поиск в чате текста со скобками. Например [Ошибка] У вас нет лицензии - это как пример и сделаю кодировку ANSI то ничего не получиться :( Надо стереть скобки и тогда будет работать
 

MrBidloKoder

Известный
425
248
А как добавить задержку, что б бег активировался например через 1000мс после увиденого в чате?
Lua:
if text:find("дэб") then
    lua_thread.create(function()
        wait(1000)
        cmd_bot()
    end)
end


Заметил такую штуку, может поможешь разобраться? Вообщем когда учился пользоваться языком луа сегодня, то заметил такую штуку... Если я делаю что б после какой-то команды что-то писало sampAddChatMessage и текст на русском, то будут какие-то символы. Для этого мне приходится в нотепаде ++ менять кодировку на ANSI постоянно что б оно писало нормально... Так же если я в том скрипте что ты мне помог сделать сделаю на поиск в чате текста со скобками. Например [Ошибка] У вас нет лицензии - это как пример и сделаю кодировку ANSI то ничего не получиться :( Надо стереть скобки и тогда будет работать
скачай любой скрипт, удали оттуда весь код и вставь свой.
 
  • Нравится
Реакции: 6y6Jluk

6y6Jluk

Новичок
Автор темы
11
0
Lua:
if text:find("дэб") then
    lua_thread.create(function()
        wait(1000)
        cmd_bot()
    end)
end



скачай любой скрипт, удали оттуда весь код и вставь свой.
Да, таким образом всё работает как часы, не подскажешь как исправить что б я постоянно так не делал? Учу луа просто, постоянно так делать напрягает(
 

6y6Jluk

Новичок
Автор темы
11
0
постоянно что? не понял чуток
Код который ты мне скинул, что б он работал надо сделать как ты посоветовал. Взять чужой скрипт луа и вставить туда этот код. Тогда всё работает отлично, но как только я открою этот код через notepad++, что-то там исправлю, даже тот самый текст который ищет скрипт в чате, всё сразу ломается и не хочет работать. Надо опять копировать, открывать чужой скрипт, удалять от-туда код и вставлять свой. Проблема выходит у меня с кодировкой? Возможно знаешь как исправить? Основная проблема это - [] Если их убрать то всё хорошо работает и у меня с моим файлом, который я создам сам
 
Последнее редактирование:

MrBidloKoder

Известный
425
248
Код который ты мне скинул, что б он работал надо сделать как ты посоветовал. Взять чужой скрипт луа и вставить туда этот код. Тогда всё работает отлично, но как только я открою этот код через notepad++, что-то там исправлю, даже тот самый текст который ищет скрипт в чате, всё сразу ломается и не хочет работать. Надо опять копировать, открывать чужой скрипт, удалять от-туда код и вставлять свой. Проблема выходит у меня с кодировкой? Возможно знаешь как исправить? Основная проблема это - [] Если их убрать то всё хорошо работает и у меня с моим файлом, который я создам сам
переходи на visual studio code и не мучай себя. А так, у меня стоит вот это:
1608119600789.png
 
  • Нравится
Реакции: 6y6Jluk