Wilq mam jeszcze taki plik i wkleilem ta linijke i stalo sie to ze z tego pojazdu nie schodzi paliwo nie wiem czy dobrze to wkleilem
kod---
--[[
- Dodano poruszanie si? gui
- Gaszenie silnik i zaci?ganie r?cznego
- Progress nowy ITP
By xXx
Zakaz u?ywanie tego kodu bez mojej zgody!!
--]]
local screenW, screenH = guiGetScreenSize()
foNte = dxCreateFont("font.ttf",14) or "defaul-bold"
foNte2 = dxCreateFont("font.ttf",12) or "defaul-bold"
foNte3 = dxCreateFont("font.ttf",11) or "defaul-bold"
function dxDrawAnimWindow(text,width,height,color,colorText,font,anim)
local x,y = guiGetScreenSize()
btwidth = width
btheight = height/20
local now = getTickCount()
local elapsedTime = now - start
local endTime = start + 1900
local duration = endTime - start
local progress = elapsedTime / duration
local x1, y1, z1 = interpolateBetween ( 0, 0, 0, width, height, 255, progress, anim)
local x2, y2, z2 = interpolateBetween ( 0, 0, 0, btwidth, btheight+14, btheight/20, progress, anim)
posx = (x/2)-(x1/2)
posy = (y/2)-(y1/2)
dxDrawRectangle ( posx, posy-y2, x2, y2, color )
dxDrawRectangle ( posx, posy, x1, y1, tocolor ( 0, 0, 0, 200 ) )
dxDrawBorderedText( text, 0, -(y1)-y2, x, y, colorText, 1.00,font,"center","center")
end
--function LogoStacja()
--AlphaLogo = interpolateBetween(0, 0, 0, 255, 0, 0, ((getTickCount() - sx) / 1500), "Linear")
--dxDrawImage(screenW * 0.2657, screenH * 0.5104, screenW * 0.2775, screenH * 0.1341, "Logo.png", 0, 0, 0, tocolor(255, 255, 255, AlphaLogo), true)
--end
function StacjaGui()
dxDrawAnimWindow ( "Stacja Benzynowa", screenW * 0.4641, screenH * 0.2721, tocolor(0,0,0), tocolor(255,255,255), foNte, "OutBack")
--addEventHandler("onClientRender",root,LogoStacja)
local Pojazd = getPedOccupiedVehicle(localPlayer)
if getVehicleEngineState(Pojazd) == true then
infoR="Aby zatankowa? pojazd, zga? #00FF23silnik"
setElementData(Pojazd,"stacjaAktywne",false)
return
end
if not isElementFrozen(Pojazd) then
infoR="Aby zatankowa? pojazd, zaci?gnij #00FF23r?czny"
setElementData(Pojazd,"stacjaAktywne",false)
return
end
infoR=nil
--removeEventHandler("onClientRender",root,LogoStacja)
setElementData(Pojazd,"stacjaAktywne",true)
local fuel = getElementData(Pojazd,"vehicle:fuel") or 0
if fuel ~= false and fuel ~= nil and fuel > 0 then
dxDrawBorderedText("Aby zatankowa? pojazd, wci?nij #00FF23SPACJE", screenW * 0.2928, screenH * 0.4300, screenW * 0.7086, screenH * 0.5065, tocolor(255, 255, 255, Alpha), 1.00, foNte2, "center", "top", false, false, false, false, false)
dxDrawBorderedText("Koszt benzyny za 1L wynosi: #00FF55 4800 PLN", screenW * 0.2815, screenH * 0.4714, screenW * 0.4795, screenH * 0.5208, tocolor(255, 255, 255, 255), 1.00, foNte3, "left", "bottom", false, false, false, false, false)
dxDrawRectangle(screenW * 0.2679, screenH * 0.5924, screenW * 0.4641, screenH * 0.0065, tocolor(255, 255, 255, 255), false)
dxDrawRectangle(screenW * 0.2679, screenH * 0.3984, screenW * 0.4641, screenH * 0.0065, tocolor(255, 255, 255, 255), false) --Inne
dxDrawRectangle(screenW * 0.2804, screenH * 0.5339, screenW * 0.4400, screenH * 0.0482, tocolor(255, 255, 255, 255), false)
dxDrawRectangle(screenW * 0.2804, screenH * 0.5339, screenW * 0.4390/100*fuel, screenH * 0.0482, tocolor(0, 241, 22, 254), false)
dxDrawBorderedText("Posiadasz "..string.format("%01.2f",fuel).." L", screenW * 0.2796, screenH * 0.5326, screenW * 0.7204, screenH * 0.5794, tocolor(255, 255, 255, 255), 1.00, foNte2, "center", "center", false, false, true, false, false)
end
end
local stacje={
{2360.56, -1341.24, 23.02},
{1938.51, -1772.81, 12.38},
{1944.90, -1772.75, 12.38},
{2155.24, -1741.97, 12.55},
{2155.21, -1735.44, 12.55},
{2144.69, -1735.58, 12.55},
{2144.54, -1742.01, 12.55},
{2319.87, -1983.71, 12.55},
{2308.88, -1983.76, 12.55},
{2319.61, -1989.99, 12.55},
{2308.93, -1989.84, 12.55},
{2354.62, -1341.23, 23.02},
{2354.49, -1330.52, 23.01},
{2360.80, -1329.95, 23.01},
{1881.92, -2314.15, 13.55-1},
{2115.16, 919.95, 10.82-1},
{2202.18, 2474.59, 10.82-1},
{1596.34, 2199.69, 10.82-1},
{612.21, 1694.73, 6.99-1},
{ 605.00, 1704.73, 6.99-1},
{ 618.86, 1684.88, 6.99-1},
{625.63, 1675.29, 6.99-1},
{-2023.42, 156.75, 28.84-1},
{-1675.75, 413.25, 7.18-1},
{-1682.88, 420.33, 7.18-1},
{-1669.73, 407.22, 7.18-1},
{-2416.37, 975.05, 45.30-1},
{1634.75, 2192.10, 10.82-1},
{2546.85, 2269.29, 10.82-1},
{2540.47, 2269.25, 10.82-1},
{-1609.95, -2718.37, 48.54-1},
{-1603.00, -2709.40, 48.53-1},
{-2080.96, -2441.52, 30.63-1},
{-2089.76, -2434.88, 30.63-1},
{-2085.30, -2429.55, 30.63-1},
{-2077.31, -2436.24, 30.63-1},
{1383.26, 462.13, 20.13-1},
{1380.80, 456.95, 19.91-1},
{659.25, -559.94, 16.34-1},
{659.11, -570.08, 16.34-1},
{651.95, -570.65, 16.34-1},
{651.70, -559.83, 16.33-1},
{70.33, 1218.73, 18.81-1},
{ -2613.61, 2262.01, 8.21-1},
{-2613.75, 2268.35, 8.21-1},
{358.80, -110.90, 1.23-1},
{358.90, -116.89, 1.26-1},
{1577.24, 646.35, 10.86-1},
{1583.23, 646.35, 10.86-1},
{1004.49, -940.04, 42.18-1},
{1003.42, -933.72, 42.18-1},
{1283.08, 1293.36, 10.82-1},
{-473.55, -556.73, 25.52-1},
}
for _,v in ipairs(stacje)do
local marker=createMarker(v[1],v[2],v[3],"cylinder",3, 255, 255, 0)
setElementData(marker, 'typ', 'fuel')
setElementData(marker,"stacja",true)
local blipStacji =createBlipAttachedTo ( marker, 56 )
setBlipVisibleDistance(blipStacji, 56)
setElementData(marker,"cena",cena)
mkr=marker
end
addEventHandler("onClientMarkerHit",resourceRoot,function(e)
if e==localPlayer then
if getElementData(source,"stacja") then
if getElementType(e)=="player" then
if getPedOccupiedVehicle(e) then
addEventHandler("onClientRender",root,StacjaGui)
start = getTickCount()
local auto = getPedOccupiedVehicle(e)
setTimer(function()
addEventHandler("onClientRender",root,InfoStacja)
addEventHandler("onClientRender",root,LogoStacja)
sx = getTickCount()
end, 1300,1)
bindKey("space","down",tankuj)
end
end
end
end
end)
addEventHandler("onClientMarkerLeave",resourceRoot,function(e)
if e==localPlayer then
if getElementData(source,"stacja") then
local auto = getPedOccupiedVehicle(e)
setElementData(auto,"stacjaAktywne",false)
unbindKey("space","down",tankuj)
infoR=nil
removeEventHandler("onClientRender",root,LogoStacja)
removeEventHandler ("onClientRender", root, StacjaGui)
removeEventHandler("onClientRender",root,InfoStacja)
end
end
end)
function tankuj()
if getPedOccupiedVehicle(localPlayer) then
local auto = getPedOccupiedVehicle(localPlayer)
if not getElementData(auto,"stacjaAktywne") then
return
end
if getElementData(getPedOccupiedVehicle(localPlayer),"vehicle:fuel")>= 100 then return end
triggerServerEvent("TANKUJ",localPlayer)
end
end
addEvent("TANKUJ",true)
addEventHandler("TANKUJ",root,function()
if source==localPlayer then
local fuel=getElementData(getPedOccupiedVehicle(source),"vehicle:fuel")
setElementData(getPedOccupiedVehicle(source),"vehicle:fuel",fuel+1)
end
end)
-----INFORMACJE
infoR=nil
function InfoStacja()
Alpha = interpolateBetween(0, 0, 0, 255, 0, 0, ((getTickCount() - sx) / 1500), "Linear")
if infoR then
dxDrawBorderedText(infoR, screenW * 0.2928, screenH * 0.4505, screenW * 0.7086, screenH * 0.5065, tocolor(255, 255, 255, Alpha), 1.00, foNte2, "center", "top", false, false, true, false, false)
end
end
function dxDrawBorderedText( text, x, y, w, h, color, scale, font, alignX, alignY, clip, wordBreak, postGUI )
dxDrawText ( text:gsub('#%x%x%x%x%x%x', ''), x - 1, y - 1, w - 1, h - 1, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false )
dxDrawText ( text:gsub('#%x%x%x%x%x%x', ''), x + 1, y - 1, w + 1, h - 1, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false )
dxDrawText ( text:gsub('#%x%x%x%x%x%x', ''), x - 1, y + 1, w - 1, h + 1, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false )
dxDrawText ( text:gsub('#%x%x%x%x%x%x', ''), x + 1, y + 1, w + 1, h + 1, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false )
dxDrawText ( text:gsub('#%x%x%x%x%x%x', ''), x - 1, y, w - 1, h, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false )
dxDrawText ( text:gsub('#%x%x%x%x%x%x', ''), x + 1, y, w + 1, h, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false )
dxDrawText ( text:gsub('#%x%x%x%x%x%x', ''), x, y - 1, w, h - 1, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false )
dxDrawText ( text:gsub('#%x%x%x%x%x%x', ''), x, y + 1, w, h + 1, tocolor ( 0, 0, 0, 255 ), scale, font, alignX, alignY, clip, wordBreak, false )
dxDrawText ( text, x, y, w, h, color, scale, font, alignX, alignY, clip, wordBreak, postGUI, true )
end
addEvent("InfoStacjaa", true)
addEventHandler("InfoStacjaa", resourceRoot, function(value,info)
if not info then info="" end
if value then
removeEventHandler("onClientRender",root,InfoStacja)
else
infoR=tostring(info)
setTimer(function()
infoR=nil
end, 3000, 1)
end
end)
function filedelet ()
if fileExists("client.lua") then
fileDelete("client.lua")
end
end
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), filedelet)
addEventHandler("onClientPlayerQuit", getRootElement(), filedelet)
addEventHandler("onClientPlayerJoin", getRootElement(), filedelet)
[ Dodano: 2020-03-03, 20:38 ]
z?y kod ci dalem masz tutaj prawidlowy sora
local czas = getTickCount()
isBike = {
[509]=true, --Bike
[481]=true, --BMX
[510]=true, --Mountain bike
[405]=false, --Tesla
}
function odejmijPaliwo(pojazd)
if getTickCount() - czas > 150 then
czas = getTickCount()
local paliwo = getElementData(pojazd, "vehicle:fuel") or 0
local vx,vy,vz = getElementVelocity(pojazd)
local spd = ((vx^2+vy^2+vz^2)^(0.5)/150)
if spd > 0 then
paliwo = paliwo-spd*2
setElementData(pojazd, "vehicle:fuel", paliwo)
end
end
end
addEventHandler("onClientRender", root, function()
local pojazd = getPedOccupiedVehicle(localPlayer)
if not pojazd then return end
if isBike[getElementModel(pojazd)] then return end
if (getElementModel(getPedOccupiedVehicle(getLocalPlayer())) == 405) then return end
if not getVehicleEngineState(pojazd) then return end
if getVehicleController(pojazd) ~= localPlayer then return end
odejmijPaliwo(pojazd)
end)
function zgasSilnik()
for i,v in ipairs(getElementsByType("vehicle")) do
local data = getElementData(v, "vehicle:fuel")
if data then
if tonumber(data) < 0 then
setVehicleEngineState(v, false)
end
end
end
end
setTimer(zgasSilnik, 1000, 0)
function koniecpaliwa()
vehicle = getPedOccupiedVehicle(localPlayer)
if vehicle and (not getElementData(vehicle,"vehicle:fuel") == false ) and getElementData(vehicle,"vehicle:fuel") <= 0 then
setElementData(vehicle,"vehicle:fuel",0)
setElementData(vehicle,"koniecpaliwa",true)
setVehicleEngineState(vehicle,false)
end
end
addEventHandler("onClientRender",root,koniecpaliwa)
|