GerardWay Posted October 12, 2013 Posted October 12, 2013 Could anyone fix this for me please? The GUI works fine, but whenever I click the name of a Vehicle and click 'Select' the panel closes but doesn't spawn that vehicle. Client.lua GUIEditor = { gridlist = {}, window = {}, button = {} } local vehs = {"BMX", "Coach", "Patriot", "QuadBike", "Maverick", "Stuntplane", "Rancher", "Comet", "Barracks"} GUIEditor.window[1] = guiCreateWindow(1135, 180, 231, 588, "", false) guiWindowSetSizable(GUIEditor.window[1], false) guiSetVisible(GUIEditor.window[1], false) GUIEditor.gridlist[1] = guiCreateGridList(17, 19, 204, 390, false, GUIEditor.window[1]) guiGridListAddColumn(GUIEditor.gridlist[1], "Free Vehicles", 0.9) for i, v in ipairs (vehs) do row = guiGridListAddRow(GUIEditor.gridlist[1]) guiGridListSetItemText (GUIEditor.gridlist[1], row, 1, tostring(v), false, false) end GUIEditor.button[1] = guiCreateButton(23, 419, 199, 68, "Select", false, GUIEditor.window[1]) GUIEditor.button[2] = guiCreateButton(25, 491, 197, 68, "Cancel", false, GUIEditor.window[1]) addEventHandler("onClientGUIClick", root, function() if (source == GUIEditor.button[2]) then guiSetVisible(GUIEditor.window[1], false) showCursor(false) end end ) addEvent("openGUI", true) addEventHandler("openGUI", root, function() guiSetVisible(GUIEditor.window[1], true) showCursor(true) end ) addEventHandler("onClientGUIClick", root, function () if (source == GUIEditor.button[1]) then local vehicleName = guiGridListGetItemText(GUIEditor.gridlist[1], guiGridListGetSelectedItem(GUIEditor.gridlist[1]), 1) local id = getVehicleModelFromName(vehicleName) triggerServerEvent("spawnVehicle", localPlayer, id) guiSetVisible(GUIEditor.window[1], false) showCursor(false) end end ) Server.lua function showPanel(thePlayer) triggerClientEvent(thePlayer, "openGUI", root) end function onResourceStart() for index, players in ipairs(getElementsByType("player")) do bindKey(players, "F4", "down", showPanel) end end addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), onResourceStart) function onPlayerJoin() bindKey(source, "F4", "down", showPanel) end addEventHandler("onPlayerLogin", getRootElement(), onPlayerJoin) addEvent("spawnVehicle", true ) addEventHandler("spawnVehicle", root, function ( vehID ) if ( isElement ( vehicles [ source ] ) ) then destroyElement ( vehicles [ source ] ) end vehicles [ source ] = createVehicle ( vehID, getElementPosition ( source ) ) if ( vehicles [ source ] ) then setVehicleColor ( vehicles [ source ], 255, 255, 255 ) end setTimer ( warpPedIntoVehicle, 200, 1, source, vehicles [ source ] ) end ) function destroyVehicle() if ( isElement ( vehicles [ source ] ) ) then destroyElement ( vehicles [ source ] ) end end addEventHandler("onPlayerLogout", root, destroyVehicle) addEventHandler("onPlayerQuit", root, destroyVehicle) addEventHandler("onPlayerWasted", root, destroyVehicle)
JuniorMelo Posted October 12, 2013 Posted October 12, 2013 Test GUIEditor = { gridlist = {}, window = {}, button = {} } local vehs = {"BMX", "Coach", "Patriot", "QuadBike", "Maverick", "Stuntplane", "Rancher", "Comet", "Barracks"} GUIEditor.window[1] = guiCreateWindow(1135, 180, 231, 588, "", false) guiWindowSetSizable(GUIEditor.window[1], false) guiSetVisible(GUIEditor.window[1], false) GUIEditor.gridlist[1] = guiCreateGridList(17, 19, 204, 390, false, GUIEditor.window[1]) guiGridListAddColumn(GUIEditor.gridlist[1], "Free Vehicles", 0.9) for i, v in ipairs (vehs) do row = guiGridListAddRow(GUIEditor.gridlist[1]) guiGridListSetItemText (GUIEditor.gridlist[1], row, 1, tostring(v), false, false) end GUIEditor.button[1] = guiCreateButton(23, 419, 199, 68, "Select", false, GUIEditor.window[1]) GUIEditor.button[2] = guiCreateButton(25, 491, 197, 68, "Cancel", false, GUIEditor.window[1]) addEventHandler("onClientGUIClick", root, function() if (source == GUIEditor.button[2]) then guiSetVisible(GUIEditor.window[1], false) showCursor(false) end end ) addEvent("openGUI", true) addEventHandler("openGUI", root, function() guiSetVisible(GUIEditor.window[1], true) showCursor(true) end ) addEventHandler("onClientGUIClick", root, function () if (source == GUIEditor.button[1]) then local vehicleName = guiGridListGetItemText(GUIEditor.gridlist[1], guiGridListGetSelectedItem(GUIEditor.gridlist[1]), 1) local id = getVehicleModelFromName(vehicleName) triggerServerEvent("spawnVehicle", localPlayer, id) guiSetVisible(GUIEditor.window[1], false) showCursor(false) end end ) function showPanel(thePlayer) triggerClientEvent(thePlayer, "openGUI", root) end function onResourceStart() for index, players in ipairs(getElementsByType("player")) do bindKey(players, "F4", "down", showPanel) end end addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), onResourceStart) function onPlayerJoin() bindKey(source, "F4", "down", showPanel) end addEventHandler("onPlayerLogin", getRootElement(), onPlayerJoin) vehicles = {} addEvent("spawnVehicle", true ) addEventHandler("spawnVehicle", root, function ( vehID ) if ( isElement ( vehicles [ source ] ) ) then destroyElement ( vehicles [ source ] ) end vehicles [ source ] = createVehicle ( vehID, getElementPosition ( source ) ) if ( vehicles [ source ] ) then setVehicleColor ( vehicles [ source ], 255, 255, 255 ) end setTimer ( warpPedIntoVehicle, 200, 1, source, vehicles [ source ] ) end ) function destroyVehicle() if ( isElement ( vehicles [ source ] ) ) then destroyElement ( vehicles [ source ] ) end end addEventHandler("onPlayerLogout", root, destroyVehicle) addEventHandler("onPlayerQuit", root, destroyVehicle) addEventHandler("onPlayerWasted", root, destroyVehicle)
Vision Posted October 13, 2013 Posted October 13, 2013 function showPanel(thePlayer) triggerClientEvent(thePlayer, "openGUI", root) end function onResourceStart() for index, players in ipairs(getElementsByType("player")) do bindKey(players, "F4", "down", showPanel) end end addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), onResourceStart) function onPlayerJoin() bindKey(source, "F4", "down", showPanel) end addEventHandler("onPlayerLogin", getRootElement(), onPlayerJoin) vehicles = { } addEvent("spawnVehicle", true ) addEventHandler("spawnVehicle", root, function ( vehID ) if ( isElement ( vehicles [ source ] ) ) then destroyElement ( vehicles [ source ] ) end vehicles [ source ] = createVehicle ( vehID, getElementPosition ( source ) ) if ( vehicles [ source ] ) then setVehicleColor ( vehicles [ source ], 255, 255, 255 ) end setTimer ( warpPedIntoVehicle, 200, 1, source, vehicles [ source ] ) end ) function destroyVehicle() if ( isElement ( vehicles [ source ] ) ) then destroyElement ( vehicles [ source ] ) end end addEventHandler("onPlayerLogout", root, destroyVehicle) addEventHandler("onPlayerQuit", root, destroyVehicle) addEventHandler("onPlayerWasted", root, destroyVehicle) Try this server-side.
GerardWay Posted October 13, 2013 Author Posted October 13, 2013 Still nothing, but I did /debugscript 3 and this is the output vpanel/s.lua:1: unexpected symbol near '?' vpanel/c.lua:2: } expected (to close '{' at line 1) near '
dugasz1 Posted October 13, 2013 Posted October 13, 2013 addEvent("spawnVehicle", true ) addEventHandler("spawnVehicle", root, function ( vehID ) if ( isElement ( vehicles [ source ] ) ) then destroyElement ( vehicles [ source ] ) end vehicles [ source ] = createVehicle ( vehID, getElementPosition ( source ) ) if ( vehicles [ source ] ) then setVehicleColor ( vehicles [ source ], 255, 255, 255 ) end setTimer ( warpPedIntoVehicle, 200, 1, source, vehicles [ source ] ) end ) Don't use source, Trigger player too. Client: triggerServerEvent("spawnVehicle", localPlayer, localPlayer, id) Server: addEvent("spawnVehicle", true ) addEventHandler("spawnVehicle", root, function ( thePlayer, vehID )
TAPL Posted October 13, 2013 Posted October 13, 2013 You just forgot to define the table at server side: vehicles = { } And this was given to you already in previous replies, so if it still not working then you failed at copying the code in the right way or you have something wrong with the encoding and i don't think you have any problem with the meta file because the GUI is work and this show that the client/server side defined well.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now