Proszę
local screenX, screenY = guiGetScreenSize();
local barW,barH = (108/1080) * screenY, (25/1080) * screenY;
local barX,barY = screenX / 2 - barW / 2, screenY * 0.8;
local ballX,ballY;
local ballSize = (17/1080) * screenY;
local ballCenterX = barX + barW / 2 - ballSize / 2;
local ballY = barY + barH / 2 - ballSize / 2;
local bar = dxCreateTexture("pasek.png");
local ball = dxCreateTexture("kulka.png");
addEventHandler('onClientRender', root, function()
local veh = getPedOccupiedVehicle(localPlayer);
if (veh and getVehicleType(veh) == 'Plane') then
local _,ry = getElementRotation(veh);
ry = ry % 360;
local offset = 0;
if (ry <= 90) then
offset = ry;
elseif (ry <= 180) then
offset = (180 - ry);
elseif (ry <= 270) then
offset = -(ry - 180);
else
offset = -(360 - ry);
end
ballX = math.max(barX, math.min(barX + barW - ballSize, barX + barW / 2 + (offset/90) * (barW / 2) - ballSize / 2));
dxDrawImage(barX, barY, barW, barH, bar, 0, 0, 0, 0xFFFFFFFF);
dxDrawImage(ballX, ballY, ballSize, ballSize, ball, 0, 0, 0, 0xFFFFFFFF);
end
end);
Musisz sobie jedynie dopasować pozycje w osi Y oraz zmienić X do swojego paska. Ja obciąłem grafikę paska aby nie miała pustego tła wokół https://imgur.com/M0F1zdp