Проблема в следующем, пишу бота для водителя трамвая на Arizona rp. Проблема в расчете остановочного пути. Нашел и подогнал формулу, вроде подходит ((speed/10)*(speed/10)+5.3). Проблема в том, что если остановка находиться сразу за поворотом, он не доезжает до нее. AHK уже умеет останавливаться по кнопке, разгонятся и поддерживать скорость по кнопке, по кнопке рассчитывать тормозной путь и в случае чего останавливаться. Пока это мало похоже на готового бота, я пока тестирую отдельно функции.
Какие пути решение проблемы есть?
Num1 - разгон и поддержка скорости
Num2 - остановка
Num4 - расчет тормозного пути и остановка.
Код:
Какие пути решение проблемы есть?
Num1 - разгон и поддержка скорости
Num2 - остановка
Num4 - расчет тормозного пути и остановка.
Код:
AutoHotKey:
#include UDF.ahk
global go := false
while(true)
{
while(getVehicleSpeed()<60)
{
if(global go)
{
speed:=getVehicleSpeed()
SendInput, {w down}
}
}
if(global go)
{
SendInput, {w up}
}
}
numpad1::
global go := true
return
numpad2::
coord:=getCoordinates()
addChatMessage("x: " coord[1] " y: " coord[2] " z: " coord[3])
SendInput, {w up}
while(getVehicleSpeed()>0.37)
{
speed:=getVehicleSpeed()
SendInput, {s down}
}
SendInput, {s up}
global go := false
return
numpad3::ExitApp
numpad4::
s:=getDist(getCoordinates(), CoordsFromRedmarker())
speed:=getVehicleSpeed()
tormoz:=(speed/10)*(speed/10)+5.3
if((s-tormoz)<0){
coord:=getCoordinates()
addChatMessage("x: " coord[1] " y: " coord[2] " z: " coord[3])
addChatMessage("{E28C1B}Тормози!!")
SendInput, {w up}
while(getVehicleSpeed()>0.37)
{
speed:=getVehicleSpeed()
SendInput, {s down}
}
SendInput, {s up}
global go := false
return
}
addChatMessage("Полный путь: " s)
addChatMessage("Тормозной путь: " tormoz)
addChatMessage("Скорость: " speed)
return