I want spawn and shop 2 car
cliunt.lua
local screenX, screenY = guiGetScreenSize()
local width, height = 200, 200
local x = (screenX/2) - (width/2)
local y = (screenY/2) - (height/2)
local lp = getLocalPlayer()
theWindow = guiCreateWindow(x,y,width,height,"Car Features",false)
guiWindowSetSizable(theWindow,false)
guiSetVisible (theWindow, false)
spawnBut = guiCreateButton(0.0604,0.120,0.4,0.2,"Spawn",true,theWindow)
engenieBut = guiCreateButton(0.0604,0.420,0.4,0.2,"Engenie",true,theWindow)
lockBut = guiCreateButton(0.490,0.420,0.4,0.2,"Lock",true,theWindow)
lightsBut = guiCreateButton(0.0604,0.720,0.4,0.2,"Lights",true,theWindow)
destroyBut = guiCreateButton(0.490,0.120,0.4,0.2,"Destroy",true,theWindow)
function resourceStart ()
bindKey ("F3", "down", menuShow)
end
addEventHandler ("onClientResourceStart", getResourceRootElement ( getThisResource () ), resourceStart)
function menuShow ()
visableornot = guiGetVisible (theWindow)
if (visableornot == true) then
guiSetVisible (theWindow, false)
showCursor (false)
end
if (visableornot == false) then
guiSetVisible (theWindow, true)
showCursor (true)
end
end
addEvent ("carSpawn", true)
addEvent ("carDestroy", true)
function guiClick (button, state, absoluteX, absoluteY)
if (source == spawnBut) then
triggerServerEvent ("carSpawn", lp)
elseif (source == destroyBut) then
triggerServerEvent ("carDestroy", lp)
elseif (source == engenieBut) then
triggerServerEvent ("engenieSwitch", lp)
elseif (source == lockBut) then
triggerServerEvent ("lockSwitch", lp)
elseif (source == lightsBut) then
triggerServerEvent ("lightsSwitch", lp)
end
end
addEventHandler ("onClientGUIClick", getRootElement(), guiClick)
carshopWindow = guiCreateWindow(500,200,290,440,"Car Shop",false)
guiSetVisible (carshopWindow, false)
guiSetAlpha(carshopWindow,1)
guiWindowSetSizable(carshopWindow,false)
selectLabel = guiCreateLabel(0.0423,0.1009,0.8889,0.078,"Select your car",true,carshopWindow)
guiSetAlpha(selectLabel,1)
guiLabelSetColor(selectLabel,255,255,255)
guiLabelSetVerticalAlign(selectLabel,"top")
guiLabelSetHorizontalAlign(selectLabel,"left",false)
guiSetFont(selectLabel,"default-bold-small")
carGridList = guiCreateGridList(0.0476,0.1789,0.9048,0.6789,true,carshopWindow)
guiGridListSetSelectionMode(carGridList,0)
carColumn = guiGridListAddColumn(carGridList,"Car",0.5)
costColumn = guiGridListAddColumn(carGridList,"$",0.3)
local cars = {{579,60000},{400,60000},{404,28000},{489,65000},{505,65000},{479,45000},{442,45000},{458,45000},{602,50000},{496,42500},{401,41000},{518,60000},{527,75000},{589,75000},{419,45000},{533,75000},{526,50000},{474,55000},{545,50000},{517,45000},{410,41000},{600,50000},{436,41000},{580,50000},{439,75000},{549,75000},{491,45000},{445,45000},{507,45000},{585,45000},{587,75000},{466,55000},{492,50000},{546,45000},{551,45000},{516,45000},{467,45000},{426,47500},{547,45000},{405,55000},{409,75000},{550,45000},{566,45000},{540,45000},{421,50000},{529,45000},{402,120000},{542,65000},{603,120000},{475,75000},{562,120000},{565,95000},{559,120000},{561,50000},{560,120000},{558,100000},{429,120000},{541,120000},{415,120000},{480,95000},{434,100000},{494,120000},{502,120000},{503,120000},{411,120000},{506,120000},{451,120000},{555,95000},{477,95000},{499,25000},{498,25000},{578,50000},{486,70000},{455,75000},{588,50000},{403,75000},{414,50000},{443,75000},{515,75000},{514,75000},{531,12000},{456,45000},{422,45000},{482,95000},{530,12000},{418,45000},{572,12000},{582,50000},{413,50000},{440,50000},{543,65000},{583,12000},{478,35000},{554,50000},{536,75000},{575,75000},{534,75000},{567,75000},{535,75000},{576,75000},{412,75000},{568,75000},{457,12000},{483,45000},{508,40000},{571,10000},{500,55000},{444,120000},{556,120000},{557,120000},{471,20000},{495,100000},{539,75000},{481,2500},{509,2500},{581,45000},{462,12000},{521,60000},{463,50000},{522,75000},{448,12000},{468,45000},{586,45000},{485,12000},{431,60000},{438,45000},{437,60000},{574,12000},{420,45000},{525,75000},{408,50000},{428,65000}}
for i,v in ipairs (cars) do
local carName = getVehicleNameFromModel (v[1])
local row = guiGridListAddRow (carGridList)
guiGridListSetItemText (carGridList, row, 1, carName, false, true)
guiGridListSetItemText (carGridList, row, 2, tostring(v[2]), false, true)
end
guiSetAlpha(carGridList,1)
buyButton = guiCreateButton(0.0476,0.8624,0.7778,0.0963,"Buy it!",true,carshopWindow)
guiSetAlpha(buyButton,1)
closeButton = guiCreateButton(0.8571,0.8624,0.0899,0.1009,"x",true,carshopWindow)
addEvent ("viewGUI", true)
function viewGUI ()
if (getLocalPlayer() == source) then
guiSetVisible (carshopWindow, true)
showCursor (true)
end
end
addEventHandler ("viewGUI", getRootElement(), viewGUI)
function onClientGUIClick (button, state, absoluteX, absoluteYe)
if (source == buyButton) then guiSetVisible (carshopWindow, false) showCursor (false)
if (guiGridListGetSelectedItem (carGridList)) then
local carName = guiGridListGetItemText (carGridList, guiGridListGetSelectedItem (carGridList), 1)
local carID = getVehicleModelFromName (carName)
local carCost = guiGridListGetItemText (carGridList, guiGridListGetSelectedItem (carGridList), 2)
triggerServerEvent ("carShopCarBuy", getLocalPlayer(), carID, carCost, carName)
end
elseif (source == closeButton) then
guiSetVisible (carshopWindow, false)
showCursor (false)
end
end
addEventHandler ("onClientGUIClick", getRootElement(), onClientGUIClick)
sever.lua
carShopMarker = createMarker (2133.59,-1149.29, 23.3, "cylinder", 3, 255, 0, 0, 127)
carShopMarker2 = createMarker (562, -1270, 16, "cylinder", 2, 255, 0, 0, 127)
carShopMarker3 = createMarker (-1954,299,34,"cylinder",2,255,0,0,127)
carShopMarker4 = createMarker (-1663,1208,6,"cylinder",2,255,0,0,127)
carShopMarker5 = createMarker (1946,2068,10,"cylinder",2,255,0,0,127)
createBlipAttachedTo(carShopMarker,55,2,0,255,0,0,0,200)
createBlipAttachedTo(carShopMarker2,55,2,0,255,0,0,0,200)
createBlipAttachedTo(carShopMarker3,55,2,0,255,0,0,0,200)
createBlipAttachedTo(carShopMarker4,55,2,0,255,0,0,0,200)
createBlipAttachedTo(carShopMarker5,55,2,0,255,0,0,0,200)
addEvent ("viewGUI", true)
function markerHit (hitPlayer, matchingDimension)
if (source == carShopMarker) or (source == carShopMarker2) or (source == carShopMarker3) or (source == carShopMarker4) or (source == carShopMarker5) then
triggerClientEvent ("viewGUI", hitPlayer)
end
end
addEventHandler ("onMarkerHit", getRootElement(), markerHit)
addEvent ("carShopCarBuy", true)
addEventHandler ("carShopCarBuy", getRootElement(),
function(id, cost, name)
if (getPlayerMoney (source) >= tonumber(cost)) then
outputChatBox ("คุณได้ซื้อรถ : " .. name, source, 255, 255, 0, false)
outputChatBox ("รหัส : " .. id, source, 0, 255, 0, false)
outputChatBox ("ในราคา : " .. cost, source, 255, 255, 255, false)
takePlayerMoney (source, tonumber (cost))
setAccountData (getPlayerAccount (source), "funmodev2-car", tonumber(id))
setAccountData (getPlayerAccount (source), "funmodev2-paintjob", 3)
setAccountData (getPlayerAccount (source), "funmodev2-carupg", 0)
else
outputChatBox ("คุณมีเงินไม่พอในการซื้อรถ", source, 255, 0, 0, false)
end
end)
addEvent ("carSpawn", true)
addEvent ("carDestroy", true)
function carSpawn ()
if not (isGuestAccount (getPlayerAccount (source))) and not (isPedInVehicle(source)) then
if (getElementData (source, "hisCar")) and (getElementData (source, "hisCar") ~= nil) and (getElementType(getElementData (source, "hisCar")) == "vehicle") then
setElementVelocity (getElementData (source, "hisCar"), 0,0,0)
local x,y,z = getElementPosition (source)
setVehicleRotation (getElementData (source, "hisCar"), 0, 0, 0)
setElementPosition (getElementData (source, "hisCar"), x+2,y,z +1)
outputChatBox ("เรียกรถแล้ว", source, 0, 255, 0)
elseif not (getElementData (source, "hisCar")) then
local accountData = getAccountData (getPlayerAccount (source), "funmodev2-car")
if (accountData) then
carID = getAccountData (getPlayerAccount (source), "funmodev2-car")
x,y,z = getElementPosition (source)
vehicle = createVehicle (carID, x +2, y, z +1)
setElementID (vehicle, getAccountName (getPlayerAccount(source)))
setElementData (source, "hisCar", vehicle)
outputChatBox ("เรียกรถแล้ว", source, 0, 255, 0)
if (getAccountData (getPlayerAccount(source), "funmodev2-carupg")) then
local upgrades = nil
local upgrades = {}
local upgrades = getAccountData (getPlayerAccount(source), "funmodev2-carupg")
for i,v in ipairs (upgrades) do
addVehicleUpgrade (vehicle, v)
end
end
if (getAccountData (getPlayerAccount(source), "funmodev2-paintjob")) then
local paintjob = getAccountData (getPlayerAccount(source), "funmodev2-paintjob")
setVehiclePaintjob (vehicle, paintjob)
end
if (getAccountData (getPlayerAccount(source), "funmodev2-carcolor1")) and (getAccountData (getPlayerAccount(source), "funmodev2-carcolor2")) then
local c1 = getAccountData (getPlayerAccount(source), "funmodev2-carcolor1")
local c2 = getAccountData (getPlayerAccount(source), "funmodev2-carcolor2")
setVehicleColor (vehicle, c1,c2,0,0)
end
else
outputChatBox ("คุณยังไม่มีรถ", source, 255, 0, 0)
end
else
outputChatBox ("คุณต้องอยู่ในรถก่อน", source, 255, 0, 0)
end
end
end
addEventHandler ("carSpawn", getRootElement(), carSpawn)
function carDestroy ()
if not (isGuestAccount (getPlayerAccount (source))) then
if (isPedInVehicle (source)) then
if (getElementID(getPedOccupiedVehicle(source)) == getAccountName (getPlayerAccount(source))) then
setElementHealth (getElementData (source, "hisCar"), 0)
destroyElement (getPedOccupiedVehicle (source))
removeElementData (source, "hisCar")
outputChatBox ("ลบรถแล้ว", source, 0, 255, 0)
else
outputChatBox ("ไม่ใช่รถของคุณ", source, 255, 0, 0)
end
elseif (not (isPedInVehicle (source))) and (getElementData (source, "hisCar")) and (getElementData (source, "hisCar") ~= nil) then
car=getElementData(source, "hisCar")
destroyElement(car)
outputChatBox ("ลบรถแล้ว", source, 0, 255, 0)
removeElementData (source, "hisCar")
end
end
end
addEventHandler ("carDestroy", getRootElement(), carDestroy)
function engineSwitch ()
if (isPedInVehicle (source)) then
local veh = getPedOccupiedVehicle (source)
if (getVehicleEngineState (veh) == true) then
setVehicleEngineState (veh, false)
outputChatBox ("ปิดเครื่องรถแล้ว", source, 255, 255, 0)
elseif (getVehicleEngineState (veh) == false) then
setVehicleEngineState (veh, true)
outputChatBox ("สตาร์ทรถแล้ว", source, 255, 255, 0)
end
else
outputChatBox ("คุณต้องอยู่ในรถก่อน", source, 255, 0, 0)
end
end
addEvent("engenieSwitch",true)
addEventHandler("engenieSwitch",getRootElement(),engineSwitch)
function lightsSwitch ()
if (isPedInVehicle (source)) then
local veh = getPedOccupiedVehicle (source)
if (getVehicleOverrideLights(veh) ~= 2) then
setVehicleOverrideLights(veh, 2)
outputChatBox ("เปิดไฟหน้ารถแล้ว", source, 255, 255, 0)
elseif (getVehicleOverrideLights(veh) ~= 1) then
setVehicleOverrideLights(veh, 1)
outputChatBox ("ปิดไฟหน้ารถแล้ว", source, 255, 255, 0)
end
else
outputChatBox ("คุณต้องอยู่ในรถก่อน", source, 255, 0, 0)
end
end
addEvent("lightsSwitch",true)
addEventHandler("lightsSwitch",getRootElement(),lightsSwitch)
function lockSwitch ()
if (isPedInVehicle (source)) then
local veh = getPedOccupiedVehicle (source)
if not (isVehicleLocked (veh)) then
setVehicleLocked (veh, true)
setVehicleDoorsUndamageable (veh, true)
setVehicleDoorState (veh, 0, 0)
setVehicleDoorState (veh, 1, 0)
setVehicleDoorState (veh, 2, 0)
setVehicleDoorState (veh, 3, 0)
outputChatBox ("ล็อคประตูรถแล้ว", source, 255, 255, 0)
elseif (isVehicleLocked (veh)) then
setVehicleLocked (veh, false)
setVehicleDoorsUndamageable (veh, false)
outputChatBox ("ปลดล็อคประตูรถแล้ว", source, 255, 255, 0)
end
else
outputChatBox ("คุณต้องอยู่ในรถก่อน", source, 255, 0, 0)
end
end
addEvent("lockSwitch",true)
addEventHandler("lockSwitch",getRootElement(),lockSwitch )
addEventHandler ("onVehicleStartEnter", getRootElement(),
function(player, seat, jacked, door)
if (isVehicleLocked (source) == true) then
local mannetjeNaam = getAccountName (getPlayerAccount (player))
local autoNaam = getElementID (source)
if (mannetjeNaam == autoNaam) then
setVehicleLocked (source, false)
outputChatBox ("ปลดล็อคประตูรถแล้ว!", player, 255, 255, 0, false)
end
end
end)
addEventHandler ("onVehicleExplode", getRootElement(),
function()
local theOwner = getAccountName (getPlayerAccount(getPlayerFromName (getElementID (source))))
if (theOwner) then
removeElementData (theOwner, "hisCar")
end
end)
addEventHandler ("onPlayerQuit", getRootElement(),
function(quitType, reason, responsibleElement)
if (getElementData (source, "hisCar")) then
blowVehicle (getElementData (source, "hisCar"))
removeElementData (source, "hisCar")
end
end)
addEventHandler( "onResourceStop", getResourceRootElement( getThisResource() ),
function ()
for i,v in ipairs (getElementsByType ("player")) do
if (getElementData (v, "hisCar")) then
setElementHealth (getElementData (v, "hisCar"), 0)
removeElementData (v, "hisCar")
end
end
end
)
function destroyOnExplode ()
setTimer (destroyElement, 2500, 1, source)
end
addEventHandler ("onVehicleExplode", getRootElement(), destroyOnExplode)
thank