PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <hamsandwich>
#include <fun>
#include <cstrike>
/* Integers */
new g_iFrags[33]
/* Booleans */
new g_bOnSpeed[33]
/* CVars */
new cvar_respawn, cvar_gravity, cvar_faster, cvar_hp, cvar_he, cvar_deagle, cvar_invis
new cvar_hp_amount, cvar_faster_speed, cvar_gravity_grav
/* Vault */
new g_Vault
#define PLUGIN "Deathrun Shop"
#define AUTHOR "Kia"
#define VERSION "1.0.0"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
/* Commands */
register_clcmd("say /awards", "func_AwardsMenu")
register_clcmd("say /awardsmenu", "func_AwardsMenu")
/* CVars */
cvar_respawn = register_cvar("drkia_respawncost","1")
cvar_gravity = register_cvar("drkia_gravcost","1")
cvar_faster = register_cvar("drkia_fastercost","1")
cvar_hp = register_cvar("drkia_hpcost","1")
cvar_he = register_cvar("drkia_hecost","1")
cvar_deagle = register_cvar("drkia_deaglecost","1")
cvar_invis = register_cvar("drkia_inviscost","1")
cvar_hp_amount = register_cvar("drkia_hpamount","100")
cvar_faster_speed = register_cvar("drkia_fasteramount","420.0")
cvar_gravity_grav = register_cvar("drkia_gravgrav","295.0")
/* Events */
register_event("CurWeapon", "Event_CurWeapon", "be", "1=1")
register_event("DeathMsg", "Event_DeathMsg", "a")
/* Vault */
g_Vault = nvault_open("drkia")
}
/* On Client Connect */
public client_authorized(id)
{
g_iFrags[id] = 0
load_user_frags(id)
}
/* On Client Disconnect */
public client_disconnect(id)
{
save_user_frags(id)
g_iFrags[id] = 0
}
/* Events */
public Event_CurWeapon(id)
{
if(g_bOnSpeed[id])
set_user_maxspeed(id, get_pcvar_float(cvar_faster_speed))
return PLUGIN_HANDLED
}
public Event_DeathMsg()
{
new iKiller = read_data(1)
new iVictim = read_data(2)
if(cs_get_user_team(iKiller) == CS_TEAM_CT && cs_get_user_team(iVictim) == CS_TEAM_T)
g_iFrags[iKiller]++
g_bOnSpeed[iVictim] = false
}
public func_AwardsMenu(id)
{
/* 1. Respawn - 1 Point
2. Gravity - 1 Point
3. Faster - 1 Point
4. 100 HP - 1 Point
5. HE Grenade - 1 Point
6. Deagle with only 7 Bullets - 1 Point
7. 100% Invisibility - 1 Point
*/
new menu = menu_create("Deathrun Shop by Kia - Select an Item","func_AwardsMenu_handler")
new title_respawn[64],title_gravity[64],title_faster[64],title_hp[64],title_he[64],title_deagle[64],title_invis[64]
formatex(title_respawn, charsmax(title_respawn), "Respawn - %i Points", get_pcvar_num(cvar_respawn))
formatex(title_gravity, charsmax(title_gravity), "Gravity - %i Points", get_pcvar_num(cvar_gravity))
formatex(title_faster, charsmax(title_faster), "Faster - %i Points", get_pcvar_num(cvar_faster))
formatex(title_hp, charsmax(title_hp), "%i HP - %i Points", get_pcvar_num(cvar_hp_amount), get_pcvar_num(cvar_hp))
formatex(title_he, charsmax(title_he), "HE Grenade - %i Points", get_pcvar_num(cvar_he))
formatex(title_deagle, charsmax(title_deagle), "Deagle with only 7 Bullets - %i Points", get_pcvar_num(cvar_deagle))
formatex(title_invis, charsmax(title_invis), "100% Invisibility - %i Points", get_pcvar_num(cvar_invis))
if(g_iFrags[id] >= cvar_respawn)
menu_additem(menu, title_respawn, "1",0)
else
menu_additem(menu, title_respawn, "1", 1<<31)
if(g_iFrags[id] >= cvar_gravity)
menu_additem(menu, title_gravity, "2",0)
else
menu_additem(menu, title_gravity, "2", 1<<31)
if(g_iFrags[id] >= cvar_faster)
menu_additem(menu, title_faster, "3",0)
else
menu_additem(menu, title_faster, "3", 1<<31)
if(g_iFrags[id] >= cvar_hp)
menu_additem(menu, title_hp, "4", 0)
else
menu_additem(menu, title_hp, "4", 1<<31)
if(g_iFrags[id] >= cvar_he)
menu_additem(menu, title_he, "5", 0)
else
menu_additem(menu, title_he, "5", 1<<31)
if(g_iFrags[id] >= cvar_deagle)
menu_additem(menu, title_deagle, "6", 0)
else
menu_additem(menu, title_deagle, "6", 1<<31)
if(g_iFrags[id] >= cvar_invis)
menu_additem(menu, title_invis, "7", 0)
else
menu_additem(menu, title_invis, "8", 1<<31)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0);
return PLUGIN_HANDLED
}
public func_AwardsMenu_handler(id, menu, item)
{
/* 1. Respawn - 1 Point
2. Gravity - 1 Point
3. Faster - 1 Point
4. 100 HP - 1 Point
5. HE Grenade - 1 Point
6. Deagle with only 7 Bullets - 1 Point
7. 100% Invisibility - 1 Point
*/
new data[6], szName[64];
new access, callback;
menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
new key = str_to_num(data);
switch(key)
{
case 1:
{
if(!is_user_alive(id))
{
g_iFrags[id] -= get_pcvar_num(cvar_respawn)
ExecuteHamB(Ham_CS_RoundRespawn, id)
return PLUGIN_HANDLED
}
else
return PLUGIN_HANDLED
return PLUGIN_HANDLED
}
case 2:
{
if(is_user_alive(id))
{
g_iFrags[id] -= get_pcvar_num(cvar_gravity)
set_user_gravity(id, get_pcvar_float(cvar_gravity_grav))
return PLUGIN_HANDLED
}
else
return PLUGIN_HANDLED
return PLUGIN_HANDLED
}
case 3:
{
if(is_user_alive(id))
{
g_iFrags[id] -= get_pcvar_num(cvar_faster)
set_user_maxspeed(id, get_pcvar_float(cvar_faster_speed))
g_bOnSpeed[id] = true
return PLUGIN_HANDLED
}
else
return PLUGIN_HANDLED
return PLUGIN_HANDLED
}
case 4:
{
if(is_user_alive(id))
{
g_iFrags[id] -= get_pcvar_num(cvar_hp)
set_user_health(id, get_user_health(id) + get_pcvar_num(cvar_hp_amount))
return PLUGIN_HANDLED
}
else
return PLUGIN_HANDLED
return PLUGIN_HANDLED
}
case 5:
{
if(is_user_alive(id))
{
g_iFrags[id] -= get_pcvar_num(cvar_he)
if(cs_get_user_bpammo(id, CSW_HEGRENADE) < 1)
{
give_item(id, "weapon_hegrenade")
return PLUGIN_HANDLED
}
else
{
cs_set_user_bpammo(id,CSW_HEGRENADE, cs_get_user_bpammo(id, CSW_HEGRENADE) + 1)
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
else
return PLUGIN_HANDLED
return PLUGIN_HANDLED
}
case 6:
{
if(is_user_alive(id))
{
g_iFrags[id] -= get_pcvar_num(cvar_deagle)
give_item(id, "weapon_deagle")
cs_set_user_bpammo(id, CSW_DEAGLE, 7)
}
else
return PLUGIN_HANDLED
return PLUGIN_HANDLED
}
case 7:
{
if(is_user_alive(id))
{
g_iFrags[id] -= get_pcvar_num(cvar_invis)
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,0)
}
else
return PLUGIN_HANDLED
return PLUGIN_HANDLED
}
}
return PLUGIN_HANDLED
}
/* Vault */
public save_user_frags(id)
{
new AuthID[35]
get_user_authid(id,AuthID,34)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-drkia",AuthID)
format(vaultdata,255,"%i",g_iFrags[id])
nvault_set(g_Vault,vaultkey,vaultdata)
return PLUGIN_CONTINUE
}
public load_user_frags(id)
{
new AuthID[35]
get_user_authid(id,AuthID,34)
new vaultkey[64],vaultdata[256]
format(vaultkey,63,"%s-drkia",AuthID)
format(vaultdata,255,"%i",g_iFrags[id])
nvault_get(g_Vault,vaultkey,vaultdata,255)
new iMoney[32]
parse(vaultdata, iMoney, 31)
g_iFrags[id] = str_to_num(iMoney)
return PLUGIN_CONTINUE
}
public plugin_end()
{
nvault_close(g_Vault)
}