PHP Code:
/*
* AMX Mod plugin
*
* Vip_Shop, v1.0
*
* (c) Copyright 2013 - Nevermore
* This Plugin Is Created By Barbod Nevermore.
*
*/
/*
* Description:
* This plugin make a shop for vips that can use admin say:) you can change access
*
* Commands:
* /vipmenu
* /vipshop
*
*
*/
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fun>
#include <cstrike>
#include <colorchat>
new bool:gbConnected[33];
new bool:got_access[33];
new bought_respawn;
new respawn_cost;
new ak47_cost;
new deagle_cost;
new scout_cost;
new m4a1_cost
new awp_cost;
new hegren_cost
new frost_cost
public plugin_init()
{
register_plugin("Deathrun Vip Shop", "2.0", "Barbod Nevermore")
register_clcmd("say /vipshop", "vip_shop");
register_clcmd("say /vs", "vip_shop");
register_clcmd("say /vipmenu", "vip_shop");
register_event("DeathMsg", "event_death", "a");
respawn_cost = register_cvar("Vip_respawn_cost", "16000");
ak47_cost = register_cvar("Vip_ak47_cost", "16000");
awp_cost = register_cvar("Vip_awp_cost", "16000");
m4a1_cost = register_cvar("Vip_m4a1_cost", "16000");
scout_cost = register_cvar("Vip_scout_cost", "16000");
hegren_cost = register_cvar("Vip_hegrencost", "4000");
frost_cost = register_cvar("Vip_frostcost", "4000");
deagle_cost = register_cvar("Vip_deagle_cost", "8000")
}
public vip_shop(id)
{
new MainMenu = menu_create("\rVIP Shop^n^nMain Menu", "MainMenu_Handle");
menu_additem(MainMenu, "\wWeapon Menu", "\r1", 0);
menu_additem(MainMenu, "\wItem Menu", "\r2", 0);
{
menu_setprop(MainMenu, MPROP_EXIT, MEXIT_ALL);
if ( got_access[id] )
{
menu_display(id, MainMenu, 0);
}
}
public MainMenu_Handle(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:
{
weapon_Menu(id);
}
case 2:
{
item_Menu(id);
}
}
return PLUGIN_CONTINUE;
}
public TaskRespawn(id)
{
if ( cs_get_user_money(id) < get_pcvar_num(respawn_cost) )
{
ColorChat(id, GREEN, "^x01 You dont have enough money to buy this item!");
return PLUGIN_HANDLED;
}
if ( bought_respawn == 1 )
{
ColorChat(id, GREEN, "^x01 You have already bought respawn this round!");
return PLUGIN_HANDLED;
}
if ( is_user_alive(id) )
{
ColorChat(id, GREEN, "^x01 You cannot buy respawn while your alive!");
return PLUGIN_HANDLED;
}
new name[32];
get_user_name(id, name, 32);
cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(respawn_cost) );
ExecuteHamB(Ham_CS_RoundRespawn, id);
ColorChat(id, GREEN, "You bought respawn!", name);
bought_respawn = 1;
return PLUGIN_HANDLED;
}
public weapon_Menu(id)
{
new buy_ak47[60];
new buy_deagle[60];
new buy_awp[60];
new buy_m4a1[60];
new buy_scout[60]
formatex(buy_ak47, sizeof(buy_ak47) - 1, "\wAWP \r[Bullets: \w1\r] \r[$\y%i\r]", get_pcvar_num(ak47_cost));
formatex(buy_deagle, sizeof(buy_deagle) - 1, "\wAWP \r[Bullets: \w1\r] \r[$\y%i\r]", get_pcvar_num(deagle_cost));
formatex(buy_awp, sizeof(buy_awp) - 1, "\wAWP \r[Bullets: \w1\r] \r[$\y%i\r]", get_pcvar_num(awp_cost));
formatex(buy_m4a1, sizeof(buy_m4a1) - 1, "\wAWP \r[Bullets: \w1\r] \r[$\y%i\r]", get_pcvar_num(m4a1_cost));
formatex(buy_scout, sizeof(buy_scout) - 1, "\wAWP \r[Bullets: \w1\r] \r[$\y%i\r]", get_pcvar_num(scout_cost));
new wep_Menu = menu_create("\rVIP Shop^n^nWeapon Menu", "wepMenu_Handle");
menu_additem(wep_Menu, buy_ak47, "\r1", 0);
menu_additem(wep_Menu, buy_deagle, "\r2", 0);
menu_additem(wep_Menu, buy_awp, "\r3", 0);
menu_additem(wep_Menu, buy_m4a1, "\r4", 0);
menu_additem(wep_Menu, buy_scout, "\r5", 0);
menu_setprop(wep_Menu, MPROP_EXIT, MEXIT_ALL);
{
menu_display(id, wep_Menu, 0);
}
}
public wepMenu_Handle(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 ( cs_get_user_money(id) < get_pcvar_num(awp_cost) )
{
ColorChat(id, GREEN, "^x01 You dont have enough money to buy this item!");
return PLUGIN_HANDLED;
}
if ( !is_user_alive(id) )
{
ColorChat(id, GREEN, "You need to be alive!");
return PLUGIN_HANDLED;
}
if ( user_has_weapon(id, CSW_AK47) )
{
ColorChat(id, GREEN, "^x01 You already own this weapon!");
return PLUGIN_HANDLED;
}
new name[32];
get_user_name(id, name, 32)
cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(ak47_cost) );
cs_set_weapon_ammo( give_item(id, "weapon_ak47"), 1);
ColorChat(id, GREEN, "You bought AK47", name, get_pcvar_num(ak47_cost));
}
case 2:
{
if ( cs_get_user_money(id) < get_pcvar_num(deagle_cost) )
{
ColorChat(id, GREEN, "^x01 You dont have enough money to buy this item!");
return PLUGIN_HANDLED;
}
if ( !is_user_alive(id) )
{
ColorChat(id, GREEN, "^x01 You need to be alive!");
return PLUGIN_HANDLED;
}
if ( user_has_weapon(id, CSW_DEAGLE) )
{
ColorChat(id, GREEN, "^x01 You already own this weapon!");
return PLUGIN_HANDLED;
}
new name[32];
get_user_name(id, name, 32)
cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(deagle_cost));
cs_set_weapon_ammo( give_item(id, "weapon_deagle"), 1);
ColorChat(id, GREEN, "You bought Deagle");
}
case 3:
{
if ( cs_get_user_money(id) < get_pcvar_num(awp_cost) )
{
ColorChat(id, GREEN, "^x01 You dont have enough money to buy this item!");
return PLUGIN_HANDLED;
}
if ( !is_user_alive(id) )
{
ColorChat(id, GREEN, "^x01 You need to be alive!");
return PLUGIN_HANDLED;
}
if ( user_has_weapon(id, CSW_M4A1) )
{
ColorChat(id, GREEN, "^x01 You already own this weapon!");
return PLUGIN_HANDLED;
}
new name[32];
get_user_name(id, name, 32);
cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(awp_cost));
cs_set_weapon_ammo( give_item(id, "weapon_awp"), 1);
ColorChat(id, GREEN, "You bought AWP!", name, get_pcvar_num(awp_cost));
}
case 4:
{
if ( cs_get_user_money(id) < get_pcvar_num(m4a1_cost) )
{
ColorChat(id, GREEN, "^x01 You dont have enough money to buy this item!");
return PLUGIN_HANDLED;
}
if ( !is_user_alive(id) )
{
ColorChat(id, GREEN, "^x01 You need to be alive!");
return PLUGIN_HANDLED;
}
if ( user_has_weapon(id, CSW_M4A1) )
{
ColorChat(id, GREEN, "^x01 You already own this weapon!");
return PLUGIN_HANDLED;
}
new name[32];
get_user_name(id, name, 32);
cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(m4a1_cost));
cs_set_weapon_ammo( give_item(id, "weapon_m4a1"), 1);
ColorChat(id, GREEN, "You bought M4", name, get_pcvar_num(m4a1_cost));
}
case 5:
{
if ( cs_get_user_money(id) < get_pcvar_num(scout_cost) )
{
ColorChat(id, GREEN, "^x01 You dont have enough money to buy this item!");
return PLUGIN_HANDLED;
}
if ( !is_user_alive(id) )
{
ColorChat(id, GREEN, "^x01 You need to be alive!");
return PLUGIN_HANDLED;
}
if ( user_has_weapon(id, CSW_SCOUT) )
{
ColorChat(id, GREEN, "^x01 You already own this weapon!");
return PLUGIN_HANDLED;
}
new name[32];
get_user_name(id, name, 32);
cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(scout_cost));
cs_set_weapon_ammo( give_item(id, "weapon_scout"), 1);
ColorChat(id, GREEN, "You bought Scout", name, get_pcvar_num(scout_cost));
}
}
return PLUGIN_CONTINUE;
}
public item_Menu(id)
{
new buy_respawn[60];
new buy_hegren[60];
new buy_frost[60]
formatex(buy_respawn, sizeof(buy_respawn) - 1, "\wRespawn \r[$\y%i\r]", get_pcvar_num(respawn_cost));
formatex(buy_hegren, sizeof(buy_hegren) - 1, "\wHeGrenade \r[$\y%i\r]", get_pcvar_num(hegren_cost));
formatex(buy_frost, sizeof(buy_frost) - 1, "\wFrostGrenade \r[$\y%i\r]", get_pcvar_num(frost_cost));
new ite_Menu = menu_create("\rVIP Shop^n^nItem Menu", "ItemMenu_Handle");
menu_additem(ite_Menu, buy_respawn, "\r1", 0);
menu_additem(ite_Menu, buy_hegren, "\r2", 0);
menu_additem(ite_Menu, buy_frost, "\r3", 0);
menu_setprop(ite_Menu, MPROP_EXIT, MEXIT_ALL);
{
menu_display(id, ite_Menu, 0);
}
}
public ItemMenu_Handle(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:
{
set_task(0.2, "TaskRespawn", id);
}
case 2:
{
if ( cs_get_user_money(id) < get_pcvar_num(hegren_cost) )
{
ColorChat(id, GREEN, "^x01 You dont have enough money to buy`x04 He Grenade^x01!");
return PLUGIN_HANDLED;
}
if ( !is_user_alive(id) )
{
ColorChat(id, GREEN, "^x01 You need to be^x04 alive^x01!");
return PLUGIN_HANDLED;
}
if ( user_has_weapon(id, CSW_HEGRENADE) )
{
ColorChat(id, GREEN, "^x01 You already own the^x04 He Grenade^x01!");
return PLUGIN_HANDLED;
}
new name[32];
get_user_name(id, name, 32);
cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(hegren_cost));
cs_set_weapon_ammo( give_item(id, "weapon_hegren"), 0);
cs_set_user_bpammo(id, CSW_HEGRENADE, (cs_get_user_bpammo(id, CSW_HEGRENADE) + 1));
ColorChat(id, GREEN, "You bought HE!", name, get_pcvar_num(hegren_cost));
}
case 3:
{
if ( cs_get_user_money(id) < get_pcvar_num(frost_cost) )
{
ColorChat(id, GREEN, "^x01 You dont have enough money to buy`x04 Frost Grenade^x01!");
return PLUGIN_HANDLED;
}
if ( !is_user_alive(id) )
{
ColorChat(id, GREEN, "^x01 You need to be ^x04alive^x01!");
return PLUGIN_HANDLED;
}
if ( user_has_weapon(id, CSW_FLASHBANG) )
{
ColorChat(id, GREEN, "^x01 You already own the^x04 Frost Grenade^x01!");
return PLUGIN_HANDLED;
}
new name[32];
get_user_name(id, name, 32);
cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(frost_cost));
cs_set_weapon_ammo( give_item(id, "weapon_sgren"), 0);
cs_set_user_bpammo(id, CSW_FLASHBANG, (cs_get_user_bpammo(id, CSW_FLASHBANG) + 1));
ColorChat(id, GREEN, "You bought Frost grenade!", name, get_pcvar_num(frost_cost));
}
}
return PLUGIN_CONTINUE;
}
public client_authorized(id)
{
gbConnected[id] = true;
if ( access(id, ADMIN_LEVEL_A) )
{
got_access[id] = true;
}
}
public client_disconnect(id)
{
gbConnected[id] = false;
if ( got_access[id] )
{
got_access[id] = false;
}
}
public FwdPlayerSpawn(id)
{
if( !gbConnected[id] )
return HAM_IGNORED;
bought_respawn = 0;
return HAM_HANDLED;
}