ProWhiteQ
Ucze sie LUA
Wiek: 45 Na forum: 4341 dni Posty: 38
Piwa : 6
Witam! Mam problem z zapisem ostaniego kierowcy na serwerze, nie wiem czy ma to zwi?zek z b??dem tabeli w MySQL czy b??d w skryptach. Dodaj? do tego skrypt na pojazdy:
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
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 , "vehicle:ownedGroup" , vehicle [ "ownedGroup" ])
setElementData ( veh , "vehicle:ownedPlayer" , vehicle [ "ownedPlayer" ])
setElementData ( veh , "vehicle:LPG" , vehicle [ "gaz" ])
setElementData ( veh , "Zamontowane:LPG" , vehicle [ "GazZamont" ])
setElementData ( veh , "licznik:kolor" , vehicle [ "licznik" ])
setElementData ( veh , "Zawieszenie:Pneumatyczne" , vehicle [ "zawieszenie" ])
setElementData ( veh , "vehicle:drzwidogury" , vehicle [ "drzwi" ])
setElementData ( veh , "Pojemnosc:silnika" , vehicle [ "silnik" ])
local Pojemnosc = getElementData ( veh , "Pojemnosc:silnika" ) or "Zwykly"
if Pojemnosc == '2.0cm3' then -- pojemnosc silnika 2.0
setVehicleHandling ( veh , "engineAcceleration" , 14.0 )
elseif Pojemnosc == '2.5cm3' then -- pojemnosc silnika 2.5
setVehicleHandling ( veh , "engineAcceleration" , 15.5 )
elseif Pojemnosc == '3.5cm3' then -- pojemnosc silnika 3.5
setVehicleHandling ( veh , "engineAcceleration" , 19.5 )
setVehicleHandling ( veh , "driveType" , "awd" )
setVehicleHandling ( veh , "maxVelocity" , 205.0 )
end
local drziwdogora = getElementData ( veh , "vehicle:drzwidogury" )
if drziwdogora == 'Tak' then
setElementData ( veh , "tuning.lsdDoor" , true )
end
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 [ "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 )
setElementData ( veh , "vehicle:BezynaWloczone" , true )
setElementFrozen ( veh , true )
end
outputDebugString ( "[og-vehicles] Wczytano " .. vehicles .. " pojazdow." )
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 gaz = getElementData ( vehicle , "vehicle:LPG" )
local silnik = getElementData ( vehicle , "Pojemnosc:silnika" ) or "Zwykly"
local licznik = getElementData ( vehicle , "licznik:kolor" ) or "Zwykly"
local GazZamont = getElementData ( vehicle , "Zamontowane:LPG" ) or "Brak"
local zawieszenie = getElementData ( vehicle , "Zawieszenie:Pneumatyczne" ) or "Brak"
local drzwi = getElementData ( vehicle , "vehicle:drzwidogury" ) or "Nie"
local rent = getElementData ( vehicle , "vehicle:rent" )
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', rent='%d',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', ownedPlayer='%d', neon='%d', silnik='%s', gaz='%d', GazZamont='%s', zawieszenie='%s', drzwi='%s', licznik='%s', blokada='%s' WHERE id=%d" ,
model , x , y , z , rx , ry , rz , "0" , desc , 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 , silnik , gaz , GazZamont , zawieszenie , drzwi , licznik , tostring ( blokada ), id ))
if ( type ( rent ) == "table" ) then
local rr = string . format ( "%s" , table . concat ( rent , ',' ) )
-- outputDebugString ( rr )
local query2 = exports [ 'ogrpg-db' ]: dbSet ( "UPDATE ogrpg_vehicles SET rent=? WHERE id=?" , rr , id )
end
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 sg_organizacje WHERE uid=?" , 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 , true )
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
local Pojemnosc = getElementData ( source , "Pojemnosc:silnika" ) or "Zwykly"
if Pojemnosc == '2.0cm3' then -- pojemnosc silnika 2.0
setVehicleHandling ( source , "engineAcceleration" , 14.0 )
elseif Pojemnosc == '2.5cm3' then -- pojemnosc silnika 2.5
setVehicleHandling ( source , "engineAcceleration" , 15.5 )
elseif Pojemnosc == '3.5cm3' then -- pojemnosc silnika 3.5
setVehicleHandling ( source , "engineAcceleration" , 19.5 )
setVehicleHandling ( source , "driveType" , "awd" )
setVehicleHandling ( source , "maxVelocity" , 205.0 )
end
end )
addEventHandler ( "onVehicleEnter" , root , function( plr , seat )
if seat ~= 0 then return end
local zawiesze = getElementData ( source , "Zawieszenie:Pneumatyczne" )
if zawiesze == 'Tak' then
outputChatBox ( "* Posiadasz zawieszenie pneumatyczne, mo?esz je regulowa? komend? /zawieszenie 1-5" , plr , 255 , 255 , 255 )
return
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 , 3 ) then
return
end
if rent and ( type ( rent ) == "table" ) then
for i , s in pairs ( rent ) do
if tonumber ( s ) == getElementData ( plr , "player:uid" ) then
return end
end
end
local plrgroup = getElementData ( plr , "player:organization" )
if plrgroup then
-- outputDebugString ( group )
if getSettings ( plr , false , "organization" ) == group then return end
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 jacked then
if getElementData ( source , "vehicle:ownedPlayer" ) == getElementData ( plr , "player:uid" ) 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 )
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 categoryL ={ 592 , 553 , 577 , 488 , 511 , 497 , 548 , 563 , 512 , 476 , 593 , 447 , 425 , 519 , 520 , 460 , 417 , 469 , 487 , 513 }
-- Tutaj dalsza cze ? c kodu
addEventHandler ( "onVehicleStartEnter" , getRootElement (), function( plr , seat , jacked )
if seat ~= 0 then return end
local queryA = string . format ( "SELECT * FROM ogrpg_punish WHERE type=%q AND active=1 AND serial=%q AND time>NOW() LIMIT 1" , "A" , getPlayerSerial ( plr ))
local resultA = exports [ "ogrpg-db" ]: pobierzWyniki ( queryA )
if ( resultA ) then
cancelEvent ()
outputChatBox ( "* Posiadasz zawieszone prawo jazdy do " .. resultA [ "time" ].. ", za: " .. resultA [ "reason" ], plr , 255 , 0 , 0 )
else
exports [ "ogrpg-db" ]: dbSet ( "DELETE FROM ogrpg_punish WHERE type=? AND active=1 AND serial=?" , "A" , getPlayerSerial ( plr ))
end
--[[ ( "..resultA[" type "].." )
local queryB = string . format ( "SELECT * FROM ogrpg_punish WHERE type=%q AND active=1 AND serial=%q AND time>NOW() LIMIT 1" , "B" , getPlayerSerial ( plr ))
local resultB = exports [ "ogrpg-db" ]: pobierzWyniki ( queryB )
if ( resultB ) then
cancelEvent ()
outputChatBox ( "* Posiadasz zawieszone prawo jazdy kat(" .. resultB [ "type" ].. ") do " .. resultB [ "time" ].. ", za: " .. resultB [ "reason" ], plr , 255 , 0 , 0 )
else
exports [ "ogrpg-db" ]: dbSet ( "DELETE FROM ogrpg_punish WHERE type=? AND active=1 AND serial=?" , "B" , getPlayerSerial ( plr ))
end
local queryC = string . format ( "SELECT * FROM ogrpg_punish WHERE type=%q AND active=1 AND serial=%q AND time>NOW() LIMIT 1" , "C" , getPlayerSerial ( plr ))
local resultC = exports [ "ogrpg-db" ]: pobierzWyniki ( queryC )
if ( resultC ) then
cancelEvent ()
outputChatBox ( "* Posiadasz zawieszone prawo jazdy kat(" .. resultC [ "type" ].. ") do " .. resultC [ "time" ].. ", za: " .. resultC [ "reason" ], plr , 255 , 0 , 0 )
else
exports [ "ogrpg-db" ]: dbSet ( "DELETE FROM ogrpg_punish WHERE type=? AND active=1 AND serial=?" , "C" , getPlayerSerial ( plr ))
end
]]--
--[[ local queryC = string . format ( "SELECT * FROM ogrpg_punish WHERE type=%q AND active=1 AND serial=%q AND time>NOW() LIMIT 1" , "C" , getPlayerSerial ( plr ))
local resultC = exports [ "ogrpg-db" ]: pobierzWyniki ( queryC )
if ( resultC ) then
cancelEvent ()
outputChatBox ( "* Posiadasz zawieszone prawo jazdy kat(" .. resultC [ "type" ].. ") do " .. resultC [ "time" ].. ", za: " .. resultC [ "reason" ], plr , 255 , 0 , 0 )
else
exports [ "ogrpg-db" ]: dbSet ( "DELETE FROM ogrpg_punish WHERE type=? AND active=1 AND serial=?" , "C" , getPlayerSerial ( plr ))
end ]]--
--[[if categoryL [ getElementModel ( source )] then
query = string . format ( "SELECT * FROM ogrpg_punish WHERE type=%q AND active=1 AND serial=%q AND time>NOW() LIMIT 1" , "L" , getPlayerSerial ( target ))
local result = exports [ "ogrpg-db" ]: pobierzWyniki ( query )
if ( result ) then
cancelEvent ()
outputChatBox ( "* Posiadasz zawieszone prawo jazdy do " .. result [ "time" ].. ", za: " .. result [ "reason" ], plr , 255 , 0 , 0 )
else
exports [ "ogrpg-db" ]: dbSet ( "DELETE FROM ogrpg_punish WHERE type=? AND active=1 AND serial=?" , "L" , getPlayerSerial ( plr ))
end
end ]]-- Kat L zostala zablokowana ]]--
end )
addEventHandler ( "onVehicleEnter" , getRootElement (), function( plr , seat , jacked )
if seat ~= 0 then return end
local queryA = string . format ( "SELECT * FROM ogrpg_punish WHERE type=%q AND active=1 AND serial=%q AND time>NOW() LIMIT 1" , "A" , getPlayerSerial ( plr ))
local resultA = exports [ "ogrpg-db" ]: pobierzWyniki ( queryA )
if ( resultA ) then
setControlState ( plr , "enter_exit" , true )
setTimer ( toggleControl , 3000 , 1 , plr , "enter_exit" , true )
outputChatBox ( "* Posiadasz zawieszone prawo jazdy do " .. resultA [ "time" ].. ", za: " .. resultA [ "reason" ], plr , 255 , 0 , 0 )
else
exports [ "ogrpg-db" ]: dbSet ( "DELETE FROM ogrpg_punish WHERE type=? AND active=1 AND serial=?" , "A" , getPlayerSerial ( plr ))
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 )
Oraz stron? clienta suszarki:
local w , h = guiGetScreenSize ()
local vehicle ={}
vehicle . id = nil
vehicle . speed = nil
vehicle . driver = nil
local option ={}
value = nil
element = nil
option . selected = 0
option . actived = false
option [ "vehicle" ]={
"Akcja: Napraw pojazd" ,
"Akcja: Odeslij do przechowalni" ,
"Akcja: Respawnuj Pojazd(usun)" ,
"Akcja: Przenie? pojazd" ,
"Akcja: Zatankuj pojazd" ,
"Akcja: Gleba" ,
}
option [ "player" ]={
"Akcja: Przenie? do siebie" ,
"Akcja: Wyrzu? gracza" ,
"Akcja: Prze?aduj gracza" ,
"Akcja: Ulecz gracza" ,
"Akcja: Przenie? do niego" ,
}
function isPedAiming ( thePedToCheck )
if isElement ( thePedToCheck ) then
if getElementType ( thePedToCheck ) == "player" or getElementType ( thePedToCheck ) == "ped" then
if getPedTask ( thePedToCheck , "secondary" , 0 ) == "TASK_SIMPLE_USE_GUN" then
return true
end
end
end
return false
end
function isRendering ()
if option . actived == true then
if not element then return end
local vx , vy , vz = getElementVelocity ( element )
mathSpeed =( vx ^ 2 + vy ^ 2 + vz ^ 2 )^ 0.5 * 1.8 * 100
if mathSpeed < 0 then return end
if value == "vehicle" then
local vid = getElementData ( element , "vehicle:id" ) or "b??d"
local driver = getElementData ( element , "vehicle:driver" ) or "b??d"
local plate = getVehiclePlateText ( element ) or 0
-- dxDrawText ( "Suszarka Administracji" ,( 288 / 1280 )* w , ( 214 / 720 )* h , ( 1008 / 1280 )* w , ( 402 / 720 )* h , tocolor ( 255 , 255 , 255 , 255 ), 1.50 , "default" , "center" , "center" , false , false , false , false , false )
dxDrawImage (( 278 / 1280 )* w , ( 267 / 720 )* h , ( 735 / 1280 )* w , ( 209 / 720 )* h , ":ogrpg-offices/license/okn.png" , 0 , 0 , 0 , tocolor ( 0 , 0 , 0 , 185 ), false )
dxDrawText ( string . format ( "%.02f" , mathSpeed ).. " km/h" , ( 825 / 1280 )* w , ( 1013 / 720 )* h , ( 446 / 1280 )* w , ( 446 / 720 )* h , tocolor ( 255 , 255 , 255 , 255 ), ( 2.00 / 1280 )* w , ( 2.00 / 720 )* h , "default-bold" , "center" , "center" , false )
dxDrawText ( "Rejestracja: " .. plate , ( 297 / 1280 )* w , ( 653 / 720 )* h , ( 486 / 1280 )* w , ( 80 / 720 )* h , tocolor ( 255 , 255 , 255 , 255 ), ( 1.00 / 1280 )* w , ( 1.00 / 720 )* h , "default-bold" , "center" , "center" , false )
dxDrawText ( "ID: " .. vid .. "\n\nOstatni kierowca: " .. driver , ( 486 / 1280 )* w , ( 600 / 720 )* h , ( 688 / 1280 )* w , ( 80 / 720 )* h , tocolor ( 255 , 255 , 255 , 255 ), ( 1.00 / 1280 )* w , ( 1.00 / 720 )* h , "default-bold" , "center" , "center" , false )
if getElementData ( localPlayer , "player:faction" ) ~= 5 then
dxDrawText ( option [ value ][ option . selected ] or "Akcja: Nie wybrano" , ( 688 / 1280 )* w , ( 600 / 720 )* h , ( 957 / 1280 )* w , ( 83 / 720 )* h , tocolor ( 217 , 0 , 0 , 255 ), ( 1.00 / 1280 )* w , ( 1.00 / 720 )* h , "default-bold" , "center" , "center" , false )
end
end
if value == "player" then
local id = getElementData ( element , "id" ) or "b??d"
local uid = getElementData ( element , "player:uid" ) or "b??d"
local ogp = getElementData ( element , "player:Reputacja" ) or "b??d"
local faction = getElementData ( element , "player:faction" ) or "b??d"
if not getElementData ( element , "p:inv" ) then
dxDrawImage (( 278 / 1280 )* w , ( 267 / 720 )* h , ( 735 / 1280 )* w , ( 209 / 720 )* h , ":ogrpg-offices/license/okn.png" , 0 , 0 , 0 , tocolor ( 0 , 0 , 0 , 185 ), false )
dxDrawText ( "UID: " .. uid , ( 296 / 1280 )* w , ( 600 / 720 )* h , ( 486 / 1280 )* w , ( 53 / 720 )* h , tocolor ( 255 , 255 , 255 , 255 ), ( 2.00 / 1280 )* w , ( 2.00 / 720 )* h , "default-bold" , "center" , "center" , false )
dxDrawText ( "RP: " .. ogp , ( 297 / 1280 )* w , ( 653 / 720 )* h , ( 486 / 1280 )* w , ( 80 / 720 )* h , tocolor ( 255 , 255 , 255 , 255 ), ( 1.00 / 1280 )* w , ( 1.00 / 720 )* h , "default-bold" , "center" , "center" , false )
dxDrawText ( getPlayerName ( element ).. "(" .. id .. ")\n\nFrakcja(ID): " .. faction , ( 486 / 1280 )* w , ( 600 / 720 )* h , ( 688 / 1280 )* w , ( 80 / 720 )* h , tocolor ( 255 , 255 , 255 , 255 ), ( 1.00 / 1280 )* w , ( 1.00 / 720 )* h , "default-bold" , "center" , "center" , false )
if getElementData ( localPlayer , "player:faction" ) ~= 5 then
dxDrawText ( option [ value ][ option . selected ] or "Akcja: Nie wybrano" , ( 688 / 1280 )* w , ( 600 / 720 )* h , ( 957 / 1280 )* w , ( 83 / 720 )* h , tocolor ( 217 , 0 , 0 , 255 ), ( 1.00 / 1280 )* w , ( 1.00 / 720 )* h , "default-bold" , "center" , "center" , false )
end
end
end
end
end
addEventHandler ( "onClientPlayerTarget" , root , function( el )
if isPedAiming ( localPlayer ) and el and getPedWeapon ( localPlayer ) == 22 and getElementData ( localPlayer , "player:admin" ) == true then
if not option . actived then
if getElementData ( el , "p:inv" ) then return end
if getElementType ( el ) == "vehicle" then
value = "vehicle"
element = el
option . actived = true
elseif getElementType ( el ) == "player" then
value = "player"
element = el
option . actived = true
else return end
bindKey ( "mouse1" , "down" , onElementClicked )
bindKey ( "mouse_wheel_down" , "down" , onElementMoveDown )
bindKey ( "mouse_wheel_up" , "down" , onElementMoveUp )
addEventHandler ( "onClientHUDRender" , root , isRendering )
end
else
if option . actived then
vehicle . el = nil
option . actived = false
unbindKey ( "mouse1" , "down" , onElementClicked )
unbindKey ( "mouse_wheel_down" , "down" , onElementMoveDown )
unbindKey ( "mouse_wheel_up" , "down" , onElementMoveUp )
removeEventHandler ( "onClientHUDRender" , root , isRendering )
end
end
end )
function onElementMoveUp () if option . selected > 4 then option . selected = 1 else option . selected = option . selected + 1 end end
function onElementMoveDown () if option . selected < 1 then option . selected = 4 else option . selected = option . selected - 1 end end
function onElementClicked () if option . selected > 0 then triggerServerEvent ( "onDryerAction" , localPlayer , value , option . selected , element ) outputDebugString ( option . selected ) end end
function blokada ( prevSlot , newSlot )
if getPedWeapon ( getLocalPlayer (), newSlot ) == 22 and getElementData ( getLocalPlayer (), "player:admin" ) == true then
toggleControl ( "fire" , false ) -- disable the aim button
else
toggleControl ( "fire" , true ) -- renable the aim button
end
end
addEventHandler ( "onClientPlayerWeaponSwitch" , getRootElement (), blokada )
Prosi? bym o pomoc, DB3 nie pokazuje b??d?w.