Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <engine>
- #include <zombieplague>
- #include <fun>
- #define PLUGIN "Purchase Mod"
- #define VERSION "1.4.1"
- #define AUTHOR "Dizzy"
- #define FL_WATERJUMP (1<<11)
- #define FL_ONGROUND (1<<9)
- #define CVAR_PLUGIN "zp_pmod"
- #define CVAR_MULTI "zp_pmod_multi"
- #define CVAR_STAYOPEN "zp_pmod_menu"
- #define CVAR_ROUNDS "zp_pmod_rounds"
- #define CVAR_DROPALLOW "zp_pmod_dropallow"
- #define CVAR_DROPRATE "zp_pmod_droprate"
- #define CVAR_GRAVITY "zp_pmod_gravity"
- #define CVAR_SPEED "zp_pmod_speed"
- #define CVAR_STEALTH "zp_pmod_stealth"
- #define CVAR_GLASSES "zp_pmod_glasses"
- #define CVAR_MULTIJUMP "zp_pmod_multijump"
- #define CVAR_BUNNYHOP "zp_pmod_bunnyhop"
- #define CVAR_HEALTH "zp_pmod_health"
- #define GRAVITYCOST "zp_pmod_gravityCost"
- #define SPEEDCOST "zp_pmod_speedCost"
- #define STEALTHCOST "zp_pmod_stealthCost"
- #define GLASSESCOST "zp_pmod_glassesCost"
- #define MULTIJUMPCOST "zp_pmod_multijumpCost"
- #define BUNNYHOPCOST "zp_pmod_bunnyhopCost"
- #define HEALTHCOST "zp_pmod_healthCost"
- #define PLAYERSPEED "zp_pmod_playerspeed"
- #define PLAYERGRAVITY "zp_pmod_playergravity"
- #define PLAYERHEALTH "zp_pmod_playerhealth"
- #define PLAYERARMOR "zp_pmod_playerarmor"
- #define MULTIJUMPNUMBER "zp_pmod_multijumpnumber"
- new const g_szAbilities[][] =
- {
- "Gravitacija",
- "Brzina",
- "Nevidljivost",
- "Anti-flash naocare",
- "Multijump",
- "Auto Bhop",
- "Helti i armor"
- }
- new imasposobnost[33] = 0;
- new imagravity[33] = 0;
- new imaspeed[33] = 0;
- new imanevidljivost[33] = 0;
- new imanaocare[33] = 0;
- new imamulti[33] = 0;
- new imabhop[33] = 0;
- new imahp[33] = 0;
- new g_roundsgravity[33];
- new g_roundsspeed[33];
- new g_roundsstealth[33];
- new g_roundsglasses[33];
- new g_roundsmultijump[33];
- new g_roundsbunnyhop[33];
- new g_roundshealth[33];
- new brojskokova[33]
- new bool:g_dojump[33];
- new g_msgscreenfade;
- public client_connect(id)
- {
- imasposobnost[id] = 0;
- imagravity[id] = 0;
- imaspeed[id] = 0;
- imanevidljivost[id] = 0;
- imanaocare[id] = 0;
- imamulti[id] = 0;
- imabhop[id] = 0;
- imahp[id] = 0;
- }
- public client_disconnect(id)
- {
- imasposobnost[id] = 0;
- imagravity[id] = 0;
- imaspeed[id] = 0;
- imanevidljivost[id] = 0;
- imanaocare[id] = 0;
- imamulti[id] = 0;
- imabhop[id] = 0;
- imahp[id] = 0;
- }
- public plugin_init()
- {
- register_plugin(PLUGIN, VERSION, AUTHOR);
- register_cvar(CVAR_PLUGIN, "1");
- register_cvar(CVAR_MULTI, "0");
- register_cvar(CVAR_STAYOPEN, "0");
- register_cvar(CVAR_ROUNDS, "1");
- register_cvar(CVAR_DROPALLOW, "1");
- register_cvar(GRAVITYCOST, "7");
- register_cvar(SPEEDCOST, "7");
- register_cvar(STEALTHCOST, "7");
- register_cvar(GLASSESCOST, "10");
- register_cvar(MULTIJUMPCOST, "10");
- register_cvar(BUNNYHOPCOST, "12");
- register_cvar(HEALTHCOST, "7");
- register_cvar(CVAR_GRAVITY, "1");
- register_cvar(CVAR_SPEED, "1");
- register_cvar(CVAR_STEALTH, "1");
- register_cvar(CVAR_GLASSES, "1");
- register_cvar(CVAR_MULTIJUMP, "1");
- register_cvar(CVAR_BUNNYHOP, "1");
- register_cvar(CVAR_HEALTH, "1");
- register_cvar(PLAYERSPEED, "320");
- register_cvar(PLAYERGRAVITY, "200");
- register_cvar(PLAYERHEALTH, "200");
- register_cvar(PLAYERARMOR, "200");
- register_cvar(CVAR_DROPRATE, "25");
- register_cvar(MULTIJUMPNUMBER, "3");
- register_clcmd("say pmodmenu","startpage");
- register_clcmd("say_team pmodmenu","startpage");
- register_clcmd("pmodmenu","startpage");
- register_concmd("pmodmenu","startpage");
- register_event("ResetHUD","roundchange","b");
- register_event("CurWeapon","speedb","be","1=1");
- register_event("ScreenFade","event_blinded","be","4=255","5=255","6=255","7>199");
- register_event("DeathMsg","death_event","a");
- g_msgscreenfade = get_user_msgid("ScreenFade");
- }
- public plugin_precache()
- {
- precache_sound("purchasemod/buy.wav");
- precache_sound("purchasemod/drain.wav");
- precache_sound("purchasemod/sorry.wav");
- }
- public client_putinserver(id)
- {
- if (is_user_bot(id))
- return;
- set_task(25.0, "inform", id);
- }
- public inform(id)
- {
- new gMsgSayText;
- gMsgSayText = get_user_msgid("SayText");
- new printMsg[191];
- client_print(id, print_chat, "[Purchase Mod]: Ovaj server pokrece Purchasemod v%s", VERSION);
- format(printMsg,191, "^x01[Purchase Mod]: Da kupis neku sposobnost kucaj ^x03pmodmenu");
- message_begin(MSG_ONE,gMsgSayText,{0,0,0},id);
- write_byte(id);
- write_string(printMsg);
- message_end();
- return PLUGIN_HANDLED;
- }
- public startpage(id)
- {
- new menu = menu_create("\yPurchase Mod: \rGlavni meni", "start_handler")
- if (!get_cvar_num(CVAR_PLUGIN) || !is_user_alive(id))
- menu_additem(menu, "\rKupi sposobnost", "1", 0);
- else
- menu_additem(menu, "\yKupi sposobnost", "1", 0);
- if (!get_cvar_num(CVAR_PLUGIN) || !is_user_alive(id) || !get_cvar_num(CVAR_DROPALLOW))
- menu_additem(menu, "\rBaci sposobnost", "2", 0);
- else
- menu_additem(menu, "\yBaci sposobnost", "2", 0);
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
- menu_display(id, menu, 0);
- }
- public start_handler(id, menu, item)
- {
- if (item == MENU_EXIT)
- {
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- new data[6], iName[64];
- new access, callback;
- menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback);
- new key = str_to_num(data);
- switch(key)
- {
- case 1:
- {
- if (!get_cvar_num(CVAR_PLUGIN))
- {
- client_print(id, print_chat, "[Purchase Mod]: Plugin je iskljucen!");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- startpage(id);
- }
- if (!is_user_alive(id))
- {
- client_print(id, print_chat, "[Purchase Mod]: Moras biti ziv da bi kupovao!");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- startpage(id);
- }
- else if (get_cvar_num(CVAR_PLUGIN) && is_user_alive(id))
- {
- buypage(id);
- }
- }
- case 2:
- {
- if (!get_cvar_num(CVAR_PLUGIN))
- {
- client_print(id, print_chat, "[Purchase Mod]: Plugin je iskljucen!");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- startpage(id);
- }
- if (!is_user_alive(id))
- {
- client_print(id, print_chat, "[Purchase Mod]: Moras biti ziv da bi kupovao!");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- startpage(id);
- }
- if (!get_cvar_num(CVAR_DROPALLOW))
- {
- client_print(id, print_chat, "[Purchase Mod]: Bacanje sposobnosti nije dozvoljeno!");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- startpage(id);
- }
- else if (get_cvar_num(CVAR_PLUGIN) && is_user_alive(id) && get_cvar_num(CVAR_DROPALLOW))
- {
- droppage(id);
- }
- }
- }
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- public buypage(id)
- {
- new menu = menu_create("\yPurchase Mod: \rBuy Menu", "buy_handler")
- new userMoney = zp_get_user_ammo_packs(id)
- if (!get_cvar_num(CVAR_GRAVITY) || (get_cvar_num(GRAVITYCOST) > userMoney) || (!get_cvar_num(CVAR_MULTI) && imasposobnost[id]))
- menu_additem(menu, "\rGravitacija", "1", 0);
- else
- menu_additem(menu, "\yGravitacija", "1", 0);
- if (!get_cvar_num(CVAR_SPEED) || (get_cvar_num(SPEEDCOST) > userMoney) || (!get_cvar_num(CVAR_MULTI) && imasposobnost[id]))
- menu_additem(menu, "\rBrzina", "2", 0);
- else
- menu_additem(menu, "\yBrzina", "2", 0);
- if (!get_cvar_num(CVAR_STEALTH) || (get_cvar_num(STEALTHCOST) > userMoney) || (!get_cvar_num(CVAR_MULTI) && imasposobnost[id]))
- menu_additem(menu, "\rNevidljivost", "3", 0);
- else
- menu_additem(menu, "\yNevidljivost", "3", 0);
- if (!get_cvar_num(CVAR_GLASSES) || (get_cvar_num(GLASSESCOST) > userMoney) || (!get_cvar_num(CVAR_MULTI) && imasposobnost[id]))
- menu_additem(menu, "\rAnti-Flash naocare", "4", 0);
- else
- menu_additem(menu, "\yAnti-Flash naocare", "4", 0);
- if (!get_cvar_num(CVAR_MULTIJUMP) || (get_cvar_num(MULTIJUMPCOST) > userMoney) || (!get_cvar_num(CVAR_MULTI) && imasposobnost[id]))
- menu_additem(menu, "\rMultijump", "5", 0);
- else
- menu_additem(menu, "\yMultijump", "5", 0);
- if (!get_cvar_num(CVAR_BUNNYHOP) || (get_cvar_num(BUNNYHOPCOST) > userMoney) || (!get_cvar_num(CVAR_MULTI) && imasposobnost[id]))
- menu_additem(menu, "\rAuto Bhop", "6", 0);
- else
- menu_additem(menu, "\yAuto Bhop", "6", 0);
- if (!get_cvar_num(CVAR_HEALTH) || (get_cvar_num(HEALTHCOST) > userMoney) || (!get_cvar_num(CVAR_MULTI) && imasposobnost[id]))
- menu_additem(menu, "\rHelti i armor", "7", 0);
- else
- menu_additem(menu, "\yHelti i armor", "7", 0);
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
- menu_display(id, menu, 0);
- }
- public buy_handler(id, menu, item)
- {
- if (item == MENU_EXIT)
- {
- menu_destroy(menu);
- startpage(id);
- return PLUGIN_HANDLED;
- }
- new data[6], iName[64];
- new access, callback;
- menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback);
- new key = str_to_num(data);
- switch(key)
- {
- case 1:
- {
- if (!get_cvar_num(CVAR_GRAVITY))
- {
- client_print(id, print_chat, "[Purchase Mod]: %s item nije dozvoljen!", g_szAbilities[0]);
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- if (imagravity[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Vec imas %s!", g_szAbilities[0]);
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- if (!get_cvar_num(CVAR_MULTI) && imasposobnost[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Vec imas jednu sposobnost!");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- new userMoney = zp_get_user_ammo_packs(id);
- if(get_cvar_num(GRAVITYCOST) > userMoney)
- {
- client_print(id, print_chat, "[Purchase Mod]: Nemas dovoljno ammo packova");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- else
- {
- zp_set_user_ammo_packs(id, (userMoney - get_cvar_num(GRAVITYCOST)));
- client_cmd(id,"spk purchasemod/buy");
- client_print(id, print_chat, "[Purchase Mod]: Kupio si %s za %d ammo packova!", g_szAbilities[0], get_cvar_num(GRAVITYCOST));
- imagravity[id] = 1;
- imasposobnost[id] = 1;
- g_roundsgravity[id] = get_cvar_num(CVAR_ROUNDS) - 1;
- set_user_gravity(id, get_cvar_float(PLAYERGRAVITY)/800);
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- }
- }
- case 2:
- {
- if (!get_cvar_num(CVAR_SPEED))
- {
- client_print(id, print_chat, "[Purchase Mod]: %s item nije dozvoljen!", g_szAbilities[1]);
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- if (imaspeed[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Vec imas %s!", g_szAbilities[1]);
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- if (!get_cvar_num(CVAR_MULTI) && imasposobnost[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Vec imas jednu sposobnost!");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- new userMoney = zp_get_user_ammo_packs(id);
- if(get_cvar_num(SPEEDCOST) > userMoney)
- {
- client_print(id, print_chat, "[Purchase Mod]: Nemas dovoljno ammo packova");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- else
- {
- zp_set_user_ammo_packs(id, (userMoney - get_cvar_num(SPEEDCOST)));
- client_cmd(id,"spk purchasemod/buy");
- client_print(id, print_chat, "[Purchase Mod]: Kupio si %s za %d ammo packova!", g_szAbilities[1], get_cvar_num(SPEEDCOST));
- imaspeed[id] = 1;
- imasposobnost[id] = 1;
- g_roundsspeed[id] = get_cvar_num(CVAR_ROUNDS) - 1;
- set_user_maxspeed(id, get_cvar_float(PLAYERSPEED));
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- }
- }
- case 3:
- {
- if (!get_cvar_num(CVAR_STEALTH))
- {
- client_print(id, print_chat, "[Purchase Mod]: %s item nije dozvoljen!", g_szAbilities[2]);
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- if (imanevidljivost[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Vec imas %s!", g_szAbilities[2]);
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- if (!get_cvar_num(CVAR_MULTI) && imasposobnost[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Vec imas jednu sposobnost!");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- new userMoney = zp_get_user_ammo_packs(id);
- if(get_cvar_num(STEALTHCOST) > userMoney)
- {
- client_print(id, print_chat, "[Purchase Mod]: Nemas dovoljno ammo packova");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- else
- {
- zp_set_user_ammo_packs(id, (userMoney - get_cvar_num(STEALTHCOST)));
- client_cmd(id,"spk purchasemod/buy");
- client_print(id, print_chat, "[Purchase Mod]: Kupio si %s za %d ammo packova!", g_szAbilities[2], get_cvar_num(STEALTHCOST));
- imanevidljivost[id] = 1;
- imasposobnost[id] = 1;
- g_roundsstealth[id] = get_cvar_num(CVAR_ROUNDS) - 1;
- set_user_rendering(id, kRenderFxNone, 50, 50, 50, kRenderTransAdd, 50);
- set_user_footsteps(id, 1);
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- }
- }
- case 4:
- {
- if (!get_cvar_num(CVAR_GLASSES))
- {
- client_print(id, print_chat, "[Purchase Mod]: %s item nije dozvoljen!", g_szAbilities[3]);
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- if (imanaocare[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Vec imas %s!", g_szAbilities[3]);
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- if (!get_cvar_num(CVAR_MULTI) && imasposobnost[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Vec imas jednu sposobnost!");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- new userMoney = zp_get_user_ammo_packs(id);
- if(get_cvar_num(GLASSESCOST) > userMoney)
- {
- client_print(id, print_chat, "[Purchase Mod]: Nemas dovoljno ammo packova");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- else
- {
- zp_set_user_ammo_packs(id, (userMoney - get_cvar_num(GLASSESCOST)));
- client_cmd(id,"spk purchasemod/buy");
- client_print(id, print_chat, "[Purchase Mod]: Kupio si %s za %d ammo packova!", g_szAbilities[3], get_cvar_num(GLASSESCOST));
- imanaocare[id] = 1;
- imasposobnost[id] = 1;
- g_roundsglasses[id] = get_cvar_num(CVAR_ROUNDS) - 1;
- event_blinded(id);
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- }
- }
- case 5:
- {
- if (!get_cvar_num(CVAR_MULTIJUMP))
- {
- client_print(id, print_chat, "[Purchase Mod]: %s item nije dozvoljen!", g_szAbilities[4]);
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- if (imamulti[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Vec imas %s!", g_szAbilities[4]);
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- if (!get_cvar_num(CVAR_MULTI) && imasposobnost[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Vec imas jednu sposobnost!");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- new userMoney = zp_get_user_ammo_packs(id);
- if(get_cvar_num(MULTIJUMPCOST) > userMoney)
- {
- client_print(id, print_chat, "[Purchase Mod]: Nemas dovoljno ammo packova");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- else
- {
- zp_set_user_ammo_packs(id, (userMoney - get_cvar_num(MULTIJUMPCOST)));
- client_cmd(id,"spk purchasemod/buy");
- client_print(id, print_chat, "[Purchase Mod]: Kupio si %s za %d ammo packova!", g_szAbilities[4], get_cvar_num(MULTIJUMPCOST));
- imamulti[id] = 1;
- imasposobnost[id] = 1;
- g_roundsmultijump[id] = get_cvar_num(CVAR_ROUNDS) - 1;
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- }
- }
- case 6:
- {
- if (!get_cvar_num(CVAR_BUNNYHOP))
- {
- client_print(id, print_chat, "[Purchase Mod]: %s item nije dozvoljen!", g_szAbilities[5]);
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- if (imabhop[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Vec imas %s!", g_szAbilities[5]);
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- if (!get_cvar_num(CVAR_MULTI) && imasposobnost[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Vec imas jednu sposobnost!");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- new userMoney = zp_get_user_ammo_packs(id);
- if(get_cvar_num(BUNNYHOPCOST) > userMoney)
- {
- client_print(id, print_chat, "[Purchase Mod]: Nemas dovoljno ammo packova");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- else
- {
- zp_set_user_ammo_packs(id, (userMoney - get_cvar_num(BUNNYHOPCOST)));
- client_cmd(id,"spk purchasemod/buy");
- client_print(id, print_chat, "[Purchase Mod]: Kupio si %s za %d ammo packova!", g_szAbilities[5], get_cvar_num(BUNNYHOPCOST));
- imabhop[id] = 1;
- imasposobnost[id] = 1;
- g_roundsbunnyhop[id] = get_cvar_num(CVAR_ROUNDS) - 1;
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- }
- }
- case 7:
- {
- if (!get_cvar_num(CVAR_HEALTH))
- {
- client_print(id, print_chat, "[Purchase Mod]: %s item nije dozvoljen!", g_szAbilities[6]);
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- if (imahp[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Vec imas %s!", g_szAbilities[6]);
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- if (!get_cvar_num(CVAR_MULTI) && imasposobnost[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Vec imas jednu sposobnost!");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- new userMoney = zp_get_user_ammo_packs(id);
- if(get_cvar_num(HEALTHCOST) > userMoney)
- {
- client_print(id, print_chat, "[Purchase Mod]: Nemas dovoljno ammo packova");
- client_cmd(id,"spk purchasemod/sorry");
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- return PLUGIN_CONTINUE;
- }
- else
- {
- zp_set_user_ammo_packs(id, (userMoney - get_cvar_num(HEALTHCOST)));
- client_cmd(id,"spk purchasemod/buy");
- client_print(id, print_chat, "[Purchase Mod]: Kupio si %s za %d ammo packova!", g_szAbilities[6], get_cvar_num(HEALTHCOST));
- imahp[id] = 1;
- imasposobnost[id] = 1;
- g_roundshealth[id] = get_cvar_num(CVAR_ROUNDS) - 1;
- new health = get_cvar_num(PLAYERHEALTH);
- set_user_health(id, get_user_health(id) + health);
- set_user_armor(id, get_cvar_num(PLAYERARMOR));
- if (get_cvar_num(CVAR_STAYOPEN))
- buypage(id);
- }
- }
- }
- menu_destroy(menu);
- return PLUGIN_HANDLED;
- }
- public droppage(id)
- {
- new ratephrase[60]
- format(ratephrase, 59, "\yPurchase Mod: \rDrop Menu (%d percent)", get_cvar_num(CVAR_DROPRATE))
- new menu = menu_create(ratephrase, "drop_handler")
- if (!imagravity[id])
- menu_additem(menu, "\rGravity", "1", 0);
- else
- menu_additem(menu, "\yGravity", "1", 0);
- if (!imaspeed[id])
- menu_additem(menu, "\rSpeed", "2", 0);
- else
- menu_additem(menu, "\ySpeed", "2", 0);
- if (!imanevidljivost[id])
- menu_additem(menu, "\rStealth", "3", 0);
- else
- menu_additem(menu, "\yStealth", "3", 0);
- if (!imanaocare[id])
- menu_additem(menu, "\rAnti-flash glasses", "4", 0);
- else
- menu_additem(menu, "\yAnti-flash glasses", "4", 0);
- if (!imamulti[id])
- menu_additem(menu, "\rMulti jump", "5", 0);
- else
- menu_additem(menu, "\yMulti jump", "5", 0);
- if (!imabhop[id])
- menu_additem(menu, "\rBunny hop", "6", 0);
- else
- menu_additem(menu, "\yBunny hop", "6", 0);
- if (!imahp[id])
- menu_additem(menu, "\rHealth and Armor", "7", 0);
- else
- menu_additem(menu, "\yHealth and Armor", "7", 0);
- menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
- menu_display(id, menu, 0);
- }
- public drop_handler(id, menu, item)
- {
- new gravity_drop = (get_cvar_num(GRAVITYCOST) * get_cvar_num(CVAR_DROPRATE) / 100);
- new speed_drop = (get_cvar_num(SPEEDCOST) * get_cvar_num(CVAR_DROPRATE) / 100);
- new stealth_drop = (get_cvar_num(STEALTHCOST) * get_cvar_num(CVAR_DROPRATE) / 100);
- new glasses_drop = (get_cvar_num(GLASSESCOST) * get_cvar_num(CVAR_DROPRATE) / 100);
- new multijump_drop = (get_cvar_num(MULTIJUMPCOST) * get_cvar_num(CVAR_DROPRATE) / 100);
- new bunnyhop_drop = (get_cvar_num(BUNNYHOPCOST) * get_cvar_num(CVAR_DROPRATE) / 100);
- new health_drop = (get_cvar_num(HEALTHCOST) * get_cvar_num(CVAR_DROPRATE) / 100);
- if (item == MENU_EXIT)
- {
- menu_destroy(menu);
- startpage(id);
- return PLUGIN_HANDLED;
- }
- new data[6], iName[64];
- new access, callback;
- menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback);
- new key = str_to_num(data);
- switch(key)
- {
- case 1:
- {
- if (!imagravity[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: You don't have %s!", g_szAbilities[0]);
- client_cmd(id,"spk purchasemod/sorry");
- }
- else
- {
- new userMoney = zp_get_user_ammo_packs(id);
- zp_set_user_ammo_packs(id, (userMoney + gravity_drop));
- client_cmd(id,"spk purchasemod/drain");
- client_print(id, print_chat, "[Purchase Mod]: You dropped %s for $%d!", g_szAbilities[0], gravity_drop);
- imagravity[id] = 0;
- g_roundsgravity[id] = 0;
- set_user_gravity(id, 1.0);
- abilitycheck(id);
- }
- }
- case 2:
- {
- if (!imaspeed[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: You don't have %s!", g_szAbilities[1]);
- client_cmd(id,"spk purchasemod/sorry");
- }
- else
- {
- new userMoney = zp_get_user_ammo_packs(id);
- zp_set_user_ammo_packs(id, (userMoney + speed_drop));
- client_cmd(id,"spk purchasemod/drain");
- client_print(id, print_chat, "[Purchase Mod]: You dropped %s for $%d!", g_szAbilities[1], speed_drop);
- imaspeed[id] = 0;
- g_roundsspeed[id] = 0;
- set_user_maxspeed(id, 250.0);
- abilitycheck(id);
- }
- }
- case 3:
- {
- if(!imanevidljivost[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: You don't have %s!", g_szAbilities[2]);
- client_cmd(id,"spk purchasemod/sorry");
- }
- else
- {
- new userMoney = zp_get_user_ammo_packs(id);
- zp_set_user_ammo_packs(id, (userMoney + stealth_drop));
- client_cmd(id,"spk purchasemod/drain");
- client_print(id, print_chat, "[Purchase Mod]: You dropped %s for $%d!", g_szAbilities[2], stealth_drop);
- imanevidljivost[id] = 0;
- g_roundsstealth[id] = 0;
- set_user_rendering(id,kRenderFxNone,255,255,255, kRenderNormal,16);
- set_user_footsteps(id,0);
- abilitycheck(id);
- }
- }
- case 4:
- {
- if(!imanaocare[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: You don't have %s!", g_szAbilities[3]);
- client_cmd(id,"spk purchasemod/sorry");
- }
- else
- {
- new userMoney = zp_get_user_ammo_packs(id);
- zp_set_user_ammo_packs(id, (userMoney + glasses_drop));
- client_cmd(id,"spk purchasemod/drain");
- client_print(id, print_chat, "[Purchase Mod]: You dropped %s for $%d!", g_szAbilities[3], glasses_drop);
- imanaocare[id] = 0;
- g_roundsglasses[id] = 0;
- event_blinded(id);
- abilitycheck(id);
- }
- }
- case 5:
- {
- if(!imamulti[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: You don't have %s!", g_szAbilities[4]);
- client_cmd(id,"spk purchasemod/sorry");
- }
- else
- {
- new userMoney = zp_get_user_ammo_packs(id);
- zp_set_user_ammo_packs(id, (userMoney + multijump_drop));
- client_cmd(id,"spk purchasemod/drain");
- client_print(id, print_chat, "[Purchase Mod]: You dropped %s for $%d!", g_szAbilities[4], multijump_drop);
- imamulti[id] = 0;
- g_roundsmultijump[id] = 0;
- abilitycheck(id);
- }
- }
- case 6:
- {
- if(!imabhop[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: You don't have %s!", g_szAbilities[5]);
- client_cmd(id,"spk purchasemod/sorry");
- }
- else
- {
- new userMoney = zp_get_user_ammo_packs(id);
- zp_set_user_ammo_packs(id, (userMoney + bunnyhop_drop));
- client_cmd(id,"spk purchasemod/drain");
- client_print(id, print_chat, "[Purchase Mod]: You dropped %s for $%d!", g_szAbilities[5], bunnyhop_drop);
- imabhop[id] = 0;
- g_roundsbunnyhop[id] = 0;
- abilitycheck(id);
- }
- }
- case 7:
- {
- if(!imahp[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: You don't have %s!", g_szAbilities[6]);
- client_cmd(id,"spk purchasemod/sorry");
- }
- else
- {
- new userMoney = zp_get_user_ammo_packs(id);
- zp_set_user_ammo_packs(id, (userMoney + health_drop));
- client_cmd(id,"spk purchasemod/drain");
- client_print(id, print_chat, "[Purchase Mod]: You dropped %s for $%d!", g_szAbilities[6], health_drop);
- imahp[id] = 0;
- g_roundshealth[id] = 0;
- if (get_user_health(id) > 100)
- set_user_health(id, 100);
- if (get_user_armor(id) > 100)
- set_user_armor(id, 100);
- abilitycheck(id);
- }
- }
- }
- menu_destroy(menu);
- if (get_cvar_num(CVAR_STAYOPEN))
- droppage(id);
- return PLUGIN_HANDLED;
- }
- public client_PreThink(id)
- {
- if(imamulti[id])
- {
- new nbut = get_user_button(id);
- new obut = get_user_oldbutton(id);
- if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
- {
- if(brojskokova[id] < get_cvar_num(MULTIJUMPNUMBER))
- {
- g_dojump[id] = true;
- brojskokova[id]++;
- return PLUGIN_CONTINUE;
- }
- }
- if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
- brojskokova[id] = 0;
- return PLUGIN_CONTINUE;
- }
- if(imabhop[id])
- {
- entity_set_float(id, EV_FL_fuser2, 0.0);
- if (entity_get_int(id, EV_INT_button) & 2)
- {
- new flags = entity_get_int(id, EV_INT_flags);
- if (flags & FL_WATERJUMP)
- {
- return PLUGIN_CONTINUE;
- }
- if (entity_get_int(id, EV_INT_waterlevel) >= 2)
- {
- return PLUGIN_CONTINUE;
- }
- if(!(flags & FL_ONGROUND))
- {
- return PLUGIN_CONTINUE;
- }
- new Float:velocity[3];
- entity_get_vector(id, EV_VEC_velocity, velocity);
- velocity[2] += 250.0;
- entity_set_vector(id, EV_VEC_velocity, velocity);
- entity_set_int(id, EV_INT_gaitsequence, 6);
- }
- return PLUGIN_CONTINUE;
- }
- return PLUGIN_HANDLED;
- }
- public client_PostThink(id)
- {
- if(g_dojump[id] == true && imamulti[id])
- {
- new Float:velocity[3];
- entity_get_vector(id,EV_VEC_velocity,velocity);
- velocity[2] = random_float(265.0,285.0);
- entity_set_vector(id,EV_VEC_velocity,velocity);
- g_dojump[id] = false;
- return PLUGIN_CONTINUE;
- }
- return PLUGIN_CONTINUE;
- }
- public speedb(id)
- {
- if(imaspeed[id])
- set_user_maxspeed(id, get_cvar_float(PLAYERSPEED));
- return PLUGIN_HANDLED;
- }
- public event_blinded(id)
- {
- if(imanaocare[id])
- {
- message_begin(MSG_ONE,g_msgscreenfade,{0,0,0},id);
- write_short(~0);
- write_short(0);
- write_short(1<<12);
- write_byte(0);
- write_byte(0);
- write_byte(0);
- write_byte(100);
- message_end();
- set_task(0.0,"event_blinded",id)
- }
- return PLUGIN_HANDLED;
- }
- public roundchange(id)
- {
- if(imasposobnost[id])
- strip(id);
- return PLUGIN_HANDLED;
- }
- public abilitycheck(id)
- {
- if(!imagravity[id] && !imaspeed[id] && !imanevidljivost[id] && !imanaocare[id] && !imamulti[id] && !imabhop[id] && !imahp[id])
- imasposobnost[id] = 0;
- return PLUGIN_CONTINUE;
- }
- public strip(id)
- {
- new arg[32], name[32];
- read_argv(1, arg,31);
- new player = cmd_target(id,arg,4);
- get_user_name(player,name,31);
- if(imagravity[id])
- {
- if (!g_roundsgravity[id])
- {
- set_user_gravity(id, 1.0);
- client_cmd(id,"spk purchasemod/drain");
- client_print(id, print_chat, "[Purchase Mod]: Gravity set back to normal!");
- imagravity[id] = 0;
- }
- if (g_roundsgravity[id] > 0)
- {
- client_print(id, print_chat, "[Purchase Mod]: %d round(s) left with %s", g_roundsgravity[id], g_szAbilities[0]);
- g_roundsgravity[id]--;
- set_user_gravity(id, get_cvar_float(PLAYERGRAVITY)/800);
- }
- }
- if(imaspeed[id])
- {
- if (!g_roundsspeed[id])
- {
- set_user_maxspeed(id, 250.0);
- client_cmd(id,"spk purchasemod/drain");
- client_print(id, print_chat, "[Purchase Mod]: Speed set back to normal!");
- imaspeed[id] = 0;
- }
- if (g_roundsspeed[id] > 0)
- {
- client_print(id, print_chat, "[Purchase Mod]: %d round(s) left with %s", g_roundsspeed[id], g_szAbilities[1]);
- g_roundsspeed[id]--;
- }
- }
- if(imanevidljivost[id])
- {
- if (!g_roundsstealth[id])
- {
- set_user_rendering(id,kRenderFxNone,255,255,255, kRenderNormal,16);
- set_user_footsteps(id,0);
- client_cmd(id,"spk purchasemod/drain");
- client_print(id, print_chat, "[Purchase Mod]: Stealth set to normal!");
- imanevidljivost[id] = 0;
- }
- if (g_roundsstealth[id] > 0)
- {
- client_print(id, print_chat, "[Purchase Mod]: %d round(s) left with %s", g_roundsstealth[id], g_szAbilities[2]);
- g_roundsstealth[id]--;
- }
- }
- if(imanaocare[id])
- {
- if (!g_roundsglasses[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Flash glasses broke!");
- client_cmd(id,"spk purchasemod/drain");
- imanaocare[id] = 0;
- }
- if (g_roundsglasses[id] > 0)
- {
- client_print(id, print_chat, "[Purchase Mod]: %d round(s) left with %s", g_roundsglasses[id], g_szAbilities[3]);
- g_roundsglasses[id]--;
- }
- }
- if(imamulti[id])
- {
- if (!g_roundsmultijump[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Multi-Jump ran out!");
- client_cmd(id,"spk purchasemod/drain");
- imamulti[id] = 0;
- }
- if (g_roundsmultijump[id] > 0)
- {
- client_print(id, print_chat, "[Purchase Mod]: %d round(s) left with %s", g_roundsmultijump[id], g_szAbilities[4]);
- g_roundsmultijump[id]--;
- }
- }
- if(imabhop[id])
- {
- if (!g_roundsbunnyhop[id])
- {
- client_print(id, print_chat, "[Purchase Mod]: Bunny Hop ran out!");
- client_cmd(id,"spk purchasemod/drain");
- imabhop[id] = 0;
- }
- if (g_roundsbunnyhop[id] > 0)
- {
- client_print(id, print_chat, "[Purchase Mod]: %d round(s) left with %s", g_roundsbunnyhop[id], g_szAbilities[5]);
- g_roundsbunnyhop[id]--;
- }
- }
- if(imahp[id])
- {
- if (!g_roundshealth[id])
- {
- client_cmd(id,"spk purchasemod/drain");
- set_user_health(id, 100);
- if (get_user_armor(id) <= 100)
- return PLUGIN_CONTINUE;
- set_user_armor(id, 100);
- imahp[id] = 0;
- }
- if (g_roundshealth[id] > 0)
- {
- new health = get_cvar_num(PLAYERHEALTH);
- client_print(id, print_chat, "[Purchase Mod]: %d round(s) left with extra %s", g_roundshealth[id], g_szAbilities[6]);
- set_user_health(id, get_user_health(id) + health);
- set_user_armor(id, get_cvar_num(PLAYERARMOR));
- g_roundshealth[id]--;
- }
- }
- abilitycheck(id);
- return PLUGIN_HANDLED;
- }
Advertisement
Add Comment
Please, Sign In to add comment