Sign in to follow this  
Lormateve

Duda con TriggerClientEvent

Recommended Posts

Hola! Gracias por tomarse el tiempo de leer este post. Gracias a este lugar y sus recomendaciones aprendí a manejarme en la wiki, pero hay algo que me tiene loco, y a menudo me da demasiados problemas. El problema es que en el proyecto que estoy trabajando, utilizo mucho movimientos de datos de cliente a servidor y viceversa.

El problema está cuando por ejemplo, desde cliente uso un trigger para preguntar en el servidor el valor de una variable, y al volver les devuelve el valor de esa variable A TODOS LOS USUARIOS, al igual que los Outputchatbox. ¿Como hago para que, le devuelva el valor que quiero averiguar en servidor,  SOLAMENTE al usuario que utilizó el trigger? 

--Codigo de Ida Cliente > Servidor
function EnPuntoAzul()
	pia = 2
   triggerServerEvent ( "SaberRamaTrigger", resourceRoot, pia ) --Aca lo dirijo al servidor para saber que valor de Rama tiene
   end

 function RamaFunc(RamaGral)
   outputChatBox (RamaGral)
   if (RamaGral == 0) and (Chuche > 0) then  
		A1 = createMarker(1398.7294921875, 2585.896484375, 10.351558685303-1,"cylinder",2,255,255,0)--P2
	else 
		A2 = createMarker(1397.7236328125, 2589.505859375, 10.352198600769-1,"cylinder",2,255,255,0)
end end 
addEvent( "RamaEs1", true )
addEventHandler( "RamaEs1", resourceRoot, RamaFunc )

-- =====================================================================

--Codigo de vuelta Servidor > Cliente
function SaberRama (pia)
if (pia == 1) and (Rama1 == 0) then
	Rama = 1
	RamaGral = 0
	triggerClientEvent ( "RamaEs1", getRootElement(), RamaGral) 
    end end
addEvent( "SaberRamaTrigger", true )
addEventHandler( "SaberRamaTriggerServer", resourceRoot, SaberRama )

 

Edited by Lormateve

Share this post


Link to post

Sigue sin funcionar, debería declarar que es client¿? 

Es decir, mediante ese trigger, no llega al servidor, queda en cliente.

Edited by Lormateve

Share this post


Link to post
8 hours ago, alex17" said:

triggerServerEvent ( client, "SaberRamaTrigger", client, pia )

 

De esa forma se utiliza el triggerClientEvent.

 

Lormateve, Prueba con esto

   triggerServerEvent ( "SaberRamaTrigger", getLocalPlayer(), pia )

 

  • Like 1

Share this post


Link to post
On 06/09/2018 at 17:24, MisterQuestions said:

triggerClientEvent(client,"blah",resourceRoot,...)

 

Esto me funciono perfecto, es una gran parte de lo que necesitaba, es decir que el trigger hacia "cliente" solo se la da a la persona que accionó el trigger, gracias!

Share this post


Link to post
On 01/09/2018 at 20:38, -Rex- said:

De esa forma se utiliza el triggerClientEvent.

 

Lormateve, Prueba con esto


   triggerServerEvent ( "SaberRamaTrigger", getLocalPlayer(), pia )

 

Sigue reproduciendo en el servidor a todos

@-Rex-

client side

  1. function EnPuntoAzul()
  2. pia = 2
  3. triggerServerEvent ( "SaberRamaTrigger", getLocalPlayer() , pia ) --Aca lo dirijo al servidor para saber que valor de Rama tiene
  4. end
  5.  
  6. function RamaFunc(RamaGral)
  7. outputChatBox (RamaGral)
  8. if (RamaGral == 0) and (Chuche > 0) then
  9. A1 = createMarker(1398.7294921875, 2585.896484375, 10.351558685303-1,"cylinder",2,255,255,0)--P2
  10. else
  11. A2 = createMarker(1397.7236328125, 2589.505859375, 10.352198600769-1,"cylinder",2,255,255,0)
  12. end end
  13. addEvent( "RamaEs1", true )
  14. addEventHandler( "RamaEs1", resourceRoot, RamaFunc )


server side

  1. function SaberRama (pia)
  2. if (pia == 1) and (Rama1 == 0) then
  3. Rama = 1
  4. RamaGral = 0
  5. triggerClientEvent ( "RamaEs1", getRootElement(), RamaGral)
  6. end end
  7. addEvent( "SaberRamaTrigger", true )
  8. addEventHandler( "SaberRamaTrigger", root, SaberRama ) --aca quizás??? el root influirá?

Share this post


Link to post
function SaberRama pia)
	if (pia == 1) and (Rama1 == 0) then
		Rama = 1
		RamaGral = 0
		triggerClientEvent (client,"RamaEs1", resourceRoot, RamaGral)
	end 
end
addEvent( "SaberRamaTrigger", true )
addEventHandler( "SaberRamaTrigger", root, SaberRama )

 

  • Like 1

Share this post


Link to post
7 hours ago, _SAXI_ said:

function SaberRama pia)
	if (pia == 1) and (Rama1 == 0) then
		Rama = 1
		RamaGral = 0
		triggerClientEvent (client,"RamaEs1", resourceRoot, RamaGral)
	end 
end
addEvent( "SaberRamaTrigger", true )
addEventHandler( "SaberRamaTrigger", root, SaberRama )

 

Gracias por la colaboración, lo solucionamos con SOURCE en vez de cliente, y la RamaGral como variable solo del cliente que lo activó, saludos.

Share this post


Link to post

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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.