29.12.2009, 08:38
Este tutorial й recomendбvel para INTERMEDIБRIOS!
Eu considero mais complicado que o Checkpoint, mas й mais divertido de fazer![](http://forum.sa-mp.com/Themes/SAMPTheme/images/post/smiley.gif)
Enfim, vamos comeзar. No final eu ponho uma print e um download do tuto. Se eu esqueзer fazer me avisar uiaheuiaheuahe
Primeiro, vamos definir o Menu usando um 'new':
Neste tutorial estaremos criando um comando para que quando o player digite, apareзa um comando onde й possнvel se 'curar'.
Se vocк usou o nome 'hospital' no new vocк nгo vai precisar mudar nada, se usou outro nome mude! Abaixo dos #includes e #defines coloque isso:
Vou explicar:
Entendeu? OK! Agora que o Menu estб criado, criaremos o comando para mostrб-lo. Vб atй o 'public OnPlayerCommandText(playerid, cmdtext[])' e coloque isso:
Prooonto! Isso deve fazer o serviзo. Agora nуs temos que dar uma funзгo аs opзхes 'Curar' e 'Sair'. Procure por 'public OnPlayerSelectedMenuRow(playerid, row)' e coloque isso em baixo:
E por ъltimo, em 'public OnPlayerExitedMenu(playerid)' ponha isso:
Pronto, vocк acabou de fazer seu primeiro Menu! Uma boa idйia (nгo, nгo й uma 51) й colocar um Menu ao passar por cima de um Checkpoint, simplesmente coloque ShowMenuForPlayer no OnPlayerEnterCheckpoint!
Prints do Tutorial - Print 1 / Print 2
Eu considero mais complicado que o Checkpoint, mas й mais divertido de fazer
![](http://forum.sa-mp.com/Themes/SAMPTheme/images/post/smiley.gif)
Enfim, vamos comeзar. No final eu ponho uma print e um download do tuto. Se eu esqueзer fazer me avisar uiaheuiaheuahe
Primeiro, vamos definir o Menu usando um 'new':
pawn Код:
new Menu:hospital; // Vocк pode trocar o 'hospital' por outro nome, mas terб que trocar os outros 'hospital' do Tutorial
Se vocк usou o nome 'hospital' no new vocк nгo vai precisar mudar nada, se usou outro nome mude! Abaixo dos #includes e #defines coloque isso:
pawn Код:
hospital = CreateMenu("Hospital", 1, 200.0, 100.0, 150.0, 150.0);
AddMenuItem(hospital, 0, "Curar");
AddMenuItem(hospital, 0, "Sair");
Quote:
hospital = = Ele define o Menu que serб criado, daн o new CreateMenu = CreateMenu й um Native, uma funзгo do SA-MP ("Hospital", = "Hospital" й o tнtulo do Menu mostrado no SA-MP 1, 200.0, 100.0, 150.0, 150.0); = Nъmero de Colunas, X, Y, Largura X, Largura Y AddMenuItem = Native SA-MP, adicionar um нtem ao Menu designado (no caso, hospital) (hospital, 0, "Curar"); = hospital й o menu em que serб adicionado o нtem, 0 й a coluna e "Curar" й o нtem que serб mostrado aos jogadores. |
pawn Код:
if(strcmp(cmdtext, "/hospital", true) == 0)
{
ShowMenuForPlayer(hospital, playerid); // Mostrar o Menu ao jogador
TogglePlayerControllable(playerid, false); // Vamos parб-lo para que ele nгo se mova com o Menu aberto
SendClientMessage(playerid, 0xFFFFFFAA, "Bem vindo ao Hospital! Posso ajudб-lo?"); // A mensagem ao abrir o menu (opcional)
return 1;
}
pawn Код:
new Menu:CurrentMenu = GetPlayerMenu(playerid); // Qual menu estб aberto? Precisamos saber antes de dar a funзгo а eles <
if(CurrentMenu == hospital) // Por isso essas linhas <
{
switch(row) // Agora й cada opзгo por si
{
case 0: // Essa й a opзгo CURAR
{
GetPlayerMoney(playerid); // Vamos ver se ele tem dinheiro
if(GetPlayerMoney(playerid)>=100) // Ok, ele tem um dinheiro maior ou igual а 100
{
SendClientMessage(playerid, 0xFFFFFFAA, "> Vocк foi curado! ($100)"); // Vamos falar pra ele que ele foi curado
SetPlayerHealth(playerid, 100); // Vamos dar 100 Pontos de saъde
GivePlayerMoney(playerid, -100); // Ele tinha mais que $100, portanto vamos lhe tirar o dinheiro
TogglePlayerControllable(playerid, 1); // E finalmente deixar ele controlбvel denovo
}
if(GetPlayerMoney(playerid)<=99) // Ele nгo tem dinheiro, sendo que й menor ou igual a 99
{
SendClientMessage(playerid, 0xFFFFFFAA, "> Vocк nгo tem dinheiro suficiente! ($100)"); // Vamos lhe informar
TogglePlayerControllable(playerid, 1); // E como nгo tem dinheiro, nгo vamos fazer nada, sу deixб-lo mуvel novamente
}
}
case 1: // Essa й a opзгo SAIR
{
TogglePlayerControllable(playerid, 1); // Como ele nгo quer nada, vamos deixб-lo mуvel...
SendClientMessage(playerid, 0xFFFFFFAA, "> Ok, ok. Vocк й quem sabe."); // ...e confirmar a escolha
}
}
}
pawn Код:
TogglePlayerControllable(playerid, true); // Assim, se o player apertar F, vai poder andar novamente.
Prints do Tutorial - Print 1 / Print 2
DOWNLOADS
- MenuTutorial.pwn