Code:
//Pistol King
//by sk8er
/* CVARS copy and paste to shconfig.cfg
//Pistol King
pis_level 5 //level
pis_health 150 //health
pis_armor 120 //armor
pis_gravity 0.40 //gravity
pis_uspmulti 2.0 //usp multiplier
pis_deaglemulti 2.0 //deagle multiplier
pis_glock18multi 2.0 //glock multiplier
pis_p228multi 2.0 //228 compact multiplier
pis_elitemulti 2.0 //dual elites multiplier
pis_p90multi 2.0 // p90 damage multiplier
*/
#include <amxmod>
#include <Vexd_Utilities>
#include <superheromod>
//Global Variables
new gHeroName[]="Pistol King"
new bool:gHasPistolKingPowers[SH_MAXSLOTS+1]
new gPlayerLevels[SH_MAXSLOTS+1]
new new gPlayerMaxHealth[SH_MAXSLOTS+1]
//----------------------------------------------------------------------------------------------
public_init()
{
//Plugin Info
register_plugin("SUPERHERO Pistol King","1.0","sk8er")
//DO NOT EDIT THESE CVARS. USE shconfig.cfg
register_cvar("pis_level", "5")
register_cvar("pis_health", "150")
register_cvar("pis_armor", "120")
register_cvar("pis_gravity", "0.40")
register_cvar("pis_uspmulti", "2.0")
register_cvar("pis_deaglemulti", "2.0")
register_cvar("pis_glock18multi", "2.0")
register_cvar("pis_p228multi", "2.0")
register_cvar("pis_elitemulti", "2.0")
register_cvar("pis_p90multi", "2.0")
//FIRE THIS EVENT TO CREATE THIS HERO
shCreateHero(gHeroName, "Damage multiplier for pistols", "Damage Multiplier for all pistols(but u have to buy them)also ap hp speed", false, "pis_level")
// REGISTER EVENTS THIS HERO WILL RESPOND TO! (AND SERVER COMMANDS
register_srvcmd("pis_init", "pis_init")
shRegHeroInit(gHeroName, "pis_init")
shSetMaxHealth(gHeroName, "pis_health" )
shSetMinGravity(gHeroName, "pis_gravity" )
shSetMaxArmor(gHeroName, "pis_armor" )
//INIT
register_srvcmd("pis_init", "pis_init")
shRegHeroInit(gHeroName,"pis_init")
register_event("Damage", "pis_damage", "b")
//----------------------------------------------------------------------------------------------
public pis_init()
{
// First Argument is an id
new temp[6]
read_argv(1,temp,5)
new id = str_to_num(temp)
// 2nd Argument is 0 or 1 depending on whether the id has Pistol King
read_argv(2,temp,5)
new hasPowers = str_to_num(temp)
// Got to take away powers from a user that dropped Pistol King
if ( !hasPowers && is_user_connected(id) ) {
shRemHealthPower(id)
shRemGravityPower(id)
shRemArmorPower(id)
}
}
//----------------------------------------------------------------------------------------------
public pis_damage(id)
{
if (!shModActive() || !is_user_alive(id)) return
new damage = read_data(2)
new weapon, bodypart, attacker = get_user_attacker(id, weapon, bodypart)
new headshot = bodypart == 1 ? 1 : 0
if ( attacker <= 0 || attacker > SH_MAXSLOTS ) return
if ( gHasPistolKingPower[attacker] && weapon == CSW_USP && is_user_alive(id) ) {
// do extra damage
new extraDamage = floatround(damage * get_cvar_float("pis_uspmulti") - damage)
if (extraDamage > 0) shExtraDamage( id, attacker, extraDamage, "usp", headshot )
if ( gHasPistolKingPower[attacker] && weapon == CSW_DEAGLE && is_user_alive(id) ) {
new extraDamage = floatround(damage * get_cvar_float("pis_deaglemulti") - damage)
if (extraDamage > 0) shExtraDamage( id, attacker, extraDamage, "deagle", headshot )
if ( gHasPistolKingPower[attacker] && weapon == CSW_GLOCK && is_user_alive(id) ) {
new extraDamage = floatround(damage * get_cvar_float("pis_glock18multi") - damage)
if (extraDamage > 0) shExtraDamage( id, attacker, extraDamage, "glock", headshot )
if ( gHasPistolKingPower[attacker] && weapon == CSW_P228 && is_user_alive(id) ) {
new extraDamage = floatround(damage * get_cvar_float("pis_p228multi") - damage)
if (extraDamage > 0) shExtraDamage( id, attacker, extraDamage, "p228", headshot )
if ( gHasPistolKingPower[attacker] && weapon == CSW_ELITE && is_user_alive(id) ) {
new extraDamage = floatround(damage * get_cvar_float("pis_elitemulti") - damage)
if (extraDamage > 0) shExtraDamage( id, attacker, extraDamage, "elite", headshot )
if ( gHasPistolKingPower[attacker] && weapon == CSW_P90 && is_user_alive(id) ) {
new extraDamage = floatround(damage * get_cvar_float("pis_p90emulti") - damage)
if (extraDamage > 0) shExtraDamage( id, attacker, extraDamage, "p90", headshot )
}
}
//----------------------------------------------------------------------------------------------