Wysłany: 2018-08-06, 23:25
turbonet
Kradnę kody uważaj :)
Wiek: 28 Na forum: 2903 dni Posty: 30
Nick w MP: AJgorEx
Piwa : 464
Witam posiadam skrypt na dodawanie wi?kszej pojemno?ci silnika, tylko problem jest w tym, ?e po oddaniu do przecho wszystko znika Tak samo z LPG. Prosz? o szybk? pomoc, przecho mam w og-rpg. Co mam doda? te? do bazy danych?
local czas = getTickCount ()
local czasgaz = getTickCount ()
isBike = {
[ 509 ]= true , -- Bike
[ 481 ]= true , -- BMX
[ 510 ]= true , -- Mountain bike
}
function odejmijPaliwo ( pojazd )
if getElementData ( pojazd , "vehicle:BezynaWloczone" ) then
if getTickCount () - czas > 190 then
czas = getTickCount ()
local paliwo = getElementData ( pojazd , "vehicle:fuel" ) or 0
local Pojemnosc = getElementData ( pojazd , "Pojemnosc:silnika" )
local vx , vy , vz = getElementVelocity ( pojazd )
local spd = (( vx ^ 2 + vy ^ 2 + vz ^ 2 )^( 0.5 )/ 150 )
if spd > 0 then
if Pojemnosc == "2.0cm3" then
paliwo = paliwo - spd * 5
setElementData ( pojazd , "vehicle:fuel" , paliwo )
end
if Pojemnosc == "2.5cm3" then
paliwo = paliwo - spd * 7
setElementData ( pojazd , "vehicle:fuel" , paliwo )
end
if Pojemnosc == "3.5cm3" then
paliwo = paliwo - spd * 10
setElementData ( pojazd , "vehicle:fuel" , paliwo )
end
paliwo = paliwo - spd * 3
setElementData ( pojazd , "vehicle:fuel" , paliwo )
end
local gazLpg = getElementData ( pojazd , "Zamontowane:LPG" ) or "Nie"
if gazLpg == 'Tak' then
if tonumber ( paliwo ) < 0.2 then
setElementData ( pojazd , "vehicle:fuel" , 0 )
setElementData ( pojazd , "vehicle:LPGWloczone" , true )
setElementData ( pojazd , "vehicle:BezynaWloczone" , false )
end
end
end
end
end
function odejmijGaz ( pojazd )
local gazLpg = getElementData ( pojazd , "Zamontowane:LPG" )
if gazLpg == 'Tak' then
if getElementData ( pojazd , "vehicle:LPGWloczone" ) then
if getTickCount () - czasgaz > 180 then
czasgaz = getTickCount ()
local LPG = getElementData ( pojazd , "vehicle:LPG" ) or 0
local vx , vy , vz = getElementVelocity ( pojazd )
local spd = (( vx ^ 2 + vy ^ 2 + vz ^ 2 )^( 0.5 )/ 145 )
if spd > 0 then
LPG = LPG - spd * 2
setElementData ( pojazd , "vehicle:LPG" , LPG )
end
if tonumber ( LPG ) < 0.2 then
setElementData ( pojazd , "vehicle:LPG" , 0 )
setElementData ( pojazd , "vehicle:LPGWloczone" , false )
setElementData ( pojazd , "vehicle:BezynaWloczone" , true )
end
end
end
end
end
addEventHandler ( "onClientRender" , root , function()
local pojazd = getPedOccupiedVehicle ( localPlayer )
if not pojazd then return end
if isBike [ getElementModel ( pojazd )] then return end
if not getVehicleEngineState ( pojazd ) then return end
if getVehicleController ( pojazd ) ~= localPlayer then return end
odejmijPaliwo ( pojazd )
odejmijGaz ( pojazd )
end )
function zgasSilnik ()
for i , v in ipairs ( getElementsByType ( "vehicle" )) do
local data = getElementData ( v , "vehicle:fuel" )
local dataLPG = getElementData ( v , "vehicle:LPG" )
if not dataLPG then
if data then
if tonumber ( data ) < 0.2 then
setVehicleEngineState ( v , false )
end
end
end
if dataLPG then
if data then
if tonumber ( dataLPG ) < 0.2 then
if tonumber ( data ) < 0.2 then
setVehicleEngineState ( v , false )
end
end
end
end
end
end
setTimer ( zgasSilnik , 500 , 0 )
--- Przebieg
local czasp = getTickCount ()
isBike = {
[ 509 ]= true , -- Bike
[ 481 ]= true , -- BMX
[ 510 ]= true , -- Mountain bike
}
function naliczPrzebieg ( pojazd )
if getTickCount () - czasp > 300 then
czasp = getTickCount ()
local przebieg = getElementData ( pojazd , "vehicle:mileage" ) or 0
local vx , vy , vz = getElementVelocity ( pojazd )
local spd = (( vx ^ 2 + vy ^ 2 + vz ^ 2 )^( 0.5 )/ 100 )
if spd > 0 then
przebieg = przebieg + spd * 2
setElementData ( pojazd , "vehicle:mileage" , przebieg )
end
end
end
addEventHandler ( "onClientRender" , root , function()
local pojazd = getPedOccupiedVehicle ( localPlayer )
if not pojazd then return end
if isBike [ getElementModel ( pojazd )] then return end
if not getVehicleEngineState ( pojazd ) then return end
if getVehicleController ( pojazd ) ~= localPlayer then return end
naliczPrzebieg ( pojazd )
end )
function filedelet ()
if fileExists ( "paliwo.lua" ) then
fileDelete ( "paliwo.lua" )
end
end
addEventHandler ( "onClientResourceStart" , getResourceRootElement ( getThisResource ()), filedelet )
addEventHandler ( "onClientPlayerQuit" , getRootElement (), filedelet )
addEventHandler ( "onClientPlayerJoin" , getRootElement (), filedelet )
Podpis
[lua]
Napisał bym tu coś ale nie umiem...
[/lua]
Wysłany: 2018-08-06, 23:34
BoomEq
Wiek: 35 Na forum: 3522 dni Posty: 101
Nick w MP: BoomEqqq
Piwa : 20
ogrpg_vehicles w mysql masz bez pojemno?ci/LPG pewnie lub przecho nie zapisuje
Wysłany: 2018-08-06, 23:52
turbonet
Kradnę kody uważaj :)
Wiek: 28 Na forum: 2903 dni Posty: 30
Nick w MP: AJgorEx
Piwa : 464
No nie mam nic i jak to doda? + co? w kodzie trzeba a nie tylko w bazie danych
Podpis
[lua]
Napisał bym tu coś ale nie umiem...
[/lua]
Wysłany: 2018-08-07, 00:09
nanKy
Wiek: 22 Na forum: 3865 dni Posty: 498
Nick w MP: nanky
Piwa : 1773
Daj kod systemu pojazd?w.
(serverside'u)
Wysłany: 2018-08-07, 00:22
turbonet
Kradnę kody uważaj :)
Wiek: 28 Na forum: 2903 dni Posty: 30
Nick w MP: AJgorEx
Piwa : 464
s_misc.lua
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 getAdmin2 ( plr , level )
if level then
local result = exports [ "ogrpg-db" ]: dbGet ( "SELECT * from ogrpg_admins WHERE serial=? AND level=?" , getPlayerSerial ( plr ), level )
if result and #result > 0 then
return true
else
return false
end
else
local result = exports [ "ogrpg-db" ]: dbGet ( "SELECT * from ogrpg_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 [ "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 ], 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 ( "SF " .. vehicle [ "id" ]))
end
setElementFrozen ( veh , ( vehicle [ "frozen" ]) > 0 )
if vehicle [ "paintjob" ] ~= 3 then
setVehiclePaintjob ( veh , vehicle [ "paintjob" ])
end
if vehicle [ "health" ] > 300 then
setElementHealth ( veh , vehicle [ "health" ])
else
setElementHealth ( veh , 301 )
end
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" ])
--[[ if vehicle [ "rearlights" ] ~= "" then
setElementData ( veh , "vehicle:light" , vehicle [ "rearlights" ])
else
setElementData ( veh , "vehicle:light" , "High Quality" )
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 ( "[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 , c5 , c6 , c7 , c8 , c9 , c10 , c11 , c12 = getVehicleColor ( vehicle , true )
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 blokada = getElementData ( vehicle , "vehicle:block" )
local neon = getElementData ( vehicle , "neony" )
local h1 , h2 , h3 = getVehicleHeadLightColor ( vehicle )
local paintjob = getVehiclePaintjob ( vehicle )
local rear = "Brak"
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 [ "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,%d,%d,%d,%d,%d,%d,%d,%d', panelstates='%s', paintjob='%d', tuning='%s', headlights='%d,%d,%d', ownedFaction='%s', ownedPlayer='%d', ownedGroup='%d', neon='%d', blokada='%s' WHERE id=%d" ,
model , x , y , z , rx , ry , rz , desc , health , fuel , mileage , frozen , driver , c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 , c9 , c10 , c11 , c12 , panelstates , paintjob , upgrades , h1 , h2 , h3 , faction , player , group , neon , tostring ( blokada ), id ))
end
end
function onParkVehicle ( vehicle )
local query = exports [ "ogrpg-db" ]: dbSet ( "UPDATE ogrpg_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 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( plr , seat )
if seat ~= 0 then return end
onSaveVehicle ( source )
setVehicleEngineState ( source , false )
setVehicleDamageProof ( source , true )
unbindKey ( plr , 'h' , '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 ( "[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 ))
if getElementData ( source , "neony" ) and getElementData ( source , "neony" ) ~= 0 then
triggerClientEvent ( plr , "addNotification" , root , "* Posiadasz neony w pojezdzie, mo?esz wl?czy? i wylaczyc je za pomoc? przycisku H." , "info" )
bindKey ( plr , 'h' , 'down' , bindHoron4 , plr )
end
end )
addEventHandler ( "onVehicleStartEnter" , root , function( plr , seat , jacked )
if seat == 0 then
if getElementHealth ( source ) < 301 then
setElementHealth ( source , 301 )
end
end
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 getAdmin2 ( plr , 3 ) or getPlayerName ( plr ) == "Ryjek" then
return
end
if faction and string . len ( faction ) > 3 then
if faction ~= getSettings ( plr , faction , "faction" ) then
triggerClientEvent ( plr , "addNotification" , root , "* Nie masz kluczyk?w do tego pojazdu." , "error" )
cancelEvent ()
end
return
end
if group and group ~= 0 then
if group ~= getSettings ( plr , group , "organization" ) then
triggerClientEvent ( plr , "addNotification" , root , "* Nie masz kluczyk?w do tego pojazdu." , "error" )
cancelEvent ()
end
return
end
if player and player ~= getSettings ( plr , false , "owner" ) then
triggerClientEvent ( plr , "addNotification" , root , "* Nie masz kluczyk?w do tego pojazdu." , "error" )
cancelEvent ()
end
end
end )
addEventHandler ( "onVehicleStartEnter" , root , function( plr , seat , jacked )
if getElementData ( source , "ladowany" ) then cancelEvent () end
end )
addEventHandler ( "onVehicleStartEnter" , root , function( plr , seat , jacked )
if jacked then
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" )
outputChatBox ( '* Wy??czy?e? Neony.' , plr , 255 , 0 , 0 )
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" )
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 )
--[[
vehicles retrieval - mechanizm wylawiajacy pojazdy z wody
@ author Lukasz Biegaj < wielebny @ bestplay . pl >
@ author Karer < karer . programmer @ gmail . com >
@ author WUBE < wube @ lss - rp . pl >
@ copyright 2011 - 2013 Lukasz Biegaj < wielebny @ bestplay . pl >
]]--
function shuffle ( t )
local n = #t
while n >= 2 do
-- n is now the last pertinent index
local k = math . random ( n ) -- 1 <= k <= n
-- Quick swap
t [ n ], t [ k ] = t [ k ], t [ n ]
n = n - 1
end
return t
end
local function vr ()
local pojazdy = getElementsByType ( "vehicle" )
if ( #pojazdy<1) then return end
local pojazdwoda ={}
for _ , pojazd in ipairs ( pojazdy ) do
if isElementInWater ( pojazd ) and not getVehicleController ( pojazd ) then
local x , y , z = getElementPosition ( pojazd )
if ( z <- 1 ) then
table . insert ( pojazdwoda , pojazd )
end
end
end
if ( #pojazdwoda<1) then return end
outputDebugString ( "Pojazdow w wodzie/pod mapa: " .. #pojazdwoda)
shuffle ( pojazdwoda )
local pojazd = pojazdwoda [ 1 ]
if getElementData ( pojazd , "vehicle:spawn" ) then
onParkVehicle ( pojazd )
else
respawnVehicle ( pojazd )
end
end
setTimer ( vr , 35000 , 0 )
-- //////////////////////////////////////////////////////// Licencje
-- 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 [ "ogrpg-prace-settings" ]: getVehicleLicense ( plr , "A" ) then
-- cancelEvent ()
-- end
-- elseif categoryB [ getElementModel ( source )] then
-- if exports [ "ogrpg-prace-settings" ]: getVehicleLicense ( plr , "B" ) then
-- cancelEvent ()
-- end
-- elseif categoryC [ getElementModel ( source )] then
-- if exports [ "ogrpg-prace-settings" ]: getVehicleLicense ( plr , "C" ) then
-- cancelEvent ()
-- end
-- end
-- 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" , 50 )
end
end )
addEventHandler ( "onColShapeLeave" , ogranicznik , function( el , md )
if getElementType ( el )== "vehicle" then
removeElementData ( el , "vehicle:tempspeed" )
end
end )
Podpis
[lua]
Napisał bym tu coś ale nie umiem...
[/lua]
Wysłany: 2018-08-07, 00:39
nanKy
Wiek: 22 Na forum: 3865 dni Posty: 498
Nick w MP: nanky
Piwa : 1773
Poka? struktur? bazy danych tabeli z pojazdami.
(najlepiej na screenshocie)
Wysłany: 2018-08-07, 10:57
turbonet
Kradnę kody uważaj :)
Wiek: 28 Na forum: 2903 dni Posty: 30
Nick w MP: AJgorEx
Piwa : 464
Podpis
[lua]
Napisał bym tu coś ale nie umiem...
[/lua]
Wysłany: 2018-08-07, 11:25
eject
kurdebele
Wiek: 30 Na forum: 3659 dni Posty: 182
Nick w MP: EjecT
Piwa : 2456
Nie posiadasz nigdzie w strukturze kolumny w stylu 'pojemnosc' wi?c przechowywalnia jej nie zapisze
Wysłany: 2018-08-07, 11:34
turbonet
Kradnę kody uważaj :)
Wiek: 28 Na forum: 2903 dni Posty: 30
Nick w MP: AJgorEx
Piwa : 464
To wiem, ale nie umiem jej zrobi?
Podpis
[lua]
Napisał bym tu coś ale nie umiem...
[/lua]
Wysłany: 2018-08-07, 11:53
BoomEq
Wiek: 35 Na forum: 3522 dni Posty: 101
Nick w MP: BoomEqqq
Piwa : 20
W MYSQL : ogrpg_vehicles -> struktura -> scrollujesz na d?? i masz : https://imgur.com/a/IEhMUQR ( ty zamiast pojemno?? bedziesz mia? co innego zapewne, ale to bez r??nicy ) --> klikasz wykonaj --> uzupe?niasz tak : https://imgur.com/a/6PUDBNE - > klikasz Zapisz . I tyle z MYSQL, my?l?, ?e dobrze
Wysłany: 2018-08-07, 12:02
turbonet
Kradnę kody uważaj :)
Wiek: 28 Na forum: 2903 dni Posty: 30
Nick w MP: AJgorEx
Piwa : 464
Dobra i jak to zrobi?em to co mam w kodzie da? i w jakim pliku?
Podpis
[lua]
Napisał bym tu coś ale nie umiem...
[/lua]
Wysłany: 2018-08-07, 16:50
BoomEq
Wiek: 35 Na forum: 3522 dni Posty: 101
Nick w MP: BoomEqqq
Piwa : 20
s_misc.lua :
[lua]
s_misc.lua :
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 getAdmin2 ( plr , level )
if level then
local result = exports [ "ogrpg-db" ]: dbGet ( "SELECT * from ogrpg_admins WHERE serial=? AND level=?" , getPlayerSerial ( plr ), level )
if result and #result > 0 then
return true
else
return false
end
else
local result = exports [ "ogrpg-db" ]: dbGet ( "SELECT * from ogrpg_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 [ "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 ], 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 ( "SF " .. vehicle [ "id" ]))
end
setElementFrozen ( veh , ( vehicle [ "frozen" ]) > 0 )
if vehicle [ "paintjob" ] ~= 3 then
setVehiclePaintjob ( veh , vehicle [ "paintjob" ])
end
if vehicle [ "health" ] > 300 then
setElementHealth ( veh , vehicle [ "health" ])
else
setElementHealth ( veh , 301 )
end
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" ])
setElementData ( veh , "vehicle:pojemnosc" , vehicle [ "pojemnosc" ])
--[[ if vehicle [ "rearlights" ] ~= "" then
setElementData ( veh , "vehicle:light" , vehicle [ "rearlights" ])
else
setElementData ( veh , "vehicle:light" , "High Quality" )
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 ( "[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 , c5 , c6 , c7 , c8 , c9 , c10 , c11 , c12 = getVehicleColor ( vehicle , true )
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 blokada = getElementData ( vehicle , "vehicle:block" )
local neon = getElementData ( vehicle , "neony" )
local pojemnosc = getElementData ( vehicle , "vehicle:pojemnosc" )
local h1 , h2 , h3 = getVehicleHeadLightColor ( vehicle )
local paintjob = getVehiclePaintjob ( vehicle )
local rear = "Brak"
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 [ "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,%d,%d,%d,%d,%d,%d,%d,%d', panelstates='%s', paintjob='%d', tuning='%s', headlights='%d,%d,%d', ownedFaction='%s', ownedPlayer='%d', ownedGroup='%d', neon='%d', pojemnosc='%s', blokada='%s' WHERE id=%d" ,
model , x , y , z , rx , ry , rz , desc , health , fuel , mileage , frozen , driver , c1 , c2 , c3 , c4 , c5 , c6 , c7 , c8 , c9 , c10 , c11 , c12 , panelstates , paintjob , upgrades , h1 , h2 , h3 , faction , player , group , neon , pojemnosc , tostring ( blokada ), id ))
end
end
function onParkVehicle ( vehicle )
local query = exports [ "ogrpg-db" ]: dbSet ( "UPDATE ogrpg_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 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( plr , seat )
if seat ~= 0 then return end
onSaveVehicle ( source )
setVehicleEngineState ( source , false )
setVehicleDamageProof ( source , true )
unbindKey ( plr , 'h' , '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 ( "[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 ))
if getElementData ( source , "neony" ) and getElementData ( source , "neony" ) ~= 0 then
triggerClientEvent ( plr , "addNotification" , root , "* Posiadasz neony w pojezdzie, mo?esz wl?czy? i wylaczyc je za pomoc? przycisku H." , "info" )
bindKey ( plr , 'h' , 'down' , bindHoron4 , plr )
end
end )
addEventHandler ( "onVehicleStartEnter" , root , function( plr , seat , jacked )
if seat == 0 then
if getElementHealth ( source ) < 301 then
setElementHealth ( source , 301 )
end
end
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 getAdmin2 ( plr , 3 ) or getPlayerName ( plr ) == "Ryjek" then
return
end
if faction and string . len ( faction ) > 3 then
if faction ~= getSettings ( plr , faction , "faction" ) then
triggerClientEvent ( plr , "addNotification" , root , "* Nie masz kluczyk?w do tego pojazdu." , "error" )
cancelEvent ()
end
return
end
if group and group ~= 0 then
if group ~= getSettings ( plr , group , "organization" ) then
triggerClientEvent ( plr , "addNotification" , root , "* Nie masz kluczyk?w do tego pojazdu." , "error" )
cancelEvent ()
end
return
end
if player and player ~= getSettings ( plr , false , "owner" ) then
triggerClientEvent ( plr , "addNotification" , root , "* Nie masz kluczyk?w do tego pojazdu." , "error" )
cancelEvent ()
end
end
end )
addEventHandler ( "onVehicleStartEnter" , root , function( plr , seat , jacked )
if getElementData ( source , "ladowany" ) then cancelEvent () end
end )
addEventHandler ( "onVehicleStartEnter" , root , function( plr , seat , jacked )
if jacked then
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" )
outputChatBox ( '* Wy??czy?e? Neony.' , plr , 255 , 0 , 0 )
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" )
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 )
--[[
vehicles retrieval - mechanizm wylawiajacy pojazdy z wody
@ author Lukasz Biegaj < wielebny @ bestplay . pl >
@ author Karer < karer . programmer @ gmail . com >
@ author WUBE < wube @ lss - rp . pl >
@ copyright 2011 - 2013 Lukasz Biegaj < wielebny @ bestplay . pl >
]]--
function shuffle ( t )
local n = #t
while n >= 2 do
-- n is now the last pertinent index
local k = math . random ( n ) -- 1 <= k <= n
-- Quick swap
t [ n ], t [ k ] = t [ k ], t [ n ]
n = n - 1
end
return t
end
local function vr ()
local pojazdy = getElementsByType ( "vehicle" )
if ( #pojazdy<1) then return end
local pojazdwoda ={}
for _ , pojazd in ipairs ( pojazdy ) do
if isElementInWater ( pojazd ) and not getVehicleController ( pojazd ) then
local x , y , z = getElementPosition ( pojazd )
if ( z <- 1 ) then
table . insert ( pojazdwoda , pojazd )
end
end
end
if ( #pojazdwoda<1) then return end
outputDebugString ( "Pojazdow w wodzie/pod mapa: " .. #pojazdwoda)
shuffle ( pojazdwoda )
local pojazd = pojazdwoda [ 1 ]
if getElementData ( pojazd , "vehicle:spawn" ) then
onParkVehicle ( pojazd )
else
respawnVehicle ( pojazd )
end
end
setTimer ( vr , 35000 , 0 )
-- //////////////////////////////////////////////////////// Licencje
-- 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 [ "ogrpg-prace-settings" ]: getVehicleLicense ( plr , "A" ) then
-- cancelEvent ()
-- end
-- elseif categoryB [ getElementModel ( source )] then
-- if exports [ "ogrpg-prace-settings" ]: getVehicleLicense ( plr , "B" ) then
-- cancelEvent ()
-- end
-- elseif categoryC [ getElementModel ( source )] then
-- if exports [ "ogrpg-prace-settings" ]: getVehicleLicense ( plr , "C" ) then
-- cancelEvent ()
-- end
-- end
-- 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" , 50 )
end
end )
addEventHandler ( "onColShapeLeave" , ogranicznik , function( el , md )
if getElementType ( el )== "vehicle" then
removeElementData ( el , "vehicle:tempspeed" )
end
end )
i ten twoj skrypt na poj zmien tak :
local czas = getTickCount ()
local czasgaz = getTickCount ()
isBike = {
[ 509 ]= true , -- Bike
[ 481 ]= true , -- BMX
[ 510 ]= true , -- Mountain bike
}
function odejmijPaliwo ( pojazd )
if getElementData ( pojazd , "vehicle:BezynaWloczone" ) then
if getTickCount () - czas > 190 then
czas = getTickCount ()
local paliwo = getElementData ( pojazd , "vehicle:fuel" ) or 0
local Pojemnosc = getElementData ( pojazd , "vehicle:pojemnosc" )
local vx , vy , vz = getElementVelocity ( pojazd )
local spd = (( vx ^ 2 + vy ^ 2 + vz ^ 2 )^( 0.5 )/ 150 )
if spd > 0 then
if Pojemnosc == "2.0cm3" then
paliwo = paliwo - spd * 5
setElementData ( pojazd , "vehicle:fuel" , paliwo )
end
if Pojemnosc == "2.5cm3" then
paliwo = paliwo - spd * 7
setElementData ( pojazd , "vehicle:fuel" , paliwo )
end
if Pojemnosc == "3.5cm3" then
paliwo = paliwo - spd * 10
setElementData ( pojazd , "vehicle:fuel" , paliwo )
end
paliwo = paliwo - spd * 3
setElementData ( pojazd , "vehicle:fuel" , paliwo )
end
local gazLpg = getElementData ( pojazd , "Zamontowane:LPG" ) or "Nie"
if gazLpg == 'Tak' then
if tonumber ( paliwo ) < 0.2 then
setElementData ( pojazd , "vehicle:fuel" , 0 )
setElementData ( pojazd , "vehicle:LPGWloczone" , true )
setElementData ( pojazd , "vehicle:BezynaWloczone" , false )
end
end
end
end
end
function odejmijGaz ( pojazd )
local gazLpg = getElementData ( pojazd , "Zamontowane:LPG" )
if gazLpg == 'Tak' then
if getElementData ( pojazd , "vehicle:LPGWloczone" ) then
if getTickCount () - czasgaz > 180 then
czasgaz = getTickCount ()
local LPG = getElementData ( pojazd , "vehicle:LPG" ) or 0
local vx , vy , vz = getElementVelocity ( pojazd )
local spd = (( vx ^ 2 + vy ^ 2 + vz ^ 2 )^( 0.5 )/ 145 )
if spd > 0 then
LPG = LPG - spd * 2
setElementData ( pojazd , "vehicle:LPG" , LPG )
end
if tonumber ( LPG ) < 0.2 then
setElementData ( pojazd , "vehicle:LPG" , 0 )
setElementData ( pojazd , "vehicle:LPGWloczone" , false )
setElementData ( pojazd , "vehicle:BezynaWloczone" , true )
end
end
end
end
end
addEventHandler ( "onClientRender" , root , function()
local pojazd = getPedOccupiedVehicle ( localPlayer )
if not pojazd then return end
if isBike [ getElementModel ( pojazd )] then return end
if not getVehicleEngineState ( pojazd ) then return end
if getVehicleController ( pojazd ) ~= localPlayer then return end
odejmijPaliwo ( pojazd )
odejmijGaz ( pojazd )
end )
function zgasSilnik ()
for i , v in ipairs ( getElementsByType ( "vehicle" )) do
local data = getElementData ( v , "vehicle:fuel" )
local dataLPG = getElementData ( v , "vehicle:LPG" )
if not dataLPG then
if data then
if tonumber ( data ) < 0.2 then
setVehicleEngineState ( v , false )
end
end
end
if dataLPG then
if data then
if tonumber ( dataLPG ) < 0.2 then
if tonumber ( data ) < 0.2 then
setVehicleEngineState ( v , false )
end
end
end
end
end
end
setTimer ( zgasSilnik , 500 , 0 )
--- Przebieg
local czasp = getTickCount ()
isBike = {
[ 509 ]= true , -- Bike
[ 481 ]= true , -- BMX
[ 510 ]= true , -- Mountain bike
}
function naliczPrzebieg ( pojazd )
if getTickCount () - czasp > 300 then
czasp = getTickCount ()
local przebieg = getElementData ( pojazd , "vehicle:mileage" ) or 0
local vx , vy , vz = getElementVelocity ( pojazd )
local spd = (( vx ^ 2 + vy ^ 2 + vz ^ 2 )^( 0.5 )/ 100 )
if spd > 0 then
przebieg = przebieg + spd * 2
setElementData ( pojazd , "vehicle:mileage" , przebieg )
end
end
end
addEventHandler ( "onClientRender" , root , function()
local pojazd = getPedOccupiedVehicle ( localPlayer )
if not pojazd then return end
if isBike [ getElementModel ( pojazd )] then return end
if not getVehicleEngineState ( pojazd ) then return end
if getVehicleController ( pojazd ) ~= localPlayer then return end
naliczPrzebieg ( pojazd )
end )
function filedelet ()
if fileExists ( "paliwo.lua" ) then
fileDelete ( "paliwo.lua" )
end
end
addEventHandler ( "onClientResourceStart" , getResourceRootElement ( getThisResource ()), filedelet )
addEventHandler ( "onClientPlayerQuit" , getRootElement (), filedelet )
addEventHandler ( "onClientPlayerJoin" , getRootElement (), filedelet )
To jest na pojemnosc a jak bedzie dzialac to moge pomoc z LPG, bo nie jestem pewny
Wysłany: 2018-08-07, 18:18
turbonet
Kradnę kody uważaj :)
Wiek: 28 Na forum: 2903 dni Posty: 30
Nick w MP: AJgorEx
Piwa : 464
Nie dzia?a
Podpis
[lua]
Napisał bym tu coś ale nie umiem...
[/lua]
Tagi: pojemność :: silnika
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: