|
Senior Member
Join Date: Jul 2012
Location: sky
|

10-03-2012
, 21:55
[ES]Ayuda con menu de compra
|
#1
|
Hola, como dice el titulo necesito ayuda con un menu de compra que cree, me compila perfecto con tres warnings:
Warning: Loose indentation on line 115
Warning: Loose indentation on line 196
Warning: Loose indentation on line 273
Lo hice pensando mas que nada para el HNS Mod. Los problemas son:
Al momento de elegir algo para comprar no me lo compra y me pone el "else"(el mensage que puse para que mande).
Se me mezclan los menus. Al momento de poner el submenu de vida me pone el de armas, y lo mismo en el caso de granadas. T_T
Despues hay varios buggs que los voy a ir arreglando con el tiempo.
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <engine>
#define PLUGIN "MenuHNS"
#define VERSION "1.0"
#define AUTHOR "Anti"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd( "nightvision" , "showMenu" );
}
public showMenu(id)
{
new menu = menu_create( "\yMenuBuy By Anti", "menuhandler")
menu_additem(menu, "\wArmas", "1", 0);
menu_additem(menu, "\wVida", "2", 0);
menu_additem(menu, "\wGranadas", "3", 0);
menu_additem(menu, "\wRespawn \r- 16000", "4", 0);
menu_setprop(menu, MPROP_EXITNAME, "Salir");
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
return PLUGIN_HANDLED;
}
public menuhandler(id, item, menu)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
Armas(id);
}
case 2:
{
Vida(id);
}
case 3:
{
Granadas(id);
}
case 4:
{
new money = cs_get_user_money(id);
if(money == 16000)
{
cs_set_user_money(id, money - 16000)
ExecuteHamB( Ham_CS_RoundRespawn, id);
}
else
{
client_print(id, print_center, "Te falta dinero para el respawn :P");
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
Armas(id)
{
new menu = menu_create("\yMenu de Armas", "Armashand")
menu_additem(menu, "\wDeagle \r- 10000", "1", 0);
menu_additem(menu, "\wScout \r- 12500", "2", 0);
menu_additem(menu, "\wAwp \r- 15000", "3", 0);
menu_setprop(menu, MPROP_EXITNAME, "Salir");
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public Armashand(id, item, menu)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
if(is_user_connected(id) )
showMenu(id);
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
new money = cs_get_user_money(id);
if(money >= 100 && is_user_alive(id))
{
cs_set_user_money(id, money - 100)
give_item(id, "weapon_deagle");
cs_set_weapon_ammo(find_ent_by_owner(id, "weapon_deagle", id), 1);
}
else
{
client_print(id, print_center, "Tenes que estar vivo, o te falta dinero.");
}
}
case 2:
{
new money = cs_get_user_money(id);
if( money >= 12500 && is_user_alive(id))
{
cs_set_user_money(id, money - 12500)
give_item(id, "weapon_scout");
cs_set_weapon_ammo(find_ent_by_owner(id, "weapon_scout", id), 1);
}
else
{
client_print(id, print_center, "Tenes que estar vivo, o te falta dinero.");
}
}
case 3:
{
new money = cs_get_user_money(id);
if( money >= 15000 && is_user_alive(id))
{
cs_set_user_money(id, money - 15000)
cs_set_weapon_ammo(find_ent_by_owner(id, "weapon_awp", id), 1);
give_item(id, "weapon_awp");
}
else
{
client_print(id, print_center, "Tenes que estar vivo, o te falta dinero.");
}
}
}
}
}
Vida(id)
{
new menu = menu_create("\yMenu de Vida", "vidahand")
menu_additem(menu, "\wVida 100 \r- 5000", "1", 0);
menu_additem(menu, "\wVida 125 \r- 6500", "2", 0);
menu_additem(menu, "\wVida 150 \r- 8000", "3", 0);
menu_setprop(menu, MPROP_EXITNAME, "Salir");
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public vidahand(id, item, menu)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
if(is_user_connected(id) )
showMenu(id);
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
new money = cs_get_user_money(id);
if(money >= 5000 && is_user_alive(id))
{
cs_set_user_money(id, money - 5000)
set_user_health(id, 100);
}
else
{
client_print(id, print_center, "Tenes que estar vivo, o te falta dinero.");
}
}
case 2:
{
new money = cs_get_user_money(id);
if(money >= 6500 && is_user_alive(id))
{
cs_set_user_money(id, money - 6500)
set_user_health(id, 125);
}
else
{
client_print(id, print_center, "Tenes que estar vivo, o te falta dinero.");
}
}
case 3:
{
new money = cs_get_user_money(id);
if(money >= 8000 && is_user_alive(id))
{
cs_set_user_money(id, money - 8000)
set_user_health(id, 150);
}
else
{
client_print(id, print_center, "Tenes que estar vivo, o te falta dinero.");
}
}
}
}
}
Granadas(id)
{
new menu = menu_create("\yMenu de Granadas", "granadashand")
menu_additem(menu, "\wFlash \r- 4000", "1", 0);
menu_additem(menu, "\wHe \r- 5000", "2", 0);
menu_additem(menu, "\wFrost \r- 6000", "3", 0);
menu_setprop(menu, MPROP_EXITNAME, "Salir");
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu, 0);
}
public granadashand(id, item, menu)
{
if(item == MENU_EXIT)
{
menu_destroy(menu);
if(is_user_connected(id) )
showMenu(id);
new data[6], iName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
new money = cs_get_user_money(id);
if(money >= 4000 && is_user_alive(id))
{
cs_set_user_money(id, money - 4000)
give_item(id, "weapon_flashbang");
}
else
{
client_print(id, print_center, "Tenes que estar vivo, o te falta dinero.");
}
}
case 2:
{
new money = cs_get_user_money(id);
if(money >= 5000 && is_user_alive(id))
{
cs_set_user_money(id, money - 5000)
give_item(id, "weapon_hegrenade");
}
else
{
client_print(id, print_center, "Tenes que estar vivo, o te falta dinero.");
}
}
case 3:
{
new money = cs_get_user_money(id);
if(money >= 6000 && is_user_alive(id))
{
cs_set_user_money(id, money - 6000)
give_item(id, "weapon_smokegrenade");
}
else
{
client_print(id, print_center, "Tenes que estar vivo, o te falta dinero.");
}
}
}
}
}
PD: Ya se que es muy poco optimizado, pero es mi primer plugin y salio lo que salio. Soy medio nuevo en esto y estoy viendo de aprender de esta pag.
Muchas Gracias.
|
|