sebik2303
Mapper :)
Wiek: 25 Na forum: 4160 dni Posty: 298
Nick w MP: sebik2303
Piwa : 899
Siemka, mam skrypt na prywatne pojazdy, lecz nie wiem czemu po pierwsze zapisuj? si? auta na NICK nie na konto i mo?na szybo ukra?? pojazdy, po drugie chcia?bym zrobi? tak, ?e jak kto? jest w samochodzie, lub pojazd jest zamkni?ty nie mo?e nikt wsi???. Dam urywek skryptu odpowiadaj?cy zamykaniu, otwieraniu i zapisu aut na nick, nie na konto
cars ={}
buycarpickup ={}
maxcars = 0
addEventHandler ( "onResourceStart" , getResourceRootElement (),
function ()
local root = xmlLoadFile ( "cars.xml" )
local houseroot = xmlFindChild ( root , "cars" , 0 )
if ( houseroot ) then
for i , v in ipairs ( xmlNodeGetChildren ( houseroot )) do
local carmodel = xmlNodeGetAttribute ( v , "model" )
local x = xmlNodeGetAttribute ( v , "x" )
local y = xmlNodeGetAttribute ( v , "y" )
local z = xmlNodeGetAttribute ( v , "z" )
local color1 = xmlNodeGetAttribute ( v , "color1" )
local color2 = xmlNodeGetAttribute ( v , "color2" )
local owner = xmlNodeGetAttribute ( v , "owner" )
local price = xmlNodeGetAttribute ( v , "price" )
local lock = xmlNodeGetAttribute ( v , "lock" )
local a = xmlNodeGetAttribute ( v , "a" )
cars [ i ] = createVehicle ( tonumber ( carmodel ), tonumber ( x ), tonumber ( y ), tonumber ( z ), 0 , 0 , tonumber ( a ) )
setElementInterior ( cars [ i ], 0 )
setElementData ( cars [ i ], "xpos" , tonumber ( x ))
setElementData ( cars [ i ], "ypos" , tonumber ( y ))
setElementData ( cars [ i ], "zpos" , tonumber ( z ))
setElementData ( cars [ i ], "angle" , tonumber ( a ))
setElementData ( cars [ i ], "owner" , owner )
setElementData ( cars [ i ], "price" , tonumber ( price ))
setElementData ( cars [ i ], "lock" , tonumber ( lock ))
setElementData ( cars [ i ], "num" , i )
setVehicleColor ( cars [ i ], tonumber ( color1 ), tonumber ( color2 ), 0 , 0 )
if( lock == 1 ) then
setVehicleLocked ( car , true )
end
if getElementData ( cars [ i ], "owner" ) == "Nobody" then
buycarpickup [ i ] = createPickup ( x , y , z , 3 , 1274 )
attachElements ( buycarpickup [ i ], cars [ i ], 0 , 0 , 1.9 )
end
maxcars = maxcars + 1
end
outputDebugString ( "Cars loaded!" )
end
end
)
function saveCars ()
local root = xmlLoadFile ( "cars.xml" )
local houseroot = xmlFindChild ( root , "cars" , 0 )
if ( houseroot ) then
for i , v in ipairs ( xmlNodeGetChildren ( houseroot )) do
local color1 , color2 , color3 , color4 = getVehicleColor ( cars [ i ] )
xmlNodeSetAttribute ( v , "model" , getElementModel ( cars [ i ]) )
xmlNodeSetAttribute ( v , "x" , getElementData ( cars [ i ], "xpos" ) )
xmlNodeSetAttribute ( v , "y" , getElementData ( cars [ i ], "ypos" ) )
xmlNodeSetAttribute ( v , "z" , getElementData ( cars [ i ], "zpos" ) )
xmlNodeSetAttribute ( v , "a" , getElementData ( cars [ i ], "angle" ) )
xmlNodeSetAttribute ( v , "color1" , color1 )
xmlNodeSetAttribute ( v , "color2" , color2 )
xmlNodeSetAttribute ( v , "owner" , getElementData ( cars [ i ], "owner" ) )
xmlNodeSetAttribute ( v , "price" , getElementData ( cars [ i ], "price" ) )
xmlNodeSetAttribute ( v , "lock" , getElementData ( cars [ i ], "lock" ) )
end
xmlSaveFile ( root )
end
end
function adminCreateVehicle ( source , cmd )
local accName = getAccountName ( getPlayerAccount ( source ) )
if isObjectInACLGroup ( "user." .. accName , aclGetGroup ( "Admin" ) ) then
local root = xmlLoadFile ( "cars.xml" )
local houseroot = xmlFindChild ( root , "cars" , 0 )
local createdcar = xmlCreateChild ( houseroot , "vehicle" )
local carmodel = xmlNodeSetAttribute ( createdcar , "model" , "451" )
local x , y , z = getElementPosition ( source )
local xa , ya , a = getElementRotation ( source )
xmlNodeSetAttribute ( createdcar , "x" , x )
xmlNodeSetAttribute ( createdcar , "y" , y )
xmlNodeSetAttribute ( createdcar , "z" , z )
xmlNodeSetAttribute ( createdcar , "a" , a )
xmlNodeSetAttribute ( createdcar , "color1" , "0" )
xmlNodeSetAttribute ( createdcar , "color2" , "0" )
xmlNodeSetAttribute ( createdcar , "owner" , "Nobody" )
xmlNodeSetAttribute ( createdcar , "price" , "0" )
xmlNodeSetAttribute ( createdcar , "lock" , "0" )
cars [ maxcars + 1 ] = createVehicle ( 451 , x , y , z , 0 , 0 , a )
setElementData ( cars [ maxcars + 1 ], "xpos" , x )
setElementData ( cars [ maxcars + 1 ], "ypos" , y )
setElementData ( cars [ maxcars + 1 ], "zpos" , z )
setElementData ( cars [ maxcars + 1 ], "angle" , a )
setElementData ( cars [ maxcars + 1 ], "owner" , "Nobody" )
setElementData ( cars [ maxcars + 1 ], "price" , 0 )
setElementData ( cars [ maxcars + 1 ], "lock" , 0 )
xmlSaveFile ( root )
maxcars = maxcars + 1
else
outputChatBox ( "B??d: Nie mo?esz u?y? tego polecenia." , source , 255 , 255 , 127 )
end
end
addCommandHandler ( "stworz.pojazd" , adminCreateVehicle )
addCommandHandler ( "zapisz.pojazd" , saveCars )
function getCar ( car )
return cars [ car ]
end
function enterVehicle ( source , seat , jacked )
local playercar = getPedOccupiedVehicle ( source )
if( seat == 0 ) then
if ( getElementData ( playercar , "owner" )) then
if( getElementData ( playercar , "owner" ) ~= "Nobody" ) then
if( getElementData ( playercar , "owner" ) == getPlayerName ( source )) then
outputChatBox ( "Wsiad?e? do swojego pojazdu." , source , 255 , 255 , 127 )
else
outputChatBox ( "To jest pojazd gracza: " .. getElementData ( playercar , "owner" ).. "" , source , 255 , 255 , 127 )
end
else
local price = getElementData ( playercar , "price" )
triggerClientEvent ( source , "showBuyCar" , source , price )
toggleAllControls ( source , false , true , false )
return true
end
end
end
end
addEventHandler ( "onVehicleEnter" , getRootElement (), enterVehicle )
function AcceptToBuyCar ( )
local playercar = getPedOccupiedVehicle ( source )
if( getElementData ( playercar , "owner" ) == "Nobody" ) then
if( getPlayerMoney ( source ) > tonumber ( getElementData ( playercar , "price" ))) then
setElementData ( playercar , "owner" , getPlayerName ( source ))
takePlayerMoney ( source , tonumber ( getElementData ( playercar , "price" )))
toggleAllControls ( source , true )
outputChatBox ( "Gratulacje! W?a?nie zakupi?e? pojazd." , source , 243 , 149 , 72 )
destroyElement ( buycarpickup [ getElementData ( playercar , "num" )])
saveCars ()
else
outputChatBox ( "B??d: Nie masz tyle ?rodk?w na swoim koncie." , source , 243 , 149 , 72 )
setControlState ( source , "enter_exit" , true )
end
end
end
addEvent ( "acceptBuyCar" , true )
addEventHandler ( "acceptBuyCar" , root , AcceptToBuyCar )
function playerCarLock ( source , cmd )
for i , v in ipairs ( cars ) do
if( getElementData ( cars [ i ], "owner" ) == getPlayerName ( source )) then
setVehicleLocked ( cars [ i ], true )
setElementData ( cars [ i ], "lock" , 1 )
outputChatBox ( "Zamkn??e? sw?j pojazd." , source , 243 , 149 , 72 )
saveCars ()
end
end
end
addCommandHandler ( "zamknij" , playerCarLock )
function playerCarUnLock ( source , cmd )
for i , v in ipairs ( cars ) do
if( getElementData ( cars [ i ], "owner" ) == getPlayerName ( source )) then
setVehicleLocked ( cars [ i ], false )
setElementData ( cars [ i ], "lock" , 0 )
outputChatBox ( "Otworzy?e? sw?j pojazd." , source , 243 , 149 , 72 )
saveCars ()
end
end
end
addCommandHandler ( "otworz" , playerCarUnLock )
My?l?, ?e pomo?ecie stawiam