Jump to content

how to save vehicle upgrades?


swag_k_dog

Recommended Posts

Posted

CLIENT:

local Key = 'F5'
vehiclesTable = {
	{ 'Super GT', 506, 10000, {551.31152, -1285.07727, 18.87188, 560.67841, -1284.27649, 17.24824} },
	{ 'Windsor', 555, 66600, {551.31152, -1285.07727, 18.87188, 560.67841, -1284.27649, 17.24824} },
	{ 'Lamborghini', 415, 450000, {551.31152, -1285.07727, 18.87188, 560.67841, -1284.27649, 17.24824} },
};

local buyingMarker = createMarker( 551.51257, -1262.61926, 16.25465, 'cylinder', 1.2, 200, 150, 50, 255 )


local screenW, screenH = guiGetScreenSize()
Cplayer = getLocalPlayer(  )
setElementData( Cplayer, 'VehiclesSystem;WarpToVehicle', nil )
setElementData( root, 'vehiclesSystem;dimension', 1 )

GUIEditor = {
    checkbox = {},
    label = {},
    button = {},
    window = {},
    gridlist = {}
}
GUIEditor.window[1] = guiCreateWindow((screenW - 700) / 2, (screenH - 374) / 2, 700, 374, ". : Vehicles System : .", false)
guiWindowSetSizable(GUIEditor.window[1], false)
guiSetAlpha(GUIEditor.window[1], 1.00)
guiSetVisible(GUIEditor.window[1], false)
GUIEditor.gridlist[1] = guiCreateGridList(10, 32, 511, 332, false, GUIEditor.window[1])
guiGridListAddColumn(GUIEditor.gridlist[1], "ID", 0.2)
guiGridListAddColumn(GUIEditor.gridlist[1], "Vehicle", 0.3)
guiGridListAddColumn(GUIEditor.gridlist[1], "Price", 0.3)
guiGridListAddColumn(GUIEditor.gridlist[1], "Subscription", 0.3)
GUIEditor.button[1] = guiCreateButton(531, 42, 156, 24, "Create Vehicle", false, GUIEditor.window[1])
guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FFFEFB00")
GUIEditor.button[2] = guiCreateButton(531, 76, 156, 24, "Destroy Vehicle", false, GUIEditor.window[1])
guiSetProperty(GUIEditor.button[2], "NormalTextColour", "FFFEFB00")
GUIEditor.button[3] = guiCreateButton(531, 125, 156, 24, "Lock/Unlock Vehicle", false, GUIEditor.window[1])
guiSetProperty(GUIEditor.button[3], "NormalTextColour", "FF00ADFE")
GUIEditor.button[4] = guiCreateButton(531, 159, 156, 24, "On/Off Engine", false, GUIEditor.window[1])
guiSetProperty(GUIEditor.button[4], "NormalTextColour", "FF00ADFE")
GUIEditor.button[5] = guiCreateButton(532, 193, 155, 24, "On/Off Lights", false, GUIEditor.window[1])
guiSetProperty(GUIEditor.button[5], "NormalTextColour", "FF00ADFE")
GUIEditor.button[6] = guiCreateButton(532, 242, 155, 24, "Warp To Buy Place", false, GUIEditor.window[1])
guiSetProperty(GUIEditor.button[6], "NormalTextColour", "FFFE7100")
GUIEditor.button[7] = guiCreateButton(533, 340, 154, 24, "X", false, GUIEditor.window[1])
guiSetProperty(GUIEditor.button[7], "NormalTextColour", "FFFE0000")
GUIEditor.button[8] = guiCreateButton(532, 276, 154, 24, "Sell Vehicle", false, GUIEditor.window[1])
guiSetProperty(GUIEditor.button[8], "NormalTextColour", "FFFE7100")
GUIEditor.label[1] = guiCreateLabel(531, 100, 156, 15, "ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ", false, GUIEditor.window[1])
guiSetFont(GUIEditor.label[1], "default-bold-small")
guiLabelSetColor(GUIEditor.label[1], 176, 176, 176)
guiLabelSetHorizontalAlign(GUIEditor.label[1], "center", false)
guiLabelSetVerticalAlign(GUIEditor.label[1], "bottom")
GUIEditor.label[2] = guiCreateLabel(531, 217, 156, 15, "ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ", false, GUIEditor.window[1])
guiSetFont(GUIEditor.label[2], "default-bold-small")
guiLabelSetColor(GUIEditor.label[2], 176, 176, 176)
guiLabelSetHorizontalAlign(GUIEditor.label[2], "center", false)
guiLabelSetVerticalAlign(GUIEditor.label[2], "bottom")
GUIEditor.checkbox[1] = guiCreateCheckBox(553, 309, 133, 21, "Warp To Vehicle", false, false, GUIEditor.window[1])
guiSetProperty(GUIEditor.checkbox[1], "NormalTextColour", "FFF9F000")
----------#Window2
buyplace = guiCreateWindow(screenW - 266 - 10, (screenH - 491) / 2, 266, 491, ". : Vehicles System : .", false)
guiWindowSetSizable(buyplace, false)
guiSetAlpha(buyplace, 1.00)
guiSetVisible(buyplace, false)
list_buyplace = guiCreateGridList(10, 29, 246, 313, false, buyplace)
guiGridListSetSortingEnabled(list_buyplace, false)
guiGridListAddColumn(list_buyplace, "#", 0.11)
guiGridListAddColumn(list_buyplace, "Vehicle", 0.5)
guiGridListAddColumn(list_buyplace, "Price", 0.5)
buy_buyplace = guiCreateButton(46, 352, 172, 22, "Buy Vehicle", false, buyplace)
guiSetProperty(buy_buyplace, "NormalTextColour", "FF00FE00")
rent_buyplace = guiCreateButton(46, 423, 172, 22, "Rent Vehicle", false, buyplace)
guiSetProperty(rent_buyplace, "NormalTextColour", "FFF5FD00")
label_buyplace = guiCreateLabel(10, 384, 246, 29, "Note : You Can Also Rent Vehicle,\nRent Time : 5 Minutes, Price : 1,000$ .", false, buyplace)
guiLabelSetColor(label_buyplace, 254, 84, 0)
guiLabelSetHorizontalAlign(label_buyplace, "center", false)
x_buyplace = guiCreateButton(46, 455, 172, 22, "X", false, buyplace)
guiSetProperty(x_buyplace, "NormalTextColour", "FFFE0005")

function addCarsToBuy(  )
guiGridListClear( list_buyplace )
for _, vehicle in ipairs( vehiclesTable ) do 
	local Price, value = string.gsub( vehicle[3], '^(-?%d+)(%d%d%d)', '%1,%2' )    
	local item = guiGridListAddRow( list_buyplace )
	local cN = guiGridListSetItemText( list_buyplace, item, 2, vehicle[1], false, false )
	local cP = guiGridListSetItemText( list_buyplace, item, 3, Price..'$', false, false )
	local num = guiGridListSetItemText( list_buyplace, item, 1, _..'-', false, false )
	local cD1 = guiGridListSetItemData( list_buyplace, item, 1, vehicle[4] )
	local cD2 = guiGridListSetItemData( list_buyplace, item, 2, vehicle[2] )
	local cD3 = guiGridListSetItemData( list_buyplace, item, 3, vehicle[3] )
		guiGridListSetItemColor( list_buyplace, item, 2, 200, 200, 50 )
	guiGridListSetItemColor( list_buyplace, item, 3, 50, 200, 200 )
guiGridListSetItemColor( list_buyplace, item, 1, 200, 100, 0 )
end
end
addCarsToBuy(  )

function clickElements(  )
	if ( source == GUIEditor.button[7] ) then
		guiSetVisible( GUIEditor.window[1], false )
		showCursor( false )
	elseif ( source == GUIEditor.checkbox[1] ) then
		local Sel = guiCheckBoxGetSelected( GUIEditor.checkbox[1] )
			if ( Sel == true ) then
				setElementData( Cplayer, 'VehiclesSystem;WarpToVehicle', 'Enabled' )
			else
		setElementData( Cplayer, 'VehiclesSystem;WarpToVehicle', nil )
		end
	elseif ( source == x_buyplace ) then
		fadeCamera( false )
		setTimer( fadeCamera, 1500, 1, true )
		guiSetVisible( buyplace, false )
		showCursor( false )
		setTimer( setCameraTarget, 1500, 1, Cplayer )
		triggerServerEvent( 'VehiclesSystem;createViewVehicle', Cplayer, nil, nil, nil, nil, 'close' )
		setElementDimension( Cplayer, 0 )
		addCarsToBuy(  )
	elseif ( source == list_buyplace ) then
		local Sel = guiGridListGetSelectedItem( list_buyplace )
			if ( Sel == -1 ) then return end
				local Data = guiGridListGetItemData( list_buyplace, Sel, 1 )
					local x1, y1, z1, x2, y2, z2 = unpack( Data )
				setCameraMatrix( x1, y1, z1, x2, y2, z2 )
			if ( isElement( viewvehicle ) ) then if ( getElementModel( viewvehicle ) ) == guiGridListGetItemData( list_buyplace, Sel, 2 ) then return end destroyElement( viewvehicle ) end
		triggerServerEvent( 'VehiclesSystem;createViewVehicle', Cplayer, guiGridListGetItemData( list_buyplace, Sel, 2 ), x2, y2, z2, 'view' )
	elseif ( source == rent_buyplace ) then
		local Sel = guiGridListGetSelectedItem( list_buyplace )
			if ( Sel == -1 ) then outputChatBox( '#FF0000*#FFFF00 Vehicles System #FF0000 : #FFFFFFError, Please select vehicle #FF0000!', 255, 255, 255, true ) return end
				local ID = guiGridListGetItemData( list_buyplace, Sel, 2 )
				if ( getPlayerMoney( Cplayer ) < 1000 ) then outputChatBox( '#FF0000*#FFFF00 Vehicles System #FF0000 : #FFFFFFError, You don\'t have enough money #FF0000!', 255, 255, 255, true ) return end
			guiSetVisible( buyplace, false )
			showCursor( false )
			setTimer( setCameraTarget, 1500, 1, Cplayer )
			triggerServerEvent( 'VehiclesSystem;createRentVehicle', Cplayer, ID, guiGridListGetItemText( list_buyplace, Sel, 2 ) )
			triggerServerEvent( 'VehiclesSystem;createViewVehicle', Cplayer, nil, nil, nil, nil, 'close' )
	elseif ( source == buy_buyplace ) then
		local Sel = guiGridListGetSelectedItem( list_buyplace )
			if ( Sel == -1 ) then outputChatBox( '#FF0000*#FFFF00 Vehicles System #FF0000 : #FFFFFFError, Please select vehicle #FF0000!', 255, 255, 255, true ) return end
				local ID = guiGridListGetItemData( list_buyplace, Sel, 2 )
				local vN = guiGridListGetItemText( list_buyplace, Sel, 2 )
			local Pr = guiGridListGetItemData( list_buyplace, Sel, 3 )
				if ( getPlayerMoney( Cplayer ) < Pr ) then outputChatBox( '#FF0000*#FFFF00 Vehicles System #FF0000 : #FFFFFFError, You don\'t have enough money #FF0000!', 255, 255, 255, true ) return end
		triggerServerEvent( 'VehiclesSystem;buyCurrentCar', Cplayer, ID, vN, Pr )
	elseif ( source == GUIEditor.button[1] ) then
		local Sel = guiGridListGetSelectedItem( GUIEditor.gridlist[1] )
			if ( Sel == -1 ) then outputChatBox( '#FF0000*#FFFF00 Vehicles System #FF0000 : #FFFFFFError, Please select vehicle #FF0000!', 255, 255, 255, true ) return end
			local ID = guiGridListGetItemText( GUIEditor.gridlist[1], Sel, 1 )
				triggerServerEvent( 'VehiclesSystem;createPersonalVehicle', Cplayer, ID )
			guiSetVisible( GUIEditor.window[1], false )
		showCursor( false )
		guiSetEnabled( GUIEditor.button[1], false )
		setTimer( guiSetEnabled, 2000, 1, GUIEditor.button[1], true )
	elseif ( source == GUIEditor.button[2] ) then
				triggerServerEvent( 'VehiclesSystem;destroyPersonalVehicle', Cplayer )
			guiSetEnabled( GUIEditor.button[2], false )
		setTimer( guiSetEnabled, 2000, 1, GUIEditor.button[2], true )
	elseif ( source == GUIEditor.button[3] ) then
		triggerServerEvent( 'VehiclesSystem;lock/unlockPersonalVehicle', Cplayer )
			guiSetEnabled( GUIEditor.button[3], false )
		setTimer( guiSetEnabled, 2000, 1, GUIEditor.button[3], true )
	elseif ( source == GUIEditor.button[4] ) then
		triggerServerEvent( 'VehiclesSystem;off/onPersonalVehicle', Cplayer )
			guiSetEnabled( GUIEditor.button[4], false )
		setTimer( guiSetEnabled, 2000, 1, GUIEditor.button[4], true )
	elseif ( source == GUIEditor.button[5] ) then
		triggerServerEvent( 'VehiclesSystem;off/onLightsPersonalVehicle', Cplayer )
			guiSetEnabled( GUIEditor.button[5], false )
		setTimer( guiSetEnabled, 2000, 1, GUIEditor.button[5], true )
	elseif ( source == GUIEditor.button[8] ) then
		local Sel = guiGridListGetSelectedItem( GUIEditor.gridlist[1] )
			if ( Sel == -1 ) then outputChatBox( '#FF0000*#FFFF00 Vehicles System #FF0000 : #FFFFFFError, Please select vehicle #FF0000!', 255, 255, 255, true ) return end
			local ID = guiGridListGetItemText( GUIEditor.gridlist[1], Sel, 1 )
				triggerServerEvent( 'VehiclesSystem;sellMyPersonalVehicle', Cplayer, tonumber(ID), guiGridListGetItemData( GUIEditor.gridlist[1], Sel, 3 ) )
			guiSetEnabled( GUIEditor.button[8], false )
		setTimer( guiSetEnabled, 2000, 1, GUIEditor.button[8], true )
	elseif ( source == GUIEditor.button[6] ) then
		fadeCamera( false )
		setTimer( fadeCamera, 1500, 1, true )
		setTimer( setElementPosition, 1500, 1, Cplayer, 550.72430, -1247.76538, 17.83468 )
		guiSetVisible( GUIEditor.window[1], false )
			showCursor( false )
end
end
addEventHandler( 'onClientGUIClick', root, clickElements )

function refreshMyList( Table )
	guiGridListClear( GUIEditor.gridlist[1] )
		for i, _ in ipairs( Table ) do 
			local Price, value = string.gsub( Table[i].vehPrice / 2, '^(-?%d+)(%d%d%d)', '%1,%2' )  
			local item = guiGridListAddRow( GUIEditor.gridlist[1] )
			guiGridListSetItemText( GUIEditor.gridlist[1], item, 1, Table[i].vehID, false, false )
			guiGridListSetItemText( GUIEditor.gridlist[1], item, 2, Table[i].vehName, false, false )
			guiGridListSetItemText( GUIEditor.gridlist[1], item, 3, Price..'$', false, false )
			guiGridListSetItemText( GUIEditor.gridlist[1], item, 4, Table[i].Subscription, false, false )
			guiGridListSetItemData( GUIEditor.gridlist[1], item, 3, Table[i].vehPrice / 2 )
		end
end
addEvent( 'VehiclesSystem;putMyVehicles', true )
addEventHandler( 'VehiclesSystem;putMyVehicles', root, refreshMyList )

addEvent( 'VehiclesSystem;gridListAddRent', true )
addEventHandler( 'VehiclesSystem;gridListAddRent', root,
function( ID, veh )
	rentRow = guiGridListAddRow( GUIEditor.gridlist[1] )
			guiGridListSetItemText( GUIEditor.gridlist[1], rentRow, 1, ID, false, false )
			guiGridListSetItemText( GUIEditor.gridlist[1], rentRow, 2, veh, false, false )
			guiGridListSetItemText( GUIEditor.gridlist[1], rentRow, 3, '1,000$', false, false )
			guiGridListSetItemText( GUIEditor.gridlist[1], rentRow, 4, '5 Minutes', false, false )
			guiSetEnabled( buy_buyplace, false )
			guiSetEnabled( rent_buyplace, false )
			guiSetEnabled( list_buyplace, false )
		setTimer( function(  )
			guiGridListRemoveRow( GUIEditor.gridlist[1], rentRow )
			guiSetEnabled( buy_buyplace, true )
			guiSetEnabled( rent_buyplace, true )
			guiSetEnabled( list_buyplace, true )
		end, 300000, 1 )
end )

addEvent( 'VehiclesSystem;hideBuyWindow', true ) addEventHandler( 'VehiclesSystem;hideBuyWindow', root, function(  ) guiSetVisible( buyplace, false ) showCursor( false ) end )
addEvent( 'VehiclesSystem;emptyMyList', true ) addEventHandler( 'VehiclesSystem;emptyMyList', root, function(  ) guiGridListClear( GUIEditor.gridlist[1] ) end )

addEventHandler( 'onClientResourceStart', resourceRoot, function(  ) triggerServerEvent( 'refreshMyListS', Cplayer ) end )

addEventHandler( 'onClientMarkerHit', buyingMarker,
function( hitElement )
if ( hitElement == Cplayer and getElementDimension( hitElement ) == 0 ) then
local x, y, z = getElementPosition( Cplayer )
if ( z <= 20.25465 ) then
guiGridListSetSelectedItem( list_buyplace, 0, 1 )
local Sel = guiGridListGetSelectedItem( list_buyplace )
	if ( Sel == -1 ) then return end
		local Data = guiGridListGetItemData( list_buyplace, Sel, 1 )
			local x1, y1, z1, x2, y2, z2 = unpack( Data )
			fadeCamera( false )
		setTimer( fadeCamera, 1500, 1, true )
				setTimer( setCameraMatrix, 1500, 1, x1, y1, z1, x2, y2, z2 )
				if ( isElement( viewvehicle ) ) then if ( getElementModel( viewvehicle ) ) == guiGridListGetItemData( list_buyplace, Sel, 2 ) then return end destroyElement( viewvehicle ) end
		triggerServerEvent( 'VehiclesSystem;createViewVehicle', Cplayer, guiGridListGetItemData( list_buyplace, Sel, 2 ), x2, y2, z2, 'view' )
setTimer( guiSetVisible, 1500, 1, buyplace, not guiGetVisible( buyplace ) )
setTimer( showCursor, 1500, 1, not isCursorShowing(  ) )
end
end
end, false )

bindKey( Key, 'down',
function(  )
	guiSetVisible( GUIEditor.window[1], not guiGetVisible( GUIEditor.window[1] ) )
	showCursor( not isCursorShowing(  ) )
end )














SERVER:

createBlip ( 551.51257, -1262.61926, 16.25465, 55, 2, 0, 0, 0, 255, 0, 400.0, getRootElement( ) )
local vehDB = dbConnect( 'sqlite', 'Vehicles System - Database.db' )
dbExec( vehDB, ' CREATE TABLE IF NOT EXISTS `VehiclesSystem_Players` (pSerial, vehID, vehName, vehPrice, Subscription) ' )
--dbExec( vehDB, ' DROP TABLE `VehiclesSystem_Players` ' )

vehPers = {  };
vehview = {  };

function refreshMyList(  )
	local check = dbQuery( vehDB, ' SELECT * FROM `VehiclesSystem_Players` ' )
		local results = dbPoll( check, -1 )
		if ( type( results ) == 'table' and #results == 0 or not results ) then triggerClientEvent( root, 'VehiclesSystem;emptyMyList', root ) return end
	triggerClientEvent( root, 'VehiclesSystem;putMyVehicles', root, results )
end
addEvent( 'refreshMyListS', true ) addEventHandler( 'refreshMyListS', root, refreshMyList )

function viewVehiclex( ID, x, y, z, state )
	if ( state == 'close' ) then
	if ( isElement( vehview[source] ) ) then destroyElement( vehview[source] ) end
	elseif ( state == 'view' ) then
	if ( isElement( vehview[source] ) ) then if ( getElementModel( vehview[source] ) ) == ID then return end destroyElement( vehview[source] ) end
	vehview[source] = createVehicle( ID, x, y, z + 0.2, 0, 0, 10 )
	setElementDimension( vehview[source], getElementData( root, 'vehiclesSystem;dimension' ) or 1 )
	setElementDimension( source, getElementData( root, 'vehiclesSystem;dimension' ) or 1 )
	setElementData( root, 'vehiclesSystem;dimension', getElementData( root, 'vehiclesSystem;dimension' ) + 1 or 1 )
end
end
addEvent( 'VehiclesSystem;createViewVehicle', true )
addEventHandler( 'VehiclesSystem;createViewVehicle', root, viewVehiclex )

addEvent( 'VehiclesSystem;destroyPersonalVehicle', true )
addEventHandler( 'VehiclesSystem;destroyPersonalVehicle', root,
function(  )
	if ( isElement( vehPers[source] ) ) then destroyElement( vehPers[source] ) end
end )

addEvent( 'VehiclesSystem;createRentVehicle', true )
addEventHandler( 'VehiclesSystem;createRentVehicle', root,
function( ID, vehName )
	if ( isElement( vehPers[source] ) ) then destroyElement( vehPers[source] ) end
	vehPers[source] = createVehicle( ID, -1633.87439, 1208.09277, 7.03906 + 1, -0, 0, 224.5189666748 )
	fadeCamera( source, false )
		setTimer( fadeCamera, 1500, 1, source, true )
	takePlayerMoney( source, 1000 )
	setElementDimension( vehPers[source], 0 )
	setElementDimension( source, 0 )
	setTimer( warpPedIntoVehicle, 1500, 1, source, vehPers[source] )
	setTimer( destroyElement, 300000, 1, vehPers[source] )
	setTimer( function(  )
		outputChatBox( '#FF0000*#FFFF00 Vehicles System #FF0000 : #FFFFFFWarning, Your subscription has been ended #FF0000!', source, 255, 255, 255, true )
	end, 300000, 1 )
	triggerClientEvent( source, 'VehiclesSystem;gridListAddRent', source, ID, vehName )
end )

addEvent( 'VehiclesSystem;lock/unlockPersonalVehicle', true )
addEventHandler( 'VehiclesSystem;lock/unlockPersonalVehicle', root,
function(  )
	if ( not isElement( vehPers[source] ) ) then outputChatBox( '#FF0000*#FFFF00 Vehicles System #FF0000 : #FFFFFFError, You don\'t have vehicle #FF0000!', source, 255, 255, 255, true ) return end
		if ( isVehicleLocked( vehPers[source] ) == true ) then
			setVehicleLocked( vehPers[source], false ) outputChatBox( '#2BFF00*#FFFF00 Vehicles System #2BFF00 : #FFFFFFSuccess, Your vehicle has been unlocked #2BFF00!', source, 255, 255, 255, true )
		else
		setVehicleLocked( vehPers[source], true ) outputChatBox( '#2BFF00*#FFFF00 Vehicles System #2BFF00 : #FFFFFFSuccess, Your vehicle has been locked #2BFF00!', source, 255, 255, 255, true )
	end
end )

addEvent( 'VehiclesSystem;off/onPersonalVehicle', true )
addEventHandler( 'VehiclesSystem;off/onPersonalVehicle', root,
function(  )
	if ( not isElement( vehPers[source] ) ) then outputChatBox( '#FF0000*#FFFF00 Vehicles System #FF0000 : #FFFFFFError, You don\'t have vehicle #FF0000!', source, 255, 255, 255, true ) return end
		if ( getVehicleEngineState( vehPers[source] ) == true ) then
			setVehicleEngineState( vehPers[source], false ) outputChatBox( '#2BFF00*#FFFF00 Vehicles System #2BFF00 : #FFFFFFSuccess, Your vehicle has been turned off #2BFF00!', source, 255, 255, 255, true )
		else
		setVehicleEngineState( vehPers[source], true ) outputChatBox( '#2BFF00*#FFFF00 Vehicles System #2BFF00 : #FFFFFFSuccess, Your vehicle has been turned on #2BFF00!', source, 255, 255, 255, true )
	end
end )

addEvent( 'VehiclesSystem;off/onLightsPersonalVehicle', true )
addEventHandler( 'VehiclesSystem;off/onLightsPersonalVehicle', root,
function(  )
	if ( not isElement( vehPers[source] ) ) then outputChatBox( '#FF0000*#FFFF00 Vehicles System #FF0000 : #FFFFFFError, You don\'t have vehicle #FF0000!', source, 255, 255, 255, true ) return end
		if ( getVehicleLightState( vehPers[source], 0 ) == 0 and getVehicleLightState( vehPers[source], 1 ) == 0 ) then
			setVehicleLightState( vehPers[source], 0, 1 ) setVehicleLightState( vehPers[source], 1, 1 ) setVehicleLightState( vehPers[source], 2, 1 ) setVehicleLightState( vehPers[source], 3, 1 ) outputChatBox( '#2BFF00*#FFFF00 Vehicles System #2BFF00 : #FFFFFFSuccess, Your vehicle lights turned off #2BFF00!', source, 255, 255, 255, true )
		else
		setVehicleLightState( vehPers[source], 0, 0 ) setVehicleLightState( vehPers[source], 1, 0 ) setVehicleLightState( vehPers[source], 2, 0 ) setVehicleLightState( vehPers[source], 3, 0 ) outputChatBox( '#2BFF00*#FFFF00 Vehicles System #2BFF00 : #FFFFFFSuccess, Your vehicle lights turned on #2BFF00!', source, 255, 255, 255, true )
	end
end )

addEvent( 'VehiclesSystem;sellMyPersonalVehicle', true )
addEventHandler( 'VehiclesSystem;sellMyPersonalVehicle', root,
function( ID, price )
local check = dbQuery( vehDB, ' SELECT * FROM `VehiclesSystem_Players` WHERE pSerial = ? AND vehID = ? ', getPlayerSerial( source ), ID )
		local results = dbPoll( check, -1 )
			if ( type( results ) == 'table' and #results == 0 or not results ) then outputChatBox( '#FF0000*#FFFF00 Vehicles System #FF0000 : #FFFFFFError, This vehicle is not permanently for you, You cannot sell it #FF0000!', source, 255, 255, 255, true ) return end
	if ( isElement( vehPers[source] ) ) then destroyElement( vehPers[source] ) end
		dbExec( vehDB, ' DELETE FROM `VehiclesSystem_Players` WHERE pSerial = ? AND vehID = ? ', getPlayerSerial( source ), ID )
			refreshMyList(  )
		givePlayerMoney( source, price )
	outputChatBox( '#2BFF00*#FFFF00 Vehicles System #2BFF00 : #FFFFFFSuccess, Your vehicle has been sold successfully #2BFF00!', source, 255, 255, 255, true )
end )

addEvent( 'VehiclesSystem;createPersonalVehicle', true )
addEventHandler( 'VehiclesSystem;createPersonalVehicle', root,
function( ID )
	local x, y, z = getElementPosition( source )
		if ( isElement( vehPers[source] ) ) then destroyElement( vehPers[source] ) end
			vehPers[source] = createVehicle( ID, x + 2, y + 2, z + 1 )
			if ( getElementData( source, 'VehiclesSystem;WarpToVehicle' ) == 'Enabled' ) then
		warpPedIntoVehicle( source, vehPers[source] )
		setElementData( vehPers[source], 'myPersVehicle', getPlayerName( source ) )
	end
end )

addEvent( 'VehiclesSystem;buyCurrentCar', true )
addEventHandler( 'VehiclesSystem;buyCurrentCar', root,
function( ID, Name, Price )
	local check = dbQuery( vehDB, ' SELECT * FROM `VehiclesSystem_Players` WHERE pSerial = ? AND vehID = ? ', getPlayerSerial( source ), ID )
		local results = dbPoll( check, -1 )
			if ( type( results ) == 'table' and #results == 0 or not results ) then
				dbExec( vehDB, ' INSERT INTO `VehiclesSystem_Players` VALUES(?,?,?,?,?) ', getPlayerSerial( source ), tonumber(ID), Name, Price, 'Permanent Subscription' )
					vehPers[source] = createVehicle( ID, 550.72430, -1247.76538, 18.13468 + 1, -0, 0, 224.5189666748 )
						warpPedIntoVehicle( source, vehPers[source] )
						takePlayerMoney( source, Price )
					setTimer(setCameraTarget, 1500, 1, source )
					setElementDimension( vehPers[source], 0 )
					setElementDimension( source, 0 )
					fadeCamera( source, false )
					setTimer( fadeCamera, 1500, 1, source, true )
				triggerClientEvent( source, 'VehiclesSystem;hideBuyWindow', source )
			viewVehiclex( nil, nil, nil, nil, 'close' )
		refreshMyList(  )
	else outputChatBox( '#FF0000*#FFFF00 Vehicles System #FF0000 : #FFFFFFError, This vehicle is already exists in your list #FF0000!', source, 255, 255, 255, true ) return end
end )

the script is from the comunity.

I want it the script to save the upgrades and customization applied to  the car, and when you press button GUIEditor.button[1], the car will spawn with the modifications you made

  • Moderators
Posted

Why don't you start with making the component to retrieve the upgrades first?

 

Do you want to improve your Lua programming skills and make less mistakes?   Start with Lua Language Server!   🙀

 

  Useful functions  3x 

  Tutorials  4x 

 

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...