- 108
- 10
- Версия MoonLoader
- .026-beta
Помогите пожалуйста исправить проблему. Переделал камхак от "sanek a.k.a Maks_Fender, edited by ANIKI" под активацию на команду - все работает, вот только даже когда я не использую дрон (камхак), если нажимаю + или - на экране выводится скорость, которая меняется в зависимости от нажатия. Так же проблема с нажатием клавиши Enter. Я сделал выход из камхака на Enter - это работает, но когда я не использую дрон, при нажатии на Enter камера зацикливается на центре и двигать камерой (мышью) не получается, оно мгновенно возвращается в центр. Могу предоставить видео. Помогите пожалуйста решить проблему!
Код:
Код:
Lua:
function main()
while not isSampAvailable() do wait(0) end
sampAddChatMessage("[Samsonov Helper]: {FFFFFF}Samsonov Helper запущен успешно! Версия: {007FB4}1.0 {FFFFFF}Разработчик - {009ADB}[Blue] Arseniy_Samsonov", 0x007FB4)
sampAddChatMessage("[Samsonov Helper]: {FFFFFF}Меню скрипта: {007FB4}/samsa", 0x007FB4)
-- Регистрация остальных команд
sampRegisterChatCommand('test', function()
window[0] = not window[0]
end)
sampRegisterChatCommand('1p', function()
lua_thread.create(function()
autoAnswer()
end)
end)
sampRegisterChatCommand('1uninvite', function(args)
lua_thread.create(function()
cmd_uninvite(args)
end)
end)
sampRegisterChatCommand('1invite', function(args)
lua_thread.create(function()
cmd_invite(args)
end)
end)
sampRegisterChatCommand('1changeskin', function(args)
lua_thread.create(function()
cmd_changeskin(args)
end)
end)
-- Регистрация команды для дрона
sampRegisterChatCommand('drone', function()
lua_thread.create(function()
OnDrone()
end)
end)
drone = 0
speed = 1.0
angZ, angY, posX, posY, posZ = 0.0, 0.0, 0.0, 0.0, 0.0
-- Главный цикл
while true do
wait(0)
if drone == 1 then
CameraAndDrone()
DroneSpeed()
end
if isKeyDown(VK_RETURN) then
if drone == 1 then
OffDrone()
end
end
end
end
function OnDrone()
if drone == 0 then
displayRadar(false)
displayHud(false)
posX, posY, posZ = getCharCoordinates(playerPed)
angZ = getCharHeading(playerPed) * -1.0
angY = 0.0
setFixedCameraPosition(posX, posY, posZ, 0.0, 0.0, 0.0)
lockPlayerControl(true)
drone= 1
sampAddChatMessage("[Drone]: {FFFFFF}Режим дрона активирован.", 0xFFFF00)
else
OffDrone()
end
end
function CameraAndDrone()
if drone == 1 then
Camera()
moveDrone()
CameraAtDrone()
end
end
function Camera()
local offMouX, offMouY = getPcMouseMovement()
angZ = (angZ + offMouX / 4.0) % 360.0
angY = math.min(89.0, math.max(-89.0, angY + offMouY / 4.0))
end
function moveDrone()
if drone == 1 then
local radZ = math.rad(angZ)
local radY = math.rad(angY)
local forwardX = math.sin(radZ) * math.cos(radY)
local forwardY = math.cos(radZ) * math.cos(radY)
local forwardZ = math.sin(radY)
local rightX = math.sin(radZ + math.pi / 2)
local rightY = math.cos(radZ + math.pi / 2)
if isKeyDown(VK_W) then
posX = posX + forwardX * speed
posY = posY + forwardY * speed
posZ = posZ + forwardZ * speed
end
if isKeyDown(VK_S) then
posX = posX - forwardX * speed
posY = posY - forwardY * speed
posZ = posZ - forwardZ * speed
end
if isKeyDown(VK_A) then
posX = posX - rightX * speed
posY = posY - rightY * speed
end
if isKeyDown(VK_D) then
posX = posX + rightX * speed
posY = posY + rightY * speed
end
if isKeyDown(VK_SPACE) then
posZ = posZ + speed
end
if isKeyDown(VK_SHIFT) then
posZ = posZ - speed
end
end
end
function CameraAtDrone()
if drone == 1 then
local radZ = math.rad(angZ)
local radY = math.rad(angY)
local camX = posX + math.sin(radZ) * math.cos(radY)
local camY = posY + math.cos(radZ) * math.cos(radY)
local camZ = posZ + math.sin(radY)
setFixedCameraPosition(posX, posY, posZ, 0.0, 0.0, 0.0)
pointCameraAtPoint(camX, camY, camZ, 2)
end
end
function DroneSpeed()
if drone == 1 then
if isKeyDown(187) then
speed = speed + 0.01
printStringNow(string.format("Speed: %.2f", speed), 1000)
end
if isKeyDown(189) then
speed = speed - 0.01
if speed < 0.01 then speed = 0.01 end
printStringNow(string.format("Speed: %.2f", speed), 1000)
end
end
end
function OffDrone()
displayRadar(true)
displayHud(true)
lockPlayerControl(false)
restoreCameraJumpcut()
setCameraBehindPlayer()
drone= 0
sampAddChatMessage("[Drone]: {FFFFFF}Режим дрона отключён.", 0xFFFF00)
end