That's because you put it to only draw one of them depending on the speed.
local sw, sh = guiGetScreenSize ( )
function reddotTest ( )
local theVehicle = getPedOccupiedVehicle ( localPlayer )
if ( theVehicle ) then
local speedx, speedy, speedz = getElementVelocity ( theVehicle )
local actualspeed = ( speedx ^ 2 + speedy ^ 2 + speedz ^ 2 ) ^ ( 0.5 )
local kmh = ( actualspeed * 180 )
dxDrawImage ( sw / 2, sh / 2, 32, 32, "files/blackdot.png" )
dxDrawImage ( sw / 1.80, sh / 2, 32, 32, "files/blackdot.png" )
dxDrawImage ( sw / 1.60, sh / 2, 32, 32, "files/blackdot.png" )
dxDrawImage ( sw / 1.40, sh / 2, 32, 32, "files/blackdot.png" )
dxDrawImage ( sw / 1.20, sh / 2, 32, 32, "files/blackdot.png" )
--dxDrawImage(sw/2,sh/2,32,32,"files/reddot.png")
dxDrawText ( math.floor ( kmh + 0.5 ) .. " km/h", sw / 2, sh / 1.80, sw / 2, sh / 1.80, tocolor ( 255, 255, 255, 255 ), 1, "bankgothic" )
if ( kmh > 50 ) then
dxDrawImage ( sw / 2, sh / 2, 32, 32, "files/reddot.png" )
outputChatBox ( "50 or more" )
end
if ( kmh >= 100 ) then
dxDrawImage ( sw / 1.80, sh / 2, 32, 32, "files/reddot.png" )
outputChatBox ( "100 or more" )
end
if ( kmh >= 150 ) then
dxDrawImage ( sw / 1.60, sh / 2, 32, 32, "files/reddot.png" )
outputChatBox ( "150 or more" )
end
if ( kmh >= 200 ) then
dxDrawImage ( sw / 1.40, sh / 2, 32, 32, "files/reddot.png" )
outputChatBox ( "200 or more" )
end
if ( kmh >= 250 ) then
dxDrawImage ( sw / 1.20, sh / 2, 32, 32, "files/reddot.png" )
outputChatBox ( "250 or more" )
end
end
end
Try it.