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

Wysłany: 2016-04-14, 21:45


amama5







Wiek: 39
Na forum: 4886 dni
Posty: 57
Nick w MP: kamiloooswas

Piwa: 2

Respekt: 40,5

Ostrzeżeń: 100%
Witam, mam problem z przechowalnia ot?? nie zapisuje paliwa i przebiegu ;(
nie wiem jak to zrobi?

--SQL LITE
handler = dbConnect("sqlite", "przechowywalnia.db")
dbExec(handler, "CREATE TABLE IF NOT EXISTS `przechowywalnia` (`id` INTEGER, `model` INTEGER, `wlasciciel` INTEGER, przebieg FLOAT, paliwo FLOAT)")
dbExec(handler, "CREATE TABLE IF NOT EXISTS `puszkodzenia` (`id` INTEGER, `hp` INTEGER, `p0` INTEGER, `p1` INTEGER, `p2` INTEGER, `p3` INTEGER, `p4` INTEGER, `p5` INTEGER, `p6` INTEGER)")

function onStartPrzechowywalnia()
--marker
local maly = createMarker( -100.38,1051.10,19.87-0.9, "cylinder", 1.4, 36, 255, 0, 85)
addEventHandler("onMarkerHit", maly, onPrzechowywalniaHit)
local przecho = createBlip (-96.87,1040.83,19.87, 35)
duzy = createMarker(-96.87,1040.83,19.87-0.9, "cylinder", 8, 0, 133, 99, 80)
end
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), onStartPrzechowywalnia)

function onPrzechowywalniaHit(hitElement)
    if getElementType(hitElement) == "player" then
    local acc = getPlayerAccount(hitElement)
        if acc then
        local veh = getPedOccupiedVehicle(hitElement)
            if not veh then
            local login = getAccountName(acc)
            local query = dbQuery(handler, "SELECT * FROM przechowywalnia WHERE wlasciciel='"..login.."'")
            local result, rows = dbPoll (query, -1)
            triggerClientEvent(hitElement, "showPrzechowywalniaGUI", root, result or {})
            end
        end
    end
end

addEvent("onPrzywrocPojazdZPrzechowywalni", true)
addEventHandler("onPrzywrocPojazdZPrzechowywalni", getRootElement(),
function(id)
local query = dbQuery(handler, "SELECT * FROM przechowywalnia WHERE id='"..id.."'")
local result, rows = dbPoll (query, -1)
    if #result > 0 then
    dbExec(handler, "DELETE FROM przechowywalnia WHERE id='"..id.."'")
    
    --tworze pojazd
    local x, y, z = getElementPosition(duzy)
    local zrob = exports.systempojazdow:stworzPojazd(id, x, y, z+2)
        if zrob then
        setVehicleDamage(zrob)
        setElementData(zrob, "pojazdy_paliwo", paliwo)
        setElementData(zrob, "pojazdy_przebieg", przebieg)
        warpPedIntoVehicle(source, zrob)
        else
        outputChatBox("#919191[#CC0000ERROR#919191]Podane auto #CC0000nie istnieje#919191.", source, 255, 255, 255, true)
        end
    dbExec(handler, "DELETE FROM puszkodzenia WHERE id='"..id.."'")
    else
    outputChatBox("#919191[#CC0000ERROR#919191]Podane auto #CC0000nie istnieje #919191ju? w przechowywalni.", source, 255, 255, 255, true)
    end
end)

function czyPojazdJestWPrzechowywalni(id)
local query = dbQuery(handler, "SELECT * FROM przechowywalnia WHERE id='"..id.."'")
local result, rows = dbPoll (query, -1)
    if #result > 0 then
    return true
    else
    return false
    end
end
--##
timery = {}

function onPrzechoVehExit(player, seat)
    if seat == 0 then
    local id = getElementData(source, "car_id")
        if id then
            if isElementWithinMarker(source, duzy) then
            timery[id] = setTimer(oddajPojazdDoPrzechowywalni, 50, 1, source, player, id, true)
            end
        end
    end
end
addEventHandler("onVehicleExit", getRootElement(), onPrzechoVehExit)

function oddajPojazdDoPrzechowywalni(veh, player, id, bool, paliwo, przebieg)
    if isElement(veh) then
    local acc = getPlayerAccount(player)
        if acc then
        local wlasciciel = getElementData(veh, "car_owner")
        local model = getElementModel(veh)
        local paliwo = getElementData(veh, "pojazdy_paliwo") or 100
        local przebieg = getElementData(veh, "pojazdy_przebieg") or 100
        dbExec(handler, "INSERT INTO przechowywalnia VALUES('"..id.."', '"..model.."', '"..wlasciciel.."', '"..paliwo.."', '"..przebieg.."')")

        --<< zniszczenia
        local hp, p0, p1, p2, p3, p4, p5, p6 = getVehicleDamage(veh)
        dbExec(handler, "INSERT INTO puszkodzenia VALUES('"..id.."', '"..hp.."', '"..p0.."', '"..p1.."', '"..p2.."', '"..p3.."', '"..p4.."', '"..p5.."', '"..p6.."')")
        
        --
        if isElement(player) then
            if bool then
            outputChatBox("#919191Tw?j pojazd #FF9D00"..getVehicleName(veh).." #919191zosta? umieszczony w przechowywalni.", player, 255, 255, 255, true)
            else
            outputChatBox("#919191Odda?e? pojazd #FF9D00"..getVehicleName(veh).." #919191do przechowywalni.", player, 255, 255, 255, true)
            end
        end

        destroyElement(veh)
        end
    end
end

function komendaDlaAdmina(player)
local acc = getPlayerAccount(player)
    if acc then
    local login = getAccountName(acc)    
        if isObjectInACLGroup ("user."..login, aclGetGroup("Admin")) then
        local veh = getPedOccupiedVehicle(player)
            if veh then
            local id = getElementData(veh, "car_id")
                if id then
                oddajPojazdDoPrzechowywalni(veh, player, id)
                end
            end
        end
    end
end
addCommandHandler("oddajauto", komendaDlaAdmina)

function komendaDlaAdmina2(player)
local acc = getPlayerAccount(player)
    if acc then
    local login = getAccountName(acc)    
        if isObjectInACLGroup ("user."..login, aclGetGroup("Supporter")) then
        local veh = getPedOccupiedVehicle(player)
            if veh then
            local id = getElementData(veh, "car_id")
                if id then
                oddajPojazdDoPrzechowywalni(veh, player, id)
                end
            end
        end
    end
end
addCommandHandler("oddajauto", komendaDlaAdmina2)

function onPrzechoVehEnter(player, seat)
    if seat == 0 then
    local id = getElementData(source, "car_id")
        if id then
            if isTimer(timery[id]) then
            killTimer(timery[id])
            end
        end
    end
end
addEventHandler("onVehicleEnter", getRootElement(), onPrzechoVehEnter)

function komendaDlaAdmina3(player)
local acc = getPlayerAccount(player)
    if acc then
    local login = getAccountName(acc)    
        if isObjectInACLGroup ("user."..login, aclGetGroup("Admin2")) then
        local veh = getPedOccupiedVehicle(player)
            if veh then
            local id = getElementData(veh, "car_id")
                if id then
                oddajPojazdDoPrzechowywalni(veh, player, id)
                end
            end
        end
    end
end
addCommandHandler("oddajauto", komendaDlaAdmina3)

--<< Zapis i ustawianie uszkodzen w pojezdzie
function getVehicleDamage(veh)
local id = getElementData(veh, "car_id")
    if id then
    save = {}
    local hp = getElementHealth(veh)
        for i=0, 6 do
        local panel = getVehiclePanelState (veh, i)
        save[i] = panel
        end
    local p0, p1, p2, p3, p4, p5, p6 = save[0], save[1], save[2], save[3], save[4], save[5], save[6]
    
    save = nil
    return hp, p0, p1, p2, p3, p4, p5, p6
    end
end

function setVehicleDamage(veh)
local id = getElementData(veh, "car_id")
    if id then
    local query = dbQuery(handler, "SELECT * FROM puszkodzenia WHERE id='"..id.."'")
    local result, rows = dbPoll (query, -1)
        if #result > 0 then
        local hp, p0, p1, p2, p3, p4, p5, p6 = result[1].hp, result[1].p0, result[1].p1, result[1].p2, result[1].p3, result[1].p4, result[1].p5, result[1].p6
        save = {}
        save = {p0, p1, p2, p3, p4, p5, p6}
            for i=0, 6 do
            setVehiclePanelState (veh, i, save[i + 1])
            end
        setElementHealth(veh, hp)
        save = nil
        end
    end
end


Prosz? o szybk? pomoc za pomoc R* i :piwo:

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-04-17, 19:52


OzikGames|YT

Skrypter LUA






Wiek: 26
Na forum: 3907 dni
Posty: 53
Nick w MP: OzikGames

Piwa: 749

Respekt: 50

Ostrzeżeń: 100%
amama5,
Podaj downoald do ca?ego skryptu to przerobie ci.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-04-17, 19:55


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4290 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4661

Respekt: 1436,8
Respekt: 1436,8

OzikGames|YT, Dobra pr?ba wy?udzenia kodu.
Co do problemu to


Więcej informacji znajdziesz w Wikipedii MTA:

dbQuery


Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-04-17, 20:06


OzikGames|YT

Skrypter LUA






Wiek: 26
Na forum: 3907 dni
Posty: 53
Nick w MP: OzikGames

Piwa: 749

Respekt: 50

Ostrzeżeń: 100%
marcin778, no , dobra tak ale nie mam ?adnego przecho i nie umiem przypi?? pod SystemPojazd?wByPanPrezes

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-06-16, 16:35


Loop

Inspektor






Wiek: 28
Na forum: 4430 dni
Posty: 311
Nick w MP: Inspektor

Piwa: 201

Respekt: 130
Respekt: 130

Lepiej jest zrobi? funkcje exportow? do zapisu pojazdow z systemu pojazd?w.

Postaw piwo autorowi tego posta
 

 
Tagi: przechowalnia
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






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