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

Wysłany: 2020-07-02, 14:14


TheSebaPL

Mod-team






Wiek: 22
Na forum: 3239 dni
Posty: 964

Piwa: 3101

Respekt: 640,5
Respekt: 640,5Respekt: 640,5

Witam, mam problem i? jak kupi? auto z salonu i oddam go do przecho automatycznie nadaje mi LPG ale nie zmienia warto?ci w bazie danych na 1

Kod:

--///////////////////////////////////// ZAPISYWANIE POJAZD?W /////////////////////////////////
function onSaveVehicle(vehicle)
    if getElementData(vehicle,"vehicle:spawn") then
        -- Setting
        local panelstates={}
        local model=getElementModel(vehicle)
        local health=getElementHealth(vehicle)
        local x,y,z=getElementPosition(vehicle)
        local rx,ry,rz=getElementRotation(vehicle)
        local desc=getElementData(vehicle,"vehicle:desc") or ""
        local id=getElementData(vehicle,"vehicle:id")
        local fuel=getElementData(vehicle,"vehicle:fuel")
        local lpg = getElementData(vehicle, "vehicle:lpgfuel") or 0
    local lpg2 = getElementData(vehicle, "vehicle:lpg") or 0
        local mileage=getElementData(vehicle,"vehicle:mileage")
        local c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12=getVehicleColor(vehicle, true)
        local driver=getElementData(vehicle,"vehicle:driver") or ""
        local rent=getElementData(vehicle,"vehicle:rent") or ''
        local player=getElementData(vehicle,"vehicle:ownedPlayer")
        local group=getElementData(vehicle,"vehicle:ownedGroup")
        local blokada=getElementData(vehicle,"vehicle:block")        
        local h1,h2,h3=getVehicleHeadLightColor(vehicle)
        local paintjob=getVehiclePaintjob(vehicle)
        local mask=getElementData(vehicle,"vehicle:masked") or 0
        local neon=getElementData(vehicle,"neony")
        local rear="Brak"
        local frozen= isElementFrozen(vehicle) and 1 or 0
        for i=0,6 do table.insert(panelstates, getVehiclePanelState(vehicle,i)) end
        panelstates=table.concat(panelstates,",")
        upgrades=getVehicleUpgrades(vehicle)
        if not upgrades then upgrades={} end
        upgrades=table.concat(upgrades, ",")
        -- Query
        local query = exports["pystories-db"]:dbSet(string.format("UPDATE pystories_vehicles SET model='%d', pos='%.2f,%.2f,%.2f,%.2f,%.2f,%.2f', rent='%d',text='%s', masked='%d', health='%d', fuel='%d', lpg='%d', mileage='%d', frozen='%d', driver='%s', color='%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d', panelstates='%s', paintjob='%d', tuning='%s', headlights='%d,%d,%d', ownedPlayer='%d', neon='%d', blokada='%s',lpg2='%d' WHERE id=%d",
        model, x,y,z, rx,ry,rz, "0",desc, mask,health, fuel, lpg, mileage, frozen, driver, c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12, panelstates, paintjob, upgrades, h1,h2,h3, player, neon, tostring(blokada),lpg2, id))
        if (type(rent) == "table") then
        local rr = string.format("%s", table.concat(rent, ',') )
        local query2= exports['pystories-db']:dbSet("UPDATE pystories_vehicles SET rent=? WHERE id=?",rr,id)
        end
    end
end

function onParkVehicle(vehicle) 
    local query=exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET parking=1 WHERE id=?", getElementData(vehicle,"vehicle:id"))
    if query then
        local zneony=getElementData(vehicle,"zneony")
        if (zneony and type(zneony)=="table") then
        destroyElement(zneony[1])
        destroyElement(zneony[2])
        removeElementData(vehicle,"zneony")
        end
        destroyElement(vehicle)
    end
end



tak?e

--///////////////////////////////////// WCZYTYWANIE POJAZD?W /////////////////////////////////
function onRespawnVehicles(_,id,poss,buyed,player,Przecho)
    -- Settings (QUERY)
    if id then
        result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_vehicles WHERE parking=1 AND id=?", id)
        query=exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET parking=0 WHERE id=?", id)
    else
        result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_vehicles WHERE parking=0")
    end

    -- Pairs
    for ile,vehicle in pairs(result) do
        vehicles=ile

        if id then pos={poss[1], poss[2], poss[3], poss[4], poss[5], poss[6]}
        else pos=split(vehicle["pos"], ",") end

        local color=split(vehicle["color"], ",")
        local lights=split(vehicle["headlights"], ",")

        local veh=createVehicle(vehicle["model"], pos[1], pos[2], pos[3], pos[4], pos[5], pos[6])
        if buyed then
            warpPedIntoVehicle(player,veh)
            if Przecho == "Tak" then
                triggerClientEvent( root, "parking:setCollidable", veh, veh, false );
            end
        end
        setVehicleColor(veh, color[1], color[2], color[3], color[4],color[5], color[6], color[7], color[8],color[9], color[10], color[11], color[12])
        setVehicleHeadLightColor(veh, lights[1], lights[2], lights[3])
        if vehicle["plateText"] ~= "" then
        setVehiclePlateText(veh, vehicle["plateText"])
        else
         setVehiclePlateText(veh, tostring("PL "..vehicle["id"]))
        end
        setElementFrozen(veh, (vehicle["frozen"]) > 0)
        if vehicle["paintjob"] ~= 3 then
        setVehiclePaintjob(veh, vehicle["paintjob"])
        end
        setElementHealth(veh, vehicle["health"])
        setElementData(veh,"vehicle:spawn",true)
        setElementData(veh,"vehicle:id", vehicle["id"])
        setElementData(veh,"vehicle:fuel", vehicle["fuel"])
        setElementData(veh,"vehicle:desc", false)
        setElementData(veh,"vehicle:mileage", vehicle["mileage"])
        setElementData(veh,"vehicle:driver", vehicle["driver"])
        setElementData(veh,"vehicle:ownedGroup", vehicle["ownedGroup"])
        setElementData(veh,"vehicle:ownedPlayer", vehicle["ownedPlayer"])
        setElementData(veh,"vehicle:lpgfuel", vehicle["lpg"])
        setElementData(veh,"vehicle:lpg", vehicle["lpg2"])                
        setElementData(veh, "vehicle:pojemnosc", vehicle["pojemnosc_silnika"])

        if vehicle["lpg"] then
        setElementData(veh,"vehicle:lpgfuel",vehicle["lpg"])
        end


Z g?ry prosi?bym o wyt?umaczenie jak na "ch?opski rozum".

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-02, 14:20


Wilq







Wiek: 24
Na forum: 4570 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Kod lpg?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-02, 14:22


TheSebaPL

Mod-team






Wiek: 22
Na forum: 3239 dni
Posty: 964

Piwa: 3101

Respekt: 640,5
Respekt: 640,5Respekt: 640,5

local sx, sy = guiGetScreenSize()
m = 1
select = false

local time=getTickCount()

local function naliczaj(veh)
    if getTickCount()-time>5000 then
        time = getTickCount()
        local fuel = getElementData(veh, "vehicle:fuel") or 0
        local mileage = getElementData(veh,"vehicle:mileage") or 0
        local vx,vy,vz = getElementVelocity(veh)
        local spd=((vx^2 + vy^2 + vz^2)^(0.5)/2)
        if spd>0 then
            fuel = fuel-(spd*2)/3
            if not getElementData(veh, "vehicle:lpgon") then
                setElementData(veh, "vehicle:fuel", fuel)
            end
            mileage = mileage+(spd)
            setElementData(veh, "vehicle:mileage", mileage)
        end
    end
end

addCommandHandler("nadajlpgtemuswietemuautu", function()
    setElementData(getPedOccupiedVehicle(localPlayer), "vehicle:lpgfuel", 50)
    end)

function renderStacji()
    if not getPedOccupiedVehicle(localPlayer) then
        removeEventHandler("onClientRender", root, renderStacji)
        removeEventHandler("onClientClick", root, clickStacja)
        showCursor(false)
    end
    if m == 1 then
        dxDrawImage(sx * 0.35, sy * 0.4, sx * 0.3, sy * 0.2, "data/background.png")
        if isMouseInPosition(sx * 0.45, sy * 0.47, sx * 0.04, sx * 0.04) then
            dxDrawImage(sx * 0.45, sy * 0.47, sx * 0.04, sx * 0.04, "data/LPG.png")
        else
            dxDrawImage(sx * 0.45, sy * 0.47, sx * 0.04, sx * 0.04, "data/LPG.png", 0, 0, 0, tocolor(255, 255, 255, 155))
        end
        if isMouseInPosition(sx * 0.51, sy * 0.47, sx * 0.04, sx * 0.04) then
            dxDrawImage(sx * 0.51, sy * 0.47, sx * 0.04, sx * 0.04, "data/PB.png")
        else
            dxDrawImage(sx * 0.51, sy * 0.47, sx * 0.04, sx * 0.04, "data/PB.png", 0, 0, 0, tocolor(255, 255, 255, 155))
        end
    else
        dxDrawImage(sx * 0.3, sy * 0.35, sx * 0.4, sy * 0.3, "data/background.png")
        if select == "lpg" then
            fuel = getElementData(getPedOccupiedVehicle(localPlayer), "vehicle:lpgfuel")
            if getKeyState("space") then
                if fuel < 100 and getPlayerMoney(localPlayer) > 1 then
                    fuel = math.min(fuel + 0.1, 100)
                    triggerServerEvent("zabierzHajs", localPlayer, 1)
                end
                setElementData(getPedOccupiedVehicle(localPlayer), "vehicle:lpgfuel", fuel)
            end
        else
            fuel = getElementData(getPedOccupiedVehicle(localPlayer), "vehicle:fuel")
            if getKeyState("space") then
                if fuel < 100 and getPlayerMoney(localPlayer) > 1 then
                    fuel = math.min(fuel + 0.1, 100)
                    triggerServerEvent("zabierzHajs", localPlayer, 1)
                end
                setElementData(getPedOccupiedVehicle(localPlayer), "vehicle:fuel", fuel)
            end
        end
        dxDrawText("Stan paliwa", sx/2, sy * 0.46, sx/2, sy * 0.46, white, 1, "default-bold", "center", "center")
        dxDrawRectangle(sx * 0.4, sy * 0.475, (sx * 0.2) * 1, sy * 0.05, tocolor(0, 0, 0, 155))
        dxDrawRectangle(sx * 0.4, sy * 0.475, (sx * 0.2) * (fuel / 100), sy * 0.05, tocolor(0, 153, 255))
        dxDrawText("Przytrzymaj spacj?&#8482; aby zatankowa?&#8225;", sx/2, sy * 0.62, sx/2, sy * 0.62, white, 1, "default-bold", "center", "center")
    
    end
end

local lastPos = {0, 0, 0}
local tick = getTickCount()

addEventHandler("onClientRender", root, function()
    local v = getPedOccupiedVehicle(localPlayer)
    if not v then return end
    local fuel = getElementData(v, "vehicle:lpgfuel")
    if getElementData(v, "vehicle:lpgon") then
        if tick > getTickCount() then return end
        tick = getTickCount() + 1000
        local x, y, z = getElementPosition(v)
        local dist = getDistanceBetweenPoints3D(x, y, z, unpack(lastPos))
        local fuel = math.max(fuel - dist/1000, 0)
        setElementData(v, "vehicle:lpgfuel", fuel)
        lastPos = {x, y, z}
    end
    local vehicle = getPedOccupiedVehicle(localPlayer)
    if not vehicle then return end
    if not getVehicleEngineState(vehicle) then return end
    if getElementData(vehicle,"vehicle:fuel") and getElementData(vehicle,"vehicle:fuel") or getElementData(vehicle,"vehicle:mileage") and getElementData(vehicle,"vehicle:mileage") then
        naliczaj(vehicle)
        if getElementData(vehicle,"vehicle:fuel")<1 then
                setVehicleEngineState(vehicle, false)
        end

    end
end)


addEventHandler("onClientRender", root, function()
    local vehicle = getPedOccupiedVehicle(localPlayer)
    if not vehicle then return end
    if not getVehicleEngineState(vehicle) then return end
    if getElementData(vehicle,"vehicle:lpgfuel") and getElementData(vehicle,"vehicle:lpgfuel") then
        naliczaj(vehicle)
        if getElementData(vehicle,"vehicle:lpgon") ~= false then
        if getElementData(vehicle,"vehicle:lpgfuel")<1 then
            setVehicleEngineState(vehicle, false)
            --outputChatBox("* Butla LPG jest pusta.")
                   outputChatBox("#00ccff(?) #FFFFFFButla LPG jest pusta.",255,255,255,true)
        end
        end

    end
end)

function clickStacja(btn, state)
    if btn == "left" and state == "down" then
        if isMouseInPosition(sx * 0.45, sy * 0.47, sx * 0.04, sx * 0.04) then
            local lpg = getElementData(getPedOccupiedVehicle(localPlayer), "vehicle:lpgfuel")
            if not lpg then
                triggerEvent( "onClientAddNotification", localPlayer, "Nie posiadasz zamontowanego LPG", "info" )
            else
                m = 2
                select = "lpg"
            end
        end
        if isMouseInPosition(sx * 0.51, sy * 0.47, sx * 0.04, sx * 0.04) then
            m = 2
            select = "pb"
        end
    end
end

addEventHandler("onClientResourceStart", resourceRoot, function()
    for k,v in pairs(stacje) do
        local marker = createMarker(v[1], v[2], v[3]-1, "cylinder", 3, 0, 255, 255)
        blipStacji = createBlipAttachedTo ( marker, 56 )
        setBlipVisibleDistance(blipStacji, 350)
        addEventHandler("onClientMarkerHit", marker, function(hit)
            if hit ~= localPlayer then return end
            if not getPedOccupiedVehicle(localPlayer) then return end
            addEventHandler("onClientRender", root, renderStacji)
            addEventHandler("onClientClick", root, clickStacja)
            showCursor(true, false)
            m = 1
        end)
        addEventHandler("onClientMarkerLeave", marker, function(hit)
            if hit ~= localPlayer then return end
            removeEventHandler("onClientRender", root, renderStacji)
            removeEventHandler("onClientClick", root, clickStacja)
            showCursor(false)
        end)
    end
end)

function isMouseInPosition ( x, y, width, height )
    if ( not isCursorShowing( ) ) then
        return false
    end
    local sx, sy = guiGetScreenSize ( )
    local cx, cy = getCursorPosition ( )
    local cx, cy = ( cx * sx ), ( cy * sy )
    
    return ( ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) )
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-02, 14:36


Wilq







Wiek: 24
Na forum: 4570 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

W tym warunku
if vehicle["lpg"] then

nawet kiedy b?dzie 0 w bazie, ustawi Ci element dat? - wtedy lpg b?dzie dzia?a? i wykrywa? jako obecne.
Musisz przerobi? to, aby r?wna?o si? konkretnej warto?ci (1 czy tam co? innego).

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-02, 14:45


TheSebaPL

Mod-team






Wiek: 22
Na forum: 3239 dni
Posty: 964

Piwa: 3101

Respekt: 640,5
Respekt: 640,5Respekt: 640,5

Wilq, czyli co mam zastosowa? ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-02, 14:57


Wilq







Wiek: 24
Na forum: 4570 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Zastosowa? inny warunek sprawdzaj?cy - bardziej sprecyzowany, kt?ry por?wna konkretne dane do konkretnej warto?ci (if x == y then), a nie tylko stan (if x then).

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-02, 15:49


TheSebaPL

Mod-team






Wiek: 22
Na forum: 3239 dni
Posty: 964

Piwa: 3101

Respekt: 640,5
Respekt: 640,5Respekt: 640,5

Wilq, to mam np da? tak: je?eli mam paliwo to warto?? LPG aby pozostawa?a na 0 czy jak ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-02, 15:51


Wilq







Wiek: 24
Na forum: 4570 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Nie ustawiaj w og?le element daty je?li pojazd nie ma LPG zamontowanego w bazie danych.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-02, 15:58


TheSebaPL

Mod-team






Wiek: 22
Na forum: 3239 dni
Posty: 964

Piwa: 3101

Respekt: 640,5
Respekt: 640,5Respekt: 640,5

Wilq, m?g? by? da? jaki? przyk?ad ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-02, 16:07


Wilq







Wiek: 24
Na forum: 4570 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Ju? poda?em:
local x = "tak"
if x == "tak" then
   -- tak
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-02, 16:21


TheSebaPL

Mod-team






Wiek: 22
Na forum: 3239 dni
Posty: 964

Piwa: 3101

Respekt: 640,5
Respekt: 640,5Respekt: 640,5

Co? pr?buj? aczkolwiek mam b??d w tej linijce:
local vehicle["lpg"]) = "tak"


B??d: unexpected symbol near '['

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-02, 16:45


Wilq







Wiek: 24
Na forum: 4570 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

yy a po co ta linijka? to by? przyk?ad tylko...

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-02, 18:13


TheSebaPL

Mod-team






Wiek: 22
Na forum: 3239 dni
Posty: 964

Piwa: 3101

Respekt: 640,5
Respekt: 640,5Respekt: 640,5

Wilq, zrobi?em tak:

        local lpg = vehicle["lpg"]
        if lpg == 0 then
            setElementData(veh,"vehicle:fuel", vehicle["fuel"])
        end    
        
        local lpg2 = vehicle["lpg"]
        if lpg2 == 1 then
                setElementData(veh,"vehicle:lpgfuel", vehicle["lpg"])
                setElementData(veh,"vehicle:lpg", vehicle["lpg2"])
        end


Tylko je?eli nie mam dodanych wy?ej:

        setElementData(veh,"vehicle:lpg", vehicle["lpg2"])
        setElementData(veh,"vehicle:lpgfuel", vehicle["lpg"])


A jak dodam to tak jak by?o dodaje dalej LPG

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-02, 19:10


mixLoLmix2

Programista






Wiek: 35
Na forum: 4254 dni
Posty: 454
Nick w MP: TomeQmix

Piwa: 1915

Respekt: 47,3

A widzisz by?em u ciebie na serwerze i nie zauwa?y?em tego, dzi? wejde i ci poka?e co i jak :)

[ Dodano: 2020-07-02, 19:13 ]

        local lpg = vehicle["lpg"]
        if lpg == 0 then
            setElementData(veh,"vehicle:fuel", vehicle["fuel"])
        end    

Nie wiem po co to poniewa? wy?ej raczej mia?e? nadawanie paliwa.


if vehicle["lpg2"] == 1 then
        setElementData(veh,"vehicle:lpg", vehicle["lpg2"])
        setElementData(veh,"vehicle:lpgfuel", vehicle["lpg"])
end

Spr?buj tak.

[ Dodano: 2020-07-02, 19:14 ]
lpg2 to czy masz wgl lpg
a lpg to litry tego :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-07-02, 19:23


TheSebaPL

Mod-team






Wiek: 22
Na forum: 3239 dni
Posty: 964

Piwa: 3101

Respekt: 640,5
Respekt: 640,5Respekt: 640,5

Do zamkni?cia.

Postaw piwo autorowi tego posta
 

 
Tagi: lpg
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA 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