Criando um menu

primeiro crie o menu:

new Menu:teleportmenu;

Certo, nós criamos a variável para armazenar o menu. Agora nós temos que criar o menu lá dentro.

teleportmenu = CreateMenu("Teleportmenu", 2, 200.0, 100.0, 150.0, 150.0);

agora os arguments do createmenu:
CreateMenu(title, columns, Float:x, Float:y, Float:col1width, Float:col2width);

título: Este argumento define o título da mesa
colunas: O número aqui define quanta colunas são usadas
Float :x: O heigth posicionam do cardápio
Float :y: A posição de largura do cardápio
Float:col1width: A largura da primeira coluna
Float:col2width: A largura da segunda coluna.

Add mais itens no menu:

Ok, agora nós temos o Menu, mas nós precisamos de alguns artigos debaixo dos quais você pode escolher no Menu. Você os soma por AddMenuItem. Assim nós somamos abaixo o crie Menu:

AddMenuItem(teleportmenu, 0, "LS");
AddMenuItem(teleportmenu, 0, "LS");
AddMenuItem(teleportmenu, 0, "SF");
AddMenuItem(teleportmenu, 0, "SF");
AddMenuItem(teleportmenu, 0, "LV");
AddMenuItem(teleportmenu, 0, "LV");

AddMenuItem(teleportmenu, 1, "Grove Street");
AddMenuItem(teleportmenu, 1, "Starfish Tower");
AddMenuItem(teleportmenu, 1, "Wheel Arch Angels");
AddMenuItem(teleportmenu, 1, "Jizzys");
AddMenuItem(teleportmenu, 1, "4Dragons");
AddMenuItem(teleportmenu, 1, "Cum-a-Lot");

explicação para addmenuitem:
AddMenuItem(menuid, column, text);

menuid: O menuid do menu onde o artigo será exibido
coluna: A coluna na qual o artigo será mostrou
texto: O texto do artigo

Criando os efeitos para os itens(artigos) Certo, nos passos precedentes nós criamos um menu cheio com itens. Agora, o que deveria acontecer, quando você escolhe um item? Em nosso exemplo nós queremos fazer um teleportmenu, assim nós deveríamos adquirir teleported à posição que nós escolhemos. Isto é feito no callback OnPlayerSelectedMenuRow(playerid público, fila). O melhor modo para fazer isto é fazer isto com um interruptor. O primeiro passo é adquirir o menuid para limitar os efeitos em nosso menu. Você deveria criar uma variável de menu nova para isto. O meu é chamado:

new Menu:CurrentMenu = GetPlayerMenu(playerid);

Agora, quando alguém abrir o menu, o menuid serão economizados em Current.

Agora nós temos que conferir o id em Current, se é nosso menu:

if (CurrentMenu == teleportmenu)
{
...
}

Passando para próximos passos, está na hora de nosso interruptor. Isto deveria se parecer:

http://pastebin.com/dcb2905e
colokei no pastebin pq naum ia caber no post.

Quando tudo é corretamente terminado, como eu tivesse mostrou nesses exemplos, são criados os efeitos para artigos de cardápio prosperamente.

últimos passos Agora nós precisamos de um comando para mostrar o menu. Este é o passo mais fácil. Há pouco uma comparação com strcmp e um ShowMenuForPlayer. Como você deveria saber, isto entra no callback OnPlayerCommandText

if(strcmp(cmdtext, "/teleport", true) == 0)
{
ShowMenuForPlayer(teleportmenu, playerid);
return 1;
}

0 comentários: