El-Saka# Posted October 20, 2013 Share Posted October 20, 2013 Hola, tengo un problema . es que hice un panel el cual le hice unos botones que al pizarlo te dan un auto pero si lo sigues pizando te sigue dando, yo quiero que al poner un auto y quieras sacar otro se te elimine el que sacastes anteriormente . Client GUIEditor = { button = {}, window = {}, staticimage = {} } addEventHandler("onClientResourceStart", resourceRoot, function() GUIEditor.window[1] = guiCreateWindow(0.53, 0.52, 0.46, 0.43, "*User Panel*", true) guiWindowSetSizable(GUIEditor.window[1], false) guiSetVisible ( GUIEditor.window[1],false ) guiSetProperty(GUIEditor.window[1], "CaptionColour", "FFFC6002") GUIEditor.button[1] = guiCreateButton(0.03, 0.15, 0.33, 0.15, "Infernus", true, GUIEditor.window[1]) guiSetFont(GUIEditor.button[1], "default-bold-small") guiSetProperty(GUIEditor.button[1], "NormalTextColour", "FF6CDC21") GUIEditor.button[2] = guiCreateButton(0.03, 0.42, 0.33, 0.15, "Turismo", true, GUIEditor.window[1]) guiSetFont(GUIEditor.button[2], "default-bold-small") guiSetProperty(GUIEditor.button[2], "NormalTextColour", "FF6CDC21") GUIEditor.button[3] = guiCreateButton(0.03, 0.69, 0.33, 0.15, "Sanchez", true, GUIEditor.window[1]) guiSetFont(GUIEditor.button[3], "default-bold-small") guiSetProperty(GUIEditor.button[3], "NormalTextColour", "FF6CDC21") GUIEditor.button[4] = guiCreateButton(0.90, 0.84, 0.08, 0.12, "X", true, GUIEditor.window[1]) guiSetProperty(GUIEditor.button[4], "NormalTextColour", "FFFB1200") GUIEditor.button[5] = guiCreateButton(0.50, 0.15, 0.33, 0.15, "M4", true, GUIEditor.window[1]) guiSetFont(GUIEditor.button[5], "sa-header") guiSetProperty(GUIEditor.button[5], "NormalTextColour", "FFF7D205") GUIEditor.button[6] = guiCreateButton(0.50, 0.42, 0.33, 0.15, "Tec-9", true, GUIEditor.window[1]) guiSetFont(GUIEditor.button[6], "sa-header") guiSetProperty(GUIEditor.button[6], "NormalTextColour", "FFF7D205") GUIEditor.staticimage[1] = guiCreateStaticImage(176, 175, 117, 63, ":guieditor(1)/images/dx_elements/radio_button.png", false, GUIEditor.window[1]) end ) function Jose() guiSetVisible (GUIEditor.window[1], not guiGetVisible ( GUIEditor.window[1] ) ) showCursor( not isCursorShowing() ) end bindKey("O","down",Jose ) function loco() if source == GUIEditor.button[1]then triggerServerEvent( "fee" , getLocalPlayer() ) elseif source == GUIEditor.button[2]then triggerServerEvent( "saa" , getLocalPlayer() ) elseif source == GUIEditor.button[3]then triggerServerEvent( "lol" , getLocalPlayer() ) elseif source == GUIEditor.button[4]then guiSetVisible ( GUIEditor.window[1],false ) showCursor( false ) elseif source == GUIEditor.button[5]then triggerServerEvent ( "m4", getLocalPlayer() ) elseif source == GUIEditor.button[6]then triggerServerEvent ( "Tec-9", getLocalPlayer() ) end end addEventHandler("onClientGUIClick",root,loco ) Server Side function loca() local x, y, z = getElementPosition ( source ) local veh = createVehicle ( 411, x, y, z + 2 ) warpPedIntoVehicle(source, veh) end addEvent ( "fee", true ) addEventHandler ( "fee", root, loca ) function papa() local x, y, z = getElementPosition ( source ) local veh = createVehicle ( 451, x, y, z + 2 ) warpPedIntoVehicle(source, veh) end addEvent ( "saa", true ) addEventHandler ( "saa", root, papa ) function moto() local x, y, z = getElementPosition ( source ) local veh = createVehicle ( 468, x, y, z + 2) warpPedIntoVehicle(source, veh) end addEvent ( "lol", true ) addEventHandler ( "lol", root, moto ) function m44() giveWeapon ( source, 31, 20 ) end addEvent ("m4", true) addEventHandler ("m4", root, m44 ) function Tec99() giveWeapon ( source, 32, 20 ) end addEvent ("Tec-9", true) addEventHandler ("Tec-9", root, Tec99 ) espero me puedan ayudar Link to comment
~ProtoN! Posted October 20, 2013 Share Posted October 20, 2013 Usá setElementData() Esta función sirve para añadirle un valor a un elemento, en este script te va a ser muy útil. En tu script deberías hacer algo así function loca() local x, y, z = getElementPosition( source ) if (getElementData(veh, 'existe')) then -- Si el dato existe devuelve un valor entonces.. destroyElement(veh) -- Destruimos el vehiculo. end local veh = createVehicle(411, x, y, z+2) setElementData(veh, 'existe', true) warpPedIntoVehicle(source, veh) end addEvent("fee", true) addEventHandler("fee", root, loca) No lo probé al script, probalo y decime que tal te fué. Cualquier cosa me avisas! Link to comment
El-Saka# Posted October 20, 2013 Author Share Posted October 20, 2013 Hola, No no me sirvio me pasa lo mismo que cuando lo tenia normal . igual gracias por quererme ayudar Link to comment
FraN-724 Posted October 21, 2013 Share Posted October 21, 2013 Haz como esto, es solo un ejemplo o una "idea", no creo que tenga sentido pero bueno, solo es una idea local x, y, z = getElementPosition ( source ) local veh = createVehicle ( 411, x, y, z + 2 ) local veh2 = createVehicle ( 451, x, y, z + 2 ) function cosas() if veh then warpPedIntoVehicle(source, veh) elseif veh2 then warpPedIntoVehicle(source, veh2) destroyElement ( veh ) end end Link to comment
El-Saka# Posted October 22, 2013 Author Share Posted October 22, 2013 hola, fran-724 lo intente asi pero no me sirvio , pero ya lo arregle alvarez me ayudo por privado pero gracias por quererme ayudar Link to comment
Sasu Posted October 22, 2013 Share Posted October 22, 2013 Solo debias crear el auto y meterlo a una tabla usando como index el jugador, en este caso 'source'. local vehs = {} function cosas() if isElement(vehs[source]) then destroyElement ( veh ) end local x, y, z = getElementPosition ( source ) vehs[source] = createVehicle ( 411, x, y, z + 2 ) warpPedIntoVehicle(source, vehs[source}) end Link to comment
Recommended Posts