Wysłany: 2022-01-17, 17:21
Mikro16
Wiek: 32 Na forum: 3461 dni Posty: 5
Nick w MP: Mikro16
Witam posiadam problem z pystories-vehicles , w skr?cie opisuj?c problem..
Polega na braku zapisu od strony wy?ej wymienionego zasobu.
B??d linijki 265
Link : https://cdn.discordapp.com/attachments/922066478688268288/932668886690721802/Bez_tytuu.png
Cytat: vehicles=0
root=getRootElement()
resourceRoot=getResourceRootElement(getThisResource())
local nlOffsets={
[411]={-1,0,-0.6}, -- infernus
[470]={-1,0,-0.4}, -- patriot
[541]={-0.9,0,-0.4}, -- bulelt
[549]={-0.9,0,-0.4}, -- tampa
[587]={-1,0,-0.5}, -- euros
}
local nlIDX={
3962,2113,1784,2054,2428,2352
}
function getVehicleHandlingProperty ( element, property )
if isElement ( element ) and getElementType ( element ) == "vehicle" and type ( property ) == "string" then
local handlingTable = getVehicleHandling ( element )
local value = handlingTable[property]
if value then
return value
end
end
return false
end
function getAdmin2(plr,level)
if level then
local result=exports["pystories-db"]:dbGet("SELECT * from pystories_admins WHERE serial=? AND level=?", getPlayerSerial(plr), level)
if result and #result > 0 then
return true
else
return false
end
else
local result=exports["pystories-db"]:dbGet("SELECT * from pystories_admins WHERE serial=?", getPlayerSerial(plr))
if result and #result > 0 then
return true
else
return false
end
end
end
--///////////////////////////////////// WCZYTYWANIE POJAZD?W /////////////////////////////////
function onRespawnVehicles(_,id,poss)
-- Settings (QUERY)
if id then
result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_vehicles WHERE parking=1 AND id=?", id)
query=exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET parking=0 WHERE id=?", id)
else
result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_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],color[5], color[6], color[7], color[8],color[9], color[10], color[11], color[12])
setVehicleHeadLightColor(veh, lights[1], lights[2], lights[3])
if vehicle["plateText"] ~= "" then
setVehiclePlateText(veh, vehicle["plateText"])
else
setVehiclePlateText(veh, tostring("DC "..vehicle["id"]))
end
if vehicle["paintjob"] ~= 3 then
setVehiclePaintjob(veh, vehicle["paintjob"])
end
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["text"] or false)
setElementData(veh,"vehicle:mileage", vehicle["mileage"])
setElementData(veh,"vehicle:driver", vehicle["driver"])
--setElementData(veh, "Pojemnosc:silnika", vehicle["silnik"]) -- New
-- setElementData(veh,"vehicle:ownedGroup", vehicle["ownedGroup"])
setElementData(veh,"vehicle:ownedPlayer", vehicle["ownedPlayer"])
--New
-- setElementData(veh,"Pojemnosc:silnika", vehicle["silnik"])
-- local fastpoj = getVehicleHandlingProperty(veh,"maxVelocity")
-- local fastmax = getVehicleHandlingProperty(veh,"engineAcceleration")
-- local Pojemnosc = getElementData(vehicle,"Pojemnosc:silnika") or "1.6"
-- if Pojemnosc == '1.4' then -- pojemnosc silnika 1.4
-- setVehicleHandling(veh,"engineAcceleration",fastmax+1)
-- setVehicleHandling(veh,"maxVelocity",fastpoj+5)
-- elseif Pojemnosc == '1.6' then -- pojemnosc silnika 1.6
-- setVehicleHandling(veh,"maxVelocity",fastpoj+10)
-- setVehicleHandling(veh,"engineAcceleration",fastmax+1)
-- elseif Pojemnosc == '1.8' then -- pojemnosc silnika 1.8
-- setVehicleHandling(veh,"maxVelocity",fastpoj+15)
-- setVehicleHandling(veh,"engineAcceleration",fastmax+2)
-- elseif Pojemnosc == '2.0' then -- pojemnosc silnika 2.0
-- setVehicleHandling(veh,"maxVelocity",fastpoj+20)
-- setVehicleHandling(veh,"engineAcceleration",fastmax+3)
-- elseif Pojemnosc == '2.2' then -- pojemnosc silnika 2.2
-- setVehicleHandling(veh,"maxVelocity",fastpoj+20)
-- setVehicleHandling(veh,"engineAcceleration",fastmax+5)
-- elseif Pojemnosc == '2.4' then -- pojemnosc silnika 2.4
-- setVehicleHandling(veh,"maxVelocity",fastpoj+30)
-- setVehicleHandling(veh,"engineAcceleration",fastmax+8)
-- end
local mk1 = vehicle['mk1']
local mk2 = vehicle['mk2']
local naped = vehicle['naped']
local rh = vehicle['rh']
-- local vehicle_chip = vehicle['chip'] -- New
-- local vehicle_turbo = vehicle['turbo'] -- New
if (type(vehicle['rent']) == "string") then
local tabelka = {}
local rente = split(vehicle['rent'], ',')
for k,v in ipairs(rente) do
table.insert(tabelka,v)
end
setElementData(veh,"vehicle:rent", tabelka or false)
else
setElementData(veh,"vehicle:rent",0)
end
-- if vehicle["silnik"] == "1.4" then --new
-- -- nic nie dajemy
-- elseif vehicle["silnik"] == "1.6" then
-- local vehicle_engineAcceleration = getVehicleHandlingProperty(veh, "engineAcceleration")
-- local vehicle_maxVelocity = getVehicleHandlingProperty(veh, "maxVelocity")
-- setVehicleHandling(veh,"engineAcceleration", vehicle_engineAcceleration+0.5)
-- setVehicleHandling(veh,"maxVelocity", vehicle_maxVelocity+5)
-- elseif vehicle["silnik"] == "1.8" then
-- local vehicle_engineAcceleration = getVehicleHandlingProperty(veh, "engineAcceleration")
-- local vehicle_maxVelocity = getVehicleHandlingProperty(veh, "maxVelocity")
-- setVehicleHandling(veh,"engineAcceleration", vehicle_engineAcceleration+1.5)
-- setVehicleHandling(veh,"maxVelocity", vehicle_maxVelocity+5)
-- elseif vehicle["silnik"] == "1.8" then
-- local vehicle_engineAcceleration = getVehicleHandlingProperty(veh, "engineAcceleration")
-- local vehicle_maxVelocity = getVehicleHandlingProperty(veh, "maxVelocity")
-- setVehicleHandling(veh,"engineAcceleration", vehicle_engineAcceleration+2)
-- setVehicleHandling(veh,"maxVelocity", vehicle_maxVelocity+5)
-- elseif vehicle["silnik"] == "2.0" then
-- local vehicle_engineAcceleration = getVehicleHandlingProperty(veh, "engineAcceleration")
-- local vehicle_maxVelocity = getVehicleHandlingProperty(veh, "maxVelocity")
-- setVehicleHandling(veh,"engineAcceleration", vehicle_engineAcceleration+2.5)
-- setVehicleHandling(veh,"maxVelocity", vehicle_maxVelocity+5)
-- elseif vehicle["silnik"] == "2.2" then
-- local vehicle_engineAcceleration = getVehicleHandlingProperty(veh, "engineAcceleration")
-- local vehicle_maxVelocity = getVehicleHandlingProperty(veh, "maxVelocity")
-- setVehicleHandling(veh,"engineAcceleration", vehicle_engineAcceleration+3)
-- setVehicleHandling(veh,"maxVelocity", vehicle_maxVelocity+5)
-- elseif vehicle["silnik"] == "2.4" then
-- local vehicle_engineAcceleration = getVehicleHandlingProperty(veh, "engineAcceleration")
-- local vehicle_maxVelocity = getVehicleHandlingProperty(veh, "maxVelocity")
-- setVehicleHandling(veh,"engineAcceleration", vehicle_engineAcceleration+4)
-- setVehicleHandling(veh,"maxVelocity", vehicle_maxVelocity+10)
-- end -- New
-- if tonumber(vehicle_chip) ~= 0 then -- New
-- local vehicle_engineAcceleration = getVehicleHandlingProperty(veh, "engineAcceleration")
-- local vehicle_maxVelocity = getVehicleHandlingProperty(veh, "maxVelocity")
-- local vehicle_mass = getVehicleHandlingProperty(veh, "mass")
-- local vehicle_turnMass = getVehicleHandlingProperty(veh, "turnMass")
-- local vehicle_tractionMultiplier = getVehicleHandlingProperty(veh, "tractionMultiplier")
-- local vehicle_dragCoeff = getVehicleHandlingProperty(veh, "dragCoeff")
-- local vehicle_steeringLock = getVehicleHandlingProperty(veh, "steeringLock")
-- setVehicleHandling(veh,"engineAcceleration", vehicle_engineAcceleration+2)
-- setVehicleHandling(veh,"maxVelocity", vehicle_maxVelocity+5)
-- end
-- if tonumber(vehicle_turbo) ~= 0 then -- New
-- local vehicle_engineAcceleration = getVehicleHandlingProperty(veh, "engineAcceleration")
-- local vehicle_maxVelocity = getVehicleHandlingProperty(veh, "maxVelocity")
-- local vehicle_mass = getVehicleHandlingProperty(veh, "mass")
-- local vehicle_turnMass = getVehicleHandlingProperty(veh, "turnMass")
-- local vehicle_tractionMultiplier = getVehicleHandlingProperty(veh, "tractionMultiplier")
-- local vehicle_dragCoeff = getVehicleHandlingProperty(veh, "dragCoeff")
-- local vehicle_steeringLock = getVehicleHandlingProperty(veh, "steeringLock")
-- setVehicleHandling(veh,"engineAcceleration", vehicle_engineAcceleration+3)
-- setVehicleHandling(veh,"maxVelocity", vehicle_maxVelocity+5)
-- end
if tonumber(mk1) ~= 0 then
local fast = getVehicleHandlingProperty(veh,"engineAcceleration")
local maxfast = getVehicleHandlingProperty(veh,"maxVelocity")
local masa = getVehicleHandlingProperty(veh,"mass")
local masa2 = getVehicleHandlingProperty(veh,"turnMass")
local xd = getVehicleHandlingProperty(veh,"tractionMultiplier")
local coef = getVehicleHandlingProperty(veh,"dragCoeff")
setVehicleHandling(veh,"engineAcceleration",fast+0.5)
setVehicleHandling(veh,"maxVelocity",maxfast+5.5)
setVehicleHandling(veh,"mass",masa+50)
setVehicleHandling(veh,"tractionMultiplier",xd+0.1)
setVehicleHandling(veh,"dragCoeff",coef-0.15)
end
if tonumber(mk2) ~= 0 then
local fast = getVehicleHandlingProperty(veh,"engineAcceleration")
local maxfast = getVehicleHandlingProperty(veh,"maxVelocity")
local masa = getVehicleHandlingProperty(veh,"mass")
local masa2 = getVehicleHandlingProperty(veh,"turnMass")
local xd = getVehicleHandlingProperty(veh,"tractionMultiplier")
local coef = getVehicleHandlingProperty(veh,"dragCoeff")
setVehicleHandling(veh,"engineAcceleration",fast+2)
setVehicleHandling(veh, "maxVelocity",maxfast+10.0)
setVehicleHandling(veh,"tractionMultiplier",xd+0.2)
setVehicleHandling(veh,"mass",masa+50)
setVehicleHandling(veh,"dragCoeff",coef-0.21)
end
if tonumber(naped) ~= 0 then
local fast = getVehicleHandlingProperty(veh,"engineAcceleration")
setVehicleHandling(veh,"driveType","awd")
end
local hood = vehicle['removehood']
if tonumber(hood) == 1 then
setElementData(veh,"vehicle:bonnet",true)
end
local mask = vehicle['masked']
if tonumber(mask) ~= 0 then
setElementData(veh,"vehicle:masked",vehicle['masked'])
end
setElementData(veh,"neony", vehicle["neon"])
if vehicle["blokada"] == "true" then
setElementData(veh,"vehicle:block", true)
setVehicleWheelStates(veh, 2, 2, 2, 2)
else
setElementData(veh,"vehicle:block", false)
end
local rodzajneonu=tonumber(getElementData(veh,"neony"))
if getElementData(veh,"neony") ~= 0 then
local m = getElementModel(veh)
local of
if not nlOffsets[m] then
of={-1,0,-0.5}
else
of=nlOffsets[m]
end
neon1=createObject(nlIDX[rodzajneonu],0,0,0)
neon2=createObject(nlIDX[rodzajneonu],0,0,0)
setElementData(veh,"zneony", {neon1, neon2})
attachElements(neon1,veh,of[1],of[2],of[3])
attachElements(neon2,veh,-of[1],of[2],of[3])
end
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
setVehicleDamageProof(veh, true)
end
outputDebugString("[pojazdy] Loaded "..vehicles.." vehicles.")
end
--///////////////////////////////////// ZAPISYWANIE POJAZD?W /////////////////////////////////
function onSaveVehicle(vehicle)
if getElementData(vehicle,"vehicle:spawn") then
-- Setting
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,c5,c6,c7,c8,c9,c10,c11,c12=getVehicleColor(vehicle, true)
local driver=getElementData(vehicle,"vehicle:driver") or ""
local rent=getElementData(vehicle,"vehicle:rent")
local player=getElementData(vehicle,"vehicle:ownedPlayer")
local blokada=getElementData(vehicle,"vehicle:block")
local neon=getElementData(vehicle,"neony")
local h1,h2,h3=getVehicleHeadLightColor(vehicle)
local paintjob=getVehiclePaintjob(vehicle)
local rear="Brak"
local mask=getElementData(vehicle,"vehicle:masked") or 0
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, ",")
-- Query
local query = exports["pystories-db"]:dbSet(string.format("UPDATE pystories_vehicles SET model='%d', pos='%.2f,%.2f,%.2f,%.2f,%.2f,%.2f', rent='%d',text='%s', masked='%d', health='%d', fuel='%d', mileage='%d', frozen='%d', driver='%s', color='%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d', panelstates='%s', paintjob='%d', tuning='%s', headlights='%d,%d,%d', ownedPlayer='%d', neon='%d', blokada='%s' WHERE id=%d",
model, x,y,z, rx,ry,rz, "0",desc, mask, health, fuel, mileage, frozen, driver, c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12, panelstates, paintjob, upgrades, h1,h2,h3, player, neon, tostring(blokada), id))
if (type(rent) == "table") then
local rr = string.format("%s", table.concat(rent, ',') )
-- outputDebugString(rr)
local query2= exports['pystories-db']:dbSet("UPDATE pystories_vehicles SET rent=? WHERE id=?",rr,id)
end
end
end
function onParkVehicle(vehicle)
local query=exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET parking=1 WHERE id=?", getElementData(vehicle,"vehicle:id"))
if query then
local zneony=getElementData(vehicle,"zneony")
if (zneony and type(zneony)=="table") then
destroyElement(zneony[1])
destroyElement(zneony[2])
removeElementData(vehicle,"zneony")
end
destroyElement(vehicle)
end
end
--///////////////////////////////////// SPRAWDZANIE USTAWIE? /////////////////////////////////
function getSettings(plr,code,value)
local sid=getElementData(plr,"player:sid")
if not sid then return end
if value == "faction" then
local result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_factions WHERE code=? AND sid=?", code, sid)
if result and #result > 0 then
return result[1].code
else
return false
end
end
if value == "organization" then
local result=exports["pystories-db"]:dbGet("SELECT * FROM ms_organizacje WHERE sid=?", sid)
if result and #result > 0 then
return result[1].code
else
return false
end
end
if value == "owner" then
local result=exports["pystories-db"]:dbGet("SELECT * FROM pystories_users WHERE id=?", sid)
if result and #result > 0 then
return result[1].id
else
return false
end
end
end
--///////////////////////////////////// INNE USTAWIENIA /////////////////////////////////
addEventHandler("onVehicleExit", root, function(plr,seat)
if seat ~= 0 then return end
onSaveVehicle(source)
setVehicleEngineState(source, false)
setVehicleDamageProof(source, true)
unbindKey(plr, 'n', 'down', bindHoron4)
end)
addEventHandler("onPlayerQuit", root, function()
local veh=getPedOccupiedVehicle(source)
if veh then
setVehicleDamageProof(source, true)
onSaveVehicle(veh)
end
end)
addEventHandler("onResourceStop", resourceRoot, function()
for i,v in ipairs(getElementsByType("vehicle")) do
onSaveVehicle(v)
local zneony=getElementData(v,"zneony")
if (zneony and type(zneony)=="table") then
destroyElement(zneony[1])
destroyElement(zneony[2])
removeElementData(v,"zneony")
end
end
outputDebugString("[pojazdy] 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))
if getElementData(source,"neony") and getElementData(source,"neony") ~= 0 then
triggerClientEvent( plr, "onClientAddNotification", plr, "Posiadasz neony , mo?esz je w??czy? je za pomoc? N", "info" )
--outputChatBox("* Posiadasz neony w pojezdzie, mo?esz wl?czy? i wylaczyc je za pomoc? przycisku N.",plr)
bindKey(plr, 'n', 'down', bindHoron4, plr)
end
end)
--///////////////////////////////////// SPRAWDZENIE W?A?CICIELA /////////////////////////////////
addEventHandler("onVehicleStartEnter", resourceRoot, function(plr,seat,jacked)
if seat == 0 then
local rent=getElementData(source, "vehicle:rent")
-- local group=getElementData(source, "vehicle:ownedGroup")
if group == "0" then group = "Brak" end
local player=getElementData(source, "vehicle:ownedPlayer")
if getAdmin2(plr, 4) then
return
end
if rent and (type(rent) == "table") then
for i,s in pairs(rent) do
if tonumber(s) == getElementData(plr,"player:sid") then
return end
end
end
local plrgroup = getElementData(plr,"player:organization")
if plrgroup then
if getSettings(plr,false,"organization") == group then return end
end
if player and player ~= getSettings(plr,false,"owner") then
triggerClientEvent( plr, "onClientAddNotification", plr, "Nie posiadasz kluczyk?w do tego pojazdu!", "error" )
--outputChatBox("* Nie posiadasz kluczyk?w do tego pojazdu.", plr)
cancelEvent()
end
end
end)
addEventHandler("onVehicleStartEnter", root, function(plr,seat,jacked)
if jacked then
if getElementData(source,"vehicle:ownedPlayer") == getElementData(plr,"player:sid") then return end
cancelEvent()
end
end)
addEventHandler("onVehicleStartEnter", root, function(plr,seat,jacked)
if seat == 0 then
if getElementData(source,"spawnowany")== true then
if getElementData(plr,"player:admin")== false then
cancelEvent()
end
end
end
end)
function bindHoron4(plr)
veh=getPedOccupiedVehicle(plr)
if not veh then return end
local rodzajneonu=tonumber(getElementData(veh,"neony"))
if not rodzajneonu then return end
if rodzajneonu==0 then
outputChatBox('* Brak Neonow.', plr, 255, 0 ,0)
return end
local zneony=getElementData(veh,"zneony")
if (zneony and type(zneony)=="table") then
destroyElement(zneony[1])
destroyElement(zneony[2])
removeElementData(veh,"zneony")
--triggerClientEvent(plr,"addNotification",root,'* Wy??czy?e? Neony.',"warning")
triggerClientEvent( plr, "onClientAddNotification", plr, "Wy??czy?e? neony!", "info" )
--outputChatBox("* Od??czy?e?(a?) neony od pojazdu.",plr)
else
local m = getElementModel(veh)
local of
if not nlOffsets[m] then
of={-1,0,-0.5}
else
of=nlOffsets[m]
end
neon1=createObject(nlIDX[rodzajneonu],0,0,0)
neon2=createObject(nlIDX[rodzajneonu],0,0,0)
setElementData(veh,"zneony", {neon1, neon2})
attachElements(neon1,veh,of[1],of[2],of[3])
attachElements(neon2,veh,-of[1],of[2],of[3])
--triggerClientEvent(plr,"addNotification",root,'* W??czy?e? Neony. Pojawi? si? one jak poruszysz pojazdem!',"info")
triggerClientEvent( plr, "onClientAddNotification", plr, "W??czy?e?/a? neony.", "success" )
--outputChatBox("* Za??czy?e?(a?) neony w poje?dzie.",plr)
end
end
addEventHandler("onElementDestroy", getRootElement(), function ()
if getElementType(source) == "vehicle" then
local zneony=getElementData(source,"zneony")
if (zneony and type(zneony)=="table") then
destroyElement(zneony[1])
destroyElement(zneony[2])
removeElementData(source,"zneony")
end
end
end)
addEventHandler("onResourceStart", resourceRoot, function() onRespawnVehicles(_,false) end)
local categoryA={[463] = true,[462] = true,[461] = true,[581] = true,[448] = true,[468] = true,[471] = true,[521] = true,[522] = true,[523] = true}
local categoryB={[602] = true,[545] = true,[496] = true,[517] = true,[401] = true,[410] = true,[518] = true,[600] = true,[527] = true,[436] = true,[589] = true,[580] = true,[419] = true,[439] = true,[533] = true,[549] = true,[526] = true,[491] = true,[474] = true,[445] = true,[467] = true,[604] = true,[426] = true,[507] = true,[547] = true,[585] = true,[405] = true,[587] = true,[409] = true,[466] = true,[550] = true,[492] = true,[566] = true,[546] = true,[540] = true,[551] = true,[421] = true,[516] = true,[529] = true,[488] = true,[460] = true,
[469] = true,[487] = true,[510] = true,[509] = true,[481] = true,[586] = true,[472] = true,[473] = true,[493] = true,[595] = true,[484] = true,[430] = true,[453] = true,[452] = true,[446] = true,[454] = true,[485] = true,[552] = true,
[438] = true,[574] = true,[420] = true,[525] = true,[408] = true,[596] = true,[597] = true,[427] = true,[599] = true,[490] = true,[432] = true,[528] = true,[601] = true,[407] = true,[544] = true,[470] = true,[598] = true,[588] = true,
[532] = true,[443] = true,[486] = true,[531] = true,[543] = true,[422] = true,[583] = true,[478] = true,[605] = true,[554] = true,[530] = true,[418] = true,[572] = true,[582] = true,[536] = true,[575] = true,[534] = true,
[567] = true,[535] = true,[576] = true,[412] = true,[402] = true,[542] = true,[603] = true,[475] = true,[449] = true,[537] = true,[570] = true,[441] = true,[464] = true,[501] = true,[465] = true,[564] = true,[568] = true,[557] = true,[424] = true,[504] = true,[495] = true,[457] = true,[539] = true,[483] = true,[571] = true,[500] = true,
[444] = true,[556] = true,[429] = true,[411] = true,[541] = true,[559] = true,[415] = true,[561] = true,[480] = true,[560] = true,[562] = true,[506] = true,[565] = true,[451] = true,[434] = true,[558] = true,[494] = true,[555] = true,[502] = true,[477] = true,[503] = true,[579] = true,[400] = true,[404] = true,[489] = true,[505] = true,[479] = true,[442] = true,[458] = true,
[606] = true,[607] = true,[610] = true,[590] = true,[569] = true,[611] = true,[584] = true,[608] = true,[435] = true,[450] = true,[591] = true,[594] = true}
local categoryC={[403] = true,[406] = true,[413] = true,[414] = true,[416] = true,[423] = true,[428] = true,[431] = true,[433] = true,[437] = true,[440] = true,[455] = true,[456] = true,[459] = true,[482] = true,[498] = true,[499] = true,[508] = true,[514] = true,[515] = true,[524] = true,[538] = true,[573] = true}
addEventHandler("onVehicleStartEnter", resourceRoot, function(plr,seat,jacked)
if seat == 0 then
if categoryA[getElementModel(source)] then
if exports["DRP-SettingsJobs"]:getVehicleLicense(plr,"A") then
cancelEvent()
end
elseif categoryB[getElementModel(source)] then
if exports["DRP-SettingsJobs"]:getVehicleLicense(plr,"B") then
cancelEvent()
end
elseif categoryC[getElementModel(source)] then
if exports["DRP-SettingsJobs"]:getVehicleLicense(plr,"C") then
cancelEvent()
end
end
end
end)
addEventHandler("onVehicleEnter", getRootElement(), function(plr,seat,jacked)
if seat ~= 0 then return end
if getElementData(source, "vehicle:id") and getElementData(source, "vehicle:spawn") then
local mk2 = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND mk2=?",getElementData(source, "vehicle:id"), "1")
local mk1 = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND mk1=?",getElementData(source, "vehicle:id"), "1")
local rh = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND rh=?",getElementData(source, "vehicle:id"), "1")
local np = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND naped=?",getElementData(source, "vehicle:id"), "1")
--new
-- local chip = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND chip=?", getElementData(veh, "vehicle:id"), "1")
-- local turbo = exports['pystories-db']:dbGet("SELECT * FROM pystories_vehicles WHERE id=? AND turbo=?", getElementData(veh, "vehicle:id"), "1")
end
end)
local strefa = { }
local strefy = {
-- {1336.23840, 656.78876, 9.85624, 60.50634765625, 146.80010986328, 16.164074325562 },
-- {924.07690, 1661.90576, 9.25354, 194.91711425781, 138.31750488281, 23.899999046326},
-- {2197.99780, 2405.43872, -31.81085, 178.1982421875, 112.3896484375, 57.499998474121},
}
local ogranicznik = createElement ("ogranicznik");
for i,v in ipairs ( strefy ) do
strefa[i] = createColCuboid ( v [ 1 ], v [ 2 ], v [ 3 ], v [ 4 ], v [ 5 ], v [ 6 ], v [7] )
setElementParent (strefa [i], ogranicznik);
end
addEventHandler("onColShapeHit", ogranicznik, function(el,md)
if getElementType(el)=="vehicle" then
setElementData(el,"vehicle:tempspeed", 60)
end
end)
addEventHandler("onColShapeLeave", ogranicznik, function(el,md)
if getElementType(el)=="vehicle" then
removeElementData(el,"vehicle:tempspeed")
end
end)
addEventHandler("onVehicleEnter", root, function(plr,seat,jacked)
if source then
if source and getElementData(source,"vehicle:masked") then
setElementData(plr,"player:old:nick",getPlayerName(plr))
local x = string.format("#040707%s",getPlayerName(plr):gsub("#%x%x%x%x%x%x",""))
setPlayerName(plr,x)
end
end
end)
addEventHandler("onVehicleExit", root, function(plr,seat,jacked)
if source then
if source and getElementData(source,"vehicle:masked") then
local name = getElementData(plr,"player:old:nick")
setPlayerName(plr,name)
end
end
end)
addEventHandler("onElementDestroy", root, function()
if getElementType(source) ~= "vehicle" then return end
if getElementData(source,"vehicle:masked") then
for i,p in pairs(getVehicleOccupants(source)) do
local name = getElementData(p,"player:old:nick")
setPlayerName(p,name)
end
end
end)
Wysłany: 2022-01-17, 18:08
Maniekxx
Amator
Wiek: 24 Na forum: 2894 dni Posty: 232
Nick w MP: Maniekxx
Piwa : 225
Pierwszy argument w funkcji getElementData() zosta? niepoprawnie zdefiniowany przez co otrzymuje warto?? nil, wska? nam dok?adnie kt?ra to linijka
Je?li chodzi o zapisywanie to sprawd? w jaki spos?b jest wywo?ywana funkcja onSaveVehicle(). Prawdopodobnie podany w niej argument nie istnieje lub jest ?le definiowany.
Wysłany: 2022-01-17, 20:28
Mikro16
Wiek: 32 Na forum: 3461 dni Posty: 5
Nick w MP: Mikro16
Kod:
function onSaveVehicle(vehicle)
if getElementData(vehicle,"vehicle:spawn") then
-- Setting
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,c5,c6,c7,c8,c9,c10,c11,c12=getVehicleColor(vehicle, true)
local driver=getElementData(vehicle,"vehicle:driver") or ""
local rent=getElementData(vehicle,"vehicle:rent")
local player=getElementData(vehicle,"vehicle:ownedPlayer")
local blokada=getElementData(vehicle,"vehicle:block")
local neon=getElementData(vehicle,"neony")
local h1,h2,h3=getVehicleHeadLightColor(vehicle)
local paintjob=getVehiclePaintjob(vehicle)
local rear="Brak"
local mask=getElementData(vehicle,"vehicle:masked") or 0
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, ",")
-- Query
local query = exports["pystories-db"]:dbSet(string.format("UPDATE pystories_vehicles SET model='%d', pos='%.2f,%.2f,%.2f,%.2f,%.2f,%.2f', rent='%d',text='%s', masked='%d', health='%d', fuel='%d', mileage='%d', frozen='%d', driver='%s', color='%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d', panelstates='%s', paintjob='%d', tuning='%s', headlights='%d,%d,%d', ownedPlayer='%d', neon='%d', blokada='%s' WHERE id=%d",
model, x,y,z, rx,ry,rz, "0",desc, mask, health, fuel, mileage, frozen, driver, c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12, panelstates, paintjob, upgrades, h1,h2,h3, player, neon, tostring(blokada), id))
if (type(rent) == "table") then
local rr = string.format("%s", table.concat(rent, ',') )
-- outputDebugString(rr)
local query2= exports['pystories-db']:dbSet("UPDATE pystories_vehicles SET rent=? WHERE id=?",rr,id)
end
end
end
Wysłany: 2022-01-20, 11:05
TheBestv4
Przyszły programista LUA
Wiek: 30 Na forum: 2024 dni Posty: 52
Nick w MP: Absolwent
Piwa : 838
Maniekxx Ci gada g?upoty.
Nie masz ?adnego k?opotu z zapisywaniem pojazd?w
Masz poprostu ?le skonfigurowany skrypt na tuning. Zgaduje ?e to RPG_Tuner?
Podpis
Dołącz do najlepszego community!
Wysłany: 2022-01-21, 20:32
Mikro16
Wiek: 32 Na forum: 3461 dni Posty: 5
Nick w MP: Mikro16
"TheBestv4" napisał/a :Maniekxx Ci gada g?upoty.
Nie masz ?adnego k?opotu z zapisywaniem pojazd?w
Masz poprostu ?le skonfigurowany skrypt na tuning. Zgaduje ?e to RPG_Tuner?
Nie, jest to Sa_Custom. Tylko zapomnia?em wspomnie? ,?e zapisuje Tuning ale zapomoc? komendy /schowaj id oraz jak auto jest zrespione z przecho i restartuje skrypt pystories-vehicles to r?wnie? zapisuje ale jako gracz wje?dzaj?cy nie zapisuje (do markera)
TheBestv4 ,
Wysłany: 2022-01-28, 06:43
Maniekxx
Amator
Wiek: 24 Na forum: 2894 dni Posty: 232
Nick w MP: Maniekxx
Piwa : 225
TheBestv4 , przeczyta?e? b??d z /db3 kt?ry Mikro16 , wstawi? do postu? Jasno daje nam do zrozumienia ?e funkcja getElementData() nie definiuje poprawnie pierwszego argumentu kt?ry prawid?owo powinien by? wykrywany jako pojazd. Nie rozumiem co ma do tego skrypt na tuning pojazd?w. Mikro16 , je?li nie zapisuje pojazdu gdy gracz oddaje go do przechowalni za pomoc? markera to tam szukaj przyczyny swojego b??du. Staraj si? te? dok?adnie opisywa? swoje problemy bo z /db3 mo?na w?a?nie to wyczyta?.
Tagi: pystories-vehicle :: niezapisuje :: tuningu :: itd.
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: