- 7
- 0
- Версия MoonLoader
- .026-beta
Нужна небольшая помощь в коде, за основу решил взять дудванский бот для арз, но есть прикол в виде через час показывается текст Вам срочно нужно покушать! Вы очень сильно голодны, поэтому ваше здоровье снижается и хп теряется, пытаюсь провернуть это в бота, но видимо из-за не опыта не могу понять почему выбивает ошибки
advbot (2).lua: D:\Games\samp arz\moonloader\advbot (2).lua:53: attempt to yield across C-call boundary
stack traceback:
[C]: in function 'wait'
D:\Games\samp arz\moonloader\advbot (2).lua:53: in function 'runToPoint'
D:\Games\samp arz\moonloader\advbot (2).lua:24: in function 'callback'
D:\Games\samp arz\moonloader\lib\samp\events\core.lua:79: in function <D:\Games\samp arz\moonloader\lib\samp\events\core.lua:53>
[21:23:11.729111] (error) advbot (2).lua: Script died due to an error. (5D02F7EC)
advbot (2).lua: D:\Games\samp arz\moonloader\advbot (2).lua:53: attempt to yield across C-call boundary
stack traceback:
[C]: in function 'wait'
D:\Games\samp arz\moonloader\advbot (2).lua:53: in function 'runToPoint'
D:\Games\samp arz\moonloader\advbot (2).lua:24: in function 'callback'
D:\Games\samp arz\moonloader\lib\samp\events\core.lua:79: in function <D:\Games\samp arz\moonloader\lib\samp\events\core.lua:53>
[21:23:11.729111] (error) advbot (2).lua: Script died due to an error. (5D02F7EC)
Код:
botstatus = false
local ev = require('lib.samp.events')
XX, YY, ZZ = 0, 0, 0
function main()
while not isSampAvailable() do wait(0) end
sampRegisterChatCommand('check', function()
sampAddChatMessage(": "..XX..', '..YY..', '..ZZ,-1)
end)
sampRegisterChatCommand("advbot", function()
botstatus = not botstatus
end)
while true do wait(0)
if botstatus then
runToPoint(-1844, -1635, 21, true)
runToPoint(XX,YY,ZZ,true)
runToPoint(-1854, -1629, 21,false)
runToPoint(XX,YY,ZZ,false)
runToPoint(-1854, -1629, 21, true)
function ev.onServerMessage(color, text)
if text:find("Вам срочно нужно покушать! Вы очень сильно голодны, поэтому ваше здоровье снижается.") then
runToPoint(-1829, -1627, 23, true)
sampSendChat("/eat")
end
end
--runToPointt()
end
end
end
function ev.onSetCheckpoint(pos)
XX = pos.x
YY = pos.y
ZZ = pos.z
end
function runToPoint(tox, toy, toz, bool)
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 botstatus and getDistanceBetweenCoords2d(x, y, tox, toy) > 0.8 do
setGameKeyState(1, -255)
if bool then
setGameKeyState(16, 1)
end
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