16.01.2011, 22:03
Hola , quisiera saver como pongo un menu de armas como esto
/imageshack/img189/1913/samp018mg.png
porfabor ayudenme
/imageshack/img189/1913/samp018mg.png
porfabor ayudenme
ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Armas","Arma 1\r\nArma 2\r\nArma 3","Comprar", "Cancelar");
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(!response) return SendClientMessage(playerid, 0xFFFFFFFF, "You canceled!");
if(listitem == 1)
{
GivePlayerWeapon(playerid, 31, 500);
return 1;
}
else if(listitem == 2)
{
//otro
return 1;
}
}
return 0;
}
OnPlayerCommandText(playerid,cmdtext[])if(!strcmp(cmdtext, "/tienda", true)) // Con esto pueden acceder a la "tienda" de armas.
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Armas","Deagle $1000\nCombat Shotgun $3000\nM4 $5000", "Comprar", "Cancelar"); // Con esto tu eliges nadamas los nombres, y "\n" significa que pasas a la otra linea del dialogo, es decir, la otra opcion.
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) // esto es para se;alar la respuesta y agarrar las variables, las cuales seran utiles mas adelante.
{
if(response) // esta parte es importante si piensas hacer un dialogo en otro momento
{
switch(dialogid) // con esta cambia el id del dialogo, el primer dialogo que vamos a crear es por defecto el numero 1
{
case 1: // esto significa el primer caso, que seria el dialogo 1
{
switch(listitem) // con esto da la posibilidad de cambiar de linea, si no la agregas, no funcionara
{
case 0:// este el primer caso, es decir la primera opcion que agregue mas arriba, la cual seria "Deagle $1000"
{
if(GetPlayerMoney(playerid) < 1000) return SendClientMessage(playerid, 0xFFFFFF, "No tienes suficiente dinero."); // esta te sirve para que solo puedan comprarla si tienen mas de 1000 dolares. sino devolvera ese mensaje
GivePlayerMoney(playerid, -1000); // esto es para restarle 1000 dolares por comprar el arma
GivePlayerWeapon(playerid,24,1000); // aca seleccionas el arma de la opcion
}
case 1:// este es el segundo, NOTA; Siempre se empieza desde el case 0 y se sigue contando
{
if(GetPlayerMoney(playerid) < 3000) return SendClientMessage(playerid, 0xFFFFFF, "No tienes suficiente dinero."); // nota que cambie la cantidad de dinero
GivePlayerMoney(playerid, -3000); // nota que cambie la cantidad de dinero
GivePlayerWeapon(playerid,27,1000); // nota que cambie el id del arma a la de la combat shotgun
}
case 2:// este es el tercero {
if(GetPlayerMoney(playerid) < 5000) return SendClientMessage(playerid, 0xFFFFFF, "No tienes suficiente dinero.");
GivePlayerMoney(playerid, -5000);
GivePlayerWeapon(playerid,31,1000); // id de la m4
}
}
} // y listo!


, es dificil a simple vista, pero es facil de hacer, es mejor saber hacerlos que depender de lo que hagan los demas