#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
new const nazwa[] = "Aimer[MegaPremium]";
new const opis[] = "Ma 1/3 szansy na trafienie HeadShota, 1/6 na wyrzucenie broni przeciwnika, AutoBH.";
new const bronie = (1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_GLOCK18)|(1<<CSW_FLASHBANG)|(1<<CSW_AK47);
new const zdrowie = 50;
new const kondycja = 50;
new const inteligencja = 50;
new const wytrzymalosc = 50;
new ma_klase[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_forward(FM_PlayerPreThink, "fwPrethink_AutoBH");
register_event("Damage", "Damage_Wyrzucenie", "b", "2!=0");
RegisterHam(Ham_TakeDamage, "player", "SzansaNaHeadshot_TakeDamage");
}
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[Aimer[MegaPremium]] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
ma_klase[id] = true;
return COD_CONTINUE;
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
}
public fwPrethink_AutoBH(id)
{
if(!ma_klase[id])
return PLUGIN_CONTINUE
if (pev(id, pev_button) & IN_JUMP) {
new flags = pev(id, pev_flags)
if (flags & FL_WATERJUMP)
return FMRES_IGNORED;
if ( pev(id, pev_waterlevel) >= 2 )
return FMRES_IGNORED;
if ( !(flags & FL_ONGROUND) )
return FMRES_IGNORED;
new Float:velocity[3];
pev(id, pev_velocity, velocity);
velocity[2] += 250.0;
set_pev(id, pev_velocity, velocity);
set_pev(id, pev_gaitsequence, 6);
}
return FMRES_IGNORED;
}
public Damage_Wyrzucenie(id)
{
new idattacker = get_user_attacker(id);
if(!is_user_alive(idattacker))
return;
if(!ma_klase[idattacker])
return;
if(random_num(1, 6) != 1)
return;
client_cmd(id, "drop");
}
public SzansaNaHeadshot_TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_alive(idattacker) || !ma_klase[idattacker])
return HAM_IGNORED;
if(get_user_hitzones(idattacker, this) != 2 && !random(3))
{
set_user_hitzones(idattacker, this, 2);
}
return HAM_IGNORED;
}