GetVehicleNitroCount: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
(Remove obsolete Requirements section)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Client function}}
{{Client function}}
{{New feature/item|4.0132|1.3.1|4993|
{{New feature/item|3.0131|1.3.1|4993|
This function get the nitro count from the [[vehicle]].
This function gets the nitro count of the [[vehicle]].
}}
}}
 
{{Warning|Only works if the vehicle is streamed in, use [[isElementStreamedIn]] to check.}}
'''Note:''' This function return ''false'' if nitro is not exists. So you need add nitro via function [[addVehicleUpgrade]].
{{Warning|Function not working correctly}}  
==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">int getVehicleNitroCount ( vehicle theVehicle )</syntaxhighlight>  
<syntaxhighlight lang="lua">int getVehicleNitroCount ( vehicle theVehicle )</syntaxhighlight>  
Line 14: Line 12:


===Returns===
===Returns===
This function returns a nitro count from vehicle.
Returns ''an integer'' determining the amount of nitro counts of the vehicle, ''false'' if there is no nitro in the vehicle.


==Example==
==Example==
This example draws a nitro count on vehicles.
<section name="Client" class="client" show="true">
<syntaxhighlight lang="lua">addEventHandler( 'onClientRender', root,
This example draws the nitro count on vehicle on the player's screen.
function()
<syntaxhighlight lang="lua">
local fCamX, fCamY, fCamZ = getCameraMatrix()
function drawNitroCounts()
for _, v in ipairs( getElementsByType 'vehicle' ) do
local fCamX, fCamY, fCamZ = getCameraMatrix()
if getVehicleUpgradeOnSlot( v, 8 ) then -- Nitro installed?
for _, v in ipairs(getElementsByType("vehicle")) do
local fX, fY, fZ = getElementPosition( v )
if getVehicleUpgradeOnSlot(v, 8) then -- Check if the vehicle has nitro installed
local fCamX, fCamY, fCamZ = getCameraMatrix()
local fX, fY, fZ = getElementPosition(v)
local fX2, fY2 = getScreenFromWorldPosition( fX, fY, fZ + 0.85, 0.08 )
local fCamX, fCamY, fCamZ = getCameraMatrix()
if fX2 then
local fX2, fY2 = getScreenFromWorldPosition(fX, fY, fZ + 0.85, 0.08)
local fDistance = getDistanceBetweenPoints3D( fX, fY, fZ, fCamX, fCamY, fCamZ )
if fX2 then
if fDistance < 60 then
local fDistance = getDistanceBetweenPoints3D(fX, fY, fZ, fCamX, fCamY, fCamZ)
if isLineOfSightClear( fCamX, fCamY, fCamZ, fX, fY, fZ, true, false, false, true, false ) then
if fDistance < 60 then
local pVehicle = getPedOccupiedVehicle( localPlayer )
if isLineOfSightClear(fCamX, fCamY, fCamZ, fX, fY, fZ, true, false, false, true, false) then
if not pVehicle or pVehicle ~= v then
local pVehicle = getPedOccupiedVehicle(localPlayer)
local fScale = ( 60 / fDistance ) * 0.7
if not pVehicle or pVehicle ~= v then
local iNitroCount = getVehicleNitroCount( v )
local fScale = (60 / fDistance) * 0.7
dxDrawText( 'Nitro count: ' .. iNitroCount, fX2 + 1, fY2 + 1, fX2 + 1, fY2 + 1, tocolor( 0, 0, 255 ), fScale, 'default', 'center', 'bottom' )
local iNitroCount = getVehicleNitroCount(v)
dxDrawText( 'Nitro count: ' .. iNitroCount, fX2, fY2, fX2, fY2, tocolor( 255, 255, 255 ), fScale, 'default', 'center', 'bottom' )
dxDrawText("Nitro count: " .. iNitroCount, fX2 + 1, fY2 + 1, fX2 + 1, fY2 + 1, tocolor(0, 0, 255), fScale, "default", "center", "bottom")
end
dxDrawText("Nitro count: " .. iNitroCount, fX2, fY2, fX2, fY2, tocolor(255, 255, 255), fScale, "default", "center", "bottom")
end
end
end
end
Line 43: Line 41:
end
end
end
end
)</syntaxhighlight>
end
 
addEventHandler("onClientRender", root, drawNitroCounts)
==Requirements==
</syntaxhighlight>
{{Requirements|n/a|1.3.1-9.04993|}}
</section>


==See Also==
==See Also==
{{Vehicle functions}}
{{Client_vehicle_functions}}

Latest revision as of 17:10, 7 November 2024

This function gets the nitro count of the vehicle.

[[|link=|]] Warning: Only works if the vehicle is streamed in, use isElementStreamedIn to check.

Syntax

int getVehicleNitroCount ( vehicle theVehicle )

Required Arguments

  • theVehicle The vehicle which you want to get a nitro count.

Returns

Returns an integer determining the amount of nitro counts of the vehicle, false if there is no nitro in the vehicle.

Example

Click to collapse [-]
Client

This example draws the nitro count on vehicle on the player's screen.

function drawNitroCounts()
	local fCamX, fCamY, fCamZ = getCameraMatrix()
	for _, v in ipairs(getElementsByType("vehicle")) do
		if getVehicleUpgradeOnSlot(v, 8) then -- Check if the vehicle has nitro installed
			local fX, fY, fZ = getElementPosition(v)
			local fCamX, fCamY, fCamZ = getCameraMatrix()
			local fX2, fY2 = getScreenFromWorldPosition(fX, fY, fZ + 0.85, 0.08)
			if fX2 then
				local fDistance = getDistanceBetweenPoints3D(fX, fY, fZ, fCamX, fCamY, fCamZ)
				if fDistance < 60 then
					if isLineOfSightClear(fCamX, fCamY, fCamZ, fX, fY, fZ, true, false, false, true, false) then
						local pVehicle = getPedOccupiedVehicle(localPlayer)
						if not pVehicle or pVehicle ~= v then
							local fScale = (60 / fDistance) * 0.7
							local iNitroCount = getVehicleNitroCount(v)
							dxDrawText("Nitro count: " .. iNitroCount, fX2 + 1, fY2 + 1, fX2 + 1, fY2 + 1, tocolor(0, 0, 255), fScale, "default", "center", "bottom")
							dxDrawText("Nitro count: " .. iNitroCount, fX2, fY2, fX2, fY2, tocolor(255, 255, 255), fScale, "default", "center", "bottom")
						end
					end
				end
			end
		end
	end
end
addEventHandler("onClientRender", root, drawNitroCounts)

See Also