- 1
- 0
- Версия MoonLoader
- .026-beta
Добрый день нашел скрипт ''Метка на чекпоинт'' Дело в том что если чекпоинт далеко он не ставит туда метку
Как сделать что бы он ставил метку когда чекпоинт далеко?
ap
ap
Как сделать что бы он ставил метку когда чекпоинт далеко?
Код:
require "lib.sampfuncs"
function main()
if not isSampfuncsLoaded() or not isSampLoaded() then return end
sampRegisterChatCommand("marker", cmd)
while true do wait(0) end
end
function cmd(param)
if isPlayerPlaying(playerHandle) then
local posX, posY, posZ = getCharCoordinates(playerPed)
local res, x, y, z = SearchMarker(posX, posY, posZ, 99999999999.0, false)
if res then
if (math.floor(x) == 1099 and math.floor(y) == 1601 and math.floor(z) == 11) or (math.floor(x) == 2695 and math.floor(y) == -1705 and math.floor(z) == 10) then return sampAddChatMessage("Маркер не найден", -1) end
sampAddChatMessage(string.format("Найден обычный маркер в координатах %.2f %.2f %.2f", x, y, z), -1)
placeWaypoint(x, y, z)
else
res, x, y, z = SearchMarker(posX, posY, posZ, 1.0, true)
if res then
sampAddChatMessage(string.format("Найден гоночный маркер в координатах %.2f %.2f %.2f", x, y, z), -1)
placeWaypoint(x, y, z)
else
sampAddChatMessage("Маркер не найден", -1)
end
end
end
end
function SearchMarker(posX, posY, posZ, radius, isRace)
local ret_posX = 0.0
local ret_posY = 0.0
local ret_posZ = 0.0
local isFind = false
for id = 0, 31 do
local MarkerStruct = 0
if isRace then MarkerStruct = 0xC7F168 + id * 56
else MarkerStruct = 0xC7DD88 + id * 160 end
local MarkerPosX = representIntAsFloat(readMemory(MarkerStruct + 0, 4, false))
local MarkerPosY = representIntAsFloat(readMemory(MarkerStruct + 4, 4, false))
local MarkerPosZ = representIntAsFloat(readMemory(MarkerStruct + 8, 4, false))
if MarkerPosX ~= 0.0 or MarkerPosY ~= 0.0 or MarkerPosZ ~= 0.0 then
if getDistanceBetweenCoords3d(MarkerPosX, MarkerPosY, MarkerPosZ, posX, posY, posZ) < radius then
ret_posX = MarkerPosX
ret_posY = MarkerPosY
ret_posZ = MarkerPosZ
isFind = true
radius = getDistanceBetweenCoords3d(MarkerPosX, MarkerPosY, MarkerPosZ, posX, posY, posZ)
end
end
end
return isFind, ret_posX, ret_posY, ret_posZ
end
ap
Вложения
Последнее редактирование: