Jump to content

Help ! carspawn and Carshop


Recommended Posts

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

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