- 145
- 39
Мне очень понравился этот прицел, это простая точка и при наведении на игрока она становится красным, так вот это вечный прицел, как сделать так чтобы он не был вечным? а работал лишь тогда когда я зажимаю ПКМ.
скажите мне пж если там стиллеры, с паблика качал, код открытый, прогнал через AVP, но всё таки есть сомнения, хз почему.
Вот собственно говоря сам код:
скажите мне пж если там стиллеры, с паблика качал, код открытый, прогнал через AVP, но всё таки есть сомнения, хз почему.
Вот собственно говоря сам код:
Lua:
require("lib.moonloader")
require("lib.sampfuncs")
local vkeys = require("vkeys")
local memory = require("memory")
local inicfg = require("inicfg")
local config_direct = "infinity_crosshair"
local iniconfig = inicfg.load(nil, config_direct)
if iniconfig == nil then
ini = {
main = {
customCrosshairActive = true,
showCrosshairInstantly = true,
reactToVehicle = false,
gameCrosshair = false,
outOfAiming = false,
?osshairSizeX = 4.0,
crosshairSizeY = 4.0,
}
}
inicfg.save(ini, config_direct)
iniconfig = inicfg.load(nil, config_direct)
end
local customCrosshairActive = iniconfig["main"]["customCrosshairActive"]
local gameCrosshair = iniconfig["main"]["disableGameCrosshair"]
local showCrosshairInstantly = iniconfig["main"]["showCrosshairInstantly"]
local reactToVehicle = iniconfig["main"]["reactToVehicle"]
local outOfAiming = iniconfig["main"]["outOfAiming"]
local ?osshairSizeX = iniconfig["main"]["?osshairSizeX"]
local crosshairSizeY = iniconfig["main"]["crosshairSizeY"]
function join_argb(a, r, g, b)
local argb = b
argb = bit.bor(argb, bit.lshift(g, 8))
argb = bit.bor(argb, bit.lshift(r, 16))
argb = bit.bor(argb, bit.lshift(a, 24))
return argb
end
function set_crosshair_render_state(param)
crosshair = {5825260,5825281,5825270,5825265,5825471,5825498,5825489,5825480,5825568,5825587,5825578,5825573,5825633,5825660,5825651,5825638,5825638,5825159,5825180,5825175,5825170}
for i, val in ipairs(crosshair) do
memory.write(val, param and 255 or 0, 1, true)
end
end
function main()
while not isSampAvailable() do wait(100) end
local crosshairPos = {convertGameScreenCoordsToWindowScreenCoords(339.1, 179.1)}
if customCrosshairActive then
set_crosshair_render_state(gameCrosshair and true or false)
end
while customCrosshairActive do
wait(0)
local cam = {getActiveCameraCoordinates()}
local aim = {convertScreenCoordsToWorld3D(crosshairPos[1], crosshairPos[2], 3000)}
local result, colPoint = processLineOfSight(cam[1], cam[2], cam[3], aim[1], aim[2], aim[3], false, reactToVehicle and true or false, true, false, false, false, false, false)
if result then
if isLineOfSightClear(cam[1], cam[2], cam[3], colPoint.pos[1], colPoint.pos[2], colPoint.pos[3], true, reactToVehicle and false or true, false, true, true) then
color = true
if isCharInCar(PLAYER_PED, getVehiclePointerHandle(colPoint.entity)) then
color = false
end
if PLAYER_PED == getCharPointerHandle(colPoint.entity) then
color = false
end
end
else
color = false
end
if outOfAiming == false then
if showCrosshairInstantly == true or (showCrosshairInstantly == true and isKeyDown(vkeys.VK_RBUTTON)) then
renderDrawPolygon(crosshairPos[1], crosshairPos[2], ?osshairSizeX, crosshairSizeY, 48, 0, color and join_argb(255, 255, 21, 0) or -1)
end
else
if not isKeyDown(vkeys.VK_RBUTTON) then
renderDrawPolygon(crosshairPos[1], crosshairPos[2], ?osshairSizeX, crosshairSizeY, 48, 0, color and join_argb(255, 255, 21, 0) or -1)
end
end
end
end