- 13
- 1
Всем привет. Скажу сразу я полный нуб в программировании и то, что вы увидите просто вас убьёт, (от смеха) , но я все же обращусь за помощью. У меня крашит игру когда работает скрипт.
Пытаюсь я написать бота, который будет работать не по КоордМастеру, а по нажатию клавиш... имитация ИИ.. Но я тупой , и нихера не рубаю.. Может кто скажет с чего лучше начать, что почитать.. я вообще хз.. это первый ЯП за который я взялся, т.к. он показался для меня очень удобным. Хотелось бы разобраться в проблеме.
Ниже будет код.. то что не нужно сейчас я закоментил..
Samp.log
Пытаюсь я написать бота, который будет работать не по КоордМастеру, а по нажатию клавиш... имитация ИИ.. Но я тупой , и нихера не рубаю.. Может кто скажет с чего лучше начать, что почитать.. я вообще хз.. это первый ЯП за который я взялся, т.к. он показался для меня очень удобным. Хотелось бы разобраться в проблеме.
Ниже будет код.. то что не нужно сейчас я закоментил..
Lua:
-- Global
sek=1000
--********
function MainBot(posX,posY,posZ)
positionX, positionY, positionZ = getCharCoordinates(PLAYER_PED)
Distance = math.sqrt((positionX-posX)^2+(positionY-posY)^2+(positionZ-posZ)^2)
Object_front = createObject(0,0,0,0) -- front PED
Object_left = createObject(0,0,0,0) -- left PED
Object_right= createObject(0,0,0,0) -- right PED
attachObjectToChar(Object_front, PLAYER_PED, 0, 10, 0, 0, 0, 0)
attachObjectToChar(Object_left, PLAYER_PED, -10, 0, 0, 0, 0, 0)
attachObjectToChar(Object_right, PLAYER_PED, 10, 0, 0, 0, 0, 0)
ObjectPos={
frontX,frontY,frontZ,
leftX,leftY,leftZ,
rightX,rightY,rightZ
}
_, ObjectPos[1], ObjectPos[2], ObjectPos[3] = getObjectCoordinates(Object_front)
_, ObjectPos[4], ObjectPos[5], ObjectPos[6] = getObjectCoordinates(Object_left)
_, ObjectPos[7], ObjectPos[8], ObjectPos[9] = getObjectCoordinates(Object_right)
DistanceLeft = math.sqrt((ObjectPos[4]-posX)^2+(ObjectPos[5]-posY)^2+(ObjectPos[6]-posZ)^2)
DistanceRight = math.sqrt((ObjectPos[7]-posX)^2+(ObjectPos[8]-posY)^2+(ObjectPos[9]-posZ)^2)
Targeting(DistanceLeft,DistanceRight)
--[[vectorPedToPoint={posX-positionX,posY-positionY,posZ-positionZ}
vectorPedToFront={ObjectPos[1]-positionX,ObjectPos[2]-positionY,ObjectPos[3]-positionZ}
vectorScalar:(vectorPedToFront[1]*vectorPedToPoint[1]+vectorPedToFront[2]*vectorPedToPoint[2]+vectorPedToFront[3]*vectorPedToPoint[3])
-- vectorScalar == Это чтобы узнать, впереди ли точка на которую надо ехать или сзади,
vectorSummA=vectorPedToPoint[1]*vectorPedToFront[1]+vectorPedToPoint[2]*vectorPedToFront[2]+vectorPedToPoint[3]*vectorPedToFront[3]
vectorSummB=math.sqrt(vectorPedToPoint[1]^2+vectorPedToPoint[2]^2+vectorPedToPoint[3]^2)
vectorSummC=math.sqrt(vectorPedToFront[1]^2+vectorPedToFront[2]^2+vectorPedToFront[3]^2)]]--
vectorVelocity=0--vectorSummA/(vectorSummB*vectorSummC)
vectorScalar=0
pos = string.format("Distance=%f SCALAR=%f ANGLE=%f Left=%f,Right=%f",Distance,vectorScalar,vectorVelocity,DistanceLeft,DistanceRight)
sampTextdrawCreate(1, pos, 150, 400)
end
-- Targeting(left2,right2) Эта функция как ра отвечает за поворот колес..
--первая проверка стоит чтобы колеса не дергались туда сюда постоянно. if left2-right2>=1 or right2-left2>=1 then
function Targeting(left2,right2)
if left2-right2>=1 or right2-left2>=1 then
if left2 >= right2 then
right(true)
left(false)
elseif left2 <= right2 then
left(true)
right(false)
else
right(false)
left(false)
end
else
right(false)
left(false)
end
left2,right2=0
end
function forward(bool) -- Button W
setVirtualKeyDown(87,bool)
end
function back(bool) -- Button S
setVirtualKeyDown(83,bool)
end
function left(bool) -- Button A
setVirtualKeyDown(65,bool)
end
function right(bool) -- Button D
setVirtualKeyDown(68,bool)
end
function main()
while true do
wait(100)
--MainBot(0,3,3) --Откоментировать чтобы включить "бота"
end
end
Samp.log
HTML:
[16:02:26] {FFFFFF}SA-MP {B9C9BF}0.3.7 {FFFFFF}Started
[16:02:26] Warning(s007): Exception 0xC0000005 at 0x630FA67B
[16:02:45] Connecting to 127.0.0.1:7777...
[16:02:46] Connected. Joining the game...
[16:02:46] 0
[16:02:46] {ffaa00}[MySQL]:{FFFFFF}Ваш ник не найден!
[16:02:47] Connected to {B9C9BF}Ride From Hell
[16:04:25] Warning(s007): Exception 0xC0000005 at 0x544BC8
[16:04:25] Warning(s007): Exception 0xC0000005 at 0x536DF4
[16:04:25] Warning(s007): Exception 0xC0000005 at 0x544BC8
[16:04:25] Warning(s007): Exception 0xC0000005 at 0x536DF4
[16:04:25] Warning(s007): Exception 0xC0000005 at 0x544BC8
[16:04:25] Warning(s007): Exception 0xC0000005 at 0x536DF4
[16:04:25] Warning(s007): Exception 0xC0000005 at 0x544BC8
[16:04:25] Warning(s007): Exception 0xC0000005 at 0x536DF4
[16:04:25] Warning(s007): Exception 0xC0000005 at 0x544BC8
[16:04:25] Warning(s007): Exception 0xC0000005 at 0x536DF4
Вложения
Последнее редактирование: