Wysłany: 2013-07-23, 09:10
Drak
Wiek: 34 Na forum: 4903 dni Posty: 71
Nick w MP: Drak
Piwa : 3
Witam! Jak zrobi? zapis tuningu aut? Jakich funkcji u?y??
Wysłany: 2013-07-23, 13:32
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
W jakiej formie chcesz? Do pliku czy bazy danych?
Wysłany: 2013-07-23, 14:37
Drak
Wiek: 34 Na forum: 4903 dni Posty: 71
Nick w MP: Drak
Piwa : 3
Do bazy wbudowanej w MTA.
Wysłany: 2013-07-23, 14:53
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
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.
Wysłany: 2013-07-23, 15:29
Drak
Wiek: 34 Na forum: 4903 dni Posty: 71
Nick w MP: Drak
Piwa : 3
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?
Wysłany: 2013-07-23, 16:15
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
Tagi: zapis :: tuningu :: aut
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: