[Tutoriais]Criando um menu simples

by Anônimo Postado quinta-feira, 20 de março de 2008 às 11:42 2 comentários

Muita gente axa q é dificil criar um menu msm sendo o mais simples, mas na verdade nem é tanto

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

pronto
facil naum?!

FIM

by [PMs]Tinorks


Categories:

2 Response for the "[Tutoriais]Criando um menu simples"

  1. Anônimo says:

    Adorei esse blog, ajuda em muitas coisas esta servindo muito bem ao meu servidor de SAMP, mas eu gostaria de pedir uma coisa será que você pode criar um tutorial de como colocar teleports no servidor é a unica coisa que falta para ele ficar pronto, não quero explorar você mas isso seria de grande ajuda para mim e para outros usuários.

  2. Anônimo says:

    cara onde vc colo o codigo naum tah mais funcinando,
    e eu tentei fazer este menu e dah sempre um erro
    "invalid function or declaration"