Lormateve

Members
  • Content Count

    39
  • Joined

  • Last visited

Posts posted by Lormateve


  1.  

    Previously I had a resource, that in the podia within the game, to know what texture they were in a radius of X meters. That is to say that the name of all the DFF appeared before me, and I did not have to search for the name or id of the object manually.


  2.  

    What I wanted to do, was that the user to buy a certain accessory color and object, that is saved and at the beginning, not only can see it, but also can see others.

    Server:

    
    function Cortina1(paintjobID, color)
     	local vehicle = getPedOccupiedVehicle( client ) 
    	local player = client
        if ( vehicle ) then 
    		local pos = {getElementPosition( vehicle )}
            Cortinapuesta = createObject( 1000, pos[1], pos[2], pos[3] )
            attachElements( Cortinapuesta, vehicle, 0, 0, 0, 0, 0, 0 )
    	triggerClientEvent (root, "setShader", resourceRoot, paintjobID, color)
    end end
    addEvent("PonerCortina", true)
    addEventHandler("PonerCortina", resourceRoot, Cortina1)
    
    
    
    function CancelarCortina()
        local vehicle = getPedOccupiedVehicle( source ) 
        if ( vehicle ) then 
    			destroyElement(Cortinapuesta) 
    		
        end end
    addEvent("SacarCortina", true)
    addEventHandler("SacarCortina", root, CancelarCortina)
    
    -----------------------------------------------------------------------------------------------------
    
    function addPJfction (player)
         triggerClientEvent (getRootElement(),"addPJ2", getRootElement(), player )
    end
    addEvent( "addPJ", true )
    addEventHandler( "addPJ", resourceRoot, addPJfction )
    
    function removePJfction (player)
         triggerClientEvent (getRootElement(),"removePJ2", getRootElement(),player )
    end
    addEvent( "removePJ", true )
    addEventHandler( "removePJ", resourceRoot, removePJfction )

     


    Client:
     

    Ventana1 = createMarker (2194.4677734375, 1440.5966796875, 10.8203125-1, "cylinder", 1.5, 0, 255, 0, 170 )
    local NormalTextColour = "FFFB0202"
    
       
    function mapLoad ( Bondi2018OBJETOS )
        local txdCortinas1518 = engineLoadTXD( "objetos/metalpar1518/vehicle.txd" ) 
        local dffCortinas1518 = engineLoadDFF( "objetos/metalpar1518/spl_b_mar_m.dff", 0 )   
        engineImportTXD( txdCortinas1518, 1000 ) 
        engineReplaceModel( dffCortinas1518, 1000 ) 
    end
    addEventHandler ( "onClientResourceStart", resourceRoot, mapLoad )
    
    addEventHandler("onClientMarkerHit", Ventana1,
        function(localPlayer)
    					if localPlayer == getLocalPlayer() then 
    Ventana = guiCreateWindow(997, 226, 228, 743, "BONDI 2018 - Taller \"Libertad\"", false);guiSetVisible(Ventana, true)
    guiWindowSetSizable(Ventana, false)
    guiSetProperty(Ventana, "CaptionColour", "FF0EF1E3")
    showCursor(true) 
    veh = getPedOccupiedVehicle( localPlayer )
    
    Boton1 = guiCreateButton(15, 66, 108, 31, "     CORTINAS", false, Ventana); guiSetProperty(Boton1, "NormalTextColour", "FFFB0202")
    Boton2 = guiCreateButton(15, 107, 108, 31, "  Parachoques", false, Ventana);guiSetProperty(Boton2, "NormalTextColour", "FFFB0202")
    Boton3 = guiCreateButton(15, 148, 108, 31, "    ASIENTOS", false, Ventana);guiSetProperty(Boton3, "NormalTextColour", "	FFFB0202")
    Boton4 = guiCreateButton(15, 189, 108, 31, "      VIDRIOS", false, Ventana);guiSetProperty(Boton4, "NormalTextColour", "FFFB0202")
    Boton5 = guiCreateButton(15, 230, 108, 31, "      OPTICAS", false, Ventana);guiSetProperty(Boton5, "NormalTextColour", "FFFB0202")
    Boton6 = guiCreateButton(15, 271, 108, 31, "", false, Ventana);guiSetProperty(Boton6, "NormalTextColour", "	FFFB0202")
    Boton7 = guiCreateButton(15, 312, 108, 31, "", false, Ventana);guiSetProperty(Boton7, "NormalTextColour", "	FFFB0202")
    Boton8 = guiCreateButton(15, 353, 108, 31, "", false, Ventana);guiSetProperty(Boton8, "NormalTextColour", "	FFFB0202")
    Boton9 = guiCreateButton(15, 394, 108, 31, "", false, Ventana);guiSetProperty(Boton9, "NormalTextColour", "	FFFB0202")
    BotonCERRAR = guiCreateButton(15, 700, 108, 31, "CERRAR", false, Ventana);guiSetProperty(BotonCERRAR, "NormalTextColour", "FFFB0202")
    
    end end )
    
    
    Ventana2 = guiCreateWindow(997, 226, 228, 743, "BONDI 2018 - Taller \"Libertad\"", false);guiSetVisible(Ventana2, false);guiWindowSetSizable(Ventana2, false);guiSetProperty(Ventana2, "CaptionColour", "FF0EF1E3")
    Boton1 = guiCreateButton(60, 66, 108, 31, "Cortinas Simples", false, Ventana2); guiSetProperty(Boton1, "NormalTextColour", "FFFB0202")
    Boton2 = guiCreateButton(15, 107, 108, 31, "  Turquesas", false, Ventana2);guiSetProperty(Boton2, "NormalTextColour", "FFFB0202")
    Boton2b = guiCreateMemo(150, 107, 64, 31, "2500", false, Ventana2); guiSetProperty(Boton2b, "NormalTextColour", "FFFB0202");guiMemoSetReadOnly( Boton2b, true )
    Boton3 = guiCreateButton(15, 148, 108, 31, "    2", false, Ventana2);guiSetProperty(Boton3, "NormalTextColour", "	FFFB0202"); 
    Boton4 = guiCreateButton(15, 189, 108, 31, "      3", false, Ventana2);guiSetProperty(Boton4, "NormalTextColour", "FFFB0202")
    Boton5 = guiCreateButton(15, 230, 108, 31, "      4", false, Ventana2);guiSetProperty(Boton5, "NormalTextColour", "FFFB0202")
    Boton6 = guiCreateButton(15, 271, 108, 31, "5", false, Ventana2);guiSetProperty(Boton6, "NormalTextColour", "	FFFB0202")
    Boton7 = guiCreateButton(15, 312, 108, 31, "6", false, Ventana2);guiSetProperty(Boton7, "NormalTextColour", "	FFFB0202")
    Boton8 = guiCreateButton(60, 353, 108, 31, "Cortinas Completas", false, Ventana2);guiSetProperty(Boton8, "NormalTextColour", "	FFFB0202")
    Boton9a = guiCreateButton(15, 394, 108, 31, "Turquesas", false, Ventana2);guiSetProperty(Boton9a, "NormalTextColour", "	FFFB0202")
    Boton10a = guiCreateButton(15, 435, 108, 31, "Rojas", false, Ventana2);guiSetProperty(Boton10a, "NormalTextColour", "	FFFB0202")
    Boton11a = guiCreateButton(15, 476, 108, 31, "Azules", false, Ventana2);guiSetProperty(Boton11a, "NormalTextColour", "	FFFB0202")
    Boton12a = guiCreateButton(15, 517, 108, 31, "Blancas", false, Ventana2);guiSetProperty(Boton12a, "NormalTextColour", "	FFFB0202")
    Boton13a = guiCreateButton(15, 558, 108, 31, "Celestes", false, Ventana2);guiSetProperty(Boton13a, "NormalTextColour", "	FFFB0202")
    BotonTOTAL = guiCreateMemo (15, 650, 60, 31, "Total:", false, Ventana2);guiSetProperty(BotonTOTAL, "NormalTextColour", "FFFB0202");guiMemoSetReadOnly( BotonTOTAL, true )
    BotonTOTAL2 = guiCreateMemo (75, 650, 60, 31, "0", false, Ventana2);guiSetProperty(BotonTOTAL2, "NormalTextColour", "FFFB0202");guiMemoSetReadOnly( BotonTOTAL2, true )
    BotonCOMPRAR = guiCreateButton (135, 650, 65, 31, "COMPRAR", false, Ventana2);guiSetProperty(BotonCOMPRAR, "NormalTextColour", "FFFB0202")
    BotonCERRAR2 = guiCreateButton(15, 700, 108, 31, "CERRAR", false, Ventana2);guiSetProperty(BotonCERRAR2, "NormalTextColour", "FFFB0202")
    
    
    addEventHandler("onClientGUIClick", guiRoot, --VENTANA
    	function()
    		local getGui = guiGetVisible(Ventana)
    		if source == BotonCERRAR then	
    			if getGui then 
    				guiSetVisible(Ventana, false)
    				showCursor(false) 
    				veh = getPedOccupiedVehicle( localPlayer )
    	      
    			end
    		end
    	end )
    	
    
    	--------------------------------------------------------------------------------------------
    	
    
    	---------------------------------------------------------------------------------------------
    	-------------------------------------------------------------------------------------------
    addEventHandler("onClientGUIClick", guiRoot, --VENTANA
    	function()
    		local getGui = guiGetVisible(Ventana2)
    		if source == BotonCERRAR2 then	
    			if getGui then 
    				guiSetVisible(Ventana2, false)
    				showCursor(false) 
    				veh = getPedOccupiedVehicle( localPlayer )
    				triggerServerEvent("SacarCortina", localPlayer, localPlayer)
    	     
    			end
    		end
    	end )	
    		
    	
    	addEventHandler("onClientGUIClick", guiRoot, --VENTANA2 = CORTINAS
    	function()
    		local getGui = guiGetVisible(Ventana)
    		if source == Boton1 then	
    			if getGui then 
    				guiSetVisible(Ventana, false)
    				guiSetVisible(Ventana2, true)
    				veh = getPedOccupiedVehicle( localPlayer )
    	         
    			end
    		end
    	end )
    	
    	---------------------------------------------------------------------------------------------------------
      
    addEventHandler("onClientGUIClick", guiRoot, --VENTANA2 = CORTINAS > Completas > Turquesas
    	function ()
    local getGui = guiGetVisible(Ventana2)
    		
    if source == Boton9a then	
    			local color = "nada"	
    		triggerServerEvent("PonerCortina", resourceRoot, paintjobID, color)
    			PrecioCortinasCompletas = 3500
    			PrecioTotal = PrecioCortinasCompletas
    			guiSetText(BotonTOTAL2, PrecioCortinasCompletas)
    	else 
    if source == Boton10a then	--ROJAS
    			local color = "red"
    		triggerServerEvent("PonerCortina", resourceRoot, paintjobID, color)
    			PrecioCortinasCompletas = 3500
    			PrecioTotal = PrecioCortinasCompletas
    			guiSetText(BotonTOTAL2, PrecioCortinasCompletas)										
     end end end ) 
    addEvent( "addPJ2", true )
    addEventHandler( "addPJ2", getLocalPlayer(), CortinasCompletas )
    
    
    function addPaintjob2(paintjobID, color)
    	outputChatBox("the color is:" .. color)  
    	if color == "red" then
    		CortinasRojas = dxCreateTexture ( "CortinasRojas.png" )   
    					engineRemoveShaderFromWorldTexture  (shader_cars,"cortinas", getPedOccupiedVehicle ( player ))   
    					shader_cars , tec = dxCreateShader ( "shader.fx" )    
    					engineApplyShaderToWorldTexture  (shader_cars,"cortinas", getPedOccupiedVehicle ( player ))   
    					dxSetShaderValue  (shader_cars,"TX0",CortinasRojas) 
     
    	elseif color == "blue" then
    		CortinasAzules = dxCreateTexture ( "CortinasAzules.png" )   
    					engineRemoveShaderFromWorldTexture  (shader_cars,"cortinas", getPedOccupiedVehicle ( player ))   
    					shader_cars , tec = dxCreateShader ( "shader.fx" )    
    					engineApplyShaderToWorldTexture  (shader_cars,"cortinas", getPedOccupiedVehicle ( player ))   
    					dxSetShaderValue  (shader_cars,"TX0",CortinasAzules)  
    	elseif color == "Nada" then
    	outputChatBox ("Asi como está")
    	end
    end
    
    addEvent( "setShader", true )
    addEventHandler( "setShader", resourceRoot, addPaintjob2 )
      
    
      
      
      
      
      
      
      
      --------------------------------------------------------------------------------------
      
      
      
      
      
      
    	
    	
    	
    	
    
    	
    addEventHandler("onClientGUIClick", guiRoot, --VENTANAS > BOTON COMPRAR
    	function(localPlayer)
    		local getGui = guiGetVisible(Ventana2)
    		local money = getPlayerMoney (localPlayer)
    				if source == BotonCOMPRAR then
    				if (money > PrecioTotal) then		
    					outputChatBox ("Dinero CALCULADO")
    					takePlayerMoney ( PrecioTotal ) 
    					outputChatBox ("Usted ha comprado las cortinas")
    					guiSetVisible(Ventana2, false)
    					showCursor (false)
    					
    					else
    					outputChatBox ("No tiene el dinero suficiente para comprarlas!!")
    		
     end end end)
     

     


  3. 3 hours ago, IIYAMA said:

    Order matters: (the computer reads from top to bottom)

    triggerServerEvent("PonerCortina", resourceRoot, paintjobID, color) --This does not work

    local color = "nada"

    
    local color = "nada"
    triggerServerEvent("PonerCortina", resourceRoot, paintjobID, color) 
    

     


    You still didn't fix this:

    - local vehicle = getPedOccupiedVehicle( source )

    
    local vehicle = getPedOccupiedVehicle( client ) 
    

    It is client, not source.

     


    If it doesn't work, then manually debug it...(tutorial) Because I do not know where I have to look for issues.

     

     

    It worked, It's a lot of help, you mean, thank you. Now what I have left is to create a database so that when they enter or leave is stored in the car, THANK YOU !!

    • Like 1

  4. 1 hour ago, IIYAMA said:

     

     

    
    local color = "red"
    
    triggerServerEvent("PonerCortina", resourceRoot, paintjobID, color)
    
    
    function Cortina1(paintjobID, color)
    	local player = client
     	-- ...
    	triggerClientEvent (root, "setShader", resourceRoot, paintjobID, color)
    end
    addEvent("PonerCortina", true)
    addEventHandler("PonerCortina", resourceRoot, Cortina1)
    
    
    📋
    
    function addPaintjob2(paintjobID, color)
    	outputChatBox("the color is:" .. color)  
    	if color == "red" then
    		-- set the red shader
    	elseif color == "blue" then
    		-- set the blue shader ETC.
    	end
    end
    
    addEvent( "setShader", true )
    addEventHandler( "setShader", resourceRoot, addPaintjob2 )
    

    I just send the string "red" from clientside to serverside. And from serverside back to clientside for all players.

    If the string is "red" then set your red shader. Same goes for the color blue.

    (But you can't pass textures)

     

    In case of passing text "red" it would no longer be to use the paintjobID, since it is an empty value. Anyway when passing the TriggerClientEvent, it does not work, and I can not understand why.
    Client and Server

    addEventHandler("onClientGUIClick", guiRoot, --VENTANA2 = CORTINAS > Completas > Turquesas
    	function ()
    local getGui = guiGetVisible(Ventana2)
    		
    if source == Boton9a then	
    		triggerServerEvent("PonerCortina", resourceRoot, paintjobID, color) --This does not work
    			local color = "nada"
    			PrecioCortinasCompletas = 3500
    			PrecioTotal = PrecioCortinasCompletas
    			guiSetText(BotonTOTAL2, PrecioCortinasCompletas)
    	else 
    if source == Boton10a then	--ROJAS
    			local color = "red"
    		triggerServerEvent("PonerCortina", resourceRoot, paintjobID, color) --This does not work
    			PrecioCortinasCompletas = 3500
    			PrecioTotal = PrecioCortinasCompletas
    			guiSetText(BotonTOTAL2, PrecioCortinasCompletas)										
     end end end ) 
    addEvent( "addPJ2", true )
    addEventHandler( "addPJ2", getLocalPlayer(), CortinasCompletas )
    function Cortina1(paintjobID, color)
    	local player = client
     	-  local vehicle = getPedOccupiedVehicle( source ) 
        if ( vehicle ) then 
    		local pos = {getElementPosition( vehicle )}
            Cortinapuesta = createObject( 1000, pos[1], pos[2], pos[3] )
            attachElements( Cortinapuesta, vehicle, 0, 0, 0, 0, 0, 0 )
    	triggerClientEvent (root, "setShader", resourceRoot, paintjobID, color)
    end end
    addEvent("PonerCortina", true)
    addEventHandler("PonerCortina", resourceRoot, Cortina1)
    
    
    -----------------------------------------------------------------------------------------------------
    
    function addPJfction (player)
         triggerClientEvent (getRootElement(),"addPJ2", getRootElement(), player )
    end
    addEvent( "addPJ", true )
    addEventHandler( "addPJ", resourceRoot, addPJfction )
    
    function removePJfction (player)
         triggerClientEvent (getRootElement(),"removePJ2", getRootElement(),player )
    end
    addEvent( "removePJ", true )
    addEventHandler( "removePJ", resourceRoot, removePJfction )

     

     


  5. On 19/1/2018 at 22:39, IIYAMA said:

    Eso es porque no estás haciendo nada relacionado con pasar los colores. Tampoco está claro para mí dónde están esos colores.

     

    		Cortinas = dxCreateTexture ( "cortinasRojas.png" )   
    												
    engineRemoveShaderFromWorldTexture  (shader_cars,"cortinas", getPedOccupiedVehicle ( player ))   
    shader_cars , tec = dxCreateShader ( "shader.fx" )    
    engineApplyShaderToWorldTexture  (shader_cars,"cortinas", getPedOccupiedVehicle ( player ))   
    dxSetShaderValue  (shader_cars,"TX0",CortinasRojas)  

     this is the color red for example, 

    you are right, because there is no connection with the server so that all users can see it, it does not work out, try many ways, but no way it went well


  6. 23 minutes ago, IIYAMA said:

    local vehicle = getPedOccupiedVehicle( source )

    
    local vehicle = getPedOccupiedVehicle( client ) 
    

     

     

    Now I understood what he was referring to, but things have not changed, it still does not work Look, in this code if it works, but the only problem is that other people can not see the color that I chose, but they see the same, the root color

    Server Side

    function Cortina1()
        local vehicle = getPedOccupiedVehicle( source ) 
        if ( vehicle ) then 
            local pos = {getElementPosition( vehicle )}
            Cortinapuesta = createObject( 1000, pos[1], pos[2], pos[3] )
            attachElements( Cortinapuesta, vehicle, 0, 0, 0, 0, 0, 0 )
        
        end
    end 
    addEvent("PonerCortina", true)
    addEventHandler("PonerCortina", root, Cortina1)
    
    
    function CancelarCortina()
        local vehicle = getPedOccupiedVehicle( source ) 
        if ( vehicle ) then 
                destroyElement(Cortinapuesta) 
            
        end end
    addEvent("SacarCortina", true)
    addEventHandler("SacarCortina", root, CancelarCortina)
    
    -----------------------------------------------------------------------------------------------------
    
    function addPJfction (player)
         triggerClientEvent (getRootElement(),"addPJ2", getRootElement(), player )
    end
    addEvent( "addPJ", true )
    addEventHandler( "addPJ", resourceRoot, addPJfction )
    
    function removePJfction (player)
         triggerClientEvent (getRootElement(),"removePJ2", getRootElement(),player )
    end
    addEvent( "removePJ", true )
    addEventHandler( "removePJ", resourceRoot, removePJfction )

    Client Side

    addEventHandler("onClientGUIClick", guiRoot, --VENTANA2 = CORTINAS > Completas > Turquesas
    	function ()
    local getGui = guiGetVisible(Ventana2)
    		
    if source == Boton9a then	
        triggerServerEvent("PonerCortina", localPlayer, localPlayer)
    			PrecioCortinasCompletas = 3500
    			PrecioTotal = PrecioCortinasCompletas
    			guiSetText(BotonTOTAL2, PrecioCortinasCompletas)
    	else 
    if source == Boton10a then	--ROJAS
    			triggerServerEvent("PonerCortina", localPlayer, localPlayer)
    			PrecioCortinasCompletas = 3500
    			PrecioTotal = PrecioCortinasCompletas
    			guiSetText(BotonTOTAL2, PrecioCortinasCompletas)
    			
    			Cortinas = dxCreateTexture( "cortinas.png" )
    			
    					me = getLocalPlayer()
    	if isPedInVehicle ( me ) then
    		triggerServerEvent ( "addPJ", resourceRoot, Boton10a, me )
    		Cortinas = dxCreateTexture( "cortinasRojas.png" )
    												
    engineRemoveShaderFromWorldTexture ( shader_cars, "cortinas", getPedOccupiedVehicle(player) )
    shader_cars, tec = dxCreateShader ( "shader.fx" )
    engineApplyShaderToWorldTexture ( shader_cars, "cortinas", getPedOccupiedVehicle(player) )
    dxSetShaderValue ( shader_cars, "TX0", CortinasRojas ) 
    	
    												
     end end end end  ) 
    addEvent( "addPJ2", true )
    addEventHandler( "addPJ2", getLocalPlayer(), CortinasCompletas )
    
    addEventHandler("onClientGUIClick", guiRoot, --VENTANA2 = CORTINAS > Completas > Turquesas
    	function ()
    local getGui = guiGetVisible(Ventana2)
    		
    if source == Boton11a then	--AZULES
    			triggerServerEvent("PonerCortina", localPlayer, localPlayer)
    			PrecioCortinasCompletas = 3500
    			PrecioTotal = PrecioCortinasCompletas
    			guiSetText(BotonTOTAL2, PrecioCortinasCompletas)
    			
    			Cortinas = dxCreateTexture( "cortinasAzules.png" )
    			
    					me = getLocalPlayer()
    	if isPedInVehicle ( me ) then
    		triggerServerEvent ( "addPJ", resourceRoot, Boton11a, me )
    		Cortinas = dxCreateTexture( "cortinasAzules.png" )
    												
    engineRemoveShaderFromWorldTexture ( shader_cars, "cortinas", getPedOccupiedVehicle(player) )
    shader_cars, tec = dxCreateShader ( "shader.fx" )
    engineApplyShaderToWorldTexture ( shader_cars, "cortinas", getPedOccupiedVehicle(player) )
    dxSetShaderValue ( shader_cars, "TX0", Cortinas )  
    	
    												
     end end end  ) 
    addEvent( "addPJ2", true )
    addEventHandler( "addPJ2", getLocalPlayer(), CortinasCompletas2 )

  7. 11 hours ago, IIYAMA said:

    Where does the code stops working?

    When the object must be created, it does not in server side

     

    Server side
    
    function Cortina1(paintjobID)
    	outputChatBox ("..")
        local vehicle = getPedOccupiedVehicle( source ) 
    	local player = client
        if ( vehicle ) then 
    		local pos = {getElementPosition( vehicle )}
            Cortinapuesta = createObject( 1000, pos[1], pos[2], pos[3] )
            attachElements( Cortinapuesta, vehicle, 0, 0, 0, 0, 0, 0 )
    		
    		
    		triggerClientEvent (root, "setShader", resourceRoot, paintjobID)
    		
    		
      end end
    addEvent("PonerCortina", true)
    addEventHandler("PonerCortina", resourceRoot, Cortina1)

     


  8. On 15/1/2018 at 20:32, Melbourne said:

    ¿El color se cambia o no? 

    Supongo que quieres guardarle el objeto al jugador que lo compró, así que lo que tienes que hacer es simplemente guardar la cuenta del usuario y la ID del objeto que compró, luego, obtener la ID de ese objeto y crearlo con createObject. Doy por entendido que ya sabes hacer consultas básicas en SQL, si no es así intenta aprenderlas y hacerlo. Si no puedes, te puedo dar un ejemplo para que te guíes.   

    De acuerdo, muchas gracias. Si cambia de color, pero solamente para el cliente.


  9. 16 hours ago, IIYAMA said:
    
    triggerServerEvent("PonerCortina", resourceRoot, paintjobID)
    

     

    
    function Cortina1(paintjobID)
    	local player = client
     	-- ...
    	triggerClientEvent (root, "setShader", resourceRoot, paintjobID)
    end
    addEvent("PonerCortina", true)
    addEventHandler("PonerCortina", resourceRoot, Cortina1)
    
    
    function addPaintjob2(paintjobID)
    end
    
    addEvent( "setShader", true )
    addEventHandler( "setShader", resourceRoot, addPaintjob2 )
    

     

     

    It still does not work. The curtains do not appear in the vehicle.

     

    Semi Full client
    
    addEventHandler("onClientGUIClick", guiRoot, --VENTANA2 = CORTINAS > Completas > Turquesas
    	function (paintjobID)
    local getGui = guiGetVisible(Ventana2)
    		
    if source == Boton9a then	
    	
    			triggerServerEvent("PonerCortina", resourceRoot, paintjobID)
    			outputChatBox ("Llego a trigger")
    	
    			PrecioCortinasCompletas = 3500
    			PrecioTotal = PrecioCortinasCompletas
    			guiSetText(BotonTOTAL2, PrecioCortinasCompletas)
    			local paintjobID = 1
    												
     end end) 
     
    
     
     function addPaintjob2(paintjobID)
    if paintjobID == 1 then
    	myTexture = dxCreateTexture( "cortinasRojas.png" )
    	elseif paintjobID == 2 then
    	myTexture = dxCreateTexture( "cortinasAzules.png" )
    	else
    	if player == getLocalPlayer() then
    	outputChatBox ("There is no such paintjob ID!")
    	return
    	end
    	end
    	engineRemoveShaderFromWorldTexture ( shader_cars, "cortinas", getPedOccupiedVehicle(player) )
    	shader_cars, tec = dxCreateShader ( "shader.fx" )
    	engineApplyShaderToWorldTexture ( shader_cars, "cortinas", getPedOccupiedVehicle(player) )
    	dxSetShaderValue ( shader_cars, "TX0", myTexture ) 
    end
    addEvent( "setShader", true )
    addEventHandler( "setShader", resourceRoot, addPaintjob2 )
    
    
    Server side
    
    function Cortina1(paintjobID)
    	outputChatBox ("..")
        local vehicle = getPedOccupiedVehicle( source ) 
    	local player = client
        if ( vehicle ) then 
    		local pos = {getElementPosition( vehicle )}
            Cortinapuesta = createObject( 1000, pos[1], pos[2], pos[3] )
            attachElements( Cortinapuesta, vehicle, 0, 0, 0, 0, 0, 0 )
    		
    		
    		triggerClientEvent (root, "setShader", resourceRoot, paintjobID)
    		
    		
      end end
    addEvent("PonerCortina", true)
    addEventHandler("PonerCortina", resourceRoot, Cortina1)
    
    
    function CancelarCortina()
        local vehicle = getPedOccupiedVehicle( source ) 
        if ( vehicle ) then 
    			destroyElement(Cortinapuesta) 
    		
        end end
    addEvent("SacarCortina", true)
    addEventHandler("SacarCortina", root, CancelarCortina)
    
    -----------------------------------------------------------------------------------------------------
    
    function addPJfction (PaintjobID,player)
         triggerClientEvent (getRootElement(),"addPJ2", getRootElement(),PaintjobID, player )
    end
    addEvent( "addPJ", true )
    addEventHandler( "addPJ", resourceRoot, addPJfction )
    
    function removePJfction (player)
         triggerClientEvent (getRootElement(),"removePJ2", getRootElement(),player )
    end
    addEvent( "removePJ", true )
    addEventHandler( "removePJ", resourceRoot, removePJfction )

     


  10.  

    I tried several ways to make the communication between client and server, but I can not get to the shop that I am armed, my idea is to make different curtains for groups, and each has a color, I can not get that when the person chooses the object who wants to buy, everyone can see the curtain that I would buy in a different color ... The other problem is how to keep it, it has me really disconnected, thank you for your attention.

     

    -- Client Side
    
    addEventHandler("onClientGUIClick", guiRoot, --VENTANA2 = CORTINAS > Completas > Turquesas
    	function (player)
    local getGui = guiGetVisible(Ventana2)
    		
    if source == Boton9a then	
        triggerServerEvent("PonerCortina", localPlayer, localPlayer)
    	
    			PrecioCortinasCompletas = 3500
    			PrecioTotal = PrecioCortinasCompletas
    			guiSetText(BotonTOTAL2, PrecioCortinasCompletas)
    			 local paintjobID = 1
    												
     end end) 
     
    
     
     function addPaintjob2(paintjobID,player)
    if paintjobID == 1 then
    	myTexture = dxCreateTexture( "cortinasRojas.png" )
    	elseif paintjobID == 2 then
    	myTexture = dxCreateTexture( "cortinasAzules.png" )
    	else
    	if player == getLocalPlayer() then
    	outputChatBox ("There is no such paintjob ID!")
    	return
    	end
    	end
    	engineRemoveShaderFromWorldTexture ( shader_cars, "cortinas", getPedOccupiedVehicle(player) )
    	shader_cars, tec = dxCreateShader ( "shader.fx" )
    	engineApplyShaderToWorldTexture ( shader_cars, "cortinas", getPedOccupiedVehicle(player) )
    	dxSetShaderValue ( shader_cars, "TX0", myTexture ) 
    end
    addEvent( "setShader", true )
    addEventHandler( "setShader", getLocalPlayer(), addPaintjob2 )
    Server-Side
    
    function Cortina1()
        local vehicle = getPedOccupiedVehicle( source ) 
        if ( vehicle ) then 
    		local pos = {getElementPosition( vehicle )}
            Cortinapuesta = createObject( 1000, pos[1], pos[2], pos[3] )
            attachElements( Cortinapuesta, vehicle, 0, 0, 0, 0, 0, 0 )
    		
    		triggerClientEvent (players,"setShader",players,cortina)
    		
    		
      end end
    addEvent("PonerCortina", true)
    addEventHandler("PonerCortina", root, Cortina1)