Wczoraj zrobiłem plugin na dawanie ammopacków, po wpisaniu komendy /zapodajap wyskakuje komu dać AP np. pod 1. PLAYER
- wybieram PLAYER i muszę wpisać ilość np> 20AP , i ten PLAYER dostaję tyle ile mu dałem ale jest jeden problem bo nie chce mi odebrać tych ammopacków, które dałem innemu graczu / Mógłby mi ktoś powiedzieć co jest źle i co muszę poprawić aby mi odejmowało te ammopacki, które przekażę innemu graczowi.
KOD .SMA
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Daj ammopack"
#define VERSION "1.0"
#define AUTHOR "narquish"
native BB_get_user_ap(index);
native BB_set_user_ap(index, ammount);
new am_target[33];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say /zapodajap", "cmd_zapodaj", ADMIN_ALL);
register_concmd("cmd_ap", "cmd_msgmode", ADMIN_ALL);
}
public cmd_msgmode(id, level, cid)
{
if(cmd_access(id, level, cid, 2))
{
if(!am_target[id] || !is_user_connected(am_target[id]))
{
client_print(id, print_center, "No player selected!");
}
else
{
new ile_s[8];
read_argv(1, ile_s, 8);
new ile = str_to_num(ile_s);
if(ile > 0)
{
if(ile > BB_get_user_ap(id))
{
client_print(id, print_center, "Nie masz tyle AP");
}
else
{
BB_set_user_ap(am_target[id], BB_get_user_ap(am_target[id]) + ile);
client_print(id, print_center, "Zapodane");
}
}
else
{
client_print(id, print_center, "Czemu chcesz zabierac AP?");
}
am_target[id] = 0;
}
}
}
public cmd_zapodaj(id, level, cid)
{
if(cmd_access(id, level, cid, 1))
{
new menu, key[8], name[64], players[32], plnum;
menu = menu_create("Zapodaj AmmoPack", "menu_ammo_handle");
get_players(players, plnum, "ch");
for(new i = 0; i < plnum; i++)
{
get_user_name(players[i], name, 63);
formatex(name, 63, "%s (%d AP)", name, BB_get_user_ap(players[i]));
formatex(key, 7, "%d", players[i]);
menu_additem(menu, name, key);
}
menu_display(id, menu);
}
}
public menu_ammo_handle(id, menu, item)
{
new info[8], name[64], a, c;
menu_item_getinfo(menu, item, a, info, 7, name, 63 , c);
new tar = str_to_num(info);
if(is_user_connected(tar) && is_user_connected(id))
{
am_target[id] = tar;
client_cmd(id, "messagemode cmd_ap");
}
menu_destroy(menu);
}