Гайд Создание бота для CRMP, SAMP

Пользователь
Статус
Оффлайн
Регистрация
28 Апр 2018
Сообщения
540
Реакции[?]
130
Поинты[?]
2K
Всем привет, вот этом гайде я покажу как сделать бота, который будет бегать по координатам.
Для начала нам потребуется
Пожалуйста, авторизуйтесь для просмотра ссылки.
.
Далее функции которые будут отвечать за перемещение персонажа по координатам.
Код:
SendKey(key := "", state := "") {
    if (state == "")
        ControlSend,, {%key% down}{%key% up}, ahk_exe gta_sa.exe
    else
        ControlSend,, {%key% %state%}, ahk_exe gta_sa.exe
}
Код:
DistToCam(x, y) {
    if (!checkHandles())
        return -1

    coords := getPlayerCoordinates()
    VectorX := x - coords[1]
    VectorY := y - coords[2]

    return Sqrt(VectorX * VectorX + VectorY * VectorY)
}
Код:
MoveCoordinate(x, y, collision := false) {
    loop {
        distPoint := DistToCam(x, y)
        collPlayer := getPlayerCollision()

        TurnCamToCoordXY(x, y) ; move camera
        SendKey("w", "down") ; walk
        SendKey("space", distPoint > 5 ? "down" : "up") ; acceleration walk

        if (distPoint < 0.7 && (!collision || collPlayer > 5)) {
            SendKey("w", "up")
            SendKey("space", "up")
            break
        }
    }
}
Данный код я спастил у человека, ника уже не помню, сорян если увидишь это :)
Код:
TurnCamToCoordXY(x, y, ex := 0.06) {
    if (!checkHandles())
        return -1

    coords := getPlayerCoordinates()
    VectorX := x - coords[1]
    VectorY := y - coords[2]

    AngleYaw := atan2(VectorY, -VectorX) - 3.14 / 2 + ex

    writeFloat(hGTA, 0xB6F258, AngleYaw)
}
Теперь у нас есть нужные функции которые будут отвечать за движение персонажа.
Код:
L::
    MoveCoordinate(1649.221924, 2210.174316)
    MsgBox % "Вы пришли в точку B"
return

End::
    ExitApp
return
Надеюсь кому нибудь пригодится:roflanEbalo:
Код:
TurnCamToCoordXYZ(x, y, z, ex := 0.06, ez := 0.103) {
    if (!checkHandles())
        return -1

    coords := getPlayerCoordinates()
    VectorX := x - coords[1]
    VectorY := y - coords[2]
    VectorZ := z - coords[3]

    dist := Sqrt(VectorX * VectorX + VectorY * VectorY)
    AngleYaw := atan2(VectorY, -VectorX) - 3.14 / 2 + ex
    AnglePitch := atan2(dist, VectorZ) - ez

    writeFloat(hGTA, 0xB6F258, AngleYaw)
    writeFloat(hGTA, 0xB6F248, AnglePitch)
}
Ахк для работы на лесопилке
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Последнее редактирование:
Новичок
Статус
Оффлайн
Регистрация
16 Фев 2022
Сообщения
1
Реакции[?]
0
Поинты[?]
0
Я туп( не отрицаю) ты можешь в скобочках или как-то обозначить что и как вписать. или ставить код ботанаписаного
 
Новичок
Статус
Оффлайн
Регистрация
24 Мар 2022
Сообщения
1
Реакции[?]
0
Поинты[?]
0
Ну это прям для чайников чайников... Но для начинающих прям весь набор. Респект
 
Новичок
Статус
Оффлайн
Регистрация
30 Апр 2022
Сообщения
1
Реакции[?]
0
Поинты[?]
0
почему пишет: call to nonexistent function?Я отсюда копировал и вставил в скрипт и это пишет при запуске
 
Сверху Снизу