Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <amxmodx>
  4. #include <amxmisc>
  5. #include <cstrike>
  6. #include <nvault>
  7. #include <hnsxp>
  8.  
  9. new g_menuPosition[33]
  10. new g_menuPlayers[33][32]
  11. new g_menuPlayersNum[33]
  12. new g_menuOption[33]
  13. new g_menuSettings[33]
  14. new g_coloredMenus
  15. new money[33]
  16.  
  17. public plugin_init()
  18. {
  19.     register_plugin("HNSXP Ext - Donate XP", HNSXP_VERSION, "Exolent");
  20.    
  21.       register_clcmd("say donate","cmdDonateMenu")
  22.     register_clcmd("say_team donate","cmdDonateMenu")
  23.     register_clcmd( "say /donate","DonateMenu");
  24.  
  25.   return PLUGIN_CONTINUE
  26.  
  27. }
  28.  public AwesomeMenu(id)
  29.  {
  30.     new menu = menu_create("\rDonate\wMenu:", "menu_handler")
  31.  
  32.     menu_additem(menu, "\r1. \wMoney", "1", 0);
  33.     menu_additem(menu, "\r2. \wEXP", "2", 0);
  34.  
  35.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  36.     menu_display(id, menu, 0);
  37.  }
  38.  public menu_handler(id, menu, item)
  39.  {
  40.     if( item == MENU_EXIT )
  41.     {
  42.         menu_destroy(menu);
  43.         return PLUGIN_HANDLED;
  44.     }
  45.  
  46.     new data[6], szName[64];
  47.     new access, callback;
  48.     menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
  49.  
  50.     new key = str_to_num(data);
  51.  
  52.     switch(key)
  53.     {
  54.         case 1:
  55.         {
  56.             client_print(id, print_chat, "Hooray! You selected the donate money");
  57.         }
  58.         case 2:
  59.         {
  60.             //Send them to the submenu
  61.             SubMenu(id);
  62.         }
  63.     }
  64.  
  65.     menu_destroy(menu);
  66.     return PLUGIN_HANDLED;
  67.  }
  68.  
  69.  public plugin_modules() {
  70.     require_module("cstrike")
  71. }
  72.  SubMenu(id)
  73.  {
  74.     //Note that we will be using a different menu handler
  75.     new menu = menu_create("\rDonate \wMoney!:", "submenu_handler")
  76. }
  77. public submenu_handler(id,key) {
  78.     switch (key) {
  79.         case 7: {
  80.             ++g_menuOption[id]
  81.             g_menuOption[id] %= 7
  82.            
  83.             switch (g_menuOption[id]) {
  84.                 case 1: g_menuSettings[id] = 100
  85.                 case 2: g_menuSettings[id] = 500
  86.                 case 3: g_menuSettings[id] = 1000
  87.                 case 4: g_menuSettings[id] = 5000
  88.                 case 5: g_menuSettings[id] = 10000
  89.                 case 6: g_menuSettings[id] = 15000
  90.             }
  91.             displayDonateMenu(id,g_menuPosition[id])
  92.     }
  93.         case 8: displayDonateMenu(id,++g_menuPosition[id])
  94.         case 9: displayDonateMenu(id,--g_menuPosition[id])
  95.     default: {
  96.         new player = g_menuPlayers[id][g_menuPosition[id] * 7 + key]
  97.  
  98.         new name2[32]
  99.         get_user_name(player,name2,31)
  100.  
  101.         new name[32]
  102.         get_user_name(id,name,31)
  103.  
  104.         money[id] = g_menuSettings[id]
  105.    
  106.         new setidmoney[32]
  107.         new setplmoney[32]
  108.         new maxmoney = get_cvar_num("amx_donate_max")
  109.         setplmoney[id] = (cs_get_user_money(player) + money[id])
  110.  
  111.         if (cs_get_user_money(id) < money[id]){
  112.             client_print(id,print_chat,"[AMXX] You don't have enough money to donating!")
  113.             return PLUGIN_HANDLED
  114.         }else if (maxmoney < (setplmoney[id])){
  115.             new overplmoney[32]
  116.             overplmoney[id]= (maxmoney - cs_get_user_money(player))
  117.             setidmoney[id] = (cs_get_user_money(id) - overplmoney[id])
  118.             cs_set_user_money(id,setidmoney[id])
  119.             cs_set_user_money(player,maxmoney)
  120.             client_print(id,print_chat,"[AMXX] $%d was donated to ^"%s^".",money[id],name2)
  121.             client_print(player,print_chat,"[AMXX] $%d was donated from ^"%s^".",money[id],name)
  122.             return PLUGIN_HANDLED
  123.         }else{
  124.             setidmoney[id] = (cs_get_user_money(id) - money[id])
  125.             cs_set_user_money(id,setidmoney[id])
  126.             cs_set_user_money(player,setplmoney[id])
  127.             client_print(id,print_chat,"[AMXX] $%d was donated to ^"%s^".",money[id],name2)
  128.             client_print(player,print_chat,"[AMXX] $%d was donated from ^"%s^".",money[id],name)
  129.             return PLUGIN_HANDLED
  130.         }
  131.  
  132.         submenu_handler(id,g_menuPosition[id])
  133.         }
  134.     }
  135.     return PLUGIN_HANDLED
  136. }
  137.  
  138.  
  139. submenu_handler(id,pos) {
  140.   if (pos < 0)  return
  141.  
  142.   get_players(g_menuPlayers[id],g_menuPlayersNum[id])
  143.  
  144.   new menuBody[512]
  145.   new b = 0
  146.   new i
  147.   new name[32], team[4]
  148.   new start = pos * 7
  149.  
  150.   if (start >= g_menuPlayersNum[id])
  151.     start = pos = g_menuPosition[id] = 0
  152.  
  153.   new len = format(menuBody,511, g_coloredMenus ?
  154.     "\yDonate Menu\R%d/%d^n\w^n" : "Donate Menu : Player-List %d/%d^n^n",
  155.     pos+1,(  g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0 )) )
  156.    
  157.   new end = start + 7
  158.   new keys = MENU_KEY_0|MENU_KEY_8
  159.  
  160.   if (end > g_menuPlayersNum[id])
  161.     end = g_menuPlayersNum[id]
  162.  
  163.   for (new a = start; a < end; ++a) {
  164.     i = g_menuPlayers[id][a]
  165.     get_user_name(i,name,31)
  166.     get_user_team(i,team,3)
  167.  
  168.     if ( is_user_bot(i)||i == id) {
  169.       ++b  
  170.       if ( g_coloredMenus )
  171.         len += format(menuBody[len],511-len,"\d%d. %s\R%s^n\w", b,name,team)
  172.       else
  173.         len += format(menuBody[len],511-len,"\d%d. %s\R%s^n\w", b,name,team)
  174.     }
  175.     else
  176.     {
  177.       keys |= (1<<b)
  178.  
  179.       len += format(menuBody[len],511-len, g_coloredMenus ?
  180.         "%d. %s\y\R%s^n\w" : "%d. %s\R%s^n",++b,name,team)
  181.     }
  182.   }
  183.  
  184.   if ( g_menuOption[id] )
  185.     len += format(menuBody[len],511-len,"^n8. The amount of money : $ %d^n",g_menuSettings[id] )
  186.   else
  187.     len += format(menuBody[len],511-len,"^n8. The amount of money : $ 0^n")
  188.  
  189.   if (end != g_menuPlayersNum[id]) {
  190.     format(menuBody[len],511-len,"^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")
  191.     keys |= MENU_KEY_9
  192.   }
  193.   else format(menuBody[len],511-len,"^n0. %L", id, pos ? "BACK" : "EXIT")
  194.  
  195.   show_menu(id,keys,menuBody,-1,"Donate Menu")
  196. }
  197.  
  198. public submenu_handler(id,level,cid)
  199. {
  200.   if (!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED
  201.   g_menuOption[id] = 0
  202.   g_menuSettings[id] = 0
  203.  
  204.   displayDonateMenu(id,g_menuPosition[id] = 0)
  205.   return PLUGIN_HANDLED
  206. }
  207.  
  208. public CmdDonateXP(client, level, cid)
  209. {
  210.     if( !cmd_access(client, level, cid, 3) )
  211.     {
  212.         return PLUGIN_HANDLED;
  213.     }
  214.    
  215.     new arg[35];
  216.     read_argv(1, arg, sizeof(arg) - 1);
  217.    
  218.     new target = cmd_target(client, arg, CMDTARGET_NO_BOTS);
  219.     if( !target )
  220.     {
  221.         return PLUGIN_HANDLED;
  222.     }
  223.    
  224.     read_argv(2, arg, sizeof(arg) - 1);
  225.     new points = str_to_num(arg);
  226.    
  227.     if( points <= 0 )
  228.     {
  229.         console_print(client, "You must enter an XP value greater than 0!");
  230.         return PLUGIN_HANDLED;
  231.     }
  232.    
  233.     new current = hnsxp_get_user_xp(client);
  234.     if( current < points )
  235.     {
  236.         points = current;
  237.         console_print(client, "You only have %i XP point%s.", current, current == 1 ? "" : "s");
  238.     }
  239.    
  240.     hnsxp_set_user_xp(client, (current - points));
  241.     hnsxp_set_user_xp(target, (hnsxp_get_user_xp(target) + points));
  242.    
  243.     new name[32];
  244.     get_user_name(target, name, sizeof(name) - 1);
  245.     console_print(client, "You gave %i XP point%s to %s.", points, points == 1 ? "" : "s", name);
  246.    
  247.     get_user_name(client, name, sizeof(name) - 1);
  248.     hnsxp_print(target, "^3 %s^1 gave you^3 %i XP point%s^1!", name, points, points == 1 ? "" : "s");
  249.    
  250.     return PLUGIN_HANDLED;
  251. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement