Wysłany: 2020-04-24, 22:58
SamuelXDXD
Początkujący w C#
Wiek: 25 Na forum: 2731 dni Posty: 17
Nick w MP: Kezoto
Przechowywalnia respi pojazd w wcze?niejszej za?adownej przechowywalni, wiem , ?e by?o ju? o tym i tr nie jeeba zmieni? nazwy event?w lecz ja tak zrobi?em i dalej tak si? dzieje. Mo?na mi napisa? dok?adnie co mam zmieni??
--[[
@ author : neQ ./. rand0m < neqprogrammer @ gmail . com >
@ Edit : DylemaT929
@for: Polski Serwer RPG / Your Pseuodl
@ copyright ?& #169; 2018
]]
createBlip ( 1770.62 , - 2041.31 , 13.53 , 35 , 2 , 0 , 0 , 0 , 0 , 0 , 175 )
-- createBlip (- 2533.20 , - 29.13 , 16.50 , 35 , 2 , 0 , 0 , 0 , 0 , 0 , 175 )
settings = {
BLIP_ID = 35 ;
MAX_VISIBLE_DIST = 250 ;
};
local blip = {};
local cub = {};
local marker = {};
local marker2 = {};
addEvent ( "parking:respawnCarr" , true );
addEvent ( "parking:exitt" , true );
PARKINGS = {
--[[
ID - wiadomo ( MUSI BY ?& #8224; PO KOLEI I ID MA WSKAZYWA?† DOBR?„ POZYCJE W TABLICY )
x , y , z - miejsce w ktĂłrym pojawi si ?& #8482; marker do odebrania pojazdu a takĹĽe blip na mapie
x2 , y2 , z2 - miejsce w ktĂłrym moĹĽemy odda ?& #8225; pojazd do przechowywalni
x3 , y3 , z3 - miejsce w ktĂłrym pojawi si ?& #8482; nasze auto po odebraniu
rotx , roty , rotz - rotacja z jak ?& #8230; pojawi si?™ auto
x4 , y4 , z4 - miejsce w ktĂłrym pojawi si ?& #8482; gracz po wyj?›ciu z przecho (ENTER)
rotx2 , roty2 , rotz2 - rotacja z jak ?& #8230; pojawi si?™ gracz po wyj?›ciu z przecho (ENTER)
]]
-- id , x , y , z , x2 , y2 , z2 , x3 , y3 , z3 , rotx , roty , rotz , x4 , y4 , z4 , rotx2 , roty2 , rotz2
{ 1 , - 2533.27 , - 28.13 , 16.45 , - 2531.99 , - 15.66 , 16.42 , - 2532.29 , - 24.30 , 16.42 , 355.9 , 359.8 , 270.3 , - 2535.53 , - 27.07 , 16.43 , 0 , 0 , - 90 },
--{ 2 , - 2533.20 , - 29.13 , 16.50 , - 2530.86 , - 14.99 , 16.42 , - 2531.48 , - 23.66 , 16.07 , 0.1 , 0.0 , 91.8 , - 2537.54 , - 29.23 , 16.51 , 0 , 0 , - 90 },
};
local vehicles = {};
function getPlayerCars ( plr )
vehicles [ plr ] = {};
local query = exports [ 'pystories-db' ]: dbGet ( 'select * from pystories_vehicles where ownedPlayer = ?' , plr : getData ( 'player:sid' ));
for k , v in ipairs ( query ) do
if v . parking == 1 or v . parking == "1" then
table . insert ( vehicles [ plr ], v );
end
end
return vehicles [ plr ];
end
addEventHandler ( "parking:respawnCarr" , root , function( car )
local parking_id = client : getData ( 'parking:id' );
local parking = PARKINGS [ parking_id ];
local veh = exports [ "pystories-vehicles" ]: onRespawnVehicles ( _ , car . id , { parking [ 8 ], parking [ 9 ], parking [ 10 ], parking [ 11 ], parking [ 12 ], parking [ 13 ]} );
triggerClientEvent ( root , "parking:setCollidable" , veh , veh , false );
setCameraTarget ( client , client );
client : setData ( 'parking:id' , false );
client : setInterior ( 0 );
client : setFrozen ( false );
client : setDimension ( 0 );
client : warpIntoVehicle ( veh , 0 );
end );
addEventHandler ( "parking:exitt" , root , function( )
local parking_id = client : getData ( 'parking:id' );
local parking = PARKINGS [ parking_id ];
client : setInterior ( 0 );
client : setDimension ( 0 );
client : setFrozen ( false );
setCameraTarget ( client , client );
client : setPosition ( parking [ 14 ], parking [ 15 ], parking [ 16 ] );
client : setRotation ( parking [ 17 ], parking [ 18 ], parking [ 19 ] );
client : setData ( 'parking:id' , false );
end );
function _onMarkerHit ( plr , md )
if plr : getType () == 'player' and md and not isPedInVehicle ( plr ) then
local cars = getPlayerCars ( plr );
if #cars > 0 then
triggerClientEvent ( plr , 'parking:showCars' , plr , cars );
plr : setInterior ( 1 );
plr : setFrozen ( true );
plr : setData ( 'parking:id' , source : getData ( 'parking_marker:id' ) );
else
triggerClientEvent ( plr , "onClientAddNotification" , plr , "Nie posiadasz ĹĽadnego pojazdu\ndo odebrania w przechowywalnii." , "info" );
end
end
end
function _onMarkerHit2 ( veh , md )
if md then
if veh : getType ( plr ) == "vehicle" then
if veh : getData ( 'vehicle:id' ) then
if veh : getData ( "vehicle:duty" ) then
triggerClientEvent ( getVehicleController ( veh ), "onClientAddNotification" , getVehicleController ( veh ), "Tego pojazdu nie moĹĽesz odda?‡." , "error" );
return
end
-- oddaj do przecho
if timer and timer . valid then return end -- je ?& #8250;li gracz juĹĽ odda?‚ nie robimy tego drugi raz
local plr = getVehicleController ( veh );
if not plr then return end
veh : setFrozen ( true );
toggleControl ( plr , 'enter_exit' , false );
triggerClientEvent ( root , "parking:setCollidable" , veh , veh , false );
triggerClientEvent ( plr , "onClientAddNotification" , plr , "Trwa oddawanie pojazdu.." , "info" );
timer = setTimer ( function( )
if not veh : getData ( 'vehicle:id' ) then veh : setFrozen ( false ); toggleControl ( plr , 'enter_exit' , true ); return end -- dla podwĂłjnej ostroĹĽno ?& #8250;ci
toggleControl ( plr , 'enter_exit' , true );
timer : destroy ( );
timer = nil ;
local id = getElementData ( veh , "vehicle:id" )
if not id then return end
exports [ "pystories-vehicles" ]: onSaveVehicle ( veh )
destroyElement ( veh )
exports [ "pystories-db" ]: dbSet ( "UPDATE pystories_vehicles SET parking=1,tp_to_parking=? WHERE id=?" , "Schowany recznie(kierowca)" , id )
triggerClientEvent ( plr , "onClientAddNotification" , plr , "Pomy?›lnie oddano auto do przechowywalni." , "success" );
end , 1500 , 1 );
else
triggerClientEvent ( getVehicleController ( veh ), "onClientAddNotification" , getVehicleController ( veh ), "Tego pojazdu nie moĹĽesz odda?‡." , "error" );
end
end
end
end
function _onColLeave ( el , md )
if md and el : getType () == "vehicle" then
triggerClientEvent ( root , "parking:setCollidable" , el , el , true );
end
end
function loadParking ( parking )
blip [ parking [ 1 ]] = Blip ( settings . BLIP_ID , 2 , 255 , 0 , 0 , 255 , 0 , settings . MAX_VISIBLE_DIST );
marker [ parking [ 1 ]] = Marker ( parking [ 2 ], parking [ 3 ], parking [ 4 ]- 0.90 , 'cylinder' , 1.5 , 255 , 255 , 0 );
marker2 [ parking [ 1 ]] = Marker ( parking [ 5 ], parking [ 6 ], parking [ 7 ]- 1.50 , 'cylinder' , 3 , 255 , 255 , 0 );
blip [ parking [ 1 ]]: setData ( 'parking:markers' , { marker , marker2 } );
blip [ parking [ 1 ]]: setData ( 'parking_blip:id' , parking [ 1 ] );
marker [ parking [ 1 ]]: setData ( 'parking_marker:id' , parking [ 1 ] );
marker2 [ parking [ 1 ]]: setData ( 'parking_marker:id' , parking [ 1 ] );
marker [ parking [ 1 ]]: setData ( "typ" , "pojazd" );
cub [ parking [ 1 ]] = createColSphere ( parking [ 8 ], parking [ 9 ], parking [ 10 ], 5 );
addEventHandler ( 'onMarkerHit' , marker [ parking [ 1 ]], _onMarkerHit );
addEventHandler ( 'onMarkerHit' , marker2 [ parking [ 1 ]], _onMarkerHit2 );
addEventHandler ( 'onColShapeLeave' , cub [ parking [ 1 ]], _onColLeave );
end
addEventHandler ( 'onResourceStart' , resourceRoot , function( )
for k , v in ipairs ( PARKINGS ) do
loadParking ( v );
end
end );
addEventHandler ( 'onResourceStop' , resourceRoot , function( )
for i , v in ipairs ( getElementsByType ( 'player' ) ) do
if v : getData ( 'parking:id' ) then
local parking_id = v : getData ( 'parking:id' );
local parking = PARKINGS [ parking_id ];
v : setInterior ( 0 );
v : setDimension ( 0 );
v : setFrozen ( false );
setCameraTarget ( v , v );
v : setPosition ( parking [ 14 ], parking [ 15 ], parking [ 16 ] );
v : setRotation ( parking [ 17 ], parking [ 18 ], parking [ 19 ] );
v : setData ( 'parking:id' , false );
end
end
end )
function tuning_pojazd ( plr )
if getElementData ( plr , "spamer:pojazd" ) == 2 then return end
setElementData ( plr , "spamer:pojazd" , 2 )
setTimer (function()
setElementData ( plr , "spamer:pojazd" , false )
end , 5000 , 1 )
local car = getPedOccupiedVehicle ( plr )
if not car then outputChatBox ( "Nie jeste?› w pojeĹşdzie!" , plr , 255 , 0 , 0 ) return end
outputChatBox ( "Tuning Workshop:" , plr , 0 , 255 , 255 )
local baza = exports [ "pystories-db" ]: dbGet ( "SELECT * FROM pystories_vehicles WHERE id=?" , getElementData ( car , "vehicle:id" ))
for i , vehicle in pairs ( baza ) do
mk1 = vehicle [ 'mk1' ]
mk2 = vehicle [ 'mk2' ]
mk3 = vehicle [ 'mk3' ]
rh = vehicle [ 'rh' ]
drift = vehicle [ 'drift' ]
naped = vehicle [ 'naped' ]
end
if tonumber ( mk1 ) == 1 then us1 = "TAK" else us1 = "NIE" end
if tonumber ( mk2 ) == 1 then us2 = "TAK" else us2 = "NIE" end
if tonumber ( mk3 ) == 1 then us3 = "TAK" else us3 = "NIE" end
if tonumber ( rh ) == 1 then rh1 = "TAK" else rh1 = "NIE" end
if tonumber ( naped ) == 1 then naped = "TAK" else naped = "NIE" end
if tonumber ( drift ) == 1 then drift = "TAK" else drift = "NIE" end
outputChatBox ( "US1: " .. us1 .. " | US2: " .. us2 .. " | US3: " .. us3 .. "" , plr , 255 , 255 , 255 )
outputChatBox ( "GZ: " .. rh1 .. " | Nap?™d 4x4: " .. naped .. " | Drift: " .. drift .. "" , plr , 255 , 255 , 255 )
end
addCommandHandler ( "tuning.pojazdu" , tuning_pojazd )
--[[
@ author : neQ ./. rand0m < neqprogrammer @ gmail . com >
@ Edit : DylemaT929
@for: Polski Serwer RPG / Your Pseudol
@ copyright ?& #169; 2018
]]
local screenW , screenH = guiGetScreenSize ()
local pojemnosc = {
[ 11 ] = 2.5
}
local obj = createObject ( 1956 , 1385.87 , - 20.98 , 999.92 );
obj : setInterior ( 1 );
obj : setScale ( 10 );
obj : setFrozen ( true );
local actual_car = 0 ;
local font = 'default' ;
local maskowanie_procent = {
[ 0 ] = "Brak" ,
[ 1 ] = "Po?‚owiczne" ,
[ 2 ] = "Ca?‚e" ,
[ '0' ] = "Brak" ,
[ '1' ] = "Po?‚owiczne" ,
[ '2' ] = "Ca?‚e" ,
}
local tuning_workshop = {
[ 0 ] = "Wy?‚?…czone" ,
[ 1 ] = "W?‚?…czone" ,
[ '0' ] = "Wy?‚?…czone" ,
[ '1' ] = "W?‚?…czone" ,
}
local kolor_neonow = {
[ 0 ] = "Brak" ,
[ 1 ] = "Czerwony" ,
[ 2 ] = "Niebieski" ,
[ 3 ] = "Zielony" ,
[ 4 ] = "ZĂł?‚ty" ,
[ 5 ] = "Różowy" ,
[ 6 ] = "Bia?‚y" ,
[ '0' ] = "Brak" ,
[ '1' ] = "Czerwony" ,
[ '2' ] = "Niebieski" ,
[ '3' ] = "Zielony" ,
[ '4' ] = "?»Ăł?‚ty" ,
[ '5' ] = "Różowy" ,
[ '6' ] = "Bia?‚y" ,
}
local silnik = {
[ 1 ] = "1.2 dm3" ,
[ 2 ] = "1.6 dm3" ,
[ 3 ] = "1.8 dm3" ,
[ 4 ] = "2.0 dm3" ,
[ 5 ] = "2.2 dm3" ,
[ 6 ] = "2.5 dm3" ,
[ 7 ] = "2.6 dm3" ,
[ 0 ] = "2.7 dm3" ,
[ 9 ] = "2.8 dm3" ,
[ 10 ] = "2.9 dm3" ,
[ 11 ] = "3.0 dm3" ,
}
local loaded = false ;
addEvent ( 'parking:showCars' , true );
addEvent ( 'parking:setCollidable' , true );
function loadCar ( )
if veh then veh : destroy ( ) end
local color = split ( vehicles [ actual_car ][ "color" ], "," )
local lights = split ( vehicles [ actual_car ][ "headlights" ], "," );
veh = createVehicle ( vehicles [ actual_car ]. model , 1385.87 , - 20.98 , 1000.82 );
for i , v in ipairs ( split ( vehicles [ actual_car ][ "tuning" ], "," )) do veh : addUpgrade ( v ); end
veh : setHeadLightColor ( lights [ 1 ], lights [ 2 ], lights [ 3 ] );
veh : setInterior ( 1 );
veh : setFrozen ( true );
loaded = true ;
end
function changeCar ( btn )
if btn == "arrow_l" then
if vehicles [ actual_car - 1 ] then
actual_car = actual_car - 1 ;
else
actual_car = #vehicles;
end
elseif btn == "arrow_r" then
if vehicles [ actual_car + 1 ] then
actual_car = actual_car + 1 ;
else
actual_car = 1 ;
end
end
loadCar ( );
end
function exitParking ( )
unbindKey ( "space" , "down" , respawnCar );
unbindKey ( "arrow_l" , "down" , changeCar );
unbindKey ( "arrow_r" , "down" , changeCar );
unbindKey ( "enter" , "down" , exitParking );
removeEventHandler ( 'onClientRender' , root , _onClientRender );
triggerServerEvent ( "parking:exit" , localPlayer );
loaded = false ;
end
local cool = createColCuboid (- 1961.94 , 615.16 , 35.02 - 0.9 , 5 , 8 , 5 )
local rot = 0 ;
function _onClientRender ( )
if vehicles [ actual_car ] then
rot = rot + 1 ;
veh : setRotation ( 0 , 0 , - rot );
obj : setRotation ( 0 , 0 , - rot );
dxDrawRectangle ( screenW * 0.5359 , screenH * 0.1833 , screenW * 0.4461 , screenH * 0.6083 , tocolor ( 0 , 0 , 0 , 150 ) );
dxDrawRectangle ( screenW * 0.5352 , screenH * 0.1806 , screenW * 0.4484 , screenH * 0.0472 , tocolor ( 255 , 255 , 0 ), true );
dxDrawText ( "Witaj w przechowywalni. Wybierz swĂłj pojazd!" , screenW * 0.5430 , screenH * 0.1889 , screenW * 0.9805 , screenH * 0.2194 , tocolor ( 255 , 255 , 255 , 255 ), 1.50 , "default" , "center" , "center" , false , false , true , false , false );
dxDrawText ( "Nazwa Pojazdu: " .. getVehicleNameFromModel ( vehicles [ actual_car ]. model ) .. "\nID Pojazdu: " .. vehicles [ actual_car ]. id .. "\nOstatni Kierowca: " .. vehicles [ actual_car ]. driver .. "\nPrzebieg: " .. vehicles [ actual_car ]. mileage .. " KM\nPojemno?›?‡ Silnika: " .. silnik [ vehicles [ actual_car ]. pojemnosc_silnika ] .. "\nIlo?›?‡ Paliwa: " .. vehicles [ actual_car ]. fuel .. "L\nPojemno?›?‡ Baku: " .. vehicles [ actual_car ]. bak .. " L\nUtworzony: " .. vehicles [ actual_car ]. createdate .. "\n\n\n\n\n--Dodatkowe Ulepszenia Pojazdu--\nUS1: " .. tuning_workshop [ vehicles [ actual_car ]. mk1 ] .. " | US2: " .. tuning_workshop [ vehicles [ actual_car ]. mk2 ] .. " | US3: " .. tuning_workshop [ vehicles [ actual_car ]. mk3 ] .. "\nGwintowane Zawieszenie: " .. tuning_workshop [ vehicles [ actual_car ]. rh ] .. " | Nep?™d 4x4: " .. tuning_workshop [ vehicles [ actual_car ]. naped ] .. " | Maskowanie: " .. maskowanie_procent [ vehicles [ actual_car ]. masked ] .. "\nTurbo: " .. tuning_workshop [ vehicles [ actual_car ]. turbo ] .. " | Drift: " .. tuning_workshop [ vehicles [ actual_car ]. drift ] .. "\nKolor NeonĂłw: " .. kolor_neonow [ vehicles [ actual_car ]. neon ] .. "" , screenW * 0.5641 , screenH * 0.2458 , screenW * 0.9570 , screenH * 0.6597 , white , 1 , font , 'center' , 'top' );
dxDrawText ( "JeĹĽeli chcesz zmieni?‡ pojazd naci?›nij strza?‚ki - 'prawo lub 'lewo'\nPosiadasz aĹĽ " .. actual_car .. "/" .. #vehicles..' PojazdĂłw\nAby wyci?…gn?…?‡ auto naci?›nij klawisz "SPACJA"\nAby wyj?›?‡ z przechowywalni naci?›nij klawisz "ENTER"', screenW * 0.5531, screenH * 0.6736, screenW * 0.9648, screenH * 0.7764, white, 1, font, 'center', 'bottom', false, true);
dxSetRenderTarget ( );
end
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 }
local categoryL ={[ 469 ] = true , [ 487 ] = true , [ 593 ] = true , [ 519 ] = true , [ 513 ] = true , [ 520 ] = true , [ 592 ] = true }
function respawnCar ( )
local car = vehicles [ actual_car ];
local vehicles = getElementsWithinColShape ( cool , "vehicle" )
if #vehicles > 0 then
triggerEvent ( "onClientAddNotification" , localPlayer , "Nie ma miejsca." , "error" );
return false
end
if ( localPlayer : getData ( "player:license:pjB" ) ~= 0 and categoryB [ car . model ]) or ( localPlayer : getData ( "player:license:pjA" ) ~= 0 and categoryA [ car . model ]) or ( localPlayer : getData ( "player:license:pjL" ) ~= 0 and categoryL [ car . model ]) or ( localPlayer : getData ( "player:license:pjC" ) ~= 0 and categoryC [ car . model ]) then
triggerServerEvent ( "parking:respawnCar" , localPlayer , car );
loaded = false ;
unbindKey ( "space" , "down" , respawnCar );
unbindKey ( "arrow_l" , "down" , changeCar );
unbindKey ( "arrow_r" , "down" , changeCar );
unbindKey ( "enter" , "down" , exitParking );
removeEventHandler ( 'onClientRender' , root , _onClientRender );
else
triggerEvent ( "onClientAddNotification" , localPlayer , "Nie posiadasz prawa jazdy." , "error" );
end
end
addEventHandler ( 'parking:showCars' , root , function( cars )
if loaded then return triggerServerEvent ( "parking:exit" , localPlayer ); end
vehicles = cars ;
actual_car = 1 ;
if cars [ actual_car ] then
loadCar ( );
bindKey ( "arrow_l" , "down" , changeCar );
bindKey ( "arrow_r" , "down" , changeCar );
bindKey ( "space" , "down" , respawnCar );
bindKey ( "enter" , "down" , exitParking );
setCameraMatrix ( 1398.88 , - 17.49 , 1003.39 , 1386.06 , - 18.09 , 1000.92 );
addEventHandler ( 'onClientRender' , root , _onClientRender );
end
end );
addEventHandler ( "parking:setCollidable" , root , function( veh , bool )
if bool == false then
veh : setAlpha ( 180 );
elseif bool == true then
veh : setAlpha ( 255 );
end
for k , v in ipairs ( getElementsByType ( "vehicle" )) do
setElementCollidableWith ( veh , v , bool );
end
end )
Ostatnio zmieniony przez Wilq 2020-04-24, 23:17, w całości zmieniany 2 razy
Wysłany: 2020-04-24, 23:18
Wilq
Wiek: 24 Na forum: 4429 dni Posty: 3410
Piwa : 739
Argument 8, 9, 10 odpowiada kolejno za pozycje X Y Z pojawiania si? pojazu. Tabela PARKINGS.
Wysłany: 2020-04-24, 23:25
SamuelXDXD
Początkujący w C#
Wiek: 25 Na forum: 2731 dni Posty: 17
Nick w MP: Kezoto
Tak, jest tam ustawione gdzie sie ma pojawiac lecz sie to bugguje z poprzednim przecho,
ca?e skrypty:
Przecho 1:
C:
--[[
@ author : neQ ./. rand0m < neqprogrammer @ gmail . com >
@ Edit : DylemaT929
@for: Polski Serwer RPG / Your Pseudol
@ copyright ?& #169; 2018
]]
local screenW , screenH = guiGetScreenSize ()
local pojemnosc = {
[ 11 ] = 2.5
}
local obj = createObject ( 1956 , 1385.87 , - 20.98 , 999.92 );
obj : setInterior ( 1 );
obj : setScale ( 10 );
obj : setFrozen ( true );
local actual_car = 0 ;
local font = 'default' ;
local maskowanie_procent = {
[ 0 ] = "Brak" ,
[ 1 ] = "Po?‚owiczne" ,
[ 2 ] = "Ca?‚e" ,
[ '0' ] = "Brak" ,
[ '1' ] = "Po?‚owiczne" ,
[ '2' ] = "Ca?‚e" ,
}
local tuning_workshop = {
[ 0 ] = "Wy?‚?…czone" ,
[ 1 ] = "W?‚?…czone" ,
[ '0' ] = "Wy?‚?…czone" ,
[ '1' ] = "W?‚?…czone" ,
}
local kolor_neonow = {
[ 0 ] = "Brak" ,
[ 1 ] = "Czerwony" ,
[ 2 ] = "Niebieski" ,
[ 3 ] = "Zielony" ,
[ 4 ] = "ZĂł?‚ty" ,
[ 5 ] = "Różowy" ,
[ 6 ] = "Bia?‚y" ,
[ '0' ] = "Brak" ,
[ '1' ] = "Czerwony" ,
[ '2' ] = "Niebieski" ,
[ '3' ] = "Zielony" ,
[ '4' ] = "?»Ăł?‚ty" ,
[ '5' ] = "Różowy" ,
[ '6' ] = "Bia?‚y" ,
}
local silnik = {
[ 1 ] = "1.2 dm3" ,
[ 2 ] = "1.6 dm3" ,
[ 3 ] = "1.8 dm3" ,
[ 4 ] = "2.0 dm3" ,
[ 5 ] = "2.2 dm3" ,
[ 6 ] = "2.5 dm3" ,
[ 7 ] = "2.6 dm3" ,
[ 0 ] = "2.7 dm3" ,
[ 9 ] = "2.8 dm3" ,
[ 10 ] = "2.9 dm3" ,
[ 11 ] = "3.0 dm3" ,
}
local loaded = false ;
addEvent ( 'parking:showCars' , true );
addEvent ( 'parking:setCollidable' , true );
function loadCar ( )
if veh then veh : destroy ( ) end
local color = split ( vehicles [ actual_car ][ "color" ], "," )
local lights = split ( vehicles [ actual_car ][ "headlights" ], "," );
veh = createVehicle ( vehicles [ actual_car ]. model , 1385.87 , - 20.98 , 1000.82 );
for i , v in ipairs ( split ( vehicles [ actual_car ][ "tuning" ], "," )) do veh : addUpgrade ( v ); end
veh : setHeadLightColor ( lights [ 1 ], lights [ 2 ], lights [ 3 ] );
veh : setInterior ( 1 );
veh : setFrozen ( true );
loaded = true ;
end
function changeCar ( btn )
if btn == "arrow_l" then
if vehicles [ actual_car - 1 ] then
actual_car = actual_car - 1 ;
else
actual_car = #vehicles;
end
elseif btn == "arrow_r" then
if vehicles [ actual_car + 1 ] then
actual_car = actual_car + 1 ;
else
actual_car = 1 ;
end
end
loadCar ( );
end
function exitParking ( )
unbindKey ( "space" , "down" , respawnCar );
unbindKey ( "arrow_l" , "down" , changeCar );
unbindKey ( "arrow_r" , "down" , changeCar );
unbindKey ( "enter" , "down" , exitParking );
removeEventHandler ( 'onClientRender' , root , _onClientRender );
triggerServerEvent ( "parking:exit" , localPlayer );
loaded = false ;
end
local cool = createColCuboid (- 1961.94 , 615.16 , 35.02 - 0.9 , 5 , 8 , 5 )
local rot = 0 ;
function _onClientRender ( )
if vehicles [ actual_car ] then
rot = rot + 1 ;
veh : setRotation ( 0 , 0 , - rot );
obj : setRotation ( 0 , 0 , - rot );
dxDrawRectangle ( screenW * 0.5359 , screenH * 0.1833 , screenW * 0.4461 , screenH * 0.6083 , tocolor ( 0 , 0 , 0 , 150 ) );
dxDrawRectangle ( screenW * 0.5352 , screenH * 0.1806 , screenW * 0.4484 , screenH * 0.0472 , tocolor ( 255 , 255 , 0 ), true );
dxDrawText ( "Witaj w przechowywalni. Wybierz swĂłj pojazd!" , screenW * 0.5430 , screenH * 0.1889 , screenW * 0.9805 , screenH * 0.2194 , tocolor ( 255 , 255 , 255 , 255 ), 1.50 , "default" , "center" , "center" , false , false , true , false , false );
dxDrawText ( "Nazwa Pojazdu: " .. getVehicleNameFromModel ( vehicles [ actual_car ]. model ) .. "\nID Pojazdu: " .. vehicles [ actual_car ]. id .. "\nOstatni Kierowca: " .. vehicles [ actual_car ]. driver .. "\nPrzebieg: " .. vehicles [ actual_car ]. mileage .. " KM\nPojemno?›?‡ Silnika: " .. silnik [ vehicles [ actual_car ]. pojemnosc_silnika ] .. "\nIlo?›?‡ Paliwa: " .. vehicles [ actual_car ]. fuel .. "L\nPojemno?›?‡ Baku: " .. vehicles [ actual_car ]. bak .. " L\nUtworzony: " .. vehicles [ actual_car ]. createdate .. "\n\n\n\n\n--Dodatkowe Ulepszenia Pojazdu--\nUS1: " .. tuning_workshop [ vehicles [ actual_car ]. mk1 ] .. " | US2: " .. tuning_workshop [ vehicles [ actual_car ]. mk2 ] .. " | US3: " .. tuning_workshop [ vehicles [ actual_car ]. mk3 ] .. "\nGwintowane Zawieszenie: " .. tuning_workshop [ vehicles [ actual_car ]. rh ] .. " | Nep?™d 4x4: " .. tuning_workshop [ vehicles [ actual_car ]. naped ] .. " | Maskowanie: " .. maskowanie_procent [ vehicles [ actual_car ]. masked ] .. "\nTurbo: " .. tuning_workshop [ vehicles [ actual_car ]. turbo ] .. " | Drift: " .. tuning_workshop [ vehicles [ actual_car ]. drift ] .. "\nKolor NeonĂłw: " .. kolor_neonow [ vehicles [ actual_car ]. neon ] .. "" , screenW * 0.5641 , screenH * 0.2458 , screenW * 0.9570 , screenH * 0.6597 , white , 1 , font , 'center' , 'top' );
dxDrawText ( "JeĹĽeli chcesz zmieni?‡ pojazd naci?›nij strza?‚ki - 'prawo lub 'lewo'\nPosiadasz aĹĽ " .. actual_car .. "/" .. #vehicles..' PojazdĂłw\nAby wyci?…gn?…?‡ auto naci?›nij klawisz "SPACJA"\nAby wyj?›?‡ z przechowywalni naci?›nij klawisz "ENTER"', screenW * 0.5531, screenH * 0.6736, screenW * 0.9648, screenH * 0.7764, white, 1, font, 'center', 'bottom', false, true);
dxSetRenderTarget ( );
end
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 }
local categoryL ={[ 469 ] = true , [ 487 ] = true , [ 593 ] = true , [ 519 ] = true , [ 513 ] = true , [ 520 ] = true , [ 592 ] = true }
function respawnCar ( )
local car = vehicles [ actual_car ];
local vehicles = getElementsWithinColShape ( cool , "vehicle" )
if #vehicles > 0 then
triggerEvent ( "onClientAddNotification" , localPlayer , "Nie ma miejsca." , "error" );
return false
end
if ( localPlayer : getData ( "player:license:pjB" ) ~= 0 and categoryB [ car . model ]) or ( localPlayer : getData ( "player:license:pjA" ) ~= 0 and categoryA [ car . model ]) or ( localPlayer : getData ( "player:license:pjL" ) ~= 0 and categoryL [ car . model ]) or ( localPlayer : getData ( "player:license:pjC" ) ~= 0 and categoryC [ car . model ]) then
triggerServerEvent ( "parking:respawnCar" , localPlayer , car );
loaded = false ;
unbindKey ( "space" , "down" , respawnCar );
unbindKey ( "arrow_l" , "down" , changeCar );
unbindKey ( "arrow_r" , "down" , changeCar );
unbindKey ( "enter" , "down" , exitParking );
removeEventHandler ( 'onClientRender' , root , _onClientRender );
else
triggerEvent ( "onClientAddNotification" , localPlayer , "Nie posiadasz prawa jazdy." , "error" );
end
end
addEventHandler ( 'parking:showCars' , root , function( cars )
if loaded then return triggerServerEvent ( "parking:exit" , localPlayer ); end
vehicles = cars ;
actual_car = 1 ;
if cars [ actual_car ] then
loadCar ( );
bindKey ( "arrow_l" , "down" , changeCar );
bindKey ( "arrow_r" , "down" , changeCar );
bindKey ( "space" , "down" , respawnCar );
bindKey ( "enter" , "down" , exitParking );
setCameraMatrix ( 1398.88 , - 17.49 , 1003.39 , 1386.06 , - 18.09 , 1000.92 );
addEventHandler ( 'onClientRender' , root , _onClientRender );
end
end );
addEventHandler ( "parking:setCollidable" , root , function( veh , bool )
if bool == false then
veh : setAlpha ( 180 );
elseif bool == true then
veh : setAlpha ( 255 );
end
for k , v in ipairs ( getElementsByType ( "vehicle" )) do
setElementCollidableWith ( veh , v , bool );
end
end )
s:
--[[
@ author : neQ ./. rand0m < neqprogrammer @ gmail . com >
@ Edit : DylemaT929
@for: Polski Serwer RPG / Your Pseuodl
@ copyright ?& #169; 2018
]]
createBlip ( 1770.62 , - 2041.31 , 13.53 , 35 , 2 , 0 , 0 , 0 , 0 , 0 , 175 )
-- createBlip (- 2533.20 , - 29.13 , 16.50 , 35 , 2 , 0 , 0 , 0 , 0 , 0 , 175 )
settings = {
BLIP_ID = 35 ;
MAX_VISIBLE_DIST = 250 ;
};
local blip = {};
local cub = {};
local marker = {};
local marker2 = {};
addEvent ( "parking:respawnCar" , true );
addEvent ( "parking:exit" , true );
PARKINGS = {
--[[
ID - wiadomo ( MUSI BY ?& #8224; PO KOLEI I ID MA WSKAZYWA?† DOBR?„ POZYCJE W TABLICY )
x , y , z - miejsce w ktĂłrym pojawi si ?& #8482; marker do odebrania pojazdu a takĹĽe blip na mapie
x2 , y2 , z2 - miejsce w ktĂłrym moĹĽemy odda ?& #8225; pojazd do przechowywalni
x3 , y3 , z3 - miejsce w ktĂłrym pojawi si ?& #8482; nasze auto po odebraniu
rotx , roty , rotz - rotacja z jak ?& #8230; pojawi si?™ auto
x4 , y4 , z4 - miejsce w ktĂłrym pojawi si ?& #8482; gracz po wyj?›ciu z przecho (ENTER)
rotx2 , roty2 , rotz2 - rotacja z jak ?& #8230; pojawi si?™ gracz po wyj?›ciu z przecho (ENTER)
]]
-- id , x , y , z , x2 , y2 , z2 , x3 , y3 , z3 , rotx , roty , rotz , x4 , y4 , z4 , rotx2 , roty2 , rotz2
{ 1 , 1764.78 , - 2040.57 , 13.53 , 1769.31 , - 2031.80 , 13.54 , 1769.05 , - 2048.93 , 13.37 , 355.9 , 359.8 , 270.3 , 1768.05 , - 2042.57 , 13.53 , 0 , 0 , - 90 },
--{ 2 , - 2533.20 , - 29.13 , 16.50 , - 2530.86 , - 14.99 , 16.42 , - 2531.48 , - 23.66 , 16.07 , 0.1 , 0.0 , 91.8 , - 2537.54 , - 29.23 , 16.51 , 0 , 0 , - 90 },
};
local vehicles = {};
function getPlayerCars ( plr )
vehicles [ plr ] = {};
local query = exports [ 'pystories-db' ]: dbGet ( 'select * from pystories_vehicles where ownedPlayer = ?' , plr : getData ( 'player:sid' ));
for k , v in ipairs ( query ) do
if v . parking == 1 or v . parking == "1" then
table . insert ( vehicles [ plr ], v );
end
end
return vehicles [ plr ];
end
addEventHandler ( "parking:respawnCar" , root , function( car )
local parking_id = client : getData ( 'parking:id' );
local parking = PARKINGS [ parking_id ];
local veh = exports [ "pystories-vehicles" ]: onRespawnVehicles ( _ , car . id , { parking [ 8 ], parking [ 9 ], parking [ 10 ], parking [ 11 ], parking [ 12 ], parking [ 13 ]} );
triggerClientEvent ( root , "parking:setCollidable" , veh , veh , false );
setCameraTarget ( client , client );
client : setData ( 'parking:id' , false );
client : setInterior ( 0 );
client : setFrozen ( false );
client : setDimension ( 0 );
client : warpIntoVehicle ( veh , 0 );
end );
addEventHandler ( "parking:exit" , root , function( )
local parking_id = client : getData ( 'parking:id' );
local parking = PARKINGS [ parking_id ];
client : setInterior ( 0 );
client : setDimension ( 0 );
client : setFrozen ( false );
setCameraTarget ( client , client );
client : setPosition ( parking [ 14 ], parking [ 15 ], parking [ 16 ] );
client : setRotation ( parking [ 17 ], parking [ 18 ], parking [ 19 ] );
client : setData ( 'parking:id' , false );
end );
function _onMarkerHit ( plr , md )
if plr : getType () == 'player' and md and not isPedInVehicle ( plr ) then
local cars = getPlayerCars ( plr );
if #cars > 0 then
triggerClientEvent ( plr , 'parking:showCars' , plr , cars );
plr : setInterior ( 1 );
plr : setFrozen ( true );
plr : setData ( 'parking:id' , source : getData ( 'parking_marker:id' ) );
else
triggerClientEvent ( plr , "onClientAddNotification" , plr , "Nie posiadasz ĹĽadnego pojazdu\ndo odebrania w przechowywalnii." , "info" );
end
end
end
function _onMarkerHit2 ( veh , md )
if md then
if veh : getType ( plr ) == "vehicle" then
if veh : getData ( 'vehicle:id' ) then
if veh : getData ( "vehicle:duty" ) then
triggerClientEvent ( getVehicleController ( veh ), "onClientAddNotification" , getVehicleController ( veh ), "Tego pojazdu nie moĹĽesz odda?‡." , "error" );
return
end
-- oddaj do przecho
if timer and timer . valid then return end -- je ?& #8250;li gracz juĹĽ odda?‚ nie robimy tego drugi raz
local plr = getVehicleController ( veh );
if not plr then return end
veh : setFrozen ( true );
toggleControl ( plr , 'enter_exit' , false );
triggerClientEvent ( root , "parking:setCollidable" , veh , veh , false );
triggerClientEvent ( plr , "onClientAddNotification" , plr , "Trwa oddawanie pojazdu.." , "info" );
timer = setTimer ( function( )
if not veh : getData ( 'vehicle:id' ) then veh : setFrozen ( false ); toggleControl ( plr , 'enter_exit' , true ); return end -- dla podwĂłjnej ostroĹĽno ?& #8250;ci
toggleControl ( plr , 'enter_exit' , true );
timer : destroy ( );
timer = nil ;
local id = getElementData ( veh , "vehicle:id" )
if not id then return end
exports [ "pystories-vehicles" ]: onSaveVehicle ( veh )
destroyElement ( veh )
exports [ "pystories-db" ]: dbSet ( "UPDATE pystories_vehicles SET parking=1,tp_to_parking=? WHERE id=?" , "Schowany recznie(kierowca)" , id )
triggerClientEvent ( plr , "onClientAddNotification" , plr , "Pomy?›lnie oddano auto do przechowywalni." , "success" );
end , 1500 , 1 );
else
triggerClientEvent ( getVehicleController ( veh ), "onClientAddNotification" , getVehicleController ( veh ), "Tego pojazdu nie moĹĽesz odda?‡." , "error" );
end
end
end
end
function _onColLeave ( el , md )
if md and el : getType () == "vehicle" then
triggerClientEvent ( root , "parking:setCollidable" , el , el , true );
end
end
function loadParking ( parking )
blip [ parking [ 1 ]] = Blip ( settings . BLIP_ID , 2 , 255 , 0 , 0 , 255 , 0 , settings . MAX_VISIBLE_DIST );
marker [ parking [ 1 ]] = Marker ( parking [ 2 ], parking [ 3 ], parking [ 4 ]- 0.90 , 'cylinder' , 1.5 , 255 , 255 , 0 );
marker2 [ parking [ 1 ]] = Marker ( parking [ 5 ], parking [ 6 ], parking [ 7 ]- 1.50 , 'cylinder' , 3 , 255 , 255 , 0 );
blip [ parking [ 1 ]]: setData ( 'parking:markers' , { marker , marker2 } );
blip [ parking [ 1 ]]: setData ( 'parking_blip:id' , parking [ 1 ] );
marker [ parking [ 1 ]]: setData ( 'parking_marker:id' , parking [ 1 ] );
marker2 [ parking [ 1 ]]: setData ( 'parking_marker:id' , parking [ 1 ] );
marker [ parking [ 1 ]]: setData ( "typ" , "pojazd" );
cub [ parking [ 1 ]] = createColSphere ( parking [ 8 ], parking [ 9 ], parking [ 10 ], 5 );
addEventHandler ( 'onMarkerHit' , marker [ parking [ 1 ]], _onMarkerHit );
addEventHandler ( 'onMarkerHit' , marker2 [ parking [ 1 ]], _onMarkerHit2 );
addEventHandler ( 'onColShapeLeave' , cub [ parking [ 1 ]], _onColLeave );
end
addEventHandler ( 'onResourceStart' , resourceRoot , function( )
for k , v in ipairs ( PARKINGS ) do
loadParking ( v );
end
end );
addEventHandler ( 'onResourceStop' , resourceRoot , function( )
for i , v in ipairs ( getElementsByType ( 'player' ) ) do
if v : getData ( 'parking:id' ) then
local parking_id = v : getData ( 'parking:id' );
local parking = PARKINGS [ parking_id ];
v : setInterior ( 0 );
v : setDimension ( 0 );
v : setFrozen ( false );
setCameraTarget ( v , v );
v : setPosition ( parking [ 14 ], parking [ 15 ], parking [ 16 ] );
v : setRotation ( parking [ 17 ], parking [ 18 ], parking [ 19 ] );
v : setData ( 'parking:id' , false );
end
end
end )
function tuning_pojazd ( plr )
if getElementData ( plr , "spamer:pojazd" ) == 2 then return end
setElementData ( plr , "spamer:pojazd" , 2 )
setTimer (function()
setElementData ( plr , "spamer:pojazd" , false )
end , 5000 , 1 )
local car = getPedOccupiedVehicle ( plr )
if not car then outputChatBox ( "Nie jeste?› w pojeĹşdzie!" , plr , 255 , 0 , 0 ) return end
outputChatBox ( "Tuning Workshop:" , plr , 0 , 255 , 255 )
local baza = exports [ "pystories-db" ]: dbGet ( "SELECT * FROM pystories_vehicles WHERE id=?" , getElementData ( car , "vehicle:id" ))
for i , vehicle in pairs ( baza ) do
mk1 = vehicle [ 'mk1' ]
mk2 = vehicle [ 'mk2' ]
mk3 = vehicle [ 'mk3' ]
rh = vehicle [ 'rh' ]
drift = vehicle [ 'drift' ]
naped = vehicle [ 'naped' ]
end
if tonumber ( mk1 ) == 1 then us1 = "TAK" else us1 = "NIE" end
if tonumber ( mk2 ) == 1 then us2 = "TAK" else us2 = "NIE" end
if tonumber ( mk3 ) == 1 then us3 = "TAK" else us3 = "NIE" end
if tonumber ( rh ) == 1 then rh1 = "TAK" else rh1 = "NIE" end
if tonumber ( naped ) == 1 then naped = "TAK" else naped = "NIE" end
if tonumber ( drift ) == 1 then drift = "TAK" else drift = "NIE" end
outputChatBox ( "US1: " .. us1 .. " | US2: " .. us2 .. " | US3: " .. us3 .. "" , plr , 255 , 255 , 255 )
outputChatBox ( "GZ: " .. rh1 .. " | Nap?™d 4x4: " .. naped .. " | Drift: " .. drift .. "" , plr , 255 , 255 , 255 )
end
addCommandHandler ( "tuning.pojazdu" , tuning_pojazd )
to jest to pierwsze przecho
Mo?na powiedzie? co jest ?le , ?e si? to bugguje?
Dodano: 2020-04-24, 23:27
a i nie dzia?a wstawiawianie w [lua][/lua]
Ostatnio zmieniony przez Wilq 2020-04-25, 07:45, w całości zmieniany 1 raz
Wysłany: 2020-04-25, 07:46
Wilq
Wiek: 24 Na forum: 4429 dni Posty: 3410
Piwa : 739
To mo?e zbie?no?? nazwy eventu?
Wysłany: 2020-04-25, 08:51
SamuelXDXD
Początkujący w C#
Wiek: 25 Na forum: 2731 dni Posty: 17
Nick w MP: Kezoto
Nie wiem co to oznacza xD
Wysłany: 2020-04-25, 09:10
Wilq
Wiek: 24 Na forum: 4429 dni Posty: 3410
Piwa : 739
Masz 2 skrypty przechowalni? Je?li tak, to pewnie w obu jest taki sam event odpowiadaj?cy za stworzenie pojazdu. Musisz w jednym zmieni? event i zastosowa? ten zmieniony event w ca?ym jednym skrypcie.
Wysłany: 2020-04-25, 09:40
SamuelXDXD
Początkujący w C#
Wiek: 25 Na forum: 2731 dni Posty: 17
Nick w MP: Kezoto
ten event odpowiadajacy za zrespienie pojazdu do RespawnCar? zmienilem go na RespawnCarr i nic
Dodano: 2020-04-25, 09:44
tak samo mam zmienione XYZ4 a i tak tepa do 1 przecho
Dodano: 2020-04-25, 10:01
Mam takie co? i dalej nie dzia?a, C:
Kod:
--[[
@author: neQ./.rand0m <neqprogrammer@gmail.com>
@Edit: DylemaT929
@for: Polski Serwer RPG/Your Pseudol
@copyright ?© 2018
]]
local screenW, screenH = guiGetScreenSize()
local pojemnosc = {
[11] = 2.5
}
local obj = createObject( 1956, 1385.87, -20.98, 999.92 );
obj:setInterior( 2 );
obj:setScale( 10 );
obj:setFrozen( true );
local actual_car = 0;
local font = 'default';
local maskowanie_procent = {
[0] = "Brak",
[1] = "Po?‚owiczne",
[2] = "Ca?‚e",
['0'] = "Brak",
['1'] = "Po?‚owiczne",
['2'] = "Ca?‚e",
}
local tuning_workshop = {
[0] = "Wy?‚?…czone",
[1] = "W?‚?…czone",
['0'] = "Wy?‚?…czone",
['1'] = "W?‚?…czone",
}
local kolor_neonow = {
[0] = "Brak",
[1] = "Czerwony",
[2] = "Niebieski",
[3] = "Zielony",
[4] = "ZĂł?‚ty",
[5] = "Różowy",
[6] = "Bia?‚y",
['0'] = "Brak",
['1'] = "Czerwony",
['2'] = "Niebieski",
['3'] = "Zielony",
['4'] = "?»Ăł?‚ty",
['5'] = "Różowy",
['6'] = "Bia?‚y",
}
local silnik = {
[1] = "1.2 dm3",
[2] = "1.6 dm3",
[3] = "1.8 dm3",
[4] = "2.0 dm3",
[5] = "2.2 dm3",
[6] = "2.5 dm3",
[7] = "2.6 dm3",
[0] = "2.7 dm3",
[9] = "2.8 dm3",
[10] = "2.9 dm3",
[11] = "3.0 dm3",
}
local loaded = false;
addEvent( 'parking:showCarss', true );
addEvent( 'parking:setCollidablee', true );
function loadCarr( )
if veh then veh:destroy( ) end
local color=split(vehicles[actual_car]["color"], ",")
local lights=split(vehicles[actual_car]["headlights"], ",");
veh = createVehicle( vehicles[actual_car].model, 1385.87, -20.98, 1000.82 );
for i,v in ipairs(split(vehicles[actual_car]["tuning"], ",")) do veh:addUpgrade( v ); end
veh:setHeadLightColor( lights[1], lights[2], lights[3] );
veh:setInterior( 1 );
veh:setFrozen( true );
loaded = true;
end
function changeCarr( btn )
if btn == "arrow_l" then
if vehicles[actual_car - 1] then
actual_car = actual_car - 1;
else
actual_car = #vehicles;
end
elseif btn == "arrow_r" then
if vehicles[actual_car + 1] then
actual_car = actual_car + 1;
else
actual_car = 1;
end
end
loadCarr( );
end
function exitParkingg( )
unbindKey( "space", "down", respawnCarr );
unbindKey( "arrow_l", "down", changeCarr);
unbindKey( "arrow_r", "down", changeCarr);
unbindKey( "enter", "down", exitParkingg );
removeEventHandler( 'onClientRender', root, _onClientRender );
triggerServerEvent( "parking:exit", localPlayer );
loaded = false;
end
local cool = createColCuboid(-1961.94, 615.16, 35.02 - 0.9, 5, 8, 5)
local rot = 0;
function _onClientRender( )
if vehicles[actual_car] then
rot = rot + 1;
veh:setRotation( 0, 0, -rot );
obj:setRotation( 0, 0, -rot );
dxDrawRectangle(screenW * 0.5359, screenH * 0.1833, screenW * 0.4461, screenH * 0.6083, tocolor(0, 0, 0, 150) );
dxDrawRectangle(screenW * 0.5352, screenH * 0.1806, screenW * 0.4484, screenH * 0.0472, tocolor(255, 255, 0), true);
dxDrawText("Witaj w przechowywalni. Wybierz swĂłj pojazd!", screenW * 0.5430, screenH * 0.1889, screenW * 0.9805, screenH * 0.2194, tocolor(255, 255, 255, 255), 1.50, "default", "center", "center", false, false, true, false, false);
dxDrawText("Nazwa Pojazdu: ".. getVehicleNameFromModel( vehicles[actual_car].model ) .."\nID Pojazdu: ".. vehicles[actual_car].id .."\nOstatni Kierowca: ".. vehicles[actual_car].driver .."\nPrzebieg: ".. vehicles[actual_car].mileage .." KM\nPojemno?›?‡ Silnika: ".. silnik[vehicles[actual_car].pojemnosc_silnika] .."\nIlo?›?‡ Paliwa: ".. vehicles[actual_car].fuel .."L\nPojemno?›?‡ Baku: ".. vehicles[actual_car].bak .." L\nUtworzony: ".. vehicles[actual_car].createdate .."\n\n\n\n\n--Dodatkowe Ulepszenia Pojazdu--\nUS1: ".. tuning_workshop[vehicles[actual_car].mk1] .." | US2: ".. tuning_workshop[vehicles[actual_car].mk2] .." | US3: ".. tuning_workshop[vehicles[actual_car].mk3] .."\nGwintowane Zawieszenie: ".. tuning_workshop[vehicles[actual_car].rh] .." | Nep?™d 4x4: ".. tuning_workshop[vehicles[actual_car].naped] .." | Maskowanie: ".. maskowanie_procent[vehicles[actual_car].masked] .."\nTurbo: ".. tuning_workshop[vehicles[actual_car].turbo] .." | Drift: ".. tuning_workshop[vehicles[actual_car].drift] .."\nKolor NeonĂłw: ".. kolor_neonow[vehicles[actual_car].neon] .."", screenW * 0.5641, screenH * 0.2458, screenW * 0.9570, screenH * 0.6597, white, 1, font, 'center', 'top');
dxDrawText("JeĹĽeli chcesz zmieni?‡ pojazd naci?›nij strza?‚ki - 'prawo lub 'lewo'\nPosiadasz aĹĽ "..actual_car.."/"..#vehicles..' PojazdĂłw\nAby wyci?…gn?…?‡ auto naci?›nij klawisz "SPACJA"\nAby wyj?›?‡ z przechowywalni naci?›nij klawisz "ENTER"', screenW * 0.5531, screenH * 0.6736, screenW * 0.9648, screenH * 0.7764, white, 1, font, 'center', 'bottom', false, true);
dxSetRenderTarget( );
end
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}
local categoryL={[469] = true, [487] = true, [593] = true, [519] = true, [513] = true, [520] = true, [592] = true}
function respawnCarr( )
local car = vehicles[actual_car];
local vehicles=getElementsWithinColShape(cool, "vehicle")
if #vehicles > 0 then
triggerEvent( "onClientAddNotification", localPlayer, "Nie ma miejsca.", "error" );
return false
end
if (localPlayer:getData( "player:license:pjB" ) ~= 0 and categoryB[car.model]) or (localPlayer:getData( "player:license:pjA" ) ~= 0 and categoryA[car.model]) or (localPlayer:getData( "player:license:pjL" ) ~= 0 and categoryL[car.model]) or (localPlayer:getData( "player:license:pjC" ) ~= 0 and categoryC[ car.model ]) then
triggerServerEvent( "parking:respawnCarr", localPlayer, car );
loaded = false;
unbindKey( "space", "down", respawnCarr );
unbindKey( "arrow_l", "down", changeCarr);
unbindKey( "arrow_r", "down", changeCarr);
unbindKey( "enter", "down", exitParkingg );
removeEventHandler( 'onClientRender', root, _onClientRender );
else
triggerEvent( "onClientAddNotification", localPlayer, "Nie posiadasz prawa jazdy.", "error" );
end
end
addEventHandler( 'parking:showCarss', root, function( cars )
if loaded then return triggerServerEvent( "parking:exit", localPlayer ); end
vehicles = cars;
actual_car = 1;
if cars[actual_car] then
loadCarr( );
bindKey( "arrow_l", "down", changeCarr);
bindKey( "arrow_r", "down", changeCarr);
bindKey( "space", "down", respawnCarr );
bindKey( "enter", "down", exitParkingg );
setCameraMatrix( 1398.88, -17.49, 1003.39, 1386.06, -18.09, 1000.92 );
addEventHandler( 'onClientRender', root, _onClientRender );
end
end);
addEventHandler( "parking:setCollidablee", root, function( veh, bool )
if bool == false then
veh:setAlpha( 180 );
elseif bool == true then
veh:setAlpha( 255 );
end
for k,v in ipairs(getElementsByType( "vehicle" )) do
setElementCollidableeWith( veh, v, bool );
end
end)
S:
Kod:
--[[
@author: neQ./.rand0m <neqprogrammer@gmail.com>
@Edit: DylemaT929
@for: Polski Serwer RPG/Your Pseuodl
@copyright ?© 2018
]]
createBlip(1770.62, -2041.31, 13.53, 35,2,0,0,0,0,0,175)
--createBlip(-2533.20, -29.13, 16.50, 35,2,0,0,0,0,0,175)
settings = {
BLIP_ID = 35;
MAX_VISIBLE_DIST = 250;
};
local blip = {};
local cub = {};
local marker = {};
local marker2 = {};
addEvent( "parking:respawnCarr", true );
addEvent( "parking:exitt", true );
PARKINGS = {
--[[
ID - wiadomo ( MUSI BY?† PO KOLEI I ID MA WSKAZYWA?† DOBR?„ POZYCJE W TABLICY )
x, y, z - miejsce w ktĂłrym pojawi si?™ marker do odebrania pojazdu a takĹĽe blip na mapie
x2, y2, z2 - miejsce w ktĂłrym moĹĽemy odda?‡ pojazd do przechowywalni
x3, y3, z3 - miejsce w ktĂłrym pojawi si?™ nasze auto po odebraniu
rotx, roty, rotz - rotacja z jak?… pojawi si?™ auto
x4, y4, z4 - miejsce w ktĂłrym pojawi si?™ gracz po wyj?›ciu z przecho (ENTER)
rotx2, roty2, rotz2 - rotacja z jak?… pojawi si?™ gracz po wyj?›ciu z przecho (ENTER)
]]
-- id, x, y, z, x2, y2, z2, x3, y3, z3, rotx, roty, rotz, x4, y4, z4, rotx2, roty2, rotz2
{1, -2533.27, -28.13, 16.45, -2531.99, -15.66, 16.42, -2532.29, -24.30, 16.42, 355.9, 359.8, 270.3, -2529.61, -26.57, 16.42, 0, 0, -90},
--{2, -2533.20, -29.13, 16.50, -2530.86, -14.99, 16.42, -2531.48, -23.66, 16.07, 0.1, 0.0, 91.8, -2537.54, -29.23, 16.51, 0, 0, -90},
};
local vehicles = {};
function getPlayerCarss( plr )
vehicles[plr] = {};
local query = exports['pystories-db']:dbGet('select * from pystories_vehicles where ownedPlayer = ?', plr:getData( 'player:sid' ));
for k,v in ipairs(query) do
if v.parking == 1 or v.parking == "1" then
table.insert(vehicles[plr], v);
end
end
return vehicles[plr];
end
addEventHandler( "parking:respawnCarr", root, function( car )
local parking_id = client:getData( 'parking:id' );
local parking = PARKINGS[parking_id];
local veh = exports["pystories-vehicles"]:onRespawnVehicles(_, car.id, {parking[8], parking[9], parking[10], parking[11], parking[12], parking[13]} );
triggerClientEvent( root, "parking:setCollidable", veh, veh, false );
setCameraTarget( client, client );
client:setData( 'parking:id', false );
client:setInterior( 0 );
client:setFrozen( false );
client:setDimension( 0 );
client:warpIntoVehicle( veh, 0 );
end);
addEventHandler( "parking:exitt", root, function( )
local parking_id = client:getData( 'parking:id' );
local parking = PARKINGS[parking_id];
client:setInterior( 0 );
client:setDimension( 0 );
client:setFrozen( false );
setCameraTarget( client, client );
client:setPosition( parking[14], parking[15], parking[16] );
client:setRotation( parking[17], parking[18], parking[19] );
client:setData( 'parking:id', false );
end);
function _onMarkerHit( plr, md )
if plr:getType() == 'player' and md and not isPedInVehicle( plr ) then
local cars = getPlayerCarss( plr );
if #cars > 0 then
triggerClientEvent( plr, 'parking:showCars', plr, cars );
plr:setInterior( 1 );
plr:setFrozen( true );
plr:setData( 'parking:id', source:getData( 'parking_marker:id' ) );
else
triggerClientEvent( plr, "onClientAddNotification", plr, "Nie posiadasz ĹĽadnego pojazdu\ndo odebrania w przechowywalnii.", "info" );
end
end
end
function _onMarkerHit2( veh, md )
if md then
if veh:getType( plr ) == "vehicle" then
if veh:getData( 'vehicle:id' ) then
if veh:getData( "vehicle:duty" ) then
triggerClientEvent( getVehicleController( veh ), "onClientAddNotification", getVehicleController( veh ), "Tego pojazdu nie moĹĽesz odda?‡.", "error" );
return
end
-- oddaj do przecho
if timer and timer.valid then return end -- je?›li gracz juĹĽ odda?‚ nie robimy tego drugi raz
local plr = getVehicleController( veh );
if not plr then return end
veh:setFrozen( true );
toggleControl ( plr, 'enter_exit', false );
triggerClientEvent( root, "parking:setCollidable", veh, veh, false );
triggerClientEvent( plr, "onClientAddNotification", plr, "Trwa oddawanie pojazdu..", "info" );
timer = setTimer( function( )
if not veh:getData( 'vehicle:id' ) then veh:setFrozen( false ); toggleControl( plr, 'enter_exit', true ); return end -- dla podwĂłjnej ostroĹĽno?›ci
toggleControl( plr, 'enter_exit', true );
timer:destroy( );
timer = nil;
local id=getElementData(veh,"vehicle:id")
if not id then return end
exports["pystories-vehicles"]:onSaveVehicle(veh)
destroyElement(veh)
exports["pystories-db"]:dbSet("UPDATE pystories_vehicles SET parking=1,tp_to_parking=? WHERE id=?","Schowany recznie(kierowca)", id)
triggerClientEvent( plr, "onClientAddNotification", plr, "Pomy?›lnie oddano auto do przechowywalni.", "success" );
end, 1500, 1);
else
triggerClientEvent( getVehicleController( veh ), "onClientAddNotification", getVehicleController( veh ), "Tego pojazdu nie moĹĽesz odda?‡.", "error" );
end
end
end
end
function _onColLeave(el, md)
if md and el:getType() == "vehicle" then
triggerClientEvent( root, "parking:setCollidable", el, el, true );
end
end
function loadParking( parking )
blip[parking[1]] = Blip(settings.BLIP_ID, 2, 255, 0, 0, 255, 0, settings.MAX_VISIBLE_DIST );
marker[parking[1]] = Marker( parking[2], parking[3], parking[4]-0.90, 'cylinder', 1.5, 255, 255, 0);
marker2[parking[1]] = Marker( parking[5], parking[6], parking[7]-1.50, 'cylinder', 3, 255, 255, 0 );
blip[parking[1]]:setData( 'parking:markers', { marker, marker2 } );
blip[parking[1]]:setData( 'parking_blip:id', parking[1] );
marker[parking[1]]:setData( 'parking_marker:id', parking[1] );
marker2[parking[1]]:setData( 'parking_marker:id', parking[1] );
marker[parking[1]]:setData( "typ", "pojazd" );
cub[parking[1]] = createColSphere( parking[8], parking[9], parking[10], 5 );
addEventHandler( 'onMarkerHit', marker[parking[1]], _onMarkerHit );
addEventHandler( 'onMarkerHit', marker2[parking[1]], _onMarkerHit2 );
addEventHandler( 'onColShapeLeavee', cub[parking[1]], _onColLeave );
end
addEventHandler( 'onResourceStart', resourceRoot, function( )
for k,v in ipairs( PARKINGS ) do
loadParking(v);
end
end);
addEventHandler( 'onResourceStop', resourceRoot, function( )
for i,v in ipairs( getElementsByType( 'player' ) ) do
if v:getData( 'parking:id' ) then
local parking_id = v:getData( 'parking:id' );
local parking = PARKINGS[parking_id];
v:setInterior( 0 );
v:setDimension( 0 );
v:setFrozen( false );
setCameraTarget( v, v );
v:setPosition( parking[14], parking[15], parking[16] );
v:setRotation( parking[17], parking[18], parking[19] );
v:setData( 'parking:id', false );
end
end
end)
function tuning_pojazd(plr)
if getElementData(plr, "spamer:pojazdd") == 2 then return end
setElementData(plr, "spamer:pojazdd", 2)
setTimer(function()
setElementData(plr, "spamer:pojazdd", false)
end, 5000, 1)
local car=getPedOccupiedVehicle(plr)
if not car then outputChatBox("Nie jeste?› w pojeĹşdzie!", plr, 255, 0, 0) return end
outputChatBox("Tuning Workshop:", plr, 0, 255, 255)
local baza=exports["pystories-db"]:dbGet("SELECT * FROM pystories_vehicles WHERE id=?", getElementData(car, "vehicle:id"))
for i,vehicle in pairs(baza) do
mk1=vehicle['mk1']
mk2=vehicle['mk2']
mk3=vehicle['mk3']
rh=vehicle['rh']
drift=vehicle['drift']
naped=vehicle['naped']
end
if tonumber(mk1) == 1 then us1="TAK" else us1="NIE" end
if tonumber(mk2) == 1 then us2="TAK" else us2="NIE" end
if tonumber(mk3) == 1 then us3="TAK" else us3="NIE" end
if tonumber(rh) == 1 then rh1="TAK" else rh1="NIE" end
if tonumber(naped) == 1 then naped="TAK" else naped="NIE" end
if tonumber(drift) == 1 then drift="TAK" else drift="NIE" end
outputChatBox("US1: "..us1.." | US2: "..us2.." | US3: "..us3.."", plr, 255, 255,255)
outputChatBox("GZ: "..rh1.." | Nap?™d 4x4: "..naped.." | Drift: "..drift.."", plr, 255, 255,255)
end
addCommandHandler("tuning.pojazdu", tuning_pojazdd)
Ostatnio zmieniony przez Wilq 2020-04-25, 11:12, w całości zmieniany 1 raz
Tagi: [skrypt] :: przechowywalnia
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: