#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#include <fun>
#include <colorchat>
#pragma semicolon 1
#define PLUGIN "DR Shop"
#define VERSION "1.0"
#define AUTHOR "ulquiorra"
#define HE "weapon_hegrenade"
#define FL "weapon_flashbang"
#define AWP "weapon_awp"
#define MNGN "weapon_m249"
#define M4A1 "weapon_m4a1"
#define CS_AWP CSW_AWP
#define CS_MNGN CSW_M249
#define CS_M4A1 CSW_M4A1
new const g_szPrefix[] = { "Shop" };
new bool: g_bfSpeed[33] = false;
new g_ShopMenu;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
RegisterHam(Ham_Spawn, "player", "fwHamSpawnPost", 1);
RegisterHam(Ham_CS_Player_ResetMaxSpeed, "player", "fwHamResetMaxSpeedPre", 0);
register_concmd("say /shop", "cmdShop", ADMIN_ALL);
register_concmd("say_team /shop", "cmdShop", ADMIN_ALL);
}
public client_authorized(id)
g_bfSpeed[id] = false;
public client_disconnected(id)
g_bfSpeed[id] = false;
public fwHamSpawnPost(id)
{
if(g_bfSpeed[id] == true)
{
set_user_maxspeed(id, 250.0);
g_bfSpeed[id] = false;
}
}
public cmdShop(id)
{
g_ShopMenu = menu_create("DeathRun Shop:", "ShopHandler");
if(get_user_team(id) == 1)
{
menu_additem(g_ShopMenu, "Echipament [\r8000$\w]", "1", ADMIN_ALL);
menu_additem(g_ShopMenu, "+100 Viata [\r1000$\w]", "2", ADMIN_ALL);
menu_additem(g_ShopMenu, "+100 Armura [\r1000$\w]", "3", ADMIN_ALL);
menu_additem(g_ShopMenu, "He + 2 Fb [\r2000$\w]", "4", ADMIN_ALL);
menu_additem(g_ShopMenu, "Machingun [\r8000$\w]", "5", ADMIN_ALL);
menu_additem(g_ShopMenu, "AWP [\r16000$\w]", "6", ADMIN_ALL);
}
else
{
menu_additem(g_ShopMenu, "+100 Viata [\r1000$\w]", "2", ADMIN_ALL);
menu_additem(g_ShopMenu, "+100 Armura [\r1000$\w]", "3", ADMIN_ALL);
menu_additem(g_ShopMenu, "+300 Viteza [\r6000$\w]", "7", ADMIN_ALL);
menu_additem(g_ShopMenu, "He + 2 Fb [\r2000$\w]", "4", ADMIN_ALL);
menu_additem(g_ShopMenu, "M4A1 [\r8000$\w]", "8", ADMIN_ALL);
menu_additem(g_ShopMenu, "AWP [\r16000$\w]", "6", ADMIN_ALL);
}
menu_setprop(g_ShopMenu, MPROP_EXITNAME, "Iesire");
menu_display(id, g_ShopMenu, 0);
}
public ShopHandler(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(g_ShopMenu);
return 0;
}
new szData[6], szName[32], acces, callback;
menu_item_getinfo(g_ShopMenu, item, acces, szData, 5, szName, 31, callback);
new PlrChoice = str_to_num(szData);
new Alive = is_user_alive(id);
new iMoney = cs_get_user_money(id);
new iHealth = get_user_health(id);
new iArmor = get_user_armor(id);
if(!Alive)
{
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Trebuie sa fii in viata pentru^4 shop^1 !", g_szPrefix);
menu_destroy(g_ShopMenu);
set_task(0.5, "cmdShop", id);
return 0;
}
else
{
switch (PlrChoice)
{
case 1:
{
if(iMoney >= 8000)
{
set_user_health(id, 1000);
set_user_armor(id, 500);
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Ai primit^4 +1000^1 Viata ||^4 +500^1 Armura !", g_szPrefix);
cs_set_user_money(id, iMoney - 8000);
}
else
{
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Nu ai suficienti bani pentru acest item !", g_szPrefix);
}
}
case 2:
{
if(iMoney >= 1000)
{
set_user_health(id, iHealth + 100);
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Ai primit^4 +100^1 Viata !", g_szPrefix);
cs_set_user_money(id, iMoney - 1000);
}
else
{
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Nu ai suficienti bani pentru acest item !", g_szPrefix);
}
}
case 3:
{
if(iMoney >= 1000)
{
set_user_armor(id, iArmor + 100);
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Ai primit^4 +100^1 Armura !", g_szPrefix);
cs_set_user_money(id, iMoney - 1000);
}
else
{
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Nu ai suficienti bani pentru acest item !", g_szPrefix);
}
}
case 4:
{
if(iMoney >= 2000)
{
give_item(id, HE);
give_item(id, FL);
give_item(id, FL);
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Ai primit^4 He^1 +^4 2 FB^1 !", g_szPrefix);
cs_set_user_money(id, iMoney - 2000);
}
else
{
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Nu ai suficienti bani pentru acest item !", g_szPrefix);
}
}
case 5:
{
if(iMoney >= 8000)
{
give_item(id, MNGN);
cs_set_user_bpammo(id, CS_MNGN, 200);
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Ai primit^4 Machingun^1 !", g_szPrefix);
cs_set_user_money(id, iMoney - 8000);
}
else
{
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Nu ai suficienti bani pentru acest item !", g_szPrefix);
}
}
case 6:
{
if(iMoney >= 16000)
{
give_item(id, AWP);
cs_set_user_bpammo(id, CS_AWP, 30);
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Ai primit^4 Awp^1 !", g_szPrefix);
cs_set_user_money(id, iMoney - 16000);
}
else
{
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Nu ai suficienti bani pentru acest item !", g_szPrefix);
}
}
case 7:
{
if(iMoney >= 6000)
{
if(g_bfSpeed[id] == false)
{
set_user_maxspeed(id, get_user_maxspeed(id) + 300);
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Ai primit^4 +300^1 viteza !", g_szPrefix);
cs_set_user_money(id, iMoney - 6000);
g_bfSpeed[id] = true;
}
else if(g_bfSpeed[id] == true)
{
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Ai deja^4 +300^1 viteza !", g_szPrefix);
}
}
else
{
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Nu ai suficienti bani pentru acest item !", g_szPrefix);
}
}
case 8:
{
if(iMoney >= 8000)
{
give_item(id, M4A1);
cs_set_user_bpammo(id, CS_M4A1, 90);
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Ai primit^4 M4A1^1 !", g_szPrefix);
cs_set_user_money(id, iMoney - 8000);
}
else
{
ColorChat(id, TEAM_COLOR, "^1[^4%s^1] Nu ai suficienti bani pentru acest item !", g_szPrefix);
}
}
}
}
menu_destroy(g_ShopMenu);
set_task(0.5, "cmdShop", id);
return 0;
}
public fwHamResetMaxSpeedPre(id)
{
if(g_bfSpeed[id])
return HAM_SUPERCEDE;
return HAM_IGNORED;
}