Как создать бота?

Tomato

Активный
Автор темы
388
88
Версия SA-MP
  1. Любая
Можете обьяснить как создать бота, например на ферму льна и хлопка, чтобы он не тпхался по кустам и именно шёл к ним и что для этого надо?
 

0pc0d3r_II.0

Участник
36
8
прив для начала тебе для этого нужна вот это функа

Lua:
function runToPoint(tox, toy)
    local x, y, z = getCharCoordinates(PLAYER_PED)
    local angle = getHeadingFromVector2d(tox - x, toy - y)
    local xAngle = math.random(-50, 50)/100
    setCameraPositionUnfixed(xAngle, math.rad(angle - 90))
    stopRun = false
    while getDistanceBetweenCoords2d(x, y, tox, toy) > 0.8 do
        setGameKeyState(1, -255)
        --setGameKeyState(16, 1)
        wait(1)
        x, y, z = getCharCoordinates(PLAYER_PED)
        angle = getHeadingFromVector2d(tox - x, toy - y)
        setCameraPositionUnfixed(xAngle, math.rad(angle - 90))
        if stopRun then
            stopRun = false
            break
        end
    end
end

потом например в main(function) пишешь runToPoint(tox, toy) - tox кордината x, toy кордината y
ну и дальше делаешь сим.нажатие на alt и так по кругу
для большей инфы вот эта тема https://www.blast.hk/threads/37428/ (ближе к концу)
 
  • Нравится
Реакции: Tomato

Tomato

Активный
Автор темы
388
88
прив для начала тебе для этого нужна вот это функа

Lua:
function runToPoint(tox, toy)
    local x, y, z = getCharCoordinates(PLAYER_PED)
    local angle = getHeadingFromVector2d(tox - x, toy - y)
    local xAngle = math.random(-50, 50)/100
    setCameraPositionUnfixed(xAngle, math.rad(angle - 90))
    stopRun = false
    while getDistanceBetweenCoords2d(x, y, tox, toy) > 0.8 do
        setGameKeyState(1, -255)
        --setGameKeyState(16, 1)
        wait(1)
        x, y, z = getCharCoordinates(PLAYER_PED)
        angle = getHeadingFromVector2d(tox - x, toy - y)
        setCameraPositionUnfixed(xAngle, math.rad(angle - 90))
        if stopRun then
            stopRun = false
            break
        end
    end
end

потом например в main(function) пишешь runToPoint(tox, toy) - tox кордината x, toy кордината y
ну и дальше делаешь сим.нажатие на alt и так по кругу
для большей инфы вот эта тема https://www.blast.hk/threads/37428/ (ближе к концу)
А как сделать чтобы бот бежал к 3д тексту, например что лён созрел
 

0pc0d3r_II.0

Участник
36
8
А как сделать чтобы бот бежал к 3д тексту, например что лён созрел
вставляешь в самый верх

local textCoords = {x1 = nil, y1 = nil, z1 = nil}

вставляешь в самый низ
Lua:
function sampev.onCreate3DText(id, color, position, distance, testLOS, attPid, attVid, text)
    if text:find('лён созрел') then -- если вдруг ошибся в лён созрел, напиши че там правильно
        textCoords.x1 = position.x1
        textCoords.y1 = position.y1
        textCoords.z1 = position.z1
    end
end

и потом юзаешь функу которую выше писал runToPoint(x1, y1)