Jump to content

Car shop


Recommended Posts

Hi all,

 

I have downloaded a car shop resource from the community.

I'm trying to add a sell button to sell a purchased vehicle but i have no experience with executeSQLQuery. :(

 

Can somebody help me or explain to me how i could add a sell button to the panel?

 

Client-side:

dealerwdw = guiCreateWindow(0.19, 0.19, 0.57, 0.70, "", true)
	guiWindowSetSizable(dealerwdw, false)
	guiSetVisible(dealerwdw, false)
dealerwdwgrid = guiCreateGridList(0.02, 0.05, 0.97, 0.83, true, dealerwdw)
	guiGridListAddColumn(dealerwdwgrid, "Car", 0.5)
	guiGridListAddColumn(dealerwdwgrid, "Price", 0.5)
dealerwdwclosebtn = guiCreateButton(0.01, 0.88, 0.34, 0.09, "Close", true, dealerwdw)
	guiSetProperty(dealerwdwclosebtn, "NormalTextColour", "FFAAAAAA")
dealerwdwbuybtn = guiCreateButton(0.65, 0.88, 0.34, 0.09, "Buy", true, dealerwdw)
	guiSetProperty(dealerwdwbuybtn, "NormalTextColour", "FFAAAAAA")

function open_dealer_panel ()
	if guiGetVisible(dealerwdw) == false then
		guiSetVisible(dealerwdw, true)
		showCursor(true)
	end
end
addEvent("open_dealer_wdw", true)
addEventHandler("open_dealer_wdw", getRootElement(), open_dealer_panel)

DealerVehicles = {

	{"Admiral", 50000},
	{"Comet", 1000000},
	{"Infernus", 3000000},
	{"Bullet", 1500000},
	{"Sultan", 1000000},
	{"Huntley", 750000},
	{"Sabre", 1000000},
	
}

function list_cars ()
	guiGridListClear(dealerwdwgrid)
	for i,v in ipairs(DealerVehicles) do
		local row = guiGridListAddRow(dealerwdwgrid)
		guiGridListSetItemText(dealerwdwgrid, row, 1, v[1], false, false)
		guiGridListSetItemText(dealerwdwgrid, row, 2, v[2], false, false)
	end
end
addEvent("list_dealer_cars", true)
addEventHandler("list_dealer_cars", getRootElement(), list_cars)

function dealer_panel_clicked ()
	if source == dealerwdwclosebtn and guiGetVisible(dealerwdw) == true then guiSetVisible(dealerwdw, false) showCursor(false) guiGridListClear(dealerwdwgrid)
	end
end
addEventHandler("onClientGUIClick", dealerwdw, dealer_panel_clicked)

function dealer_panel_buy (player)
	if source == dealerwdwbuybtn then
		local row = guiGridListGetSelectedItem(dealerwdwgrid)
		triggerServerEvent("buy_dealer_car", getLocalPlayer(), getLocalPlayer(), guiGridListGetItemText(dealerwdwgrid, row, 1), guiGridListGetItemText(dealerwdwgrid, row, 1), guiGridListGetItemText(dealerwdwgrid, row, 2))
	end
end
addEventHandler("onClientGUIClick", dealerwdw, dealer_panel_buy)

----------------------------------------------
--------------- Spawner Panel ----------------
----------------------------------------------

spawncarwdw = guiCreateWindow(0.4, 0.3, 0.2, 0.4, "", true)
	guiWindowSetSizable(spawncarwdw, false)
	guiSetVisible(spawncarwdw, false)
spawncarwdwgrid = guiCreateGridList(0.0, 0.07, 1.0, 0.8, true, spawncarwdw)
	guiGridListAddColumn(spawncarwdwgrid, "Owned vehicles:", 0.90)
spawncarwdwclosebtn = guiCreateButton(0.00, 0.89, 0.17, 0.09, "Close", true, spawncarwdw)
spawncarwdrefwdw = guiCreateButton(0.20, 0.89, 0.20, 0.09, "Refresh", true, spawncarwdw)
spawncarSellCar = guiCreateButton(0.40, 0.89, 0.20, 0.09, "SellCar", true, spawncarwdw)
spawncarwdwspwnwdw = guiCreateButton(0.60, 0.89, 0.20, 0.09, "Spawn Car", true, spawncarwdw)
spawncarwdwparkbtn = guiCreateButton(0.80, 0.89, 0.20, 0.09, "Park Car", true, spawncarwdw)

function open_spawner_panel ()
	if guiGetVisible(spawncarwdw) == false then
		guiSetVisible(spawncarwdw, true)
		showCursor(true)
		guiGridListClear(spawncarwdwgrid) 
		triggerServerEvent("list_owned_cars_S", getLocalPlayer(), getLocalPlayer())
	elseif 
		guiGetVisible(spawncarwdw) == true then
		guiSetVisible(spawncarwdw, false)
		showCursor(false)
	end
end
addEvent("open_spawner_wdw", true)
addEventHandler("open_spawner_wdw", getRootElement(), open_spawner_panel)

function vehicle_spawner_panel ()
	if source == spawncarwdwclosebtn and guiGetVisible(spawncarwdw) == true then guiSetVisible(spawncarwdw, false) showCursor(false) guiGridListClear(spawncarwdwgrid) end
	if source == spawncarwdrefwdw then guiGridListClear(spawncarwdwgrid) triggerServerEvent("list_owned_cars_S", getLocalPlayer(), getLocalPlayer()) end
	if source == spawncarSellCar then guiGridListClear(spawncarwdwgrid) triggerServerEvent("SellaCar", getLocalPlayer(), getLocalPlayer()) end
	if source == spawncarwdwspwnwdw then 
		local row = guiGridListGetSelectedItem(spawncarwdwgrid)
		triggerServerEvent("spawn_dealer_car", getLocalPlayer(), getLocalPlayer(), guiGridListGetItemText(spawncarwdwgrid, row, 1)) 
	end
	if source == spawncarwdwparkbtn then triggerServerEvent("destroy_dealer_car", getLocalPlayer(), getLocalPlayer()) end
end
addEventHandler("onClientGUIClick", spawncarwdw, vehicle_spawner_panel)

function list_cars_you_own (vehiclemodel,vehicleHealth)
	local row = guiGridListAddRow(spawncarwdwgrid)
	guiGridListSetItemText(spawncarwdwgrid, row, 1, tostring(vehiclemodel), false, false)
	guiGridListSetItemText(spawncarwdwgrid, row, 2, tonumber(vehicleHealth), false, false)
end
addEvent("list_owned_cars", true)
addEventHandler("list_owned_cars", getRootElement(), list_cars_you_own) 

Server-side:

function make_db ()
	executeSQLQuery ("CREATE TABLE IF NOT EXISTS dealercars (id NUMERIC, owner TEXT, model NUMERIC, name TEXT, health NUMBERIC, paintjob NUMERIC, color NUMERIC, upgrades NUMERIC)") 
end
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), make_db)

local dealerMarker1 = createMarker(2131.75, -1148.138671875, 23.406946182251, "cylinder", 2, 0, 255, 0, 255)
createBlipAttachedTo(dealerMarker1, 55, 2, 0, 0, 0, 0, 0, 300)

function open_dealer_server (hitElement)
	if source == dealerMarker1 then 
		triggerClientEvent(hitElement, "open_dealer_wdw", root)
		triggerClientEvent(hitElement, "list_dealer_cars", root)
	end
end
addEventHandler("onMarkerHit", getRootElement(), open_dealer_server)

function buy_car_from_dealer (owner,model,name,money)
	if getPlayerMoney(owner) >= tonumber(money) then
		local ID = executeSQLQuery("SELECT * FROM dealercars")
		for i,v in ipairs(ID) do
			carid = v.id
		end
		local account = getAccountName(getPlayerAccount(owner))
		local modela = getVehicleModelFromName(model)
		local carbought = executeSQLQuery("INSERT INTO dealercars(id,owner,model,name,health,paintjob,color,upgrades) VALUES(?,?,?,?,?,?,?,?)", carid, tostring(account), tonumber(modela), tostring(model), 1000, 0, 0, 0) 
		takePlayerMoney(owner, money)
		setElementData(owner, "gotCar", "no")
		outputChatBox("Congratulations you've bought a "..model.." for "..money, owner, 0, 255, 0)
	else
		outputChatBox("You don't have enough money", owner, 255, 0, 0)
	end
end
addEvent("buy_dealer_car", true)
addEventHandler("buy_dealer_car", getRootElement(), buy_car_from_dealer)


----------------------------------------------
--------------- Spawner Panel ----------------
----------------------------------------------
function keybindpla ()
	for i,v in ipairs(getElementsByType("player")) do
		bindKey(v, "f2", "down", open_spawner_pla)
		setElementData(v, "gotCar", "no")
	end
end
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), keybindpla)
addEventHandler("onPlayerLogin", getRootElement(), keybindpla)


function open_spawner_pla (source)
	triggerClientEvent(source, "open_spawner_wdw", root)
end

function list_owned_cars_server (player)
	local playerAcc = getAccountName(getPlayerAccount(player))
	local carlmao = executeSQLQuery("SELECT * FROM dealercars WHERE owner=?", playerAcc)
	for i,k in ipairs(carlmao) do
		triggerClientEvent(player, "list_owned_cars", root, k.name, k.health)
	end
end
addEvent("list_owned_cars_S", true)
addEventHandler("list_owned_cars_S", getRootElement(), list_owned_cars_server)


function SellCarFromList (player)
	???
end
addEvent("SellaCar", true)
addEventHandler("SellaCar", getRootElement(), SellCarFromList)

function spawn_car_pleaseD (ownerName,carName)
	if getElementData(ownerName, "gotCar") == "no" then
		local gayowner = getAccountName(getPlayerAccount(ownerName))
		local carModel = getVehicleModelFromName(carName)
		local x,y,z = getElementPosition(ownerName)
		OwnerVehicle = createVehicle(carModel, x, y, z)
		setTimer(warpPedIntoVehicle, 50, 1, ownerName, OwnerVehicle)
		setElementData(OwnerVehicle, "owner", tostring(gayowner))
		setElementData(ownerName, "gotCar", "yes")
		local carlma = executeSQLQuery("SELECT * FROM dealercars WHERE owner=?", gayowner)
	else
		outputChatBox("You don't own a car", ownerName, 255, 0, 0)
	end
end
addEvent("spawn_dealer_car", true)
addEventHandler("spawn_dealer_car", getRootElement(), spawn_car_pleaseD)

function destroy_car_pleaseD (ownerName)
	pedCar = getPedOccupiedVehicle(ownerName)
	gayownerAcc = getAccountName(getPlayerAccount(ownerName))
	if isPedInVehicle(ownerName) == true then
		if getElementData(ownerName, "gotCar") == "yes" and getElementData(pedCar, "owner") == gayownerAcc then
			CurrentCar = getPedOccupiedVehicle(ownerName)
			destroyElement(CurrentCar)
			setElementData(ownerName, "gotCar", "no")
		else 
			outputChatBox("You can't park a car you don't own", ownerName, 255, 0, 0)
		end
	else 
		outputChatBox("You aren't in a vehicle", ownerName, 255, 0, 0)
	end
end
addEvent("destroy_dealer_car", true)
addEventHandler("destroy_dealer_car", getRootElement(), destroy_car_pleaseD)

 

Link to comment

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...