Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2019-05-03, 23:06


Pyrek24







Wiek: 26
Na forum: 3579 dni
Posty: 546
Nick w MP: Pyrek

Piwa: 10

Respekt: 50

Witam mam element date
setElementData (vehicle, "Pojemnosc:silnika", "2.2cm3")

I Chcia?bym jak pojazd posiada t? element dat? to mo?e tankowa? nie 100 litr?w a 150 litr?w paliwa. Naprawd? prosz? o pomoc.
kod stacji.
ww,hh = 1920, 1080
www,hhh = guiGetScreenSize()
wn, hn = (www/ww), (hhh/hh)
local screenW, screenH = guiGetScreenSize()
function StacjaGui()
        dxDrawLine((screenW * 0.3500) - 1, (screenH * 0.6741) - 1, (screenW * 0.3500) - 1, screenH * 0.8574, tocolor(255, 55, 0, 255), 1, false)
        dxDrawLine(screenW * 0.6698, (screenH * 0.6741) - 1, (screenW * 0.3500) - 1, (screenH * 0.6741) - 1, tocolor(255, 55, 0, 255), 1, false)
        dxDrawLine((screenW * 0.3500) - 1, screenH * 0.8574, screenW * 0.6698, screenH * 0.8574, tocolor(255, 55, 0, 255), 1, false)
        dxDrawLine(screenW * 0.6698, screenH * 0.8574, screenW * 0.6698, (screenH * 0.6741) - 1, tocolor(255, 55, 0, 255), 1, false)
        dxDrawRectangle(screenW * 0.3500, screenH * 0.6741, screenW * 0.3198, screenH * 0.1833, tocolor(0, 0, 0, 210), false)
        dxDrawText("PetrolPoint", (screenW * 0.3495) - 1, (screenH * 0.6778) - 1, (screenW * 0.6698) - 1, (screenH * 0.7269) - 1, tocolor(0, 0, 0, 210), 1.00, "pricedown", "center", "center", false, false, false, false, false)
        dxDrawText("PetrolPoint", (screenW * 0.3495) + 1, (screenH * 0.6778) - 1, (screenW * 0.6698) + 1, (screenH * 0.7269) - 1, tocolor(0, 0, 0, 210), 1.00, "pricedown", "center", "center", false, false, false, false, false)
        dxDrawText("PetrolPoint", (screenW * 0.3495) - 1, (screenH * 0.6778) + 1, (screenW * 0.6698) - 1, (screenH * 0.7269) + 1, tocolor(0, 0, 0, 210), 1.00, "pricedown", "center", "center", false, false, false, false, false)
        dxDrawText("PetrolPoint", (screenW * 0.3495) + 1, (screenH * 0.6778) + 1, (screenW * 0.6698) + 1, (screenH * 0.7269) + 1, tocolor(0, 0, 0, 210), 1.00, "pricedown", "center", "center", false, false, false, false, false)
        dxDrawText("PetrolPoint", screenW * 0.3495, screenH * 0.6778, screenW * 0.6698, screenH * 0.7269, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "center", false, false, false, false, false)
        end

function PasekPaliwa()
local Pojazd = getPedOccupiedVehicle(localPlayer)
local fuel = getElementData(Pojazd,"vehicle:fuel") or 0
if fuel ~= false and fuel ~= nil and fuel > 0 then
        dxDrawLine((screenW * 0.3500) - 1, (screenH * 0.6741) - 1, (screenW * 0.3500) - 1, screenH * 0.8574, tocolor(255, 55, 0, 255), 1, false)
        dxDrawLine(screenW * 0.6698, (screenH * 0.6741) - 1, (screenW * 0.3500) - 1, (screenH * 0.6741) - 1, tocolor(255, 55, 0, 255), 1, false)
        dxDrawLine((screenW * 0.3500) - 1, screenH * 0.8574, screenW * 0.6698, screenH * 0.8574, tocolor(255, 55, 0, 255), 1, false)
        dxDrawLine(screenW * 0.6698, screenH * 0.8574, screenW * 0.6698, (screenH * 0.6741) - 1, tocolor(255, 55, 0, 255), 1, false)
        dxDrawRectangle(screenW * 0.3500, screenH * 0.6741, screenW * 0.3198, screenH * 0.1833, tocolor(0, 0, 0, 210), false)
        dxDrawText("PetrolPoint", (screenW * 0.3495) - 1, (screenH * 0.6778) - 1, (screenW * 0.6698) - 1, (screenH * 0.7269) - 1, tocolor(0, 0, 0, 210), 1.00, "pricedown", "center", "center", false, false, false, false, false)
        dxDrawText("PetrolPoint", (screenW * 0.3495) + 1, (screenH * 0.6778) - 1, (screenW * 0.6698) + 1, (screenH * 0.7269) - 1, tocolor(0, 0, 0, 210), 1.00, "pricedown", "center", "center", false, false, false, false, false)
        dxDrawText("PetrolPoint", (screenW * 0.3495) - 1, (screenH * 0.6778) + 1, (screenW * 0.6698) - 1, (screenH * 0.7269) + 1, tocolor(0, 0, 0, 210), 1.00, "pricedown", "center", "center", false, false, false, false, false)
        dxDrawText("PetrolPoint", (screenW * 0.3495) + 1, (screenH * 0.6778) + 1, (screenW * 0.6698) + 1, (screenH * 0.7269) + 1, tocolor(0, 0, 0, 210), 1.00, "pricedown", "center", "center", false, false, false, false, false)
        dxDrawText("PetrolPoint", screenW * 0.3495, screenH * 0.6778, screenW * 0.6698, screenH * 0.7269, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "center", false, false, false, false, false)
        dxDrawText(math.floor(fuel).."/100 [ L  ]", screenW * 0.3625, screenH * 0.7454, screenW * 0.6583, screenH * 0.8398, tocolor(0, 200, 0, 255), 1.75, "pricedown", "center", "center", false, false, false, false, false)
end
end

local stacje={
    {-2028.05, 158.86, 28.41},
    {-1677.23, 413.70, 6.73},
    {-1683.01, 420.48, 6.73},
    {-1670.14, 406.61, 6.75},
    {70.92, 1217.94, 18.38},
    {-1475.39, 1864.66, 32.18},
    {-1328.37, 2678.03, 49.66},    
}

for _,v in ipairs(stacje)do
    local marker = createMarker(v[1],v[2],v[3]-0.90,"cylinder",2,0,200,0)
    setElementData(marker,"stacja",true)
    local blipStacji =createBlipAttachedTo ( marker, 56 )
    setBlipVisibleDistance(blipStacji, 400)
end

addEventHandler("onClientMarkerHit",resourceRoot,function(e)
    if e==localPlayer then
        if getElementData(source,"stacja") then
            if getElementType(e)=="player" then
                if getPedOccupiedVehicle(e) then
                    if getElementData(getPedOccupiedVehicle(e),"vehicle:fuel") then
                    addEventHandler("onClientRender",root,StacjaGui)
                    addEventHandler("onClientRender",root,PasekPaliwa)
                                                 Sx = getTickCount()
                        bindKey("space","down",tankuj)
                    end
                end
            end
        end
    end
end)

addEventHandler("onClientMarkerLeave",resourceRoot,function(e)
    if e==localPlayer then
        if getElementData(source,"stacja") then
            unbindKey("space","down",tankuj)
            removeEventHandler ("onClientRender", root, StacjaGui)
           removeEventHandler ("onClientRender", root, PasekPaliwa)
        end
    end
end)

function tankuj()
    if getPedOccupiedVehicle(localPlayer) then
        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)


Podpis
amta
Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-05-03, 23:17


Wilq







Wiek: 24
Na forum: 4570 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Musisz sprawdza? czy dany pojazd ma okre?lon? pojemno??, wtedy ustalasz limit.

Mo?esz to zrobi??tak:
function tankuj()
    if getPedOccupiedVehicle(localPlayer) then
        local limit = 100
        if (getElementData(getPedOccupiedVehicle(localPlayer), "Pojemnosc:silnika") == "2.2cm3") then
            limit = 150
        end
        if (getElementData(getPedOccupiedVehicle(localPlayer), "vehicle:fuel") >= limit) then 
            return 
        end
        triggerServerEvent("TANKUJ",localPlayer)
    end
end


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Pyrek24
Wysłany: 2019-05-04, 22:48


Pyrek24







Wiek: 26
Na forum: 3579 dni
Posty: 546
Nick w MP: Pyrek

Piwa: 10

Respekt: 50

Dzi?kuje !

Postaw piwo autorowi tego posta
 

 
Tagi: tankowanie :: paliwa
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Tankowanie paliwa Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku