aka Blue Posted July 27, 2015 Share Posted July 27, 2015 Estaba terminando mi interfaz para un script de mecánico cuando derrepente se me ocurrió poner que solo los jugadores de x facción puedan acceder a la misma pero algo no funciona bien... function panelmeca () if exports.players:isPlayerInFaction (source, 4) then Panel = guiCreateWindow(355, 186, 434, 338, "Panel de mecánico", false) guiWindowSetSizable(Panel, false) guiSetAlpha(Panel, 0.76) guiSetProperty(Panel, "CaptionColour", "FF140287") BotonReparacion = guiCreateButton(17, 41, 152, 81, "Reparación ", false, Panel) guiSetAlpha(BotonReparacion, 0.48) guiSetFont(BotonReparacion, "sa-header") guiSetProperty(BotonReparacion, "NormalTextColour", "FF03932C") Gasolina = guiCreateButton(268, 41, 152, 81, "Gasolina", false, Panel) guiSetAlpha(Gasolina, 0.50) guiSetFont(Gasolina, "sa-header") guiSetProperty(Gasolina, "NormalTextColour", "FF03932C") Luz2 = guiCreateButton(267, 228, 152, 81, "Luz2", false, Panel) guiSetAlpha(Luz2, 0.49) guiSetFont(Luz2, "sa-header") guiSetProperty(Luz2, "NormalTextColour", "FF03932C") Luz1 = guiCreateButton(21, 228, 152, 81, "Luz1", false, Panel) guiSetAlpha(Luz1, 0.54) guiSetFont(Luz1, "sa-header") guiSetProperty(Luz1, "NormalTextColour", "FF03932C") Grid = guiCreateGridList(18, 135, 402, 80, false, Panel) guiGridListAddColumn(Grid, "Precio", 0.3) guiGridListAddColumn(Grid, "Pieza", 0.3) for i = 1, 12 do guiGridListAddRow(Grid) end guiGridListSetItemText(Grid, 0, 1, "300$", false, false) guiGridListSetItemText(Grid, 0, 2, "Reparación", false, false) guiGridListSetItemText(Grid, 1, 1, "250$", false, false) guiGridListSetItemText(Grid, 1, 2, "Gasolina", false, false) guiGridListSetItemText(Grid, 2, 1, "50$", false, false) guiGridListSetItemText(Grid, 2, 2, "Luz1 Izquierda", false, false) guiGridListSetItemText(Grid, 3, 1, "50", false, false) guiGridListSetItemText(Grid, 3, 2, "Luz2 Derecha", false, false) CerrarPanelBoton = guiCreateButton(174, 312, 93, 16, "Cerrar panel", false, Panel) guiSetAlpha(CerrarPanelBoton, 0.46) guiSetProperty(CerrarPanelBoton, "NormalTextColour", "FFFFFFFF") showCursor (true) addEventHandler ("onClientGUIClick", CerrarPanelBoton, cerrarlo, false) addEventHandler ("onClientGUIClick", BotonReparacion, reparar, false) addEventHandler ("onClientGUIClick", Luz1, luz1, false) addEventHandler ("onClientGUIClick", Luz2, luz2, false) addEventHandler ("onClientGUIClick", Gasolina, gasolina1, false) else outputChatBox ("No eres mecánico.", source, 255, 0, 0) end end addCommandHandler ("mecanico", panelmeca) Ésta es la parte client del script. Creo que el problema está en eso Link to comment
aka Blue Posted July 27, 2015 Author Share Posted July 27, 2015 Errores en /debugscript 3 ? Hum. Creo que no, no me sale nada en la consola, tampoco InGame. Simplemente, no me abre el panel estando en dicha facción y tampoco fuera de ella. Link to comment
alex17 Posted July 27, 2015 Share Posted July 27, 2015 prueba con esto- function panelmeca () if exports.players:isPlayerInFaction (localPlayer, 4) then Panel = guiCreateWindow(355, 186, 434, 338, "Panel de mecánico", false) guiWindowSetSizable(Panel, false) guiSetAlpha(Panel, 0.76) guiSetProperty(Panel, "CaptionColour", "FF140287") BotonReparacion = guiCreateButton(17, 41, 152, 81, "Reparación ", false, Panel) guiSetAlpha(BotonReparacion, 0.48) guiSetFont(BotonReparacion, "sa-header") guiSetProperty(BotonReparacion, "NormalTextColour", "FF03932C") Gasolina = guiCreateButton(268, 41, 152, 81, "Gasolina", false, Panel) guiSetAlpha(Gasolina, 0.50) guiSetFont(Gasolina, "sa-header") guiSetProperty(Gasolina, "NormalTextColour", "FF03932C") Luz2 = guiCreateButton(267, 228, 152, 81, "Luz2", false, Panel) guiSetAlpha(Luz2, 0.49) guiSetFont(Luz2, "sa-header") guiSetProperty(Luz2, "NormalTextColour", "FF03932C") Luz1 = guiCreateButton(21, 228, 152, 81, "Luz1", false, Panel) guiSetAlpha(Luz1, 0.54) guiSetFont(Luz1, "sa-header") guiSetProperty(Luz1, "NormalTextColour", "FF03932C") Grid = guiCreateGridList(18, 135, 402, 80, false, Panel) guiGridListAddColumn(Grid, "Precio", 0.3) guiGridListAddColumn(Grid, "Pieza", 0.3) for i = 1, 12 do guiGridListAddRow(Grid) end guiGridListSetItemText(Grid, 0, 1, "300$", false, false) guiGridListSetItemText(Grid, 0, 2, "Reparación", false, false) guiGridListSetItemText(Grid, 1, 1, "250$", false, false) guiGridListSetItemText(Grid, 1, 2, "Gasolina", false, false) guiGridListSetItemText(Grid, 2, 1, "50$", false, false) guiGridListSetItemText(Grid, 2, 2, "Luz1 Izquierda", false, false) guiGridListSetItemText(Grid, 3, 1, "50", false, false) guiGridListSetItemText(Grid, 3, 2, "Luz2 Derecha", false, false) CerrarPanelBoton = guiCreateButton(174, 312, 93, 16, "Cerrar panel", false, Panel) guiSetAlpha(CerrarPanelBoton, 0.46) guiSetProperty(CerrarPanelBoton, "NormalTextColour", "FFFFFFFF") showCursor (true) addEventHandler ("onClientGUIClick", CerrarPanelBoton, cerrarlo, false) addEventHandler ("onClientGUIClick", BotonReparacion, reparar, false) addEventHandler ("onClientGUIClick", Luz1, luz1, false) addEventHandler ("onClientGUIClick", Luz2, luz2, false) addEventHandler ("onClientGUIClick", Gasolina, gasolina1, false) else outputChatBox ("No eres mecánico.", localPlayer, 255, 0, 0) end end addCommandHandler ("mecanico", panelmeca) Link to comment
Enargy, Posted July 27, 2015 Share Posted July 27, 2015 Pues por lo que puede ocurrirte esto seria en la condicional, isPlayerInFaction no usa string en lugar de numeros? isPlayerInFaction( player, string team ) Link to comment
DBY Posted July 27, 2015 Share Posted July 27, 2015 exports.factions:isPlayerInFaction(jugador, ID del facción) Ese exports es de serverside, por tanto no te servirá ahí, deberás crear el comando en serverside y que triggee al cliente para abrir el GUI. (Deberías dar más información sobre qué gamemode estás usando, por suerte yo sé cuál es.) Link to comment
aka Blue Posted July 27, 2015 Author Share Posted July 27, 2015 Cierto, lo estuve hablando con un amigo y me dijo que funciones así van en el serverside conectados por un trigger jaja. Igual, gracias. PD: Si, uso MTA Paradise, lo siento jaja. Aprovechando que éste tema sigue así medio vivo y para evitar hacer 10000000000000 de temas. Publico otro problema que tengo con un draw. Resulta que quería hacer un panel así más mejorado y pues usé la función, dxDraw. El problema viene cuando le pongo un commandhandler, me lo abre por un segundo y lo cierra, es rarísimo. function as () dxDrawRectangle(344, 266, 334, 316, tocolor(127, 127, 127, 50), false) dxDrawRectangle(344, 179, 334, 87, tocolor(255, 255, 255, 40), false) dxDrawText("Panel Mecánico", 415, 206, 607, 256, tocolor(255, 255, 255, 255), 1.00, "bankgothic", "center", "top", false, false, false, false, false) dxDrawRectangle(441, 297, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawText("Reparar", 440, 297, 587, 330, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawText("Pintar", 440, 348, 587, 381, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawRectangle(441, 349, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawRectangle(441, 406, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawText("Ruedas", 441, 406, 588, 439, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawText("Inflar", 441, 466, 588, 499, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawRectangle(441, 467, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawRectangle(441, 526, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawText("Luces", 441, 525, 588, 558, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawRectangle(344, 582, 334, 23, tocolor(255, 255, 255, 40), false) end addCommandHandler ("abrirlo", as) Link to comment
aka Blue Posted July 27, 2015 Author Share Posted July 27, 2015 Cierto, lo estuve hablando con un amigo y me dijo que funciones así van en el serverside conectados por un trigger jaja. Igual, gracias. PD: Si, uso MTA Paradise, lo siento jaja. Aprovechando que éste tema sigue así medio vivo y para evitar hacer 10000000000000 de temas. Publico otro problema que tengo con un draw. Resulta que quería hacer un panel así más mejorado y pues usé la función, dxDraw. El problema viene cuando le pongo un commandhandler, me lo abre por un segundo y lo cierra, es rarísimo. function as () dxDrawRectangle(344, 266, 334, 316, tocolor(127, 127, 127, 50), false) dxDrawRectangle(344, 179, 334, 87, tocolor(255, 255, 255, 40), false) dxDrawText("Panel Mecánico", 415, 206, 607, 256, tocolor(255, 255, 255, 255), 1.00, "bankgothic", "center", "top", false, false, false, false, false) dxDrawRectangle(441, 297, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawText("Reparar", 440, 297, 587, 330, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawText("Pintar", 440, 348, 587, 381, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawRectangle(441, 349, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawRectangle(441, 406, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawText("Ruedas", 441, 406, 588, 439, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawText("Inflar", 441, 466, 588, 499, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawRectangle(441, 467, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawRectangle(441, 526, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawText("Luces", 441, 525, 588, 558, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawRectangle(344, 582, 334, 23, tocolor(255, 255, 255, 40), false) end addCommandHandler ("abrirlo", as) Link to comment
alex17 Posted July 27, 2015 Share Posted July 27, 2015 la funciones Dx necesitan del evento onClientRender Link to comment
aka Blue Posted July 27, 2015 Author Share Posted July 27, 2015 la funciones Dx necesitan del evento onClientRender Hum, osea, ¿no se puede hacer por comando? ¿Me podrías dar un ejemplo si es que se puede? Link to comment
alex17 Posted July 27, 2015 Share Posted July 27, 2015 function as () dxDrawRectangle(344, 266, 334, 316, tocolor(127, 127, 127, 50), false) dxDrawRectangle(344, 179, 334, 87, tocolor(255, 255, 255, 40), false) dxDrawText("Panel Mecánico", 415, 206, 607, 256, tocolor(255, 255, 255, 255), 1.00, "bankgothic", "center", "top", false, false, false, false, false) dxDrawRectangle(441, 297, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawText("Reparar", 440, 297, 587, 330, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawText("Pintar", 440, 348, 587, 381, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawRectangle(441, 349, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawRectangle(441, 406, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawText("Ruedas", 441, 406, 588, 439, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawText("Inflar", 441, 466, 588, 499, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawRectangle(441, 467, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawRectangle(441, 526, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawText("Luces", 441, 525, 588, 558, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawRectangle(344, 582, 334, 23, tocolor(255, 255, 255, 40), false) end function openPanel() addEventHandler ( "onClientRender", root, as ) end addCommandHandler ("abrirlo", openPanel) Link to comment
aka Blue Posted July 27, 2015 Author Share Posted July 27, 2015 Oye. Muchas gracias por la ayuda PD: Os hamo. Link to comment
alex17 Posted July 27, 2015 Share Posted July 27, 2015 por si aun necesitas por tu problema anterior te dejo esto server function panelmeca(playerSource) if exports.players:isPlayerInFaction (playerSource, 4) then triggerClientEvent ( playerSource, "openPanel", playerSource) else outputChatBox ("No eres mecánico.", playerSource, 255, 0, 0) end end addCommandHandler ( "mecanico", panelmeca ) client function panelmeca () Panel = guiCreateWindow(355, 186, 434, 338, "Panel de mecánico", false) guiWindowSetSizable(Panel, false) guiSetAlpha(Panel, 0.76) guiSetProperty(Panel, "CaptionColour", "FF140287") BotonReparacion = guiCreateButton(17, 41, 152, 81, "Reparación ", false, Panel) guiSetAlpha(BotonReparacion, 0.48) guiSetFont(BotonReparacion, "sa-header") guiSetProperty(BotonReparacion, "NormalTextColour", "FF03932C") Gasolina = guiCreateButton(268, 41, 152, 81, "Gasolina", false, Panel) guiSetAlpha(Gasolina, 0.50) guiSetFont(Gasolina, "sa-header") guiSetProperty(Gasolina, "NormalTextColour", "FF03932C") Luz2 = guiCreateButton(267, 228, 152, 81, "Luz2", false, Panel) guiSetAlpha(Luz2, 0.49) guiSetFont(Luz2, "sa-header") guiSetProperty(Luz2, "NormalTextColour", "FF03932C") Luz1 = guiCreateButton(21, 228, 152, 81, "Luz1", false, Panel) guiSetAlpha(Luz1, 0.54) guiSetFont(Luz1, "sa-header") guiSetProperty(Luz1, "NormalTextColour", "FF03932C") Grid = guiCreateGridList(18, 135, 402, 80, false, Panel) guiGridListAddColumn(Grid, "Precio", 0.3) guiGridListAddColumn(Grid, "Pieza", 0.3) for i = 1, 12 do guiGridListAddRow(Grid) end guiGridListSetItemText(Grid, 0, 1, "300$", false, false) guiGridListSetItemText(Grid, 0, 2, "Reparación", false, false) guiGridListSetItemText(Grid, 1, 1, "250$", false, false) guiGridListSetItemText(Grid, 1, 2, "Gasolina", false, false) guiGridListSetItemText(Grid, 2, 1, "50$", false, false) guiGridListSetItemText(Grid, 2, 2, "Luz1 Izquierda", false, false) guiGridListSetItemText(Grid, 3, 1, "50", false, false) guiGridListSetItemText(Grid, 3, 2, "Luz2 Derecha", false, false) CerrarPanelBoton = guiCreateButton(174, 312, 93, 16, "Cerrar panel", false, Panel) guiSetAlpha(CerrarPanelBoton, 0.46) guiSetProperty(CerrarPanelBoton, "NormalTextColour", "FFFFFFFF") showCursor (true) addEventHandler ("onClientGUIClick", CerrarPanelBoton, cerrarlo, false) addEventHandler ("onClientGUIClick", BotonReparacion, reparar, false) addEventHandler ("onClientGUIClick", Luz1, luz1, false) addEventHandler ("onClientGUIClick", Luz2, luz2, false) addEventHandler ("onClientGUIClick", Gasolina, gasolina1, false) end addEvent( "openPanel", true ) addEventHandler( "openPanel", localPlayer, panelmeca ) Link to comment
aka Blue Posted July 27, 2015 Author Share Posted July 27, 2015 por si aun necesitas por tu problema anterior te dejo estoserver function panelmeca(playerSource) if exports.players:isPlayerInFaction (playerSource, 4) then triggerClientEvent ( playerSource, "openPanel", playerSource) else outputChatBox ("No eres mecánico.", playerSource, 255, 0, 0) end end addCommandHandler ( "mecanico", panelmeca ) client function panelmeca () Panel = guiCreateWindow(355, 186, 434, 338, "Panel de mecánico", false) guiWindowSetSizable(Panel, false) guiSetAlpha(Panel, 0.76) guiSetProperty(Panel, "CaptionColour", "FF140287") BotonReparacion = guiCreateButton(17, 41, 152, 81, "Reparación ", false, Panel) guiSetAlpha(BotonReparacion, 0.48) guiSetFont(BotonReparacion, "sa-header") guiSetProperty(BotonReparacion, "NormalTextColour", "FF03932C") Gasolina = guiCreateButton(268, 41, 152, 81, "Gasolina", false, Panel) guiSetAlpha(Gasolina, 0.50) guiSetFont(Gasolina, "sa-header") guiSetProperty(Gasolina, "NormalTextColour", "FF03932C") Luz2 = guiCreateButton(267, 228, 152, 81, "Luz2", false, Panel) guiSetAlpha(Luz2, 0.49) guiSetFont(Luz2, "sa-header") guiSetProperty(Luz2, "NormalTextColour", "FF03932C") Luz1 = guiCreateButton(21, 228, 152, 81, "Luz1", false, Panel) guiSetAlpha(Luz1, 0.54) guiSetFont(Luz1, "sa-header") guiSetProperty(Luz1, "NormalTextColour", "FF03932C") Grid = guiCreateGridList(18, 135, 402, 80, false, Panel) guiGridListAddColumn(Grid, "Precio", 0.3) guiGridListAddColumn(Grid, "Pieza", 0.3) for i = 1, 12 do guiGridListAddRow(Grid) end guiGridListSetItemText(Grid, 0, 1, "300$", false, false) guiGridListSetItemText(Grid, 0, 2, "Reparación", false, false) guiGridListSetItemText(Grid, 1, 1, "250$", false, false) guiGridListSetItemText(Grid, 1, 2, "Gasolina", false, false) guiGridListSetItemText(Grid, 2, 1, "50$", false, false) guiGridListSetItemText(Grid, 2, 2, "Luz1 Izquierda", false, false) guiGridListSetItemText(Grid, 3, 1, "50", false, false) guiGridListSetItemText(Grid, 3, 2, "Luz2 Derecha", false, false) CerrarPanelBoton = guiCreateButton(174, 312, 93, 16, "Cerrar panel", false, Panel) guiSetAlpha(CerrarPanelBoton, 0.46) guiSetProperty(CerrarPanelBoton, "NormalTextColour", "FFFFFFFF") showCursor (true) addEventHandler ("onClientGUIClick", CerrarPanelBoton, cerrarlo, false) addEventHandler ("onClientGUIClick", BotonReparacion, reparar, false) addEventHandler ("onClientGUIClick", Luz1, luz1, false) addEventHandler ("onClientGUIClick", Luz2, luz2, false) addEventHandler ("onClientGUIClick", Gasolina, gasolina1, false) end addEvent( "openPanel", true ) addEventHandler( "openPanel", localPlayer, panelmeca ) Estaba en ello pero igualmente, muchísimas gracias, me salvaste la vida jaja. Justo iba a preguntar una cosilla, ¿hay alguna función (ya que nunca usé el dx ) que cuando pulse el rectangulo del dx haga x función? Es decir, igual que el onClientGUIClick pero para el dx. Link to comment
Guest Posted July 27, 2015 Share Posted July 27, 2015 Tal vez te pueda servir onClientClick Link to comment
Enargy, Posted July 27, 2015 Share Posted July 27, 2015 Tal vez te pueda servir onClientClick Tambien puedes usar la useful isMouseInPosition para poder ejecutar X funcion por coordenadas distintas. ` Code - coloca esto en tu client script. function isMouseInPosition ( x, y, width, height ) if ( not isCursorShowing ( ) ) then return false end local sx, sy = guiGetScreenSize ( ) local cx, cy = getCursorPosition ( ) local cx, cy = ( cx * sx ), ( cy * sy ) if ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) then return true else return false end end Sintaxis. x -- posicion X del boton. y -- posicion Y del boton. width -- el ancho del boton. height -- la altura de si. bool isMouseInPosition ( int x, int y, int width, int height ) PD: Usando el evento que te dijo pimpollo con esto, funcionara. Link to comment
aka Blue Posted July 28, 2015 Author Share Posted July 28, 2015 Oh, pues muchas gracias a ambos Link to comment
aka Blue Posted July 28, 2015 Author Share Posted July 28, 2015 Siento el doblepost jaja, ¿podrían darme un ejemplo de esa función? he intentado pero no me sale Link to comment
alex17 Posted July 28, 2015 Share Posted July 28, 2015 function isMouseInPosition ( x, y, width, height ) if ( not isCursorShowing ( ) ) then return false end local sx, sy = guiGetScreenSize ( ) local cx, cy = getCursorPosition ( ) local cx, cy = ( cx * sx ), ( cy * sy ) if ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) then return true else return false end end function as() dxDrawRectangle(344, 582, 334, 23, tocolor(255, 255, 255, 40), false) -- imaginando que este sera tu boton para cerrar tu dxpanel end function cerrarpanel ( ) if isMouseInPosition ( 344, 582, 334, 23) then -- los dos primeros argumentos seran la posicion x e y , los dos siguientes ancho y largo del boton removeEventHandler ( "onClientRender", root, as ) end end addEventHandler ( "onClientClick", getRootElement(), cerrarpanel) Link to comment
Sticmy Posted July 28, 2015 Share Posted July 28, 2015 Utiliza labels yo utilizaba eso y cambiaba el font desde un página de fonts gratuitos. Link to comment
aka Blue Posted July 28, 2015 Author Share Posted July 28, 2015 Utiliza labels yo utilizaba eso y cambiaba el font desde un página de fonts gratuitos. Si supiera como se hace... jajaja PD: Gracias alex Link to comment
aka Blue Posted July 28, 2015 Author Share Posted July 28, 2015 Tengo un problema con la función de alex. Poniendo el código que me diste, quitando la función "as" (ya que la tengo arriba con otro nombre), copio el código todo bien, asigno las coordenadas pero des donde le des, hace la misma función Dejo el código aquí. function panelsito () dxDrawRectangle(344, 266, 334, 316, tocolor(127, 127, 127, 50), false) dxDrawRectangle(344, 179, 334, 87, tocolor(255, 255, 255, 40), false) dxDrawText("Panel Mecánico", 415, 206, 607, 256, tocolor(255, 255, 255, 255), 1.00, "bankgothic", "center", "top", false, false, false, false, false) dxDrawRectangle(344, 582, 334, 23, tocolor(255, 255, 255, 40), false) dxDrawRectangle(441, 297, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawText("Reparar", 440, 297, 587, 330, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawText("Pintar", 440, 348, 587, 381, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawRectangle(441, 349, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawRectangle(441, 406, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawText("Ruedas", 441, 406, 588, 439, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawText("Inflar", 441, 466, 588, 499, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawRectangle(441, 467, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawRectangle(441, 526, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawText("Luces", 441, 525, 588, 558, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) showCursor (true) end function openPanel() addEventHandler ( "onClientRender", root, panelsito ) end addCommandHandler ("panel", openPanel) function isMouseInPosition ( x, y, width, height ) if ( not isCursorShowing ( ) ) then return false end local sx, sy = guiGetScreenSize ( ) local cx, cy = getCursorPosition ( ) local cx, cy = ( cx * sx ), ( cy * sy ) if ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) then return true else return false end end function repararlo ( ) if isMouseInPosition ( 440, 297, 587, 330) then -- los dos primeros argumentos seran la posicion x e y , los dos siguientes ancho y largo del boton triggerServerEvent ( "onReparar", getLocalPlayer() ) removeEventHandler ( "onClientRender", root, panelsito ) end end addEventHandler ( "onClientClick", getRootElement(), repararlo) function pintarlo ( ) if isMouseInPosition ( 440, 348, 587, 381 ) then -- los dos primeros argumentos seran la posicion x e y , los dos siguientes ancho y largo del boton triggerServerEvent ( "onPintar", getLocalPlayer() ) removeEventHandler ( "onClientRender", root, panelsito ) end end addEventHandler ( "onClientClick", getRootElement(), pintarlo) Link to comment
alex17 Posted July 28, 2015 Share Posted July 28, 2015 prueba con esto function panelsito () dxDrawRectangle(344, 266, 334, 316, tocolor(127, 127, 127, 50), false) dxDrawRectangle(344, 179, 334, 87, tocolor(255, 255, 255, 40), false) dxDrawText("Panel Mecánico", 415, 206, 607, 256, tocolor(255, 255, 255, 255), 1.00, "bankgothic", "center", "top", false, false, false, false, false) dxDrawRectangle(344, 582, 334, 23, tocolor(255, 255, 255, 40), false) dxDrawRectangle(441, 297, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawText("Reparar", 440, 297, 587, 330, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawText("Pintar", 440, 348, 587, 381, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawRectangle(441, 349, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawRectangle(441, 406, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawText("Ruedas", 441, 406, 588, 439, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawText("Inflar", 441, 466, 588, 499, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) dxDrawRectangle(441, 467, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawRectangle(441, 526, 146, 32, tocolor(255, 255, 255, 40), false) dxDrawText("Luces", 441, 525, 588, 558, tocolor(255, 255, 255, 255), 1.00, "pricedown", "center", "top", false, false, false, false, false) showCursor (true) end function openPanel() addEventHandler ( "onClientRender", root, panelsito ) end addCommandHandler ("panel", openPanel) function isCursorOnElement(x,y,w,h) local mx,my = getCursorPosition () if isCursorShowing() then else mx,my = x,y end local fullx,fully = guiGetScreenSize() cursorx,cursory = mx*fullx,my*fully if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then return true else return false end end function repararlo ( ) if isCursorOnElement ( 440, 297, 587, 330) then triggerServerEvent ( "onReparar", getLocalPlayer() ) removeEventHandler ( "onClientRender", root, panelsito ) elseif isCursorOnElement ( 440, 348, 587, 381 ) then triggerServerEvent ( "onPintar", getLocalPlayer() ) removeEventHandler ( "onClientRender", root, panelsito ) end end addEventHandler ( "onClientClick", getRootElement(), repararlo) Link to comment
aka Blue Posted July 28, 2015 Author Share Posted July 28, 2015 Nada, osea, donde le de, me hace la función de reparar. Es bastante raro jaja. Link to comment
Recommended Posts