Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <amxmodx>
- #include <amxmisc>
- #include <cstrike>
- #include <nvault>
- #include <hnsxp>
- new g_menuPosition[33]
- new g_menuPlayers[33][32]
- new g_menuPlayersNum[33]
- new g_menuOption[33]
- new g_menuSettings[33]
- new g_coloredMenus
- new money[33]
- public plugin_init()
- {
- register_plugin("HNSXP Ext - Donate XP", HNSXP_VERSION, "Exolent");
- register_clcmd("say donate","cmdDonateMenu")
- register_clcmd("say_team donate","cmdDonateMenu")
- register_clcmd( "say /donate","DonateMenu");
- return PLUGIN_CONTINUE
- }
- public AwesomeMenu(id)
- {
- new menu = menu_create("\rDonate\wMenu:", "menu_handler")
- menu_additem(menu, "\r1. \wMoney", "1", 0);
- menu_additem(menu, "\r2. \wEXP", "2", 0);
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
- menu_display(id, menu, 0);
- }
- public menu_handler(id, menu, item)
- {
- if( item == MENU_EXIT )
- {
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- new data[6], szName[64];
- new access, callback;
- menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
- new key = str_to_num(data);
- switch(key)
- {
- case 1:
- {
- client_print(id, print_chat, "Hooray! You selected the donate money");
- }
- case 2:
- {
- //Send them to the submenu
- SubMenu(id);
- }
- }
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- public plugin_modules() {
- require_module("cstrike")
- }
- SubMenu(id)
- {
- //Note that we will be using a different menu handler
- new menu = menu_create("\rDonate \wMoney!:", "submenu_handler")
- }
- public submenu_handler(id,key) {
- switch (key) {
- case 7: {
- ++g_menuOption[id]
- g_menuOption[id] %= 7
- switch (g_menuOption[id]) {
- case 1: g_menuSettings[id] = 100
- case 2: g_menuSettings[id] = 500
- case 3: g_menuSettings[id] = 1000
- case 4: g_menuSettings[id] = 5000
- case 5: g_menuSettings[id] = 10000
- case 6: g_menuSettings[id] = 15000
- }
- displayDonateMenu(id,g_menuPosition[id])
- }
- case 8: displayDonateMenu(id,++g_menuPosition[id])
- case 9: displayDonateMenu(id,--g_menuPosition[id])
- default: {
- new player = g_menuPlayers[id][g_menuPosition[id] * 7 + key]
- new name2[32]
- get_user_name(player,name2,31)
- new name[32]
- get_user_name(id,name,31)
- money[id] = g_menuSettings[id]
- new setidmoney[32]
- new setplmoney[32]
- new maxmoney = get_cvar_num("amx_donate_max")
- setplmoney[id] = (cs_get_user_money(player) + money[id])
- if (cs_get_user_money(id) < money[id]){
- client_print(id,print_chat,"[AMXX] You don't have enough money to donating!")
- return PLUGIN_HANDLED
- }else if (maxmoney < (setplmoney[id])){
- new overplmoney[32]
- overplmoney[id]= (maxmoney - cs_get_user_money(player))
- setidmoney[id] = (cs_get_user_money(id) - overplmoney[id])
- cs_set_user_money(id,setidmoney[id])
- cs_set_user_money(player,maxmoney)
- client_print(id,print_chat,"[AMXX] $%d was donated to ^"%s^".",money[id],name2)
- client_print(player,print_chat,"[AMXX] $%d was donated from ^"%s^".",money[id],name)
- return PLUGIN_HANDLED
- }else{
- setidmoney[id] = (cs_get_user_money(id) - money[id])
- cs_set_user_money(id,setidmoney[id])
- cs_set_user_money(player,setplmoney[id])
- client_print(id,print_chat,"[AMXX] $%d was donated to ^"%s^".",money[id],name2)
- client_print(player,print_chat,"[AMXX] $%d was donated from ^"%s^".",money[id],name)
- return PLUGIN_HANDLED
- }
- submenu_handler(id,g_menuPosition[id])
- }
- }
- return PLUGIN_HANDLED
- }
- submenu_handler(id,pos) {
- if (pos < 0) return
- get_players(g_menuPlayers[id],g_menuPlayersNum[id])
- new menuBody[512]
- new b = 0
- new i
- new name[32], team[4]
- new start = pos * 7
- if (start >= g_menuPlayersNum[id])
- start = pos = g_menuPosition[id] = 0
- new len = format(menuBody,511, g_coloredMenus ?
- "\yDonate Menu\R%d/%d^n\w^n" : "Donate Menu : Player-List %d/%d^n^n",
- pos+1,( g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0 )) )
- new end = start + 7
- new keys = MENU_KEY_0|MENU_KEY_8
- if (end > g_menuPlayersNum[id])
- end = g_menuPlayersNum[id]
- for (new a = start; a < end; ++a) {
- i = g_menuPlayers[id][a]
- get_user_name(i,name,31)
- get_user_team(i,team,3)
- if ( is_user_bot(i)||i == id) {
- ++b
- if ( g_coloredMenus )
- len += format(menuBody[len],511-len,"\d%d. %s\R%s^n\w", b,name,team)
- else
- len += format(menuBody[len],511-len,"\d%d. %s\R%s^n\w", b,name,team)
- }
- else
- {
- keys |= (1<<b)
- len += format(menuBody[len],511-len, g_coloredMenus ?
- "%d. %s\y\R%s^n\w" : "%d. %s\R%s^n",++b,name,team)
- }
- }
- if ( g_menuOption[id] )
- len += format(menuBody[len],511-len,"^n8. The amount of money : $ %d^n",g_menuSettings[id] )
- else
- len += format(menuBody[len],511-len,"^n8. The amount of money : $ 0^n")
- if (end != g_menuPlayersNum[id]) {
- format(menuBody[len],511-len,"^n9. %L...^n0. %L", id, "MORE", id, pos ? "BACK" : "EXIT")
- keys |= MENU_KEY_9
- }
- else format(menuBody[len],511-len,"^n0. %L", id, pos ? "BACK" : "EXIT")
- show_menu(id,keys,menuBody,-1,"Donate Menu")
- }
- public submenu_handler(id,level,cid)
- {
- if (!cmd_access(id,level,cid,1)) return PLUGIN_HANDLED
- g_menuOption[id] = 0
- g_menuSettings[id] = 0
- displayDonateMenu(id,g_menuPosition[id] = 0)
- return PLUGIN_HANDLED
- }
- public CmdDonateXP(client, level, cid)
- {
- if( !cmd_access(client, level, cid, 3) )
- {
- return PLUGIN_HANDLED;
- }
- new arg[35];
- read_argv(1, arg, sizeof(arg) - 1);
- new target = cmd_target(client, arg, CMDTARGET_NO_BOTS);
- if( !target )
- {
- return PLUGIN_HANDLED;
- }
- read_argv(2, arg, sizeof(arg) - 1);
- new points = str_to_num(arg);
- if( points <= 0 )
- {
- console_print(client, "You must enter an XP value greater than 0!");
- return PLUGIN_HANDLED;
- }
- new current = hnsxp_get_user_xp(client);
- if( current < points )
- {
- points = current;
- console_print(client, "You only have %i XP point%s.", current, current == 1 ? "" : "s");
- }
- hnsxp_set_user_xp(client, (current - points));
- hnsxp_set_user_xp(target, (hnsxp_get_user_xp(target) + points));
- new name[32];
- get_user_name(target, name, sizeof(name) - 1);
- console_print(client, "You gave %i XP point%s to %s.", points, points == 1 ? "" : "s", name);
- get_user_name(client, name, sizeof(name) - 1);
- hnsxp_print(target, "^3 %s^1 gave you^3 %i XP point%s^1!", name, points, points == 1 ? "" : "s");
- return PLUGIN_HANDLED;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement