Jump to content

Duda con TriggerClientEvent


Lormateve

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
Link to comment
  • 2 weeks later...
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á?
Link to comment
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.

Link to comment

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...