10.03.2010, 15:14
Bueno quiza este no sea un tutorial nuevo pero es para los mas nuevos y mas sencillo y mas entendible de como crear menus de x ejemplo teleports q son los mas utilizados o armas...
Bueno vamos a lo primero
arriba de todo definimos las variables
Bueno ahora lo siguiente en OnGameModeInt
Una vez echo esto vamos a OnPlayerCommandText y ponemos lo siguiente
Por ultimo, colocar la funcion de cada menu, creamos el calback OnPlayerSelectedMenuRow
Bueno esto fue todo si algo esta mal me avisan y lo corrijo o los ayudo a corregirlos
salu2 y suerte
Bueno vamos a lo primero
arriba de todo definimos las variables
pawn Код:
new Menu:menu; //sera el menu principal
new Menu:teleport; //de si quieren q el menu sea de teleports
new Menu:armas; //esto si x ejemplo quieren q el menu sea de armas
pawn Код:
public OnGameModeInit()
{
//Menu Principal
menu = CreateMenu("Menu Principal", 1,20,120,150,40);
AddMenuItem(menu, 0, "Teleports");
AddMenuItem(menu, 0, "Armas");
//Para los teleports
teleport = CreateMenu("Teleports", 1,20,120,150,40); //estos son solo teleports de ejemplos
AddMenuItem(teleport, 0, "Las Venturas");
AddMenuItem(teleport, 0, "San Fierro");
AddMenuItem(teleport, 0, "Los Santos");
AddMenuItem(teleport, 0, "Area 51");
AddMenuItem(teleport, 0, "Grove Street");
AddMenuItem(teleport, 0, "~r~Menu");
//ahora para el menu de armas
armas = CreateMenu("Armas", 1,20,120,150,40); //estos son solo armas de ejemplo
AddMenuItem(armas, 0, "Escopetas Recortadas");
AddMenuItem(armas, 0, "Micro Subfusil Uzi");
AddMenuItem(armas, 0, "Rifle de Asalto M4");
AddMenuItem(armas, 0, "Pistolas Colts");
AddMenuItem(armas, 0, "Chaleco Antibalas");
AddMenuItem(armas, 0, "~r~Menu");
}
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/menu", cmdtext, true, 10) == 0) //Este sera el comando para abrir el menu
{
ShowMenuForPlayer(menu,playerid);
TogglePlayerControllable(playerid,false);
return 1;
}
return 0;
}
pawn Код:
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:CurrentMenu = GetPlayerMenu(playerid);
if(CurrentMenu == menu) //Este sera el menu principal
{
switch(row)
{
case 0:
{
ShowMenuForPlayer(teleport, playerid);
}
case 1:
{
ShowMenuForPlayer(armas, playerid);
}
}
}
if(CurrentMenu == teleport) //Este sera el menu de teleports
{
switch(row)
{
case 0:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 2003.2086,1544.2545,13.5859); //posision en este caso de lv
GameTextForPlayer(playerid, "~r~Las Venturas", 5000, 5); //mensaje q se envia a cada jugador
TogglePlayerControllable(playerid,1);
}
case 1:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, -1517.3062,922.3460,7.1875);
GameTextForPlayer(playerid, "~r~San Fierro", 5000, 5);
TogglePlayerControllable(playerid,1);
}
case 2:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 1226.0288,-1815.6396,16.5938);
GameTextForPlayer(playerid, "~r~Los Santos", 5000, 5);
TogglePlayerControllable(playerid,1);
}
case 3:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 213.5928,1908.1354,17.6406);
GameTextForPlayer(playerid, "~r~Grove Street", 5000, 5);
TogglePlayerControllable(playerid,1);
}
case 4:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 2494.0364,-1682.7588,13.3383);
GameTextForPlayer(playerid, "~r~Area 51", 5000, 5);
TogglePlayerControllable(playerid,1);
}
case 5:
{
ShowMenuForPlayer(menu, playerid);
}
}
}
if(CurrentMenu == armas) //sera el menu de armas
{
switch(row)
{
case 0:
{
GivePlayerWeapon(playerid, 26, 500); //ejemplo de arma, pueden cambiarlos solo cambiando el id del arma.
GameTextForPlayer(playerid, "~r~Escopetas Recortadas Obtenidas", 5000, 5); //mensaje al recibir armas
TogglePlayerControllable(playerid,1);
}
case 1:
{
GivePlayerWeapon(playerid, 28, 500);
GameTextForPlayer(playerid, "~r~Micro Uzis Obtenidas", 5000, 5);
TogglePlayerControllable(playerid,1);
}
case 2:
{
GivePlayerWeapon(playerid, 31, 500);
GameTextForPlayer(playerid, "~r~Rifle M4 Obtenido", 5000, 5);
TogglePlayerControllable(playerid,1);
}
case 3:
{
GivePlayerWeapon(playerid, 22, 500);
GameTextForPlayer(playerid, "~r~Pistolas Colts Obtenidas", 5000, 5);
TogglePlayerControllable(playerid,1);
}
case 4:
{
SetPlayerArmour(playerid, 100.0);
GameTextForPlayer(playerid, "~r~Chaleco Antibalas Obtenido", 5000, 5);
TogglePlayerControllable(playerid,1);
}
case 5:
{
ShowMenuForPlayer(menu, playerid); //volver al menu principal
}
}
}
return 1;
}
salu2 y suerte