#include <amxmodx>
#include <cstrike>
#include <colorchat>
#define PLUGIN "Money"
#define VERSION "1.0"
#define AUTHOR "x3"
new players_menu, players[32], num, i
new accessmenu, iName[64], callback
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /tm", "transfer_menu", ADMIN_ALL, "")
register_clcmd("say_team /tm", "transfer_menu", ADMIN_ALL, "")
register_clcmd("transfer", "transfer_money", ADMIN_ALL, "")
}
public transfer_menu(id)
{
get_players(players, num, "h")
if (num <= 1)
{
ColorChat(id, DontChange, "^4[^3Money^4] Кому ты хочешь передать ^3деньги? - ^4Нет игроков, ^3дибил :D")
return PLUGIN_HANDLED
}
new tempname[32], info[10], msg[222]
formatex(msg, charsmax(msg), "\r[\yMoneyTransfer\r] \wМеню игроков^n\dВаши деньги: \r$%d \y| \dСтр. \r", cs_get_user_money(id))
players_menu = menu_create(msg, "players_menu_handler")
for(i = 0; i < num; i++)
{
if(players[i] == id)
continue
get_user_name(players[i], tempname, 31)
num_to_str(players[i], info, 9)
formatex(msg, charsmax(msg), "%s \w(\r$%d\w)", tempname, cs_get_user_money(players[i]))
menu_additem(players_menu, msg, info, 0)
}
menu_setprop(players_menu, MPROP_BACKNAME, "Назад")
menu_setprop(players_menu, MPROP_NEXTNAME, "Дальше")
menu_setprop(players_menu, MPROP_EXITNAME, "Выход")
menu_display(id, players_menu, 0)
return PLUGIN_CONTINUE
}
public players_menu_handler(id, players_menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(players_menu)
return PLUGIN_HANDLED
}
new data[6]
menu_item_getinfo(players_menu, item, accessmenu, data, charsmax(data), iName, charsmax(iName), callback)
new player = str_to_num(data)
client_cmd(id, "messagemode ^"transfer %i^"", player)
return PLUGIN_CONTINUE
}
public transfer_money(id)
{
if( read_argc() != 3 ) // + 1 as command
// ignore direct incorrect using
return PLUGIN_HANDLED
new param[6]
read_argv(2, param, charsmax(param))
for (new x; x < strlen(param); x++)
{
if(!isdigit(param[x]))
{
ColorChat(id, DontChange, "^4[^3Money^4] Вы должны ввести ^3число!")
transfer_menu(id)
return PLUGIN_HANDLED
}
}
new amount = str_to_num(param)
new money = cs_get_user_money(id)
if (money < amount)
{
ColorChat(id, DontChange, "^4[^3Money^4] У вас нет столько ^3денег!")
transfer_menu(id)
return PLUGIN_HANDLED
}
read_argv(1, param, charsmax(param))
new player = str_to_num(param)
new player_money = cs_get_user_money(player)
if( amount < 100 )
{
ColorChat(id, DontChange, "^4[^3Money^4] Минимальная сумма перевода - ^3100^4$")
transfer_menu(id)
return PLUGIN_HANDLED
}
cs_set_user_money(id, money - amount, 1)
cs_set_user_money(player, player_money + amount, 1)
new names[2][32]
get_user_name(id, names[0], 31)
get_user_name(player, names[1], 31)
ColorChat(0, DontChange, "^4[^3Money^4] Игрок ^3%s ^4передал ^3$%i ^4игроку ^3%s", names[0], amount, names[1])
return PLUGIN_HANDLED
}