GetVehicleNitroCount: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:
This function get the nitro count from the [[vehicle]].
This function get the nitro count from the [[vehicle]].
}}
}}
'''Note:''' This function return ''false'' if nitro is not exists. So you need add nitro via function [[addVehicleUpgrade]].


==Syntax==  
==Syntax==  
Line 20: Line 22:
local fCamX, fCamY, fCamZ = getCameraMatrix()
local fCamX, fCamY, fCamZ = getCameraMatrix()
for _, v in ipairs( getElementsByType 'vehicle' ) do
for _, v in ipairs( getElementsByType 'vehicle' ) do
local fX, fY, fZ = getElementPosition( v )
if isVehicleNitroInstalled( v ) then
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' )
dxDrawText( 'Nitro count: ' .. iNitroCount, fX2, fY2, fX2, fY2, tocolor( 255, 255, 255 ), fScale, 'default', 'center', 'bottom' )
end
end
end
end
end

Revision as of 15:51, 9 February 2013

ADDED/UPDATED IN VERSION 1.3.1 r4993:

This function get the nitro count from the vehicle.

Note: This function return false if nitro is not exists. So you need add nitro via function addVehicleUpgrade.

Syntax

int getVehicleNitroCount ( vehicle theVehicle )

Required Arguments

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

Returns

This function returns a nitro count from vehicle.

Example

This example draws a nitro count on vehicles.

addEventHandler( 'onClientRender', root,
	function()
		local fCamX, fCamY, fCamZ = getCameraMatrix()
		for _, v in ipairs( getElementsByType 'vehicle' ) do
			if isVehicleNitroInstalled( v ) then
				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
)

Requirements

This template will be deleted.

See Also