Jump to content

Ayuda sobre la Interfaz


aka Blue

Recommended Posts

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

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
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

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

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
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

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
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 ) 

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 :S) que cuando pulse el rectangulo del dx haga x función? Es decir, igual que el onClientGUIClick pero para el dx.

Link to comment
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
  
  
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

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

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

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