Ich habe ein Problem und zwar Ich habe ein Script für die Tachoanzeige die auch auf 1.0 geklappt hat nur jetzt habe ich ein Homeserver ueber 1.1 habe mein Script reingehaun und wenn ich jetzt mit einem Car fahr dan ist die Tachoanzeige fail O.o .Ich hau nur das wichtigste rein...
Lua
function drawNeedle()
if not isPedInVehicle(lp) then
hideSpeedometer()
end
local vehSpeed = getVehicleSpeed()
local veh = getPedOccupiedVehicle(lp)
if veh then
local hour, minute = getTime ()
if hour >= 20 or hour <= 8 then
if hour >= 20 then
hour = 4 - ( 24 - hour )
elseif hour <= 8 then
hour = 4 - ( hour / 2 )
end
local alpha = math.floor ( hour * 63.75 )
dxDrawImage ( g_screenWidth - g_ImageW - g_XOffset,g_screenHeight - g_ImageH - g_YOffset, g_ImageW, g_ImageH, "images/disc_night.bmp", 0, 0, 0, tocolor ( 255, 255, 255, alpha ), true )
end
nh = (g_screenHeight - g_ImageH - g_YOffset) - 5
nw = (g_screenWidth - g_ImageW - g_XOffset) + 2
n2h = (g_screenHeight - g_ImageH - g_YOffset) - 3
n2w = (g_screenWidth - g_ImageW - g_XOffset) + 81
lh = (g_screenHeight - g_ImageH - g_YOffset) + 175
local lights = getVehicleOverrideLights ( veh )
if lights then
if lights == 2 then
dxDrawImage( g_screenWidth - g_ImageW - g_XOffset + 52 / 2 / 2 + 10 + 85, g_screenHeight - g_ImageH + 89 + 39 / 2, 52/2, 39/2, "images/lights.png", 0, 0, 0, white, true)
end
end
if getVehicleEngineState ( veh ) then
dxDrawImage( g_screenWidth - g_ImageW - g_XOffset - 52 / 2 / 2 - 10 + 85, g_screenHeight - g_ImageH + 89 + 39 / 2, 52/2, 39/2, "images/engine.png", 0, 0, 0, white, true)
end
lhz = math.abs(20/2)
lwz = math.abs(8)
lts = math.abs(25/2)
ltg = math.abs(60)
l1x = (g_screenWidth - g_ImageW - g_XOffset) + ltg
l2x = (g_screenWidth - g_ImageW - g_XOffset) + lts + ltg
l3x = (g_screenWidth - g_ImageW - g_XOffset) + lts*2 + ltg
l4x = (g_screenWidth - g_ImageW - g_XOffset) + lts*3 + ltg
l5x = (g_screenWidth - g_ImageW - g_XOffset) + lts*4 + ltg
l6x = (g_screenWidth - g_ImageW - g_XOffset) + lts*5 + ltg
NR1, NR2, NR3, NR4, NR5, NR6 = getVehicleTraveledDistance ( veh )
dxDrawImage(l1x-3, lh-3, l6x+3-(l1x-3)+lhz, lwz+6, "images/numbers/empty.bmp", 0, 0, 0, white, true)
dxDrawImage(l1x, lh, lhz, lwz, "images/numbers/"..NR1..".bmp", 0, 0, 0, white, true)
dxDrawImage(l2x, lh, lhz, lwz, "images/numbers/"..NR2..".bmp", 0, 0, 0, white, true)
dxDrawImage(l3x, lh, lhz, lwz, "images/numbers/"..NR3..".bmp", 0, 0, 0, white, true)
dxDrawImage(l4x, lh, lhz, lwz, "images/numbers/"..NR4..".bmp", 0, 0, 0, white, true)
dxDrawImage(l5x, lh, lhz, lwz, "images/numbers/"..NR5..".bmp", 0, 0, 0, white, true)
dxDrawImage(l6x, lh, lhz, lwz, "images/numbers/"..NR6..".bmp", 0, 0, 0, white, true)
dxDrawImage(l6x-3, lh+lwz-1, 4, 4, "images/reddot.png", 0, 0, 0, white, true)
vehFuel = getElementData ( veh, "fuelstate" )
if not vehFuel then
setElementData ( veh, "fuelstate", 100 )
vehFuel = 100
end
if vehFuel and nh and nw and n2h and n2w then
vehFuel = vehFuel*1.85
dxDrawImage(nw, nh, g_ImageW/2, g_ImageH/2, "images/needle.png", vehFuel+13, 0, 0, white, true)
end
local drehzahl = getDrehzahl( veh )
if drehzahl then
dxDrawImage(n2w, n2h, g_ImageW/3*2, g_ImageH/3*2, "images/needle.png", 78+172*drehzahl, 0, 0, white, true)
end
dxDrawImage(x, y, g_ImageW, g_ImageH, "images/needle.png", vehSpeed-3, 0, 0, tocolor(255,255,255), true)
end
end
function getPedOccupiedVehicleSeat ( player )
local veh = getPedOccupiedVehicle ( player )
if veh then
for i = 0, getVehicleMaxPassengers ( veh ) do
if getVehicleOccupant ( veh, i ) == player then
return i
end
end
else
return false
end
end
function showSpeedometer()
if getPedOccupiedVehicleSeat ( lp ) == 0 then
guiSetVisible(disc, true)
local x1, y1, z1 = getElementPosition ( getPedOccupiedVehicle ( lp ) )
refreshVehDistance_client ()
getDistanceTraveled ( getPedOccupiedVehicle ( lp ), x1, y1, z1 )
addEventHandler("onClientRender", root, drawNeedle)
end
end
function hideSpeedometer()
guiSetVisible( disc, false)
removeEventHandler("onClientRender", root, drawNeedle)
end
function getVehicleSpeed()
if isPedInVehicle(lp) then
local vx, vy, vz = getElementVelocity(getPedOccupiedVehicle(lp))
return math.sqrt(vx^2 + vy^2 + vz^2) * 161 * multiply
end
return 0
end
addEventHandler("onClientVehicleEnter", root,
function(player, seat)
if not trailers[getElementModel ( source )] and getElementModel ( source ) ~= 438 then
if (player == lp) then
if (seat == 0) then
showSpeedometer()
elseif seat > 0 and seat < 4 then
setTimer ( showSpeedometer, 1000, 1 )
end
end
end
end
)
addEventHandler("onClientVehicleStartExit", root,
function(thePlayer)
if thePlayer == lp then
hideSpeedometer()
KMDistance = 0
end
end
)
function round(num)
return math.floor(num + 0.5)
end
function initGui()
if disc then
destroyElement(disc)
end
g_screenWidth, g_screenHeight = guiGetScreenSize()
local scale
if c_EnableScaling then
scale = (g_screenWidth/1152 + g_screenHeight/864)/2
else
scale = 1
end
g_XOffset = round(c_XOffset*scale)
g_YOffset = round(c_YOffset*scale)
g_ImageW = round(c_ImageW*scale)
g_ImageH = round(c_ImageH*scale)
g_BarW = round(c_BarW*scale)
g_BarH = round(c_BarH*scale)
g_BarYOffset = round(c_BarYOffset*scale)
disc = guiCreateStaticImage(g_screenWidth - g_ImageW - g_XOffset, g_screenHeight - g_ImageH - g_YOffset, g_ImageW, g_ImageH, "images/disc.bmp", false)
x, y = guiGetPosition(disc, false)
y = y + 40
x = x - 15
end
addEventHandler("onClientResourceStart", rootElement,
function ()
initGui()
guiSetVisible(disc, false)
setTimer(function()
local w, h = guiGetScreenSize()
if (w ~= g_screenWidth) or (h ~= g_screenHeight) then
initGui()
end
end, 500, 0)
if isPedInVehicle(lp) then
showSpeedometer()
end
end
)
function VehEject_func ()
removePedFromVehicle ( lp )
end
addEvent ("VehEject", true )
addEventHandler ("VehEject", getRootElement(), VehEject_func )
function refreshVehDistance_client ()
veh = getPedOccupiedVehicle ( lp )
if veh then
if getPedOccupiedVehicleSeat ( lp ) == 0 then
if not getElementData ( veh, "distance" ) then
else
triggerServerEvent ( "refreshVehDistance", getRootElement(), veh, KMDistance + getElementData ( veh, "distance" ) )
KMDistance = 0
setTimer ( refreshVehDistance_client, 60000, 1 )
end
end
end
end
function getDistanceTraveled ( veh, x1, y1, z1 )
local veh = getPedOccupiedVehicle ( lp )
if veh then
if getPedOccupiedVehicleSeat ( lp ) == 0 then
local x2, y2, z2 = getElementPosition ( veh )
local nd = getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 ) / 100
KMDistance = KMDistance + nd
setTimer ( getDistanceTraveled, 500, 1, veh, x2, y2, z2 )
end
end
end
function getVehicleTraveledDistance ( veh )
local dis = getElementData ( veh, "distance" )
if not dis then
setElementData ( veh, "distance", 0 )
end
if dis then
distance = math.floor ( dis ) + math.floor ( KMDistance )
if distance > maxDistanceKilometer then
setElementData ( veh, "distance", 0, true )
end
minus = math.abs ( ( # ( tostring ( distance ) ) ) - 6 )
for i = 1, 6 do
_G["v"..i] = 0
end
counter = 0
while counter < 10 do
i = # ( tostring ( distance ) ) - 1
z = math.floor ( distance / ( 10 ^ ( i ) ) )
distance = distance - z * ( 10 ^ ( i ) )
counter = counter + 1
_G["v"..(counter+minus)] = z
end
return v1, v2, v3, v4, v5, v6
end
end
Alles anzeigen
Die Tanknadel, das Licht und Energie werden nicht angezeigt außerdem zeigt es die Nadel für die Drehzahl nicht an.
Ich habe jetzt hier mal was gefunden wo es die km/h Nadel anzeigt beim Tacho
aber der rest geht nicht wie oben beschrieben bitte um hilfe !!!!
Wenn ihr nochwas braucht bitte sagen