Wysłany: 2016-03-24, 16:42
Ciasteczkovvy
Wiek: 30 Na forum: 3744 dni Posty: 17
Nick w MP: Ciasteczkowy
Piwa : 32
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?...
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.
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
Jakie? DB3?
Podpis
[you]
, pomogłem Ci? Wynagrodź mnie
Wysłany: 2016-03-24, 16:52
Ciasteczkovvy
Wiek: 30 Na forum: 3744 dni Posty: 17
Nick w MP: Ciasteczkowy
Piwa : 32
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?
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
Ciasteczkovvy , na motorze si? nie da wgl tak jak na p**u maj? motory ale rejestracja pisze jakby by? motor zrespiony...
Podpis
[you]
, pomogłem Ci? Wynagrodź mnie
Wysłany: 2016-03-24, 17:43
AteX
Wiek: 26 Na forum: 4015 dni Posty: 927
Nick w MP: #AteX
Piwa : 8360
Spr?buj tak:
setVehiclePlateText ( veh , "ID#" .. vehicle [ "id" ])
@up co ty gadasz? pierwsze s?ysz?, ?e si? nie da
Wysłany: 2016-03-24, 17:44
Ciasteczkovvy
Wiek: 30 Na forum: 3744 dni Posty: 17
Nick w MP: Ciasteczkowy
Piwa : 32
"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
Wysłany: 2016-03-24, 20:51
BlackTen
LUA Dev.
Wiek: 28 Na forum: 4329 dni Posty: 698
Piwa : 2080
W motorach nie da rady zmieni? rejestracji.
Wysłany: 2016-03-24, 22:43
Jurandovsky
Kurdebele
Wiek: 17 Na forum: 4838 dni Posty: 915
Piwa : 2697
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
Tagi: pojazdu :: tablicy :: rejestracyjnej
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: