Русское сообщество по скриптингу

Ошибки передеч денег

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

Ошибки передеч денег

Сообщение lenarsaitov » 21 янв 2012, 12:13

В лог ошибках пишет
Код: Выделить всё
L 01/21/2012 - 12:10:34: Info (map "deathrun_baw_h") (file "addons/amxmodx/logs/error_20120121.log")
L 01/21/2012 - 12:10:34: Plugin called menu_display when item=MENU_EXIT
L 01/21/2012 - 12:10:34: [AMXX] Displaying debug trace (plugin "money_transfer.amxx")
L 01/21/2012 - 12:10:34: [AMXX] Run time error 10: native error (native "menu_display")
L 01/21/2012 - 12:10:34: [AMXX]    [0] TradeMoney.sma::ConfirmationMenu (line 217)
L 01/21/2012 - 12:10:34: [AMXX]    [1] TradeMoney.sma::RequestMoneyHandler (line 199)

вот плагин
Код: Выделить всё
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>

#define PLUGIN "Trade Money"
#define VERSION "1.3"
#define AUTHOR "GlaDiuS"

new gidPlayer[33]
new bool:openmenu[33]
new maxreqmenu[33], maxgivemenu[33]
new g_maxplayers
new g_msgSayText
new Itemlol[900]

new Enable, maxreq, maxgive

public plugin_init() {
   register_plugin(PLUGIN, VERSION, AUTHOR)
   
   RegisterHam( Ham_Spawn, "player", "fwSpawn", 1)
   
   register_clcmd("daysa", "MainMenu")
   register_clcmd("playermoney", "player")
   
   register_dictionary("TradeMoney.txt")
   
   Enable = register_cvar("money_enable", "1")
   maxreq = register_cvar("money_maxrequest", "5")
   maxgive = register_cvar("money_maxgive", "5")
   
   g_maxplayers = get_maxplayers()
   g_msgSayText = get_user_msgid("SayText")
}

public client_putinserver(id) {
   openmenu[id] = false
   maxreqmenu[id] = 0
   maxgivemenu[id] = 0
}

public fwSpawn(id) {
   openmenu[id] = false
   maxreqmenu[id] = 0
   maxgivemenu[id] = 0
   ChatColor(id, "%L %L",id, "PREFIX", id, "SPAWNMSG")
}

public MainMenu(id) {
   if(get_pcvar_num(Enable))
   {
      if(!openmenu[id] || is_user_alive(id)) {
         
         formatex(Itemlol, charsmax(Itemlol), "%L", id, "MAINMENUTITLE")
         new Menu = menu_create(Itemlol, "MainHandler")
         
         formatex(Itemlol, charsmax(Itemlol), "%L", id, "MAINMENUItem1")
         menu_additem(Menu, Itemlol, "1")
         formatex(Itemlol, charsmax(Itemlol), "%L", id, "MAINMENUItem2")
         menu_additem(Menu, Itemlol, "2")
         
         formatex(Itemlol, charsmax(Itemlol), "%L", id, "TEXT")
         menu_setprop(Menu, MPROP_EXITNAME, Itemlol)
         menu_display(id, Menu, 0)
         
         openmenu[id] = true
      }   
   }
   return PLUGIN_HANDLED
}

public MainHandler(id, Menu, Itemlol)
{
   if (Itemlol == MENU_EXIT)
   {
      menu_destroy(Menu)
      openmenu[id] = false
      return PLUGIN_HANDLED
   }
   
   new data[6], iName[64]
   new access, callback
   menu_item_getinfo(Menu, Itemlol, access, data,5, iName, 63, callback)
   
   
   new key = str_to_num(data)
   switch (key)
   {
      case 1:
      {
         GiveMoneyMenu(id)
      }
      case 2:
      {
         RequestMoneyMenu(id)
      }
   }
   menu_destroy(Menu)
   return PLUGIN_HANDLED
}

public GiveMoneyMenu(id)
{
   if(maxgivemenu[id] <= get_pcvar_num(maxgive))
   {
      formatex(Itemlol, charsmax(Itemlol), "%L", id, "GIVEMENUTITLE")
      new wMenu = menu_create(Itemlol, "GiveMoneyHandler")
      new Pos[3], Name[32]
      
      for (new i = 1; i <= g_maxplayers; i++)
      {
         if (!is_user_connected(i) || !is_user_alive(i) || i == id)
         {
            openmenu[id] = false
            continue
         }
         num_to_str(i, Pos, sizeof(Pos)-1)
         get_user_name(i, Name, sizeof(Name)-1)
         formatex(Itemlol, charsmax(Itemlol), "\w%s \r$%d", Name, cs_get_user_money(i))
         menu_additem(wMenu, Itemlol, Pos)
      }
      formatex(Itemlol, charsmax(Itemlol), "%L", id, "EXIT")
      menu_setprop(wMenu, MPROP_EXITNAME, Itemlol)
      menu_display(id, wMenu, 0)
   }
   else
   {
      ChatColor(id, "%L %L",id, "PREFIX", id, "LIMITOPEN", maxgivemenu[id])
   }
}

public GiveMoneyHandler(id, wMenu, Itemlol)
{
   if (Itemlol == MENU_EXIT)
   {
      menu_destroy(wMenu)
      openmenu[id] = false
      return PLUGIN_HANDLED
   }
   
   new Data[6], Name[64]
   new Access, Callback
   menu_item_getinfo(wMenu, Itemlol, Access, Data, sizeof(Data)-1, Name, sizeof(Name)-1, Callback)
   
   new key = str_to_num(Data)
   gidPlayer[key] = id
   client_cmd(id, "messagemode playermoney")
   maxgivemenu[id]++
   
   menu_destroy(wMenu)
   return PLUGIN_HANDLED
}

public RequestMoneyMenu(id)
{
   if(maxreqmenu[id] <= get_pcvar_num(maxreq))
   {
      formatex(Itemlol, charsmax(Itemlol), "%L", id, "REQMENUTITLE")
      new wMenu = menu_create(Itemlol, "RequestMoneyHandler")
      new Pos[3], Name[32]
      
      for (new i = 1; i <= g_maxplayers; i++)
      {
         if (!is_user_connected(i) || !is_user_alive(i) || i == id)
         {
            openmenu[id] = false
            continue
         }
         num_to_str(i, Pos, sizeof(Pos)-1)
         get_user_name(i, Name, sizeof(Name)-1)
         formatex(Itemlol, charsmax(Itemlol), "\w%s \r$%d", Name, cs_get_user_money(i))
         menu_additem(wMenu, Itemlol, Pos)
      }
      formatex(Itemlol, charsmax(Itemlol), "%L", id, "EXIT")
      menu_setprop(wMenu, MPROP_EXITNAME, Itemlol)
      menu_display(id, wMenu, 0)
   }
   else
   {
      ChatColor(id, "%L %L",id, "PREFIX", id, "LIMITOPEN", maxreqmenu[id])
   }
}

public RequestMoneyHandler(id, wMenu, Itemlol)
{
   if (Itemlol == MENU_EXIT)
   {
      menu_destroy(wMenu)
      openmenu[id] = false
      return PLUGIN_HANDLED
   }
   
   new Data[6], Name[64]
   new Access, Callback
   menu_item_getinfo(wMenu, Itemlol, Access, Data, sizeof(Data)-1, Name, sizeof(Name)-1, Callback)
   
   new key = str_to_num(Data)
   gidPlayer[key] = id
   ConfirmationMenu(key)
   
   menu_destroy(wMenu)
   return PLUGIN_HANDLED
}

public ConfirmationMenu(id) {   
   new Name[32];get_user_name(gidPlayer[id], Name, 31)
   formatex(Itemlol, charsmax(Itemlol), "%L", id, "CONFMENUTITLE", Name)
   new Menu = menu_create(Itemlol, "ConfirmationHandler")
   
   formatex(Itemlol, charsmax(Itemlol), "%L", id, "CONFMENUItem1")
   menu_additem(Menu, Itemlol, "1")
   formatex(Itemlol, charsmax(Itemlol), "%L", id, "CONFMENUItem2")
   menu_additem(Menu, Itemlol, "2")
   
   formatex(Itemlol, charsmax(Itemlol), "%L", id, "EXIT")
   menu_setprop(Menu, MPROP_EXITNAME, Itemlol)
   menu_display(id, Menu, 0)
   
   return PLUGIN_HANDLED
}

public ConfirmationHandler(id, Menu, Itemlol)
{
   if (Itemlol == MENU_EXIT)
   {
      ConfirmationMenu(id)
      return PLUGIN_HANDLED
   }
   
   new data[6], iName[33]
   new access, callback
   menu_item_getinfo(Menu, Itemlol, access, data,5, iName, 63, callback)
   
   new Name[32]
   get_user_name(id,Name,31)
   get_user_name(gidPlayer[id], iName, 31)
   
   new key = str_to_num(data)
   switch (key)
   {
      case 1:
      {
         ChatColor(id, "%L %L",id, "PREFIX",id, "PLAYERACCEPT", iName)
         ChatColor(gidPlayer[id], "%L %L",id, "PREFIX", id, "TARGETACCEPT", Name)
         client_cmd(id, "messagemode playermoney")
         maxreqmenu[id]++
      }
      case 2:
      {
         ChatColor(id, "%L %L",id, "PREFIX",id, "PLAYERREFUSE")
         ChatColor(gidPlayer[id], "%L %L",id, "PREFIX",id, "TARGETREFUSE", Name)
         openmenu[id] = false
      }
   }
   menu_destroy(Menu)
   return PLUGIN_HANDLED
}

public player(id)
{
   if(get_pcvar_num(Enable))
   {
      new say[300]
      read_args(say, charsmax(say))
      
      remove_quotes(say)
      
      if(!is_str_num(say) || equal(say, ""))
         return PLUGIN_HANDLED
      
      money(id, say)
   }
   return PLUGIN_CONTINUE
}

money(id, say[]) {
   new amount = str_to_num(say)
   new victim = gidPlayer[id]
   
   if( victim > 0 ) {
      new names[2][32]
      new idMoney = cs_get_user_money(id)
      new vMoney = cs_get_user_money(victim)
      
      
      get_user_name(id, names[0], 31)
           get_user_name(victim, names[1], 31)
      
      if(amount > idMoney)
      {
         ChatColor(id, "%L %L",id, "PREFIX",id, "ENOUGHMONEY")
         client_cmd(id, "messagemode playermoney")
         return PLUGIN_HANDLED
      }
      
      else {
         cs_set_user_money(id, cs_get_user_money(id) - amount)
         cs_set_user_money(victim, cs_get_user_money(victim) + amount)
         
         if(vMoney > 16000)
         {
            cs_set_user_money(victim, 16000)
         }
         
         ChatColor(id, "%L %L",id, "PREFIX", id, "AMOUNTGIVE", amount, names[1])
         ChatColor(victim, "%L %L",id, "PREFIX", id, "AMOUNTRECEIVE", names[0], amount)
         ChatColor(0, "^1Игрок ^3%s ^1передал ^4$%i ^3%s", names[0], amount, names[1])
      }
      openmenu[id] = false
   }
   else {
      return PLUGIN_HANDLED
   }
   return PLUGIN_HANDLED
}


stock ChatColor(const id, const input[], any:...)
{
   new count = 1, players[32]
   static msg[191]
   vformat(msg, 190, input, 3)
   
   replace_all(msg, 190, "!g", "^4")
   replace_all(msg, 190, "!y", "^1")
   replace_all(msg, 190, "!t", "^3")
   
   if (id) players[0] = id
   else get_players(players, count, "ch")
   for (new i = 0; i < count; i++)
   {
      if (is_user_connected(players[i]))
      {
         message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, players[i])
         write_byte(players[i])
         write_string(msg)
         message_end()
      }
   }
}
Аватара пользователя
lenarsaitov
 
Сообщения: 424
Зарегистрирован: 22 ноя 2011, 18:16
Благодарил (а): 81 раз.
Поблагодарили: 79 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6

Re: Ошибки передеч денег

Сообщение HoLLyWooD » 23 янв 2012, 20:26

Попробуй вот так:
Код: Выделить всё
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
 
#define PLUGIN "Trade Money"
#define VERSION "1.3"
#define AUTHOR "GlaDiuS"
 
new gidPlayer[33]
new bool:openmenu[33]
new maxreqmenu[33], maxgivemenu[33]
new g_maxplayers
new g_msgSayText
new Itemlol[900]
 
new Enable, maxreq, maxgive
 
public plugin_init() {
   register_plugin(PLUGIN, VERSION, AUTHOR)
   
   RegisterHam( Ham_Spawn, "player", "fwSpawn", 1)
   
   register_clcmd("daysa", "MainMenu")
   register_clcmd("playermoney", "player")
   
   register_dictionary("TradeMoney.txt")
   
   Enable = register_cvar("money_enable", "1")
   maxreq = register_cvar("money_maxrequest", "5")
   maxgive = register_cvar("money_maxgive", "5")
   
   g_maxplayers = get_maxplayers()
   g_msgSayText = get_user_msgid("SayText")
}
 
public client_putinserver(id) {
   openmenu[id] = false
   maxreqmenu[id] = 0
   maxgivemenu[id] = 0
}
 
public fwSpawn(id) {
   openmenu[id] = false
   maxreqmenu[id] = 0
   maxgivemenu[id] = 0
   ChatColor(id, "%L %L",id, "PREFIX", id, "SPAWNMSG")
}
 
public MainMenu(id) {
   if(get_pcvar_num(Enable))
   {
      if(!openmenu[id] || is_user_alive(id)) {
         
         formatex(Itemlol, charsmax(Itemlol), "%L", id, "MAINMENUTITLE")
         new Menu = menu_create(Itemlol, "MainHandler")
         
         formatex(Itemlol, charsmax(Itemlol), "%L", id, "MAINMENUItem1")
         menu_additem(Menu, Itemlol, "1")
         formatex(Itemlol, charsmax(Itemlol), "%L", id, "MAINMENUItem2")
         menu_additem(Menu, Itemlol, "2")
         
         formatex(Itemlol, charsmax(Itemlol), "%L", id, "TEXT")
         menu_setprop(Menu, MPROP_EXITNAME, Itemlol)
         menu_display(id, Menu, 0)
         
         openmenu[id] = true
      }  
   }
   return PLUGIN_HANDLED
}
 
public MainHandler(id, Menu, Itemlol)
{
   if (Itemlol == MENU_EXIT)
   {
      menu_destroy(Menu)
      openmenu[id] = false
      return PLUGIN_HANDLED
   }
   
   new data[6], iName[64]
   new access, callback
   menu_item_getinfo(Menu, Itemlol, access, data,5, iName, 63, callback)
   
   
   new key = str_to_num(data)
   switch (key)
   {
      case 1:
      {
         GiveMoneyMenu(id)
      }
      case 2:
      {
         RequestMoneyMenu(id)
      }
   }
   menu_destroy(Menu)
   return PLUGIN_HANDLED
}
 
public GiveMoneyMenu(id)
{
   if(maxgivemenu[id] <= get_pcvar_num(maxgive))
   {
      formatex(Itemlol, charsmax(Itemlol), "%L", id, "GIVEMENUTITLE")
      new wMenu = menu_create(Itemlol, "GiveMoneyHandler")
      new Pos[3], Name[32]
     
      for (new i = 1; i <= g_maxplayers; i++)
      {
         if (!is_user_connected(i) || !is_user_alive(i) || i == id)
         {
            openmenu[id] = false
            continue
         }
         num_to_str(i, Pos, sizeof(Pos)-1)
         get_user_name(i, Name, sizeof(Name)-1)
         formatex(Itemlol, charsmax(Itemlol), "\w%s \r$%d", Name, cs_get_user_money(i))
         menu_additem(wMenu, Itemlol, Pos)
      }
      formatex(Itemlol, charsmax(Itemlol), "%L", id, "EXIT")
      menu_setprop(wMenu, MPROP_EXITNAME, Itemlol)
      menu_display(id, wMenu, 0)
   }
   else
   {
      ChatColor(id, "%L %L",id, "PREFIX", id, "LIMITOPEN", maxgivemenu[id])
   }
}
 
public GiveMoneyHandler(id, wMenu, Itemlol)
{
   if (Itemlol == MENU_EXIT)
   {
      menu_destroy(wMenu)
      openmenu[id] = false
      return PLUGIN_HANDLED
   }
   
   new Data[6], Name[64]
   new Access, Callback
   menu_item_getinfo(wMenu, Itemlol, Access, Data, sizeof(Data)-1, Name, sizeof(Name)-1, Callback)
   
   new key = str_to_num(Data)
   gidPlayer[key] = id
   client_cmd(id, "messagemode playermoney")
   maxgivemenu[id]++
   
   menu_destroy(wMenu)
   return PLUGIN_HANDLED
}
 
public RequestMoneyMenu(id)
{
   if(maxreqmenu[id] <= get_pcvar_num(maxreq))
   {
      formatex(Itemlol, charsmax(Itemlol), "%L", id, "REQMENUTITLE")
      new wMenu = menu_create(Itemlol, "RequestMoneyHandler")
      new Pos[3], Name[32]
     
      for (new i = 1; i <= g_maxplayers; i++)
      {
         if (!is_user_connected(i) || !is_user_alive(i) || i == id)
         {
            openmenu[id] = false
            continue
         }
         num_to_str(i, Pos, sizeof(Pos)-1)
         get_user_name(i, Name, sizeof(Name)-1)
         formatex(Itemlol, charsmax(Itemlol), "\w%s \r$%d", Name, cs_get_user_money(i))
         menu_additem(wMenu, Itemlol, Pos)
      }
      formatex(Itemlol, charsmax(Itemlol), "%L", id, "EXIT")
      menu_setprop(wMenu, MPROP_EXITNAME, Itemlol)
      menu_display(id, wMenu, 0)
   }
   else
   {
      ChatColor(id, "%L %L",id, "PREFIX", id, "LIMITOPEN", maxreqmenu[id])
   }
}
 
public RequestMoneyHandler(id, wMenu, Itemlol)
{
   if (Itemlol == MENU_EXIT)
   {
      menu_destroy(wMenu)
      openmenu[id] = false
      return PLUGIN_HANDLED
   }
   
   new Data[6], Name[64]
   new Access, Callback
   menu_item_getinfo(wMenu, Itemlol, Access, Data, sizeof(Data)-1, Name, sizeof(Name)-1, Callback)
   
   new key = str_to_num(Data)
   gidPlayer[key] = id
 
   menu_destroy(wMenu)
   
   ConfirmationMenu(key)
   
   return PLUGIN_HANDLED
}
 
public ConfirmationMenu(id) {  
   new Name[32];get_user_name(gidPlayer[id], Name, 31)
   formatex(Itemlol, charsmax(Itemlol), "%L", id, "CONFMENUTITLE", Name)
   new Menu = menu_create(Itemlol, "ConfirmationHandler")
   
   formatex(Itemlol, charsmax(Itemlol), "%L", id, "CONFMENUItem1")
   menu_additem(Menu, Itemlol, "1")
   formatex(Itemlol, charsmax(Itemlol), "%L", id, "CONFMENUItem2")
   menu_additem(Menu, Itemlol, "2")
   
   formatex(Itemlol, charsmax(Itemlol), "%L", id, "EXIT")
   menu_setprop(Menu, MPROP_EXITNAME, Itemlol)
   menu_display(id, Menu, 0)
   
   return PLUGIN_HANDLED
}
 
public ConfirmationHandler(id, Menu, Itemlol)
{
   if (Itemlol == MENU_EXIT)
   {
      ConfirmationMenu(id)
      return PLUGIN_HANDLED
   }
   
   new data[6], iName[33]
   new access, callback
   menu_item_getinfo(Menu, Itemlol, access, data,5, iName, 63, callback)
   
   new Name[32]
   get_user_name(id,Name,31)
   get_user_name(gidPlayer[id], iName, 31)
   
   new key = str_to_num(data)
   switch (key)
   {
      case 1:
      {
         ChatColor(id, "%L %L",id, "PREFIX",id, "PLAYERACCEPT", iName)
         ChatColor(gidPlayer[id], "%L %L",id, "PREFIX", id, "TARGETACCEPT", Name)
         client_cmd(id, "messagemode playermoney")
         maxreqmenu[id]++
      }
      case 2:
      {
         ChatColor(id, "%L %L",id, "PREFIX",id, "PLAYERREFUSE")
         ChatColor(gidPlayer[id], "%L %L",id, "PREFIX",id, "TARGETREFUSE", Name)
         openmenu[id] = false
      }
   }
   menu_destroy(Menu)
   return PLUGIN_HANDLED
}
 
public player(id)
{
   if(get_pcvar_num(Enable))
   {
      new say[300]
      read_args(say, charsmax(say))
     
      remove_quotes(say)
     
      if(!is_str_num(say) || equal(say, ""))
         return PLUGIN_HANDLED
     
      money(id, say)
   }
   return PLUGIN_CONTINUE
}
 
money(id, say[]) {
   new amount = str_to_num(say)
   new victim = gidPlayer[id]
   
   if( victim > 0 ) {
      new names[2][32]
      new idMoney = cs_get_user_money(id)
      new vMoney = cs_get_user_money(victim)
     
     
      get_user_name(id, names[0], 31)
           get_user_name(victim, names[1], 31)
     
      if(amount > idMoney)
      {
         ChatColor(id, "%L %L",id, "PREFIX",id, "ENOUGHMONEY")
         client_cmd(id, "messagemode playermoney")
         return PLUGIN_HANDLED
      }
     
      else {
         cs_set_user_money(id, cs_get_user_money(id) - amount)
         cs_set_user_money(victim, cs_get_user_money(victim) + amount)
         
         if(vMoney > 16000)
         {
            cs_set_user_money(victim, 16000)
         }
         
         ChatColor(id, "%L %L",id, "PREFIX", id, "AMOUNTGIVE", amount, names[1])
         ChatColor(victim, "%L %L",id, "PREFIX", id, "AMOUNTRECEIVE", names[0], amount)
         ChatColor(0, "^1Игрок ^3%s ^1передал ^4$%i ^3%s", names[0], amount, names[1])
      }
      openmenu[id] = false
   }
   else {
      return PLUGIN_HANDLED
   }
   return PLUGIN_HANDLED
}
 
 
stock ChatColor(const id, const input[], any:...)
{
   new count = 1, players[32]
   static msg[191]
   vformat(msg, 190, input, 3)
   
   replace_all(msg, 190, "!g", "^4")
   replace_all(msg, 190, "!y", "^1")
   replace_all(msg, 190, "!t", "^3")
   
   if (id) players[0] = id
   else get_players(players, count, "ch")
   for (new i = 0; i < count; i++)
   {
      if (is_user_connected(players[i]))
      {
         message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, players[i])
         write_byte(players[i])
         write_string(msg)
         message_end()
      }
   }
}
Промолчишь - за умного сойдешь
Аватара пользователя
HoLLyWooD
 
Сообщения: 51
Зарегистрирован: 25 апр 2010, 17:42
Откуда: skype: hollywood_oo
Благодарил (а): 5 раз.
Поблагодарили: 12 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6

Re: Ошибки передеч денег

Сообщение lenarsaitov » 24 янв 2012, 00:56

HoLLyWooD писал(а):Попробуй вот так:
Код: Выделить всё
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
 
#define PLUGIN "Trade Money"
#define VERSION "1.3"
#define AUTHOR "GlaDiuS"
 
new gidPlayer[33]
new bool:openmenu[33]
new maxreqmenu[33], maxgivemenu[33]
new g_maxplayers
new g_msgSayText
new Itemlol[900]
 
new Enable, maxreq, maxgive
 
public plugin_init() {
   register_plugin(PLUGIN, VERSION, AUTHOR)
   
   RegisterHam( Ham_Spawn, "player", "fwSpawn", 1)
   
   register_clcmd("daysa", "MainMenu")
   register_clcmd("playermoney", "player")
   
   register_dictionary("TradeMoney.txt")
   
   Enable = register_cvar("money_enable", "1")
   maxreq = register_cvar("money_maxrequest", "5")
   maxgive = register_cvar("money_maxgive", "5")
   
   g_maxplayers = get_maxplayers()
   g_msgSayText = get_user_msgid("SayText")
}
 
public client_putinserver(id) {
   openmenu[id] = false
   maxreqmenu[id] = 0
   maxgivemenu[id] = 0
}
 
public fwSpawn(id) {
   openmenu[id] = false
   maxreqmenu[id] = 0
   maxgivemenu[id] = 0
   ChatColor(id, "%L %L",id, "PREFIX", id, "SPAWNMSG")
}
 
public MainMenu(id) {
   if(get_pcvar_num(Enable))
   {
      if(!openmenu[id] || is_user_alive(id)) {
         
         formatex(Itemlol, charsmax(Itemlol), "%L", id, "MAINMENUTITLE")
         new Menu = menu_create(Itemlol, "MainHandler")
         
         formatex(Itemlol, charsmax(Itemlol), "%L", id, "MAINMENUItem1")
         menu_additem(Menu, Itemlol, "1")
         formatex(Itemlol, charsmax(Itemlol), "%L", id, "MAINMENUItem2")
         menu_additem(Menu, Itemlol, "2")
         
         formatex(Itemlol, charsmax(Itemlol), "%L", id, "TEXT")
         menu_setprop(Menu, MPROP_EXITNAME, Itemlol)
         menu_display(id, Menu, 0)
         
         openmenu[id] = true
      }  
   }
   return PLUGIN_HANDLED
}
 
public MainHandler(id, Menu, Itemlol)
{
   if (Itemlol == MENU_EXIT)
   {
      menu_destroy(Menu)
      openmenu[id] = false
      return PLUGIN_HANDLED
   }
   
   new data[6], iName[64]
   new access, callback
   menu_item_getinfo(Menu, Itemlol, access, data,5, iName, 63, callback)
   
   
   new key = str_to_num(data)
   switch (key)
   {
      case 1:
      {
         GiveMoneyMenu(id)
      }
      case 2:
      {
         RequestMoneyMenu(id)
      }
   }
   menu_destroy(Menu)
   return PLUGIN_HANDLED
}
 
public GiveMoneyMenu(id)
{
   if(maxgivemenu[id] <= get_pcvar_num(maxgive))
   {
      formatex(Itemlol, charsmax(Itemlol), "%L", id, "GIVEMENUTITLE")
      new wMenu = menu_create(Itemlol, "GiveMoneyHandler")
      new Pos[3], Name[32]
     
      for (new i = 1; i <= g_maxplayers; i++)
      {
         if (!is_user_connected(i) || !is_user_alive(i) || i == id)
         {
            openmenu[id] = false
            continue
         }
         num_to_str(i, Pos, sizeof(Pos)-1)
         get_user_name(i, Name, sizeof(Name)-1)
         formatex(Itemlol, charsmax(Itemlol), "\w%s \r$%d", Name, cs_get_user_money(i))
         menu_additem(wMenu, Itemlol, Pos)
      }
      formatex(Itemlol, charsmax(Itemlol), "%L", id, "EXIT")
      menu_setprop(wMenu, MPROP_EXITNAME, Itemlol)
      menu_display(id, wMenu, 0)
   }
   else
   {
      ChatColor(id, "%L %L",id, "PREFIX", id, "LIMITOPEN", maxgivemenu[id])
   }
}
 
public GiveMoneyHandler(id, wMenu, Itemlol)
{
   if (Itemlol == MENU_EXIT)
   {
      menu_destroy(wMenu)
      openmenu[id] = false
      return PLUGIN_HANDLED
   }
   
   new Data[6], Name[64]
   new Access, Callback
   menu_item_getinfo(wMenu, Itemlol, Access, Data, sizeof(Data)-1, Name, sizeof(Name)-1, Callback)
   
   new key = str_to_num(Data)
   gidPlayer[key] = id
   client_cmd(id, "messagemode playermoney")
   maxgivemenu[id]++
   
   menu_destroy(wMenu)
   return PLUGIN_HANDLED
}
 
public RequestMoneyMenu(id)
{
   if(maxreqmenu[id] <= get_pcvar_num(maxreq))
   {
      formatex(Itemlol, charsmax(Itemlol), "%L", id, "REQMENUTITLE")
      new wMenu = menu_create(Itemlol, "RequestMoneyHandler")
      new Pos[3], Name[32]
     
      for (new i = 1; i <= g_maxplayers; i++)
      {
         if (!is_user_connected(i) || !is_user_alive(i) || i == id)
         {
            openmenu[id] = false
            continue
         }
         num_to_str(i, Pos, sizeof(Pos)-1)
         get_user_name(i, Name, sizeof(Name)-1)
         formatex(Itemlol, charsmax(Itemlol), "\w%s \r$%d", Name, cs_get_user_money(i))
         menu_additem(wMenu, Itemlol, Pos)
      }
      formatex(Itemlol, charsmax(Itemlol), "%L", id, "EXIT")
      menu_setprop(wMenu, MPROP_EXITNAME, Itemlol)
      menu_display(id, wMenu, 0)
   }
   else
   {
      ChatColor(id, "%L %L",id, "PREFIX", id, "LIMITOPEN", maxreqmenu[id])
   }
}
 
public RequestMoneyHandler(id, wMenu, Itemlol)
{
   if (Itemlol == MENU_EXIT)
   {
      menu_destroy(wMenu)
      openmenu[id] = false
      return PLUGIN_HANDLED
   }
   
   new Data[6], Name[64]
   new Access, Callback
   menu_item_getinfo(wMenu, Itemlol, Access, Data, sizeof(Data)-1, Name, sizeof(Name)-1, Callback)
   
   new key = str_to_num(Data)
   gidPlayer[key] = id
 
   menu_destroy(wMenu)
   
   ConfirmationMenu(key)
   
   return PLUGIN_HANDLED
}
 
public ConfirmationMenu(id) {  
   new Name[32];get_user_name(gidPlayer[id], Name, 31)
   formatex(Itemlol, charsmax(Itemlol), "%L", id, "CONFMENUTITLE", Name)
   new Menu = menu_create(Itemlol, "ConfirmationHandler")
   
   formatex(Itemlol, charsmax(Itemlol), "%L", id, "CONFMENUItem1")
   menu_additem(Menu, Itemlol, "1")
   formatex(Itemlol, charsmax(Itemlol), "%L", id, "CONFMENUItem2")
   menu_additem(Menu, Itemlol, "2")
   
   formatex(Itemlol, charsmax(Itemlol), "%L", id, "EXIT")
   menu_setprop(Menu, MPROP_EXITNAME, Itemlol)
   menu_display(id, Menu, 0)
   
   return PLUGIN_HANDLED
}
 
public ConfirmationHandler(id, Menu, Itemlol)
{
   if (Itemlol == MENU_EXIT)
   {
      ConfirmationMenu(id)
      return PLUGIN_HANDLED
   }
   
   new data[6], iName[33]
   new access, callback
   menu_item_getinfo(Menu, Itemlol, access, data,5, iName, 63, callback)
   
   new Name[32]
   get_user_name(id,Name,31)
   get_user_name(gidPlayer[id], iName, 31)
   
   new key = str_to_num(data)
   switch (key)
   {
      case 1:
      {
         ChatColor(id, "%L %L",id, "PREFIX",id, "PLAYERACCEPT", iName)
         ChatColor(gidPlayer[id], "%L %L",id, "PREFIX", id, "TARGETACCEPT", Name)
         client_cmd(id, "messagemode playermoney")
         maxreqmenu[id]++
      }
      case 2:
      {
         ChatColor(id, "%L %L",id, "PREFIX",id, "PLAYERREFUSE")
         ChatColor(gidPlayer[id], "%L %L",id, "PREFIX",id, "TARGETREFUSE", Name)
         openmenu[id] = false
      }
   }
   menu_destroy(Menu)
   return PLUGIN_HANDLED
}
 
public player(id)
{
   if(get_pcvar_num(Enable))
   {
      new say[300]
      read_args(say, charsmax(say))
     
      remove_quotes(say)
     
      if(!is_str_num(say) || equal(say, ""))
         return PLUGIN_HANDLED
     
      money(id, say)
   }
   return PLUGIN_CONTINUE
}
 
money(id, say[]) {
   new amount = str_to_num(say)
   new victim = gidPlayer[id]
   
   if( victim > 0 ) {
      new names[2][32]
      new idMoney = cs_get_user_money(id)
      new vMoney = cs_get_user_money(victim)
     
     
      get_user_name(id, names[0], 31)
           get_user_name(victim, names[1], 31)
     
      if(amount > idMoney)
      {
         ChatColor(id, "%L %L",id, "PREFIX",id, "ENOUGHMONEY")
         client_cmd(id, "messagemode playermoney")
         return PLUGIN_HANDLED
      }
     
      else {
         cs_set_user_money(id, cs_get_user_money(id) - amount)
         cs_set_user_money(victim, cs_get_user_money(victim) + amount)
         
         if(vMoney > 16000)
         {
            cs_set_user_money(victim, 16000)
         }
         
         ChatColor(id, "%L %L",id, "PREFIX", id, "AMOUNTGIVE", amount, names[1])
         ChatColor(victim, "%L %L",id, "PREFIX", id, "AMOUNTRECEIVE", names[0], amount)
         ChatColor(0, "^1Игрок ^3%s ^1передал ^4$%i ^3%s", names[0], amount, names[1])
      }
      openmenu[id] = false
   }
   else {
      return PLUGIN_HANDLED
   }
   return PLUGIN_HANDLED
}
 
 
stock ChatColor(const id, const input[], any:...)
{
   new count = 1, players[32]
   static msg[191]
   vformat(msg, 190, input, 3)
   
   replace_all(msg, 190, "!g", "^4")
   replace_all(msg, 190, "!y", "^1")
   replace_all(msg, 190, "!t", "^3")
   
   if (id) players[0] = id
   else get_players(players, count, "ch")
   for (new i = 0; i < count; i++)
   {
      if (is_user_connected(players[i]))
      {
         message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, players[i])
         write_byte(players[i])
         write_string(msg)
         message_end()
      }
   }
}

Спасибо сейчас проверю :3

Добавлено спустя 21 минуту 21 секунду:
HoLLyWooD, Не подскажешь что ты иммено изменил ?
Аватара пользователя
lenarsaitov
 
Сообщения: 424
Зарегистрирован: 22 ноя 2011, 18:16
Благодарил (а): 81 раз.
Поблагодарили: 79 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6

Re: Ошибки передеч денег

Сообщение HoLLyWooD » 24 янв 2012, 01:00

Уничтожил старое меню перед закрытием нового. Ой пропустил изменения :)

Держи:

[pawn]
  1. #include <amxmodx>

  2. #include <hamsandwich>

  3. #include <cstrike>

  4.  

  5. #define PLUGIN "Trade Money"

  6. #define VERSION "1.3"

  7. #define AUTHOR "GlaDiuS"

  8.  

  9. new gidPlayer[33]

  10. new bool:openmenu[33]

  11. new maxreqmenu[33], maxgivemenu[33]

  12. new g_maxplayers

  13. new g_msgSayText

  14. new Itemlol[900]

  15.  

  16. new Enable, maxreq, maxgive

  17.  

  18. public plugin_init() {

  19.    register_plugin(PLUGIN, VERSION, AUTHOR)

  20.    

  21.    RegisterHam( Ham_Spawn, "player", "fwSpawn", 1)

  22.    

  23.    register_clcmd("daysa", "MainMenu")

  24.    register_clcmd("playermoney", "player")

  25.    

  26.    register_dictionary("TradeMoney.txt")

  27.    

  28.    Enable = register_cvar("money_enable", "1")

  29.    maxreq = register_cvar("money_maxrequest", "5")

  30.    maxgive = register_cvar("money_maxgive", "5")

  31.    

  32.    g_maxplayers = get_maxplayers()

  33.    g_msgSayText = get_user_msgid("SayText")

  34. }

  35.  

  36. public client_putinserver(id) {

  37.    openmenu[id] = false

  38.    maxreqmenu[id] = 0

  39.    maxgivemenu[id] = 0

  40. }

  41.  

  42. public fwSpawn(id) {

  43.    openmenu[id] = false

  44.    maxreqmenu[id] = 0

  45.    maxgivemenu[id] = 0

  46.    ChatColor(id, "%L %L",id, "PREFIX", id, "SPAWNMSG")

  47. }

  48.  

  49. public MainMenu(id) {

  50.    if(get_pcvar_num(Enable))

  51.    {

  52.       if(!openmenu[id] || is_user_alive(id)) {

  53.          

  54.          formatex(Itemlol, charsmax(Itemlol), "%L", id, "MAINMENUTITLE")

  55.          new Menu = menu_create(Itemlol, "MainHandler")

  56.          

  57.          formatex(Itemlol, charsmax(Itemlol), "%L", id, "MAINMENUItem1")

  58.          menu_additem(Menu, Itemlol, "1")

  59.          formatex(Itemlol, charsmax(Itemlol), "%L", id, "MAINMENUItem2")

  60.          menu_additem(Menu, Itemlol, "2")

  61.          

  62.          formatex(Itemlol, charsmax(Itemlol), "%L", id, "TEXT")

  63.          menu_setprop(Menu, MPROP_EXITNAME, Itemlol)

  64.          menu_display(id, Menu, 0)

  65.          

  66.          openmenu[id] = true

  67.       }  

  68.    }

  69.    return PLUGIN_HANDLED

  70. }

  71.  

  72. public MainHandler(id, Menu, Itemlol)

  73. {

  74.    if (Itemlol == MENU_EXIT)

  75.    {

  76.       menu_destroy(Menu)

  77.       openmenu[id] = false

  78.       return PLUGIN_HANDLED

  79.    }

  80.    

  81.    new data[6], iName[64]

  82.    new access, callback

  83.    menu_item_getinfo(Menu, Itemlol, access, data,5, iName, 63, callback)

  84.    

  85.    

  86.    new key = str_to_num(data)

  87.    switch (key)

  88.    {

  89.       case 1:

  90.       {

  91.          GiveMoneyMenu(id)

  92.       }

  93.       case 2:

  94.       {

  95.          RequestMoneyMenu(id)

  96.       }

  97.    }

  98.    menu_destroy(Menu)

  99.    return PLUGIN_HANDLED

  100. }

  101.  

  102. public GiveMoneyMenu(id)

  103. {

  104.    if(maxgivemenu[id] <= get_pcvar_num(maxgive))

  105.    {

  106.       formatex(Itemlol, charsmax(Itemlol), "%L", id, "GIVEMENUTITLE")

  107.       new wMenu = menu_create(Itemlol, "GiveMoneyHandler")

  108.       new Pos[3], Name[32]

  109.      

  110.       for (new i = 1; i <= g_maxplayers; i++)

  111.       {

  112.          if (!is_user_connected(i) || !is_user_alive(i) || i == id)

  113.          {

  114.             openmenu[id] = false

  115.             continue

  116.          }

  117.          num_to_str(i, Pos, sizeof(Pos)-1)

  118.          get_user_name(i, Name, sizeof(Name)-1)

  119.          formatex(Itemlol, charsmax(Itemlol), "\w%s \r$%d", Name, cs_get_user_money(i))

  120.          menu_additem(wMenu, Itemlol, Pos)

  121.       }

  122.       formatex(Itemlol, charsmax(Itemlol), "%L", id, "EXIT")

  123.       menu_setprop(wMenu, MPROP_EXITNAME, Itemlol)

  124.       menu_display(id, wMenu, 0)

  125.    }

  126.    else

  127.    {

  128.       ChatColor(id, "%L %L",id, "PREFIX", id, "LIMITOPEN", maxgivemenu[id])

  129.    }

  130. }

  131.  

  132. public GiveMoneyHandler(id, wMenu, Itemlol)

  133. {

  134.    if (Itemlol == MENU_EXIT)

  135.    {

  136.       menu_destroy(wMenu)

  137.       openmenu[id] = false

  138.       return PLUGIN_HANDLED

  139.    }

  140.    

  141.    new Data[6], Name[64]

  142.    new Access, Callback

  143.    menu_item_getinfo(wMenu, Itemlol, Access, Data, sizeof(Data)-1, Name, sizeof(Name)-1, Callback)

  144.    

  145.    new key = str_to_num(Data)

  146.    gidPlayer[key] = id

  147.    client_cmd(id, "messagemode playermoney")

  148.    maxgivemenu[id]++

  149.    

  150.    menu_destroy(wMenu)

  151.    return PLUGIN_HANDLED

  152. }

  153.  

  154. public RequestMoneyMenu(id)

  155. {

  156.    if(maxreqmenu[id] <= get_pcvar_num(maxreq))

  157.    {

  158.       formatex(Itemlol, charsmax(Itemlol), "%L", id, "REQMENUTITLE")

  159.       new wMenu = menu_create(Itemlol, "RequestMoneyHandler")

  160.       new Pos[3], Name[32]

  161.      

  162.       for (new i = 1; i <= g_maxplayers; i++)

  163.       {

  164.          if (!is_user_connected(i) || !is_user_alive(i) || i == id)

  165.          {

  166.             openmenu[id] = false

  167.             continue

  168.          }

  169.          num_to_str(i, Pos, sizeof(Pos)-1)

  170.          get_user_name(i, Name, sizeof(Name)-1)

  171.          formatex(Itemlol, charsmax(Itemlol), "\w%s \r$%d", Name, cs_get_user_money(i))

  172.          menu_additem(wMenu, Itemlol, Pos)

  173.       }

  174.       formatex(Itemlol, charsmax(Itemlol), "%L", id, "EXIT")

  175.       menu_setprop(wMenu, MPROP_EXITNAME, Itemlol)

  176.       menu_display(id, wMenu, 0)

  177.    }

  178.    else

  179.    {

  180.       ChatColor(id, "%L %L",id, "PREFIX", id, "LIMITOPEN", maxreqmenu[id])

  181.    }

  182. }

  183.  

  184. public RequestMoneyHandler(id, wMenu, Itemlol)

  185. {

  186.    if (Itemlol == MENU_EXIT)

  187.    {

  188.       menu_destroy(wMenu)

  189.       openmenu[id] = false

  190.       return PLUGIN_HANDLED

  191.    }

  192.    

  193.    new Data[6], Name[64]

  194.    new Access, Callback

  195.    menu_item_getinfo(wMenu, Itemlol, Access, Data, sizeof(Data)-1, Name, sizeof(Name)-1, Callback)

  196.    

  197.    new key = str_to_num(Data)

  198.    gidPlayer[key] = id

  199.  

  200.    menu_destroy(wMenu)

  201.    

  202.    ConfirmationMenu(key)

  203.    

  204.    return PLUGIN_HANDLED

  205. }

  206.  

  207. public ConfirmationMenu(id) {  

  208.    new Name[32];get_user_name(gidPlayer[id], Name, 31)

  209.    formatex(Itemlol, charsmax(Itemlol), "%L", id, "CONFMENUTITLE", Name)

  210.    new Menu = menu_create(Itemlol, "ConfirmationHandler")

  211.    

  212.    formatex(Itemlol, charsmax(Itemlol), "%L", id, "CONFMENUItem1")

  213.    menu_additem(Menu, Itemlol, "1")

  214.    formatex(Itemlol, charsmax(Itemlol), "%L", id, "CONFMENUItem2")

  215.    menu_additem(Menu, Itemlol, "2")

  216.    

  217.    formatex(Itemlol, charsmax(Itemlol), "%L", id, "EXIT")

  218.    menu_setprop(Menu, MPROP_EXITNAME, Itemlol)

  219.    menu_display(id, Menu, 0)

  220.    

  221.    return PLUGIN_HANDLED

  222. }

  223.  

  224. public ConfirmationHandler(id, Menu, Itemlol)

  225. {

  226.    if (Itemlol == MENU_EXIT)

  227.    {

  228.       menu_destroy(Menu)

  229.       ConfirmationMenu(id)

  230.       return PLUGIN_HANDLED

  231.    }

  232.    

  233.    new data[6], iName[33]

  234.    new access, callback

  235.    menu_item_getinfo(Menu, Itemlol, access, data,5, iName, 63, callback)

  236.    

  237.    new Name[32]

  238.    get_user_name(id,Name,31)

  239.    get_user_name(gidPlayer[id], iName, 31)

  240.    

  241.    new key = str_to_num(data)

  242.    switch (key)

  243.    {

  244.       case 1:

  245.       {

  246.          ChatColor(id, "%L %L",id, "PREFIX",id, "PLAYERACCEPT", iName)

  247.          ChatColor(gidPlayer[id], "%L %L",id, "PREFIX", id, "TARGETACCEPT", Name)

  248.          client_cmd(id, "messagemode playermoney")

  249.          maxreqmenu[id]++

  250.       }

  251.       case 2:

  252.       {

  253.          ChatColor(id, "%L %L",id, "PREFIX",id, "PLAYERREFUSE")

  254.          ChatColor(gidPlayer[id], "%L %L",id, "PREFIX",id, "TARGETREFUSE", Name)

  255.          openmenu[id] = false

  256.       }

  257.    }

  258.    menu_destroy(Menu)

  259.    return PLUGIN_HANDLED

  260. }

  261.  

  262. public player(id)

  263. {

  264.    if(get_pcvar_num(Enable))

  265.    {

  266.       new say[300]

  267.       read_args(say, charsmax(say))

  268.      

  269.       remove_quotes(say)

  270.      

  271.       if(!is_str_num(say) || equal(say, ""))

  272.          return PLUGIN_HANDLED

  273.      

  274.       money(id, say)

  275.    }

  276.    return PLUGIN_CONTINUE

  277. }

  278.  

  279. money(id, say[]) {

  280.    new amount = str_to_num(say)

  281.    new victim = gidPlayer[id]

  282.    

  283.    if( victim > 0 ) {

  284.       new names[2][32]

  285.       new idMoney = cs_get_user_money(id)

  286.       new vMoney = cs_get_user_money(victim)

  287.      

  288.      

  289.       get_user_name(id, names[0], 31)

  290.            get_user_name(victim, names[1], 31)

  291.      

  292.       if(amount > idMoney)

  293.       {

  294.          ChatColor(id, "%L %L",id, "PREFIX",id, "ENOUGHMONEY")

  295.          client_cmd(id, "messagemode playermoney")

  296.          return PLUGIN_HANDLED

  297.       }

  298.      

  299.       else {

  300.          cs_set_user_money(id, cs_get_user_money(id) - amount)

  301.          cs_set_user_money(victim, cs_get_user_money(victim) + amount)

  302.          

  303.          if(vMoney > 16000)

  304.          {

  305.             cs_set_user_money(victim, 16000)

  306.          }

  307.          

  308.          ChatColor(id, "%L %L",id, "PREFIX", id, "AMOUNTGIVE", amount, names[1])

  309.          ChatColor(victim, "%L %L",id, "PREFIX", id, "AMOUNTRECEIVE", names[0], amount)

  310.          ChatColor(0, "^1Игрок ^3%s ^1передал ^4$%i ^3%s", names[0], amount, names[1])

  311.       }

  312.       openmenu[id] = false

  313.    }

  314.    else {

  315.       return PLUGIN_HANDLED

  316.    }

  317.    return PLUGIN_HANDLED

  318. }

  319.  

  320.  

  321. stock ChatColor(const id, const input[], any:...)

  322. {

  323.    new count = 1, players[32]

  324.    static msg[191]

  325.    vformat(msg, 190, input, 3)

  326.    

  327.    replace_all(msg, 190, "!g", "^4")

  328.    replace_all(msg, 190, "!y", "^1")

  329.    replace_all(msg, 190, "!t", "^3")

  330.    

  331.    if (id) players[0] = id

  332.    else get_players(players, count, "ch")

  333.    for (new i = 0; i < count; i++)

  334.    {

  335.       if (is_user_connected(players[i]))

  336.       {

  337.          message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, players[i])

  338.          write_byte(players[i])

  339.          write_string(msg)

  340.          message_end()

  341.       }

  342.    }

  343. }
[/pawn]

тебе пишет, что когда пользователь нажал выход из меню ( ITEM_EXIT ) то в это время вызывается открытие этого же меню.
Промолчишь - за умного сойдешь
Аватара пользователя
HoLLyWooD
 
Сообщения: 51
Зарегистрирован: 25 апр 2010, 17:42
Откуда: skype: hollywood_oo
Благодарил (а): 5 раз.
Поблагодарили: 12 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6

Re: Ошибки передеч денег

Сообщение lenarsaitov » 31 янв 2012, 08:01

HoLLyWooD, Спасибо :)
Но в этом плагине есть 1 баг в меню только живых показывает :(
Аватара пользователя
lenarsaitov
 
Сообщения: 424
Зарегистрирован: 22 ноя 2011, 18:16
Благодарил (а): 81 раз.
Поблагодарили: 79 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6


Вернуться в Вопросы по AMXX и его плагинам

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7