diff --git a/[gameplay]/speedometer/client.lua b/[gameplay]/speedometer/client.lua
index ea48b9ef3..ddd2642e1 100644
--- a/[gameplay]/speedometer/client.lua
+++ b/[gameplay]/speedometer/client.lua
@@ -10,6 +10,37 @@ local function dxDrawRelativeImage(startX, startY, width, height, image, rot, ro
dxDrawImage(screenW * startX, screenH * startY, scaledW, scaledH, image, rot or 0, rotX or 0, rotY or 0, color or base_color, postGUI or false)
end
+function dxDrawRelText(text, relX, relY, relWidth, relHeight, color, scaleXY, font, alignX, alignY, clip, wordBreak, postGUI, colorCoded, subPixelPositioning, fRotation, fRotationCenterX, fRotationCenterY, fLineSpacing)
+ local scale = math.min(screenW / baseW, screenH / baseH)
+ local absX = screenW * relX
+ local absY = screenH * relY
+ local absRight = screenW * (relX + relWidth)
+ local absBottom = screenH * (relY + relHeight)
+
+
+ local scaledScale = scaleXY * scale
+
+ dxDrawText(
+ text,
+ absX, absY,
+ absRight, absBottom,
+ color or tocolor(255, 255, 255, 255),
+ scaledScale, scaledScale, -- scaleX, scaleY
+ font or "default",
+ alignX or "left",
+ alignY or "top",
+ clip or false,
+ wordBreak or false,
+ postGUI or false,
+ colorCoded or false,
+ subPixelPositioning or false,
+ fRotation or 0,
+ fRotationCenterX or 0,
+ fRotationCenterY or 0,
+ fLineSpacing or 0
+ )
+end
+
function drawSpeedo()
local veh = getPedOccupiedVehicle(localPlayer)
if not veh then return end
@@ -18,9 +49,35 @@ function drawSpeedo()
local speed = (velx ^ 2 + vely ^ 2 + velz ^ 2) ^ (0.5)
dxDrawRelativeImage(0.82, 0.65, 300, 300, "images/disc.png")
+ local kmh = math.floor( getElementSpeed(veh, 'km/h') ) --mph
+ dxDrawRelText(kmh, 0.65, 0.71, 0.5, 0.1, tocolor(255, 255, 255), 1.5, "default-bold", "center", "center")
+
+ if getVehicleOverrideLights( veh ) == 2 then
+ dxDrawRelativeImage(0.88, 0.85, 40, 40, "images/lights_1.png", 0, 0, 0, tocolor(255, 255, 255, 255))
+ elseif getVehicleOverrideLights( veh ) == 1 then
+ dxDrawRelativeImage(0.88, 0.85, 40, 40, "images/lights_0.png", 0, 0, 0, tocolor(255, 255, 255, 255))
+ else
+ local h,m = getTime()
+ if h >= 6 and h <= 21 then
+ dxDrawRelativeImage(0.88, 0.85, 40, 40, "images/lights_0.png", 0, 0, 0, tocolor(255, 255, 255, 255))
+ else
+ dxDrawRelativeImage(0.88, 0.85, 40, 40, "images/lights_1.png", 0, 0, 0, tocolor(255, 255, 255, 255))
+ end
+ end
+
dxDrawRelativeImage(0.82, 0.65, 300, 300, "images/needle.png", -145-(1.5-(speed/1.5) * 305))
end
+function getElementSpeed(theElement, unit)
+ assert(isElement(theElement), "Bad argument 1 @ getElementSpeed (element expected, got " .. type(theElement) .. ")")
+ local elementType = getElementType(theElement)
+ assert(elementType == "player" or elementType == "ped" or elementType == "object" or elementType == "vehicle" or elementType == "projectile", "Invalid element type @ getElementSpeed (player/ped/object/vehicle/projectile expected, got " .. elementType .. ")")
+ assert((unit == nil or type(unit) == "string" or type(unit) == "number") and (unit == nil or (tonumber(unit) and (tonumber(unit) == 0 or tonumber(unit) == 1 or tonumber(unit) == 2)) or unit == "m/s" or unit == "km/h" or unit == "mph"), "Bad argument 2 @ getElementSpeed (invalid speed unit)")
+ unit = unit == nil and 0 or ((not tonumber(unit)) and unit or tonumber(unit))
+ local mult = (unit == 0 or unit == "m/s") and 50 or ((unit == 1 or unit == "km/h") and 180 or 111.84681456)
+ return (Vector3(getElementVelocity(theElement)) * mult).length
+end
+
local isSpeedoShown = false
function toggleRender(bool)
if bool then
diff --git a/[gameplay]/speedometer/images/lights_0.png b/[gameplay]/speedometer/images/lights_0.png
new file mode 100644
index 000000000..490b7bdd0
Binary files /dev/null and b/[gameplay]/speedometer/images/lights_0.png differ
diff --git a/[gameplay]/speedometer/images/lights_1.png b/[gameplay]/speedometer/images/lights_1.png
new file mode 100644
index 000000000..989a33ed5
Binary files /dev/null and b/[gameplay]/speedometer/images/lights_1.png differ
diff --git a/[gameplay]/speedometer/meta.xml b/[gameplay]/speedometer/meta.xml
index ea9760f81..003ecf077 100644
--- a/[gameplay]/speedometer/meta.xml
+++ b/[gameplay]/speedometer/meta.xml
@@ -3,5 +3,9 @@
+
+
+
+