19/03/2025 12:29
(Esta mensagem foi modificada pela última vez a: 19/03/2025 12:32 por xbruno1000x.)
GMenu.inc
Introdução:
ShowPlayerMenu
AddPlayerMenuItem
HidePlayerMenu
Design totalmente personalizável | Compatível com OPEN.MP
obs: Esse tópico é um repost do antigo Fórum SA-MP! Todos os créditos pertencem ao autor.
v2.2.0 | Menu Interativo Estilizado GTA V para SA-MP
Introdução:
- Sistema de menus temáticos inspirados no GTA V
- Integração simples similar ao easydialog.inc
- Personalização completa de cores, sprites e layout
- Suporte a múltiplas páginas e callbacks dinâmicos
Screenshot:
![[Imagem: sWZ3yOD.png]](https://i.imgur.com/sWZ3yOD.png)
![[Imagem: sWZ3yOD.png]](https://i.imgur.com/sWZ3yOD.png)
Funções Principais
ShowPlayerMenu
Código:
ShowPlayerMenu(playerid, menuid[], caption[], type[] = "INTERACTION MENU", captionTextColor = 0xf7f7f7ff, captionBoxColor = 0xdb0dd0bb, captionSprite[] = "loadsc12:loadsc12");
- menuid: Identificador único do menu (similar ao easydialog)
- caption: Título principal do menu
- type: Subtítulo (máx. 30 caracteres)
- captionTextColor: Cor do texto em formato ARGB
- captionBoxColor: Cor do fundo do título
- captionSprite: Sprite de fundo (formato texture:name)
AddPlayerMenuItem
Código:
AddPlayerMenuItem(playerid, text[], info[] = "");
- text: Texto principal do item
- info: Descrição adicional (opcional)
- Suporte a adição dinâmica durante exibição
HidePlayerMenu
Código:
HidePlayerMenu(playerid);
- Fecha o menu ativo do jogador
- Remove todos os items da memória
Macros Customizáveis
Código:
#define MENU_SOUND_UPDOWN 1054 // Som ao navegar
#define MENU_SOUND_CLOSE 1084 // Som ao fechar
#define MENU_SOUND_SELECT 1083 // Som ao selecionar
#define MENU_MAX_LISTITEMS 24 // Máximo de items
#define MENU_MAX_LISTITEM_SIZE 128 // Tamanho do texto
#define MENU_MAX_LISTITEMS_PERPAGE 8 // Items por página
Constantes de Resposta
- MENU_RESPONSE_UP: Navegação para cima
- MENU_RESPONSE_DOWN: Navegação para baixo
- MENU_RESPONSE_SELECT: Seleção de item
- MENU_RESPONSE_CLOSE: Fechamento do menu
Exemplo: Menu de Armas
Código:
#define FILTERSCRIPT
#include <a_samp>
#include <gmenu>
public OnPlayerSpawn(playerid) {
ShowPlayerMenu(playerid, WEAPONS, "Menu de Armas");
AddPlayerMenuItem(playerid, "Katana");
AddPlayerMenuItem(playerid, "Chainsaw");
AddPlayerMenuItem(playerid, "Granada", "$5,000 cada");
AddPlayerMenuItem(playerid, "RPG", "$10,000 por foguete");
return 1;
}
Menu:WEAPONS(playerid, response, listitem) {
if(response == MENU_RESPONSE_SELECT) {
switch(listitem) {
case 0: GivePlayerWeapon(playerid, 8, 1);
case 1: GivePlayerWeapon(playerid, 9, 1);
case 2: {
if(GetPlayerMoney(playerid) < 5000)
return SendErrorMessage(playerid);
GivePlayerWeapon(playerid, 16, 1);
}
case 3: {
if(GetPlayerMoney(playerid) < 10000)
return SendErrorMessage(playerid);
GivePlayerWeapon(playerid, 35, 1);
}
}
}
return 1;
}
Download
- Repositório Oficial: Github
- Última atualização: 5 de Setembro de 2017
- Créditos: Agneese-Saini (Gammix)
Design totalmente personalizável | Compatível com OPEN.MP
obs: Esse tópico é um repost do antigo Fórum SA-MP! Todos os créditos pertencem ao autor.
Discente de Sistemas de Informação no Centro Federal de Ensino Tecnológico(CEFET/RJ)
Programador SA-MP desde 2012
Programador SA-MP desde 2012
Não envie dúvidas por inbox, crie um tópico. Sua dúvida pode ser a dúvida de outro alguém, e seu tópico ajudará outras pessoas no futuro.