farru Posted September 28, 2015 Posted September 28, 2015 Hola, nuevamente vengo con mis problemas, esta vez quiero que me ayuden con un factor, en la gui, que evento podria YO USAR PARA cuando alguien entre a un marker le aparesca una GUI.
farru Posted September 28, 2015 Author Posted September 28, 2015 SI esta bien, pero la gui es un cliente, y onMarkerHit es solo para server.
Kilfwan Posted September 28, 2015 Posted September 28, 2015 SI esta bien, pero la gui es un cliente, y onMarkerHit es solo para server. onClientMarkerHit
farru Posted September 28, 2015 Author Posted September 28, 2015 Ok, pero este funciona con todos los marker del sever, tengo marker con otras funciones, cuando entro a tal marker me salen 2 funciones, necesito es hacer que un marker funcione para tal funcion.
Kilfwan Posted September 28, 2015 Posted September 28, 2015 Ok, pero este funciona con todos los marker del sever, tengo marker con otras funciones, cuando entro a tal marker me salen 2 funciones, necesito es hacer que un marker funcione para tal función. Postea tu código.
Kilfwan Posted September 29, 2015 Posted September 29, 2015 OnMarkerHit está en server, usa solo un triggerClientEvent y listo, te lo envía al jugador que entró al marker. usa source. O si quiere que una gui se abra que lo haga desde clientside: markerr = createMarker(1686.90442, 1644.28601, 9.8, "cylinder", 1.5, 255, 255, 0, 170) function hit ( hitElement ) if getElementType(hitElement) == "player" and (hitElement == getLocalPlayer()) then guiSetVisible(guipiloto, true) showCursor(true) end end addEventHandler ( "onClientMarkerHit", markerr, hit )
farru Posted October 1, 2015 Author Posted October 1, 2015 Aqui el codigo Client.lua function maxiV() ventana = guiCreateWindow(263, 114, 237, 340, "Lider", false) guiWindowSetSizable(ventana, false) memo = guiCreateMemo(9, 25, 218, 155, "Esta es una zona que solo entran con permiso autorizado, largo de aqui, este es un frente militar no un museo, fuera de aqui o te arresto para toda tu miserable vida.", false, ventana) guiMemoSetReadOnly(memo, true) rasosol = guiCreateButton(9, 255, 99, 51, "Soldado Raso", false, ventana) maxi = guiCreateButton(17, 189, 200, 50, "Lider Comandante en Jefe", false, ventana) platasol = guiCreateButton(122, 255, 100, 51, "Soldado Plata", false, ventana) cerrar = guiCreateButton(199, 313, 18, 17, "X", false, ventana) showCursor (true) addEventHandler ("onClientGUIClick", platasol, soldadopla, false ) addEventHandler ("onClientGUIClick", rasosol, soldadoraso, false ) addEventHandler ("onClientGUIClick", maxi, maxii, false ) addEventHandler ("onClientGUIClick", cerrar, cerra, false ) end addEvent( "onGreetingUI", true ) addEventHandler( "onGreetingUI", localPlayer, maxiV ) addCommandHandler ("am", maxiV ) function soldadopla() showCursor (false) destroyElement (ventana) triggerServerEvent("onGreeting", getLocalPlayer ()) end function soldadoraso() showCursor (false) destroyElement (ventana) triggerServerEvent("onGreetinC", getLocalPlayer ()) end function maxii() showCursor (false) destroyElement (ventana) triggerServerEvent("onGreetinA", getLocalPlayer ()) end function cerra() showCursor (false) destroyElement (ventana) end createBlip ( 264.13552856445, 1879.7487792969, -30.390625, 62, 2, 255, 0, 0, 255, 0, 200.0 ) -Y Aqui el codigo Server.lua teamEjercito = createTeam ("Fuerza Armada", 08, 30, 03) marker1 = createMarker (264.68270874023, 1881.1879882813, -31.390625, "cylinder", 1.0, 08, 30, 03, source ) function soldadopla() spawnPlayer (source, 248.67333984375, 1858.923828125, 14.084012985229, 45, 312, "Fuerza Armada") setPlayerTeam (source, teamEjercito) takeAllWeapons ( source ) giveWeapon (source, 34, 50)----sniper giveWeapon (source, 4)---- knife giveWeapon (source, 24, 120)-----eagle giveWeapon (source, 39, 30)----shartel end addEvent ("onGreeting", true) addEventHandler ("onGreeting", getRootElement(), soldadopla) ----------------------------------------------------------------------------------------------------------------- function soldadoraso() spawnPlayer (source, 248.77752685547, 1860.4307861328, 14.084012985229, 45, 179, "Fuerza Armada") setPlayerTeam (source, teamEjercito) takeAllWeapons ( source ) giveWeapon (source, 30, 50)-----ak47 giveWeapon (source, 4)-----knife giveWeapon (source, 24, 120)----eagle giveWeapon (source, 16, 20)-----granada end addEvent ("onGreetinC", true) addEventHandler ("onGreetinC", getRootElement(), soldadoraso) ----------------------------------------------------------------------------------------------------------------- function maxii() spawnPlayer (source, 213.75303649902, 1823.53125, 6.4140625, 0, 287, "Fuerza Armada") setPlayerTeam (source, teamEjercito) takeAllWeapons ( source ) giveWeapon (source, 34, 100)---sniper giveWeapon (source, 31, 500)----M4 giveWeapon (source, 4)----Knife giveWeapon (source, 24, 120)---Desert giveWeapon (source, 39, 50)----shartel giveWeapon (source, 44)----vision nocturna giveWeapon (source, 25, 150)--------escopeta end addEvent ("onGreetinA", true) addEventHandler ("onGreetinA", getRootElement(), maxii) -------------------------------------------------------------------------------------------------------------------- function greetingEvent() triggerClientEvent ( playerSource, "onGreetingUI", playerSource) end addEventHandler ("onMarkerHit", greetingEvent )
Kilfwan Posted October 1, 2015 Posted October 1, 2015 Client function abrir() guiSetVisible(ventana , true) showCursor(true) end addEvent( "onGreetingUI", true ) addEventHandler( "onGreetingUI", localPlayer, abrir) Server function greetingEvent(hitElement) triggerClientEvent ( hitElement, "onGreetingUI", hitElement) end addEventHandler ("onMarkerHit", marker1 , greetingEvent) Prueba aver si te sirve estoy en cell no he testeado
Tomas Posted October 1, 2015 Posted October 1, 2015 Si es en client side el marker, solo el jugador lo verá, me imagino que él lo quiere para hacer compras y se la abra una gui. Así que tiene que hacerlo en server side, usar el onMarkerHit para evaluar su entrada al marker. Para que luego con triggerClientEvent abra un addEvent y le aparezca la gui. Además, cuando haga la compra, si es arma u otro item, deberá usar un triggerServerEvent, para usar correctamente la función. Debería aprender más sobre los trigger. Que necesidad de hacer el marcador en el servidor.. es un derroche de memoria.
farru Posted October 1, 2015 Author Posted October 1, 2015 Client function abrir() guiSetVisible(ventana , true) showCursor(true) end addEvent( "onGreetingUI", true ) addEventHandler( "onGreetingUI", localPlayer, abrir) Server function greetingEvent(hitElement) triggerClientEvent ( hitElement, "onGreetingUI", hitElement) end addEventHandler ("onMarkerHit", marker1 , greetingEvent) Prueba aver si te sirve estoy en cell no he testeado Emmm parece bien, pero no funciono amigo. :c sigue sin aparecer la ventana...
Kilfwan Posted October 2, 2015 Posted October 2, 2015 Client function abrir() guiSetVisible(ventana , true) showCursor(true) end addEvent( "onGreetingUI", true ) addEventHandler( "onGreetingUI", localPlayer, abrir) Server function greetingEvent(hitElement) triggerClientEvent ( hitElement, "onGreetingUI", hitElement) end addEventHandler ("onMarkerHit", marker1 , greetingEvent) Prueba aver si te sirve estoy en cell no he testeado Emmm parece bien, pero no funciono amigo. :c sigue sin aparecer la ventana... Checa en /debugscript 3 si te da algún error al pasar x el marker por que el código esta bien.
farru Posted October 2, 2015 Author Posted October 2, 2015 No Amigo no presenta ningun error, puedes chekear mejor el codigo? plzzzz nesecito este script completo.
#Raiden Posted October 2, 2015 Posted October 2, 2015 CLIENT function abrir() window = guiCreateWindow ( 0, 0, 10, 10, "...", true ) guiSetVisible(ventana , true) showCursor(true) end addEvent( "onGreetingUI", true ) addEventHandler( "onGreetingUI", localPlayer, abrir) SERVER function greetingEvent(hitElement, thePlayer) local x,y,z = getElementPosition(thePlayer) marker = createMarker(x + 2, y + 2, z, "cylinder", 1.5, 255, 255, 255, 170) triggerClientEvent ( hitElement, "onGreetingUI", hitElement) end addEventHandler ("onMarkerHit", marker , greetingEvent) O sino intenta con esto: --Client marker2 = createMarker(X,Y,Z, "cylinder", 1.5, 255, 255, 255) function abrir2() window = guiCreateWindow ( 0, 0, 500, 500, "...", true ) showCursor(true) end addEventHandler("onClientMarkerHit", marker2, abrir2)
farru Posted October 4, 2015 Author Posted October 4, 2015 Ok, ah sido tatal éxito, gracias a usted amigo, y a los colaboradores de este tema, con esto doy por cerrado este Post.
Recommended Posts