15.08.2011, 00:59
(
Последний раз редактировалось Adoniiz; 15.08.2011 в 22:20.
)
Buenas a todos, tengan un cordial saludo, hoy les voy a traer como crear un menu tipo GTA SA normal bien, vamos al grano.
Paso 1:
Primero quй todo, definiremos nuestra variable del menu, la cual serнa estбPaso 1:
pawn Код:
new Menu:EjemploMenu;
Donde dice "EjemploMenu" lo vas a cambiar por el nombre que quieras
Paso 2:
Despuйs nos vamos a OnGameModeInit, y ponemos esto:pawn Код:
public OnGameModeInit()
{
EjemploMenu = CreateMenu("Nombre del Menu", 0, 200.0, 100.0, 150.0, 150.0);
AddMenuItem(EjemploMenu, 0, "Desert Eagle");
AddMenuItem(EjemploMenu, 0, "9mm");
// lo demбs que tienes en OnGameModeInit.
return 1;
}
Nombre Del Menu = Allн pondran el nombre que tendra su menu, por ejemplo "Armas"
0 = Es el nъmero de columnas que ustedes desean poner, por lo tanto lo dejamos en "0"
200.0 = es la posiciуn X que tendra su numero, si lo quieren izquierda o derecha, arriba o abajo.
100.0 es la posicion Y quй tendrб su menu.
150.0 y 150.0 Es el ancho de columnas quй tu pusistes, un ejemplo: si tu pusistes "2" columnas, tienes que cambiarlas de anchura, y si no, lo dejamos con los mismos numeros
Paso 3:
Ahora pondremos el comando para ver el menu cuando tu pones el comando, tambien puedes hacerlo con teclas, con pickups, etc. pero estб vez lo harй con comandos.Bien, nos vamos a OnPlayerCommandText y haremos nuestro comando, quedarнa asн.
pawn Код:
if(strcmp(cmdtext, "/armas", true) == 0)
{
ShowMenuForPlayer(EjemploMenu, playerid);
TogglePlayerControllable(playerid, 0);
return 1;
}
EjemploMenu = Es el nombre de la variable que hicimos en el primer paso, recuerda ponerle el nombre de la variable que tu le pusistes.
TogglePlayerControllabe = Es para congelar o descongelar al jugador, si estб en 0 = Congelado, 1 = Descongelado
playerid = es la id del jugador quй escribio el comando.
Paso 4:
Ahora, ya que hicimos el comando, definiremos el menu para darle las acciones, como por ejemplo los nombres quй pusй arriba, Desert Eagle y 9mm, definiendo los menus, le daremos la opcion de darle una accion, como por ejemplo darle una Desert Eagle cuando tu lo apretas "Desert Eagle" del menu.Bien, nos vamos a OnPlayerSelectedMenuRow y haremos lo siguiente:
pawn Код:
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:SelecMenu;
SelecMenu = GetPlayerMenu(playerid);
if(SelecMenu == EjemploMenu)
{
switch(row)
{
case 0:
{
GivePlayerWeapon(playerid, 24, 500);
SendClientMessage(playerid,COLOR_ROJO,"Has obtenido una Desert Eagle con 500 balas");
TogglePlayerControllable(playerid, 1);
}
case 1:
{
GivePlayerWeapon(playerid, 22, 500);
SendClientMessage(playerid,COLOR_ROJO,"Has obtenido una 9mm con 500 balas");
TogglePlayerControllable(playerid, 1);
}
}
}
return 1;
}
Despuйs de que hicimos eso, nos falta una cosa, como estбs congelado al ponerlo, debemos descongelarlo, y con eso hacemos lo siguiente:
Nos vamos a OnPlayerExitedMenu y ponemos esto:
pawn Код:
public OnPlayerExitedMenu(playerid)
{
new Menu:SelecMenu = GetPlayerMenu(playerid);
if(Menu:SelecMenu == EjemploMenu)
{
TogglePlayerControllable(playerid, 1);
}
return 1;
}
PD: Si usted no lo quiere que lo congele cuando abra el menu, quitele el TogglePlayerControllabe y ya. y si lo quita, quite lo del OnPlayerExitedMenu, ya que no vas a congelarlo cuando abra el menu.
Espero que le haya gustado el tutorial, y si van a poner comentarios negativos. por favor decir el porquй.
Y tambien si van a criticar, hacerlo constructiva.
Y tambien si van a criticar, hacerlo constructiva.
Algun error o algo, avisarme. Muchas gracias