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

Wysłany: 2016-03-24, 16:42


Ciasteczkovvy







Wiek: 30
Na forum: 3744 dni
Posty: 17
Nick w MP: Ciasteczkowy

Piwa: 32

Respekt: 50

Ostrzeżeń: 100%
Witam.

Mam kod, kt?ry zapisuje i wczytuje auta, kt?re chowamy/wyci?gamy z przechowalni. I troch? siedz? nad tym zastanawiaj?c si? nad tym jaki kod tu pasuje, aby po wyci?gni?ciu pojazdu z przechowalni na tablicy rejestracyjnej widnia?a rejestracja z ID auta.

Tutaj podaje kod.

Kod:

--///////////////////////////////////// USTAWIENIA ////////////////////////////////////////
vehicles=0
root=getRootElement()
resourceRoot=getResourceRootElement(getThisResource())

--///////////////////////////////////// WCZYTYWANIE POJAZD?W /////////////////////////////////
function onRespawnVehicles(_,id,poss)
-- Settings (QUERY)
if id then
result=exports["ogrpg-db"]:dbGet("SELECT * FROM ogrpg_vehicles WHERE parking=1 AND id=?", id)
query=exports["ogrpg-db"]:dbSet("UPDATE ogrpg_vehicles SET parking=0 WHERE id=?", id)
else
result=exports["ogrpg-db"]:dbGet("SELECT * FROM ogrpg_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])
setVehicleColor(veh, color[1], color[2], color[3], color[4])
setVehicleHeadLightColor(veh, lights[1], lights[2], lights[3])
setVehiclePlateText(veh, vehicle["plateText"] or vehicle["id"])
setElementFrozen(veh, (vehicle["frozen"]) > 0)
setVehiclePaintjob(veh, vehicle["paintjob"])
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", vehicle["desc"])
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:ownedFaction", vehicle["ownedFaction"])

for i,v in ipairs(split(vehicle["tuning"], ",")) do addVehicleUpgrade(veh, v) end
for i,v in ipairs(split(vehicle["panelstates"], ",")) do setVehiclePanelState(veh, i, tonumber(v)) end
end
outputDebugString("[og-vehicles] Loaded "..vehicles.." vehicles.")
end

--///////////////////////////////////// ZAPISYWANIE POJAZD?W /////////////////////////////////
function onSaveVehicle(vehicle)
if getElementData(vehicle,"vehicle:spawn") then
-- Settings
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 mileage=getElementData(vehicle,"vehicle:mileage")
local c1,c2,c3,c4=getVehicleColor(vehicle)
local driver=getElementData(vehicle,"vehicle:driver") or ""
local faction=getElementData(vehicle,"vehicle:ownedFaction")
local player=getElementData(vehicle,"vehicle:ownedPlayer")
local group=getElementData(vehicle,"vehicle:ownedGroup")
local h1,h2,h3=getVehicleHeadLightColor(vehicle)
local paintjob=getVehiclePaintjob(vehicle)
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, ",")
local plate=getVehiclePlateText(vehicle)

-- Query
local query = exports["ogrpg-db"]:dbSet(string.format("UPDATE ogrpg_vehicles SET model='%d', pos='%.2f,%.2f,%.2f,%.2f,%.2f,%.2f', text='%s', health='%d', fuel='%d', mileage='%d', frozen='%d', driver='%s', color='%d,%d,%d,%d', panelstates='%s', paintjob='%d', tuning='%s', headlights='%d,%d,%d', plateText='%s', ownedFaction='%s', ownedPlayer='%d', ownedGroup='%d' WHERE id=%d",
model, x,y,z, rx,ry,rz, desc, health, fuel, mileage, frozen, driver, c1,c2,c3,c4, panelstates, paintjob, upgrades, h1,h2,h3, plate, faction, player, group, id))
end
end

--///////////////////////////////////// SPRAWDZANIE USTAWIE? /////////////////////////////////
function getSettings(plr,code,value)
local uid=getElementData(plr,"player:uid")
if not uid then return end
if value == "faction" then
local result=exports["ogrpg-db"]:dbGet("SELECT * FROM ogrpg_factions WHERE code=? AND uid=?", code, uid)
if result and #result > 0 then
return result[1].code
else
return false
end
end
if value == "organization" then
local result=exports["ogrpg-db"]:dbGet("SELECT * FROM ogrpg_organizations WHERE code=? AND uid=?", code, uid)
if result and #result > 0 then
return result[1].code
else
return false
end
end
if value == "owner" then
local result=exports["ogrpg-db"]:dbGet("SELECT * FROM ogrpg_users WHERE id=?", uid)
if result and #result > 0 then
return result[1].id
else
return false
end
end
end

--///////////////////////////////////// INNE USTAWIENIA /////////////////////////////////
addEventHandler("onVehicleExit", root, function(_,seat)
if seat ~= 0 then return end
onSaveVehicle(source)
setVehicleEngineState(source, false)
end)


addEventHandler("onPlayerQuit", root, function()
local veh=getPedOccupiedVehicle(source)
if veh then
onSaveVehicle(veh)
end
end)

addEventHandler("onResourceStop", resourceRoot, function()
for i,v in ipairs(getElementsByType("vehicle")) do
onSaveVehicle(v)
end
outputDebugString("[og-vehicles] Saved all vehicles!")
end)

addEventHandler("onVehicleEnter", root, function(plr,seat)
if seat ~= 0 then return end
setVehicleEngineState(source, false)
setElementData(source,"vehicle:driver",getPlayerName(plr))
end)


--///////////////////////////////////// SPRAWDZENIE W?A?CICIELA /////////////////////////////////
addEventHandler("onVehicleStartEnter", resourceRoot, function(plr,seat,jacked)
if seat == 0 then
local faction=getElementData(source, "vehicle:ownedFaction")
local group=getElementData(source, "vehicle:ownedGroup")
local player=getElementData(source, "vehicle:ownedPlayer")
if faction and string.len(faction) > 3 then
if faction ~= getSettings(plr,faction,"faction") then
outputChatBox("* Nie jeste? zatrudniony/(a) w tej frakcji.", plr, 255, 0, 0)
cancelEvent()
end
return
end
if group and group ~= 0 then
if group ~= getSettings(plr,group,"organization") then
outputChatBox("* Nie jeste? zatrudniony/(a) w tej organizacji.", plr, 255, 0 ,0)
cancelEvent()
end
return
end
if player and player ~= getSettings(plr,false,"owner") then
outputChatBox("* Nie masz kluczyk?w do tego pojazdu.", plr, 255, 0, 0)
cancelEvent()
end
end
end)

addEventHandler("onVehicleStartEnter", root, function(plr,seat,jacked)
if jacked then
cancelEvent()
end
end)

addEventHandler("onResourceStart", resourceRoot, function() onRespawnVehicles(_,false) end)


Pr?bowa?em z funkcj?...


Więcej informacji znajdziesz w Wikipedii MTA:

SetVehiclePlateText


Dodaj?c:

Kod:

setVehiclePlateText(veh, "ID#"..id)


Wtedy pojazd automatycznie zosta? oznaczony jako publiczny.

Je?eli mo?na prosz? o wyt?umaczeni i wszelk? pomoc.

:arrow: :piwo: R*

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-24, 16:49


Odważny

Początki LUA :P






Wiek: 25
Na forum: 3739 dni
Posty: 140
Nick w MP: ReseT_

Piwa: 166

Respekt: 50

Jakie? DB3?

Podpis
, pomogłem Ci? Wynagrodź mnie :piwo: :P
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-24, 16:52


Ciasteczkovvy







Wiek: 30
Na forum: 3744 dni
Posty: 17
Nick w MP: Ciasteczkowy

Piwa: 32

Respekt: 50

Ostrzeżeń: 100%
Odwa?ny,

Kod:

ERROR: ogrpg-vehicles/s_misc.lua:37 attempt to concatenate local 'id' (a boolean value)


Edit:

W 37-linijce znajduje si? to:

Kod:

setVehiclePlateText(veh, "GL#"..id)


Edit2:

Dlaczego rejestracja na motorze si? nie zmienia?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-24, 17:36


Odważny

Początki LUA :P






Wiek: 25
Na forum: 3739 dni
Posty: 140
Nick w MP: ReseT_

Piwa: 166

Respekt: 50

Ciasteczkovvy, na motorze si? nie da wgl tak jak na p**u maj? motory ale rejestracja pisze jakby by? motor zrespiony...

Podpis
, pomogłem Ci? Wynagrodź mnie :piwo: :P
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-24, 17:43


AteX







Wiek: 26
Na forum: 4015 dni
Posty: 927
Nick w MP: #AteX

Piwa: 8360

Respekt: 775,3
Respekt: 775,3Respekt: 775,3

Spr?buj tak:
setVehiclePlateText(veh"ID#"..vehicle["id"])


@up co ty gadasz? pierwsze s?ysz?, ?e si? nie da

Podpis
MultiTheftAuto++ dla MTA 1.5.7 już dostępne.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-24, 17:44


Ciasteczkovvy







Wiek: 30
Na forum: 3744 dni
Posty: 17
Nick w MP: Ciasteczkowy

Piwa: 32

Respekt: 50

Ostrzeżeń: 100%
"AteX" napisał/a:

Spr?buj tak:
setVehiclePlateText(veh"ID#"..vehicle["id"])


@up co ty gadasz? pierwsze s?ysz?, ?e si? nie da


Ju? dzia?a tylko jak by?y auta zrespione, a resetowa?em skrypt to si? sypa?o. Musia?y by? wszystkie w przecho.

Edit:

Nie zmienia si? rejestracja w motorach, tylko w autach

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-24, 20:51


BlackTen

LUA Dev.






Wiek: 28
Na forum: 4329 dni
Posty: 698

Piwa: 2080

Respekt: 157
Respekt: 157Respekt: 157

W motorach nie da rady zmieni? rejestracji.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-24, 22:43


Jurandovsky

Kurdebele






Wiek: 17
Na forum: 4838 dni
Posty: 915

Piwa: 2697

Respekt: 955,3
Respekt: 955,3Respekt: 955,3

AteX, w motocyklach nie da si? zmieniac rejestracji, b??d ju? by? zg?aszany w bugach:
http://screenshooter.net/102792975/vljlmtr

Podpis
Jedyny kontakt ze mną to PW forum

Kod:


local noobs = getElementsByTitle("player", "Programista LUA")
for k, v in ipairs(noobs) do
outputChatBox("Bez mózgu jest użytkownik o nicku: "..getPlayerName(v), root)
destroyElement(v)
end
Postaw piwo autorowi tego posta
 

 
Tagi: pojazdu :: tablicy :: rejestracyjnej
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