Jump to content

System paliwa dla samolotów


Recommended Posts

Witam, czego użyć lub w jaki sposób stworzyć system paliwa dla samolotów?

local screenX, screenY = guiGetScreenSize()

local scale = math.min(screenX/1680, screenY/1050)

local function dxDrawRelativeImage(x, y, w, h, image, r, g, b, a, postGUI)
	    return dxDrawImage(x * scale, y * scale, w * scale, h * scale, image, r, g, b, a, postGUI)
end

local samolotyZJednymSilnikiem = {
	[593] = true,
    [512] = true,
    [476] = true,
    [460] = true,
    [513] = true,
    [548] = true,
    [425] = true,
    [417] = true,
    [487] = true,
    [488] = true,
    [497] = true,
    [563] = true,
    [447] = true,
    [469] = true
}

function Zegary()
	dxDrawRelativeImage(899, 741, 249, 244, "Zegary/paliwo_jednosilnikowe.png") -- zegar paliwa
	dxDrawRelativeImage(899 + 15, 741 + 25, 176, 195, "Zegary/DALTSHORT.png", 128) -- wskazówka paliwa ustawiona na rezerwę
end

local pokazZegary = false 
function toggleRender(bool)
	if bool then
		pokazZegary = true
		addEventHandler("onClientRender", root, Zegary)
	else
		pokazZegary = false
		removeEventHandler("onClientRender", root, Zegary)
	end
end

local fuelMarkerSF = createMarker(-1118.2998046875, -191.599609375, 13.5, "cylinder", 30)

local oknoDystrybutora = guiCreateStaticImage(930, 434, 314, 229, "Zegary/paliwoSamolotowe.png", false) -- okno tankowania
guiSetVisible(oknoDystrybutora, false)
local tankuj = guiCreateButton(147, 151, 128, 39, "Tankuj", false, oknoDystrybutora) -- button tankowania
guiSetVisible(tankuj, false)
local zamknij = guiCreateButton(46, 35, 23, 22, "X", false, oknoDystrybutora) -- zamknięcie okna
guiSetVisible(zamknij, false)

function onFuelMarkerHit(hitElement)
	local veh = getPedOccupiedVehicle(localPlayer)
	if not veh or not samolotyZJednymSilnikiem[getElementModel(veh)] then return end
		local vx, vy, vz = getElementVelocity(veh)
		local speed = math.sqrt(vx^2 + vy^2 + vz^2)
		if speed < 1 then
			guiSetVisible(oknoDystrybutora, true)
			guiSetVisible(tankuj, true)
			guiSetVisible(zamknij, true)
			showCursor(true)
		end
end
addEventHandler("onClientMarkerHit", fuelMarkerSF, onFuelMarkerHit)

function zamknijPanelPaliwa()
	guiSetVisible(oknoDystrybutora, false)
	guiSetVisible(tankuj, false)
	guiSetVisible(zamknij, false)
	showCursor(false)
end
addEventHandler("onClientGUIClick", zamknij, zamknijPanelPaliwa)

local litryPaliwa = 26
local cenaZaLitr = 3.50

Jak zrobić aby domyślnie gdy pojazd nie był tankowany po wejściu będzie miał rezerwę?

Rotacje wskazówki wynoszą full:

dxDrawRelativeImage(899 + 20, 741 + 25, 176, 195, "Zegary/DALTSHORT.png", 30)

rezerwa:

dxDrawRelativeImage(899 + 20, 741 + 25, 176, 195, "Zegary/DALTSHORT.png", 128)

pusty:

dxDrawRelativeImage(899 + 20, 741 + 25, 176, 195, "Zegary/DALTSHORT.png", 150)

Tak to wygląda: https://tinypic.host/image/paliwo.Dv9rAd

Edited by Matevsz
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...