Saltar al contenido
  • Global

    Global

    Chatroom Rules

    • NO SE DA SOPORTE EN CHATBOX
    • NO SPAM
    • NO FLOOD

Publicaciones recomendadas

  • Ex-Staff
Publicado

La foto es muy pequeña, asi que no sé ve demasiado, pero si lo que buscas es que al apretar los botones suceda algo, te sugeriría echarle un vistazo a esto:

OnClientGUIClick - Multi Theft Auto: Wiki

 

Básicamente para que hacer click en el botón dispare alguna acción es necesario colocarle un evento que vincule la acción de hacer click con una función. Por lo general en la misma función que inicializa la GUI, colocas los event handler que llaman a las funciones. Ejemplo, si quieres que al apretar un botón le rellene la vida al jugador, usas algo así:

 

botonvida = guiCreateButton(parámetros) -- x,y,ancho,alto,etc... supongo que si pudiste crear los botones, ya sabes cuáles son los parámetros.
addEventHandler("onClientGUIClick",botonvida,darvida)

function darvida(boton)
  if boton == "left" then -- Significa que se ha hecho click con el botón izquierdo del mouse, normalmente es el más usado, sino puedes colocar "right" o "middle".
    setElementHealth(localPlayer,100)
  end
end

Alternativamente puedes asociar varios botones a la misma función y luego ejecutar diversas acciones según qué botón fue clickeado, usando la variable source (representa el elemento al cual se vinculó el eventhandler, si quieres saber más visita los eventhandlers en la wiki). Ten en cuenta que para realizar esto, la función debe poder encontrar una referencia al botón, si creas los botones de manera local en otra función no podrás hacer esto. Ejemplo:

 

botonvida = guiCreateButton(parámetros)
botoninvisible = guiCreateButton(parámetros)
addEventHandler("onClientGUIClick",botonvida,darvidaoinvis)
addEventHandler("onClientGUIClick",botoninvisible,darvidaoinvis)

function darvidaoinvis(boton)
  if boton == "left" then -- Si presiona el botón izquierdo
    if source == botonvida then -- Si hizo click en el botón de vida
      setElementHealth(localPlayer,100)
    elseif source == botoninvisible then -- Si, en cambio, hizo click en el botón de invisibilidad
      setElementAlpha(localPlayer,0)
    end
  end
end
      

Recuerda que las interfaces gráficas se ejecutan en client, y hay funciones que solo se pueden ejecutar en server, por ejemplo, dar armadura. Posiblemente necesites usar triggerServerEvent para esos casos.

 

Espero que te haya servido. Saludos.

  • BoraK locked this tema
Invitado
Este tema está cerrado a nuevas respuestas.
  • Explorando recientemente   0 miembros

    • No hay usuarios registrados viendo esta página.
×
×
  • Crear nuevo...