Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <colorchat>
#include <dhudmessage>
#include <hamsandwich>
new const PLUGIN[] = "JailBreakShop"
new const VERSION[] = "v2.2"
new const AUTHOR[] = "Ricardo"
new const g_szPrefix[] = "^x04[JB-Shop]^x01"
new const JBINFO[] = "jbinfo.html"
new const CMD[] = "commands.html"
new pCash[33]
new g_pEnableShop // Gives you the possibility to Enable / Disable the shop.
new g_pEnableInfo // Gives you the possibility to Enable / Disable the /info command.
new g_pEnableCommands // Gives you the possibility to Enable / Disable the /commands command.
new g_pEnableGamble // Gives you the possibility to Enable / Disable the Gamble system.
new const Shop_ItemNamesTerro[8][] = {
"Deagle (7 Bullets)",
"Gravity (600)",
"Speed",
"Regenerate to 100HP",
"Disable Footsteps",
"Invisability (60 Seconds)",
"Secret Rebel Packet",
"Roll The Dice"
}
new const Shop_ItemPricesTerro[8] = {
3000,
2000,
1500,
4000,
2000,
6000,
7000,
0
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /jbshop", "JailBreakShop")
register_clcmd("say /shop", "JailBreakShop")
register_clcmd("say /jailbreakshop", "JailBreakShop")
register_clcmd("say_team /jbshop", "JailBreakShop")
register_clcmd("say_team /shop", "JailBreakShop")
register_clcmd("say_team /jailbreakshop", "JailBreakShop")
register_clcmd("say /jbinfo", "JailBreakInfo")
register_clcmd("say_team /jbinfo", "JailBreakInfo")
register_clcmd("say /info", "JailBreakInfo")
register_clcmd("say_team /info", "JailBreakInfo")
register_clcmd("say /commands", "Commands")
register_clcmd("say /cmds", "Commands")
register_clcmd("say_team /commands", "Commands")
register_clcmd("say_team /cmds", "Commands")
register_clcmd("say /gamble", "gamble")
register_clcmd("say /rtd", "gamble")
register_clcmd("say_team /gamble", "gamble")
register_clcmd("say_team /rtd", "gamble")
register_clcmd("say /he", "hegrenade")
register_clcmd("say_team /he", "hegrenade")
register_clcmd("say /cash", "Handler_ShowPlayerCash")
RegisterHam(Ham_Killed, "player", "Ham_PlayerKilled");
g_pEnableShop = register_cvar("jb_shop", "1")
g_pEnableInfo = register_cvar("jb_info", "1")
g_pEnableCommands = register_cvar("jb_commands", "1")
g_pEnableGamble = register_cvar("jb_gamble", "1")
}
public JailBreakShop(id)
{
if(!get_pcvar_num(g_pEnableShop))
{
return PLUGIN_HANDLED
}
if(cs_get_user_team(id)==CS_TEAM_T && is_user_alive(id))
{
new ShopMenu = menu_create("\rJailBreak \yShop \wMenu:", "shop_handler")
new szTemp[500], Key[6];
for(new i = 0; i < 8; i++) {
formatex(szTemp, charsmax(szTemp), "%s%s\d [\y$%i\d]", (pCash[id] >= Shop_ItemPricesTerro[i]) ? "\r" : "\d", Shop_ItemNamesTerro[i], Shop_ItemPricesTerro[i])
num_to_str(i, Key, charsmax(Key))
menu_additem(ShopMenu, szTemp, Key)
}
menu_setprop(ShopMenu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, ShopMenu, 0)
}
return PLUGIN_CONTINUE
}
public shop_handler(id, ShopMenu, item) {
if(item != MENU_EXIT) {
new key = MenuKey(ShopMenu, item)
if(Shop_ItemPricesTerro[key] > pCash[id]) {
ColorChat(id, GREY, "%s You don't got enough money for^x03 %s^x01.", g_szPrefix, Shop_ItemNamesTerro[key])
JailBreakShop(id)
}
else {
switch(key)
{
case 0:
{
give_item(id, "weapon_deagle")
}
case 1:
{
set_user_gravity(id, 0.7)
}
case 2:
{
set_user_maxspeed(id, 320.0)
}
case 3:
{
set_user_health(id, 100)
}
case 4:
{
set_user_footsteps(id, 1)
}
case 5:
{
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0);
set_task(60.0, "RemoveInvis", id)
}
case 6:
{
give_item(id, "weapon_usp")
give_item(id, "weapon_flashbang")
give_item(id, "weapon_hegrenade")
set_user_health(id, 80)
set_user_armor(id, 100)
}
case 7:
{
if(!get_pcvar_num(g_pEnableGamble))
{
return PLUGIN_HANDLED
}
if(pCash[id] > 200)
{
new Playernum = random_num(1, 100)
new Servernum = random_num(25, 100)
if(Playernum > Servernum)
{
new szName[32]; get_user_name(id, szName, charsmax(szName))
pCash[id] += 200
ColorChat(id, TEAM_COLOR, "%s You've won^x04 200$^x01 versus the server! %i vs %i", g_szPrefix, Playernum, Servernum)
}
else if(Servernum > Playernum)
{
new szName[32]; get_user_name(id, szName, charsmax(szName))
pCash[id] -= 200
ColorChat(id, TEAM_COLOR, "%s You've lost^x04 200$^x01 versus the server! %i vs %i", g_szPrefix, Servernum, Playernum)
}
}
else if(pCash[id] < 200)
{
ColorChat(id, TEAM_COLOR, "%s You need more JB cash to roll the dice!", g_szPrefix)
}
}
}
if(Shop_ItemPricesTerro[key]) {
pCash[id] -= Shop_ItemPricesTerro[key]
ColorChat(id, GREY, "%s You bought item^x03 %s^x01 for^x03 %i$^x01.", g_szPrefix, Shop_ItemNamesTerro[key], Shop_ItemPricesTerro[key])
}
}
}
return PLUGIN_CONTINUE
}
public client_putinserver(id)
{
set_task(10.0, "ShowMessage", id)
set_task(20.0, "ShowInfo", id)
}
public ShowMessage(id)
{
if(is_user_connected(id))
{
new szName[32]; get_user_name(id, szName, charsmax(szName))
ColorChat(id, TEAM_COLOR, "%s Welcome to the server, ^x04[%s]^x01!", g_szPrefix, szName)
}
}
public RemoveInvis(id)
{
if(is_user_alive(id))
{
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
ColorChat(id, TEAM_COLOR, "%s You are not invisable anymore!", g_szPrefix)
}
}
public JailBreakInfo(id)
{
if(!get_pcvar_num(g_pEnableInfo))
{
return PLUGIN_HANDLED
}
if(is_user_connected(id))
{
show_motd(id, JBINFO, "JailBreak Shop Information!")
}
return PLUGIN_CONTINUE
}
public ShowInfo(id)
{
if(is_user_connected(id))
{
ColorChat(id, TEAM_COLOR, "%s Type /info to check out the information about the JB Shop!", g_szPrefix)
}
}
public Commands(id)
{
if(!get_pcvar_num(g_pEnableCommands))
{
return PLUGIN_HANDLED
}
if(is_user_connected(id))
{
show_motd(id, CMD, "JailBreak Shop Commands!")
}
return PLUGIN_CONTINUE
}
public hegrenade(id)
{
if(cs_get_user_team(id)==CS_TEAM_CT && is_user_alive(id))
{
give_item(id, "weapon_hegrenade")
}
else
{
ColorChat(id, TEAM_COLOR, "%s You're not alive or you're not in the correct team to say use this command.", g_szPrefix)
}
}
public Ham_PlayerKilled(id, iAttacker)
{
if(is_user_alive(iAttacker) && get_user_team(id) != get_user_team(iAttacker))
{
pCash[iAttacker] += 150
}
}
public Handler_ShowPlayerCash(id, iAttacker)
{
client_print(id, print_chat, "You got %i cash.", pCash[iAttacker])
}
stock MenuKey(menu, item) {
new iAccess, szNum[ 3 ], hCallback
menu_item_getinfo( menu, item, iAccess, szNum, charsmax( szNum ), _, _, hCallback )
return str_to_num( szNum )
}