GerardWay Posted October 12, 2013 Share 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) Link to comment
JuniorMelo Posted October 12, 2013 Share 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) Link to comment
GerardWay Posted October 13, 2013 Author Share Posted October 13, 2013 Now the GUI isn't appearing at all Link to comment
Vision Posted October 13, 2013 Share 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. Link to comment
GerardWay Posted October 13, 2013 Author Share 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 ' Link to comment
dugasz1 Posted October 13, 2013 Share 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 ) Link to comment
TAPL Posted October 13, 2013 Share 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. Link to comment
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