[code]#include <amxmodx>
#include <cstrike>
#include <fun>
#define PLUGIN "Surf Shop"
#define VERSION "1.0"
#define AUTHOR "ulquiorra"
#define DGL "weapon_deagle"
#define AWP "weapon_awp"
#define AK47 "weapon_ak47"
#define M4A1 "weapon_m4a1"
#define CS_DGL CSW_DEAGLE
#define CS_AWP CSW_AWP
#define CS_AK47 CSW_AK47
#define CS_M4A1 CSW_M4A1
new g_iCostAWPDgl,
g_iCostAK47Dgl,
g_iCostM4A1Dgl,
bool:g_AWPDglUsed[33] = false,
bool:g_AK47DglUsed[33] = false,
bool:g_M4A1DglUsed[33] = false,
g_szPrefix[] = "Shop";
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("HLTV", "EventRoundStart", "a", "1=0", "2=0");
register_concmd("say /shop", "cmdShopMenu", ADMIN_ALL);
register_concmd("say_team /shop", "cmdShopMenu", ADMIN_ALL);
g_iCostAWPDgl = register_cvar("shop_awp_dgl_cost", "7500");
g_iCostAK47Dgl = register_cvar("shop_ak47_dgl_cost", "4500");
g_iCostM4A1Dgl = register_cvar("shop_m4a1_dgl_cost", "4500");
register_menucmd(register_menuid("cmdShopMenu"), (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9), "ShopHandler");
}
public client_putinserver(id)
{
g_AWPDglUsed[id] = false;
g_AK47DglUsed[id] = false;
g_M4A1DglUsed[id] = false;
}
public client_disconnected(id)
{
g_AWPDglUsed[id] = false;
g_AK47DglUsed[id] = false;
g_M4A1DglUsed[id] = false;
}
public EventRoundStart()
{
new iPlayers[32], iNum, i, Pid;
get_players(iPlayers, iNum);
for(i = 0; i < iNum; i++)
{
Pid = iPlayers;
if(!is_user_connected(Pid))
return PLUGIN_CONTINUE;
if(g_AWPDglUsed[Pid])
g_AWPDglUsed[Pid] = false;
if(g_AK47DglUsed[Pid])
g_AK47DglUsed[Pid] = false;
if(g_M4A1DglUsed[Pid])
g_M4A1DglUsed[Pid] = false;
}
return PLUGIN_CONTINUE;
}
public cmdShopMenu(id)
{
new iCostAWPDgl = get_pcvar_num(g_iCostAWPDgl),
iCostAK47Dgl = get_pcvar_num(g_iCostAK47Dgl),
iCostM4A1Dgl = get_pcvar_num(g_iCostM4A1Dgl),
iMoney = cs_get_user_money(id);
new szSM[512], iKeys = (1<<9), iLen;
iLen = formatex(szSM[iLen], charsmax(szSM), "\ySurf shop\w^n^n");
if(iMoney >= iCostAWPDgl && !g_AWPDglUsed[id])
{
iLen += formatex(szSM[iLen], charsmax(szSM) - iLen, "\y1.\w AWP + Deagle [\r%i$\w]^n", iCostAWPDgl);
iKeys |= (1<<0);
}
else if(g_AWPDglUsed[id])
{
iLen += formatex(szSM[iLen], charsmax(szSM) - iLen, "\d1. AWP + Deagle [\rCumparat\d]^n");
}
else
{
iLen += formatex(szSM[iLen], charsmax(szSM) - iLen, "\d1. AWP + Deagle [\r%i$\d]^n", iCostAWPDgl);
}
if(iMoney >= iCostAK47Dgl && !g_AK47DglUsed[id])
{
iLen += formatex(szSM[iLen], charsmax(szSM) - iLen, "\y2.\w AK47 + Deagle [\r%i$\w]^n", iCostAK47Dgl);
iKeys |= (1<<1);
}
else if(g_AK47DglUsed[id])
{
iLen += formatex(szSM[iLen], charsmax(szSM) - iLen, "\d2. AK47 + Deagle [\rCumparat\d]^n");
}
else
{
iLen += formatex(szSM[iLen], charsmax(szSM) - iLen, "\d2. AK47 + Deagle [\r%i$\d]^n", iCostAK47Dgl);
}
if(iMoney >= iCostM4A1Dgl && !g_M4A1DglUsed[id])
{
iLen += formatex(szSM[iLen], charsmax(szSM) - iLen, "\y3.\w M4A1 + Deagle [\r%i$\w]^n", iCostM4A1Dgl);
iKeys |= (1<<2);
}
else if(g_M4A1DglUsed[id])
{
iLen += formatex(szSM[iLen], charsmax(szSM) - iLen, "\d3. M4A1 + Deagle [\rCumparat\d]^n");
}
else
{
iLen += formatex(szSM[iLen], charsmax(szSM) - iLen, "\d3. M4A1 + Deagle [\r%i$\d]^n", iCostM4A1Dgl);
}
formatex(szSM[iLen], charsmax(szSM) - iLen, "^n\y0.\w Iesire");
return show_menu(id, iKeys, szSM, -1, "cmdShopMenu")
}
public ShopHandler(id, iKeys)
{
new Alive = is_user_alive(id),
iMoney = cs_get_user_money(id),
iCostAWPDgl = get_pcvar_num(g_iCostAWPDgl),
iCostAK47Dgl = get_pcvar_num(g_iCostAK47Dgl),
iCostM4A1Dgl = get_pcvar_num(g_iCostM4A1Dgl);
new szName[32];
get_user_name(id, szName, 31);
if(!Alive)
{
ChatColor(id, "^x01[^x04%s^x01]^x03 %s^x01 trebuie sa fii in^x04 viata^x01 pentru a folosi surf shop !", g_szPrefix, szName);
return PLUGIN_HANDLED;
}
switch (iKeys)
{
case 0:
{
if(iMoney >= iCostAWPDgl && !g_AWPDglUsed[id])
{
give_item(id, DGL);
give_item(id, AWP);
cs_set_user_bpammo(id, CS_DGL, 35);
cs_set_user_bpammo(id, CS_AWP, 30);
cs_set_user_money(id, iMoney - iCostAWPDgl);
ChatColor(id, "^x01[^x04%s^x01]^x03 %s^x01 ai cumparat^x04 AWP^x01 +^x04 Deagle^x01 pentru^x04 %i$^x01 !", g_szPrefix, szName, iCostAWPDgl);
g_AWPDglUsed[id] = true;
}
else
{
ChatColor(id, "^x01[^x04%s^x01]^x03 %s^x01 nu ai^x04 %i$^x01 pentru^x04 AWP^x01 +^x04 Deagle^x01 !", g_szPrefix, szName, iCostAWPDgl)
}
}
case 1:
{
if(iMoney >= iCostAK47Dgl && !g_AK47DglUsed[id])
{
give_item(id, DGL);
give_item(id, AK47);
cs_set_user_bpammo(id, CS_DGL, 35);
cs_set_user_bpammo(id, CS_AK47, 90);
cs_set_user_money(id, iMoney - iCostAK47Dgl)
ChatColor(id, "^x01[^x04%s^x01]^x03 %s^x01 ai cumparat^x04 AK47^x01 +^x04 Deagle^x01 pentru^x04 %i$^x01 !", g_szPrefix, szName, iCostAK47Dgl);
g_AK47DglUsed[id] = true;
}
else
{
ChatColor(id, "^x01[^x04%s^x01]^x03 %s^x01 nu ai^x04 %i$^x01 pentru^x04 AK47^x01 +^x04 Deagle^x01 !", g_szPrefix, szName, iCostAK47Dgl);
}
}
case 2:
{
if(iMoney >= iCostM4A1Dgl && !g_M4A1DglUsed[id])
{
give_item(id, DGL);
give_item(id, M4A1);
cs_set_user_bpammo(id, CS_DGL, 35);
cs_set_user_bpammo(id, CS_M4A1, 90);
cs_set_user_money(id, iMoney - iCostM4A1Dgl);
ChatColor(id, "^x01[^x04%s^x01]^x03 %s^x01 ai cumparat^x04 M4A1^x01 +^x04 Deagle^x01 pentru^x04 %i$^x01 !", g_szPrefix, szName, iCostM4A1Dgl);
g_M4A1DglUsed[id] = true;
}
else
{
ChatColor(id, "^x01[^x04%s^x01]^x03 %s^x01 nu ai^x04 %i$^x01 pentru^x04 M4A1^x01 +^x04 Deagle^x01 !", g_szPrefix, szName, iCostM4A1Dgl);
}
}
}
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, "^x04", "^4") // Green Color
replace_all(msg, 190, "^x01", "^1") // Default Color
replace_all(msg, 190, "^x03", "^3") // Team Color
replace_all(msg, 190, "^x00", "^0") // End Line
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players)
write_byte(players);
write_string(msg);
message_end();
}
}
}
}[/code]