SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Español/Spanish > Lanzamientos/Releases

 
 
Thread Tools Display Modes
Old 15/08/2011, 12:59 AM   #1
Adoniiz
Gangsta
 
Join Date: Mar 2010
Location: Wormhole
Posts: 832
Reputation: 57
Default Crear un menu como la de GTA SA SinglePlayer.

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á

pawn Code:
new Menu:EjemploMenu;

Esto va debajo de los #define
Donde dice "EjemploMenu" lo vas a cambiar por el nombre que quieras


Paso 2:

Después nos vamos a OnGameModeInit, y ponemos esto:

pawn Code:
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;
}

EjemploMenu = Es la variable qué definimos, allí van a ponerlo al nombre qué ustedes le pusieron
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 Code:
if(strcmp(cmdtext, "/armas", true) == 0)
    {
            ShowMenuForPlayer(EjemploMenu, playerid);
            TogglePlayerControllable(playerid, 0);
            return 1;
    }

ShowMenuForPlayer = es la función qué hace ver el menu.
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 Code:
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;
}

SelecMenu = Es la variable que definimos para que se vean los menus, es decir, los detecta cuando ponemos el comando. como por ejemplo: EjemploMenu.

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 Code:
public OnPlayerExitedMenu(playerid)
{
    new Menu:SelecMenu = GetPlayerMenu(playerid);
    if(Menu:SelecMenu == EjemploMenu)
    {
        TogglePlayerControllable(playerid, 1);
    }
    return 1;
}

Aqui definimos SelecMenu tambien, y con TogglePlayerControllabe, cuando está en uno, se descongela, tambien podemos usar false y true.

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.


Algun error o algo, avisarme. Muchas gracias
__________________

Last edited by Adoniiz; 15/08/2011 at 10:20 PM.
Adoniiz is offline  
Old 15/08/2011, 01:55 AM   #2
Ari3l
Huge Clucker
 
Ari3l's Avatar
 
Join Date: Aug 2010
Location: Puerto Madryn
Posts: 244
Reputation: 3
Default Respuesta: Crear un menu como la de GTA SA SinglePlayer.

Se ve bien. buen trabajo
Ari3l is offline  
Old 15/08/2011, 03:04 AM   #3
jurgen
Banned
 
Join Date: May 2009
Location: SA-MP
Posts: 526
Reputation: 25
Default Respuesta: Crear un menu como la de GTA SA SinglePlayer.

Bien explicado, Buen Post
jurgen is offline  
Old 15/08/2011, 02:39 PM   #4
[J]ulian
High-roller
 
[J]ulian's Avatar
 
Join Date: Feb 2010
Location: Argentina, Buenos Aires.
Posts: 1,684
Reputation: 94
Default Respuesta: Crear un menu como la de GTA SA SinglePlayer.

pawn Code:
new :Menu:EjemploMenu;

Quitá el : primero, quedando:

pawn Code:
new Menu:EjemploMenu;
__________________
Podrás imitarme, igualarme jamás.

Busco gente que sepa hacer mapas texturizados.
Para GameMode Roleplay que se aportará a la comunidad.
Interesados contacten por Mensaje Privado.


[J]ulian is offline  
Old 15/08/2011, 04:00 PM   #5
rubensm
Huge Clucker
 
Join Date: Jul 2010
Posts: 211
Reputation: 3
Default Re: Crear un menu como la de GTA SA SinglePlayer.

Buen tutorial, bien explicado.
rubensm is offline  
Old 15/08/2011, 06:17 PM   #6
Adoniiz
Gangsta
 
Join Date: Mar 2010
Location: Wormhole
Posts: 832
Reputation: 57
Default Respuesta: Crear un menu como la de GTA SA SinglePlayer.

Quote:
Originally Posted by [J]ulian View Post
pawn Code:
new :Menu:EjemploMenu;

Quitá el : primero, quedando:

pawn Code:
new Menu:EjemploMenu;
Gracias por decirme, fue un error mio.

Gracias a todos!
__________________
Adoniiz is offline  
Old 20/02/2012, 01:28 AM   #7
AoKDeviL
Little Clucker
 
Join Date: Feb 2012
Posts: 2
Reputation: 0
Default Re: Crear un menu como la de GTA SA SinglePlayer.

me sale unvalid function or declaration cuando pongo los:

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

me podrias desir por q me sale el error?
AoKDeviL is offline  
Old 21/02/2012, 05:40 PM   #8
Adoniiz
Gangsta
 
Join Date: Mar 2010
Location: Wormhole
Posts: 832
Reputation: 57
Default Respuesta: Re: Crear un menu como la de GTA SA SinglePlayer.

Quote:
Originally Posted by AoKDeviL View Post
me sale unvalid function or declaration cuando pongo los:

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

me podrias desir por q me sale el error?
Eso tiene que ir en la public OnPlayerSelectedMenuRow asi:

pawn Code:
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;
}
__________________
Adoniiz is offline  
Old 23/02/2012, 03:25 AM   #9
AoKDeviL
Little Clucker
 
Join Date: Feb 2012
Posts: 2
Reputation: 0
Unhappy Re: Crear un menu como la de GTA SA SinglePlayer.

bien ya pude solucionar errores pero cuando intento crear otro menu me lo ago me compila y me abre bien el juego
pero cuando pongo el comando para abrir el otro menu no se me ve nada solo el cuadro negro en chikito

1er menu se llama en el titulo del menu Armas
aqui tengo las armas normales sniper deagle etc

2do menu se llama en el titulo del menu Armas2
aqui puse accesorios como sierra cuchillo etc pero no se
ve nada solo el cuadro en chikito
bueno gracias y buen aporte

AoKDeviL is offline  
Old 23/02/2012, 03:44 AM   #10
Lunnatiicz
High-roller
 
Lunnatiicz's Avatar
 
Join Date: Dec 2010
Location: Torreóи CФahuila
Posts: 1,498
Reputation: 7
Default Respuesta: Crear un menu como la de GTA SA SinglePlayer.

Perdonen la ignorancia, dado a que uso puros dialogs, ese menu es el gris que sale en los ammunations y asi no?

Buen aporte, saludos
Lunnatiicz is offline  
 

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 04:03 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.