здравствуйте изменил почти все плагины на unlimited money,но не могу исправить меню передачи денег,если я кому денег передам оно отнимается но в чате не пишет кому я передал и эти деньги игроку не приходить.
Код:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <colorchat>
#define UL_COMPAT
#if defined UL_COMPAT
#include <money_ul>
#endif
// Compatibility with Unlimited Money
#if defined UL_COMPAT
#define get_user_money(%1) cs_get_user_money_ul(%1)
#define set_user_money(%1,%2) cs_set_user_money_ul(%1,%2)
#else
#define set_user_money(%1,%2) cs_set_user_money(%1,%2)
#define get_user_money(%1) cs_get_user_money(%1)
#endif
#define PLUGIN "MoneyTransfer"
#define VERSION "0.3"
#define AUTHOR "ZETA [M|E|N]"
new players_menu,money_menu,players[32],num,i
new name[32],info[10],player,addmenu[121]
new data[32], iName[64],money,transfer[7]
new accessmenu, callback,player_money
public plugin_init() {
register_plugin("MoneyTransfer","0.3","ZETA [M|E|N]")
register_clcmd("say /money","func_money_transfer",ADMIN_ALL,"")
register_clcmd("say /tm","func_money_transfer",ADMIN_ALL,"")
// Shaman
register_clcmd("transfer", "transfer_money", ADMIN_ALL, "")
}
public func_money_transfer(id) {
players_menu=menu_create("Игроки","players_menu_handler")
get_players(players,num)
for(i=0;i<num;i++) {
if(players[i]!=id) {
get_user_name(players[i],name,31)
num_to_str(players[i],info,9)
menu_additem(players_menu,name,info)
}
}
menu_display(id,players_menu,0)
return PLUGIN_HANDLED
}
public players_menu_handler(id,players_menu,item) {
if(item==MENU_EXIT) return PLUGIN_HANDLED
menu_item_getinfo(players_menu,item,accessmenu,data,31,iName,63,callback)
player=str_to_num(data)
get_user_name(player,name,31)
money=get_user_money(id)
player_money=get_user_money(player)
format(addmenu,120,"Перевести деньги \y%s",name)
transfer={0,0,0,0,0,0,0}
money_menu=menu_create(addmenu,"money_menu_handler")
if(money>=100) {
transfer[1]=1
menu_additem(money_menu,"\w100$")
} else
menu_additem(money_menu,"\d100$")
if(money>=500) {
transfer[2]=1
menu_additem(money_menu,"\w500$")
} else
menu_additem(money_menu,"\d500$")
if(money>=1000) {
transfer[3]=1
menu_additem(money_menu,"\w1000$")
} else
menu_additem(money_menu,"\d1000$")
if(money>=3000) {
transfer[4]=1
menu_additem(money_menu,"\w3000$")
} else
menu_additem(money_menu,"\d3000$")
if(money>=5000) {
transfer[5]=1
menu_additem(money_menu,"\w5000$")
} else
menu_additem(money_menu,"\d5000$")
if(money>=10000) {
transfer[6]=1
menu_additem(money_menu,"\w10000$")
} else
menu_additem(money_menu,"\d10000$")
menu_additem(money_menu,"\wВвести")
menu_display(id,money_menu,0)
return PLUGIN_HANDLED
}
public money_menu_handler(id,money_menu,item) {
if(item==MENU_EXIT) return PLUGIN_HANDLED
item++
new amount
switch(item) {
case 1:{
if(transfer[1]==1) {
amount=100
set_user_money(id,money-amount)
set_user_money(player,player_money+amount)
} else
menu_display(id,money_menu,0)
}
case 2:{
if(transfer[2]==1) {
amount=500
set_user_money(id,money-amount)
set_user_money(player,player_money+amount)
} else
menu_display(id,money_menu,0)
}
case 3:{
if(transfer[3]==1) {
amount=1000
set_user_money(id,money-amount)
set_user_money(player,player_money+amount)
} else
menu_display(id,money_menu,0)
}
case 4:{
if(transfer[4]==1) {
amount=3000
set_user_money(id,money-amount)
set_user_money(player,player_money+amount)
} else
menu_display(id,money_menu,0)
}
case 5:{
if(transfer[5]==1) {
amount=5000
set_user_money(id,money-amount)
set_user_money(player,player_money+amount)
} else
menu_display(id,money_menu,0)
}
case 6:{
if(transfer[6]==1) {
amount=10000
set_user_money(id,money-amount)
set_user_money(player,player_money+amount)
} else
menu_display(id,money_menu,0)
}
// Shaman add:
case 7:{
client_cmd(id, "messagemode ^"transfer %i^"", player)
return PLUGIN_CONTINUE
}
}
if(item!=7) {
new names[2][32]
get_user_name(id, names[0], 31)
get_user_name(player, names[1], 31)
client_print_color(0, Blue, "^1Игрок ^3%s ^1передал ^4$%i ^3%s", names[0], amount, names[1])
}
return PLUGIN_HANDLED
}
// Shaman: Add function from money_transfer_fixed.amxx (without any changes)
public transfer_money(id)
{
new param[10]
read_argv(2, param, charsmax(param))
for (new x; x < strlen(param); x++)
{
if(!isdigit(param[x]))
{
client_print_color(id, Red, "^4Параметр должен быть числом")
return PLUGIN_HANDLED
}
}
new amount = str_to_num(param)
new money = get_user_money(id)
if (money < amount)
{
client_print_color(id, Red, "^4У вас не хватает денег")
return PLUGIN_HANDLED
}
read_argv(1, param, charsmax(param))
new player = str_to_num(param)
// Check
if (player == id) {
return PLUGIN_HANDLED
}
new player_money = get_user_money(player)
set_user_money(id, money - amount, 1)
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)
client_print_color(0, Blue, "^1Игрок ^3%s ^1передал ^4$%i ^3%s", names[0], amount, names[1])
return PLUGIN_HANDLED
}