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

Wysłany: 2013-07-23, 09:10


Drak







Wiek: 35
Na forum: 5044 dni
Posty: 71
Nick w MP: Drak

Piwa: 3

Respekt: 50

Witam! Jak zrobi? zapis tuningu aut? Jakich funkcji u?y??

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-23, 13:32


Piorun







Wiek: 33
Na forum: 6853 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

W jakiej formie chcesz? Do pliku czy bazy danych?

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-23, 14:37


Drak







Wiek: 35
Na forum: 5044 dni
Posty: 71
Nick w MP: Drak

Piwa: 3

Respekt: 50

Do bazy wbudowanej w MTA.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-23, 14:53


Piorun







Wiek: 33
Na forum: 6853 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Najpierw musisz sobie utworzy? tabel?, w kt?rej b?d? zapisywane pojazdy. Najbardziej potrzebna b?dzie Ci wiedza o kwerendach (powiedzmy takimi zapytaniami do bazy). Poczytaj wi?c o kwerendach: SELECT, INSERT, UPDATE. Jest tego mn?stwo na internecie.

Tutaj masz wszystkie funkcje dot. SQL w MTA: http://wiki.multitheftaut...s#SQL_functions . Znajdziesz tam r?wnie? gotowe przyk?ady wraz z obja?nieniami. Pami?taj, ?e baza danych o rozszerzeniu .db (tak to jest plik) zapisuje si? w folderze "databases" (katalog "global") w g??wnym katalogu serwera.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-23, 15:29


Drak







Wiek: 35
Na forum: 5044 dni
Posty: 71
Nick w MP: Drak

Piwa: 3

Respekt: 50

No dobra. Mam ju? zapis aut, ale bez tuningu.

Funkcja zapisu:
function cmdSaveCar( source )
     local ac = getPlayerAccount( source )
    if ac then
        local acname = getAccountName( ac )
        if acname then
            local veh = getPedOccupiedVehicle( source )
            if veh then
                if getElementData( veh, "private_car" ) then
                    if getElementData( veh, "private_ac" ) == acname then
                         if not getElementData( veh, "private_id" ) then
                             if getPlayerDom( source ) then
                                local nid = 1
                                local res
                                while true do
                                    res = executeSQLSelect( "cars", "ac", "id=" .. nid )
                                    if #res == 0 then break end
                                    nid = nid + 1
                                end
                                if nid then
                                    local x,y,z = getElementPosition( veh )
                                    local _,_,r = getElementRotation( veh )
                                    r = math.floor( r )
                                    local f = getElementData( veh, "fuel" )
                                    f = math.floor( f )
                                    local i = getElementModel( veh )
                                    local sc = executeSQLInsert( "cars", nid .. ",'" .. acname .. "'," .. i .. "," .. x .. "," .. y .. "," .. z .. "," .. r .. "," .. f )
                                    if sc then
                                        setElementData( veh, "private_car", true )
                                        setElementData( veh, "private_ac", acname )
                                        setElementData( veh, "private_id", nid )
                                        setElementData( veh, "to_delete", false )
                                        setVehicleRespawnPosition( veh, x, y, z, 0, 0, r )
                                        outputChatBox( "* Pojazd zostal zapisany.", source, 0, 255, 0, true )
                                    else
                                        outputChatBox( "* Blad podczas zapisywania.", source, 255, 0, 0, true )
                                    end
                                end
                             else
                                outputChatBox( "* Nie posiadasz domu.", source, 255, 0, 0, true )
                            end
                        else
                            outputChatBox( "* Ten pojazd jest juz zapisany.", source, 255, 0, 0, true )
                            outputChatBox( "* Jesli chcesz go zapisac ponownie, wpisz najpierw /delcar a potem /savecar.", source, 255,255, 0, true )
                        end
                    else
                        outputChatBox( "* Ten pojazd nie jest twoj.", source, 255, 0, 0, true )
                    end    
                else
                    outputChatBox( "* Ten pojazd nie jest twoj.", source, 255, 0, 0, true )
                end
            else
                outputChatBox( "* Nie jestes w pojezdzie.", source, 255, 0, 0, true )
            end
        end
    end
end

addCommandHandler( "savecar", cmdSaveCar )


Funkcja tworzenia pojazd?w:
function setSalon()
    salonMarker = createMarker( -1966.0849609375, 294.0546875, 34.86875, "cylinder", 1, 0, 255, 0 )
    local nums = executeSQLQuery("SELECT count(*) AS count FROM ?","cars")
    nums = nums[1].count
    local rows = executeSQLQuery("SELECT rowid, * FROM ? ORDER BY rowid LIMIT 0,"..nums.."","cars")
    for k,v in ipairs(rows) do
        local data = {}
        for k2,v2 in pairs(v) do
            data[k2] = tonumber( v2 ) or tostring( v2 )
        end
        local veh = createVehicle( data.idv, data.x, data.y, data.z, 0, 0, data.r )
        setElementData( veh, "private_car", true )
        setElementData( veh, "private_ac", data.ac )
        setElementData( veh, "private_id", data.id )
        setElementData( veh, "fuel", data.fuel )
    end
end


Co doda?, aby funkcja "cmdSaveCar" zapisywa?a tuning, a nast?pnie funkcja "setSalon" ten tuning wczytywa?a?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-07-23, 16:15


Piorun







Wiek: 33
Na forum: 6853 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Tagi: zapis :: tuningu :: aut
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






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