farru Posted September 28, 2015 Share 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. Link to comment
farru Posted September 28, 2015 Author Share Posted September 28, 2015 SI esta bien, pero la gui es un cliente, y onMarkerHit es solo para server. Link to comment
Kilfwan Posted September 28, 2015 Share Posted September 28, 2015 SI esta bien, pero la gui es un cliente, y onMarkerHit es solo para server. onClientMarkerHit Link to comment
farru Posted September 28, 2015 Author Share 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. Link to comment
Kilfwan Posted September 28, 2015 Share 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. Link to comment
Kilfwan Posted September 29, 2015 Share 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 ) Link to comment
farru Posted October 1, 2015 Author Share 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 ) Link to comment
Kilfwan Posted October 1, 2015 Share 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 Link to comment
Tomas Posted October 1, 2015 Share 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. Link to comment
farru Posted October 1, 2015 Author Share 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... Link to comment
Kilfwan Posted October 2, 2015 Share 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. Link to comment
farru Posted October 2, 2015 Author Share Posted October 2, 2015 No Amigo no presenta ningun error, puedes chekear mejor el codigo? plzzzz nesecito este script completo. Link to comment
#Raiden Posted October 2, 2015 Share 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) Link to comment
farru Posted October 4, 2015 Author Share 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. Link to comment
Recommended Posts