#include <amxmodx>
#include <codmod>
#include <hamsandwich>
#include <engine>
#include <cstrike>
#include <colorchat>
#define nazwa "Taktyk"
#define opis "Co runde dostaje 60 HE, 10 smokow i 5 flashy, jest niewidzialny, ma zmniejszone obrazenia HE"
#define bronie 1<<CSW_HEGRENADE | 1<<CSW_FLASHBANG | 1<<CSW_SMOKEGRENADE
#define zdrowie 10
#define kondycja 55
#define inteligencja 0
#define wytrzymalosc 10
new bool:ma_klase[33];
public plugin_init() {
register_plugin(nazwa, "1.0", "QTM_Peyote");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_message(get_user_msgid("SendAudio"), "msg_audio");
register_message(get_user_msgid("TextMsg"), "message_text")
register_event("ResetHUD", "ResetHUD", "abe");
register_event("CurWeapon","CurWeapon","be", "1=1");
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public cod_perk_changed(id, perk)
{
if(ma_klase[id] && perk)
{
new perk_desc[128];
cod_get_perk_desc(perk, perk_desc, 127);
if(contain(perk_desc, "HE") != -1 || contain(perk_desc, "granat") != -1)
return COD_STOP;
}
return COD_CONTINUE;
}
public cod_class_enabled(id)
{
ma_klase[id] = true;
ColorChat(id, GREEN, "Klasa zostala stworzona przez www.PluginyMody.webd.pl");
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 1);
ResetHUD(id);
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
set_rendering(id,kRenderFxGlowShell,0,0,0 ,kRenderTransAlpha, 255);
}
public ResetHUD(id)
set_task(0.1, "ResetHUDp", id);
public ResetHUDp(id)
{
if(!is_user_connected(id)) return;
if(!ma_klase[id]) return;
cs_set_user_bpammo(id, CSW_HEGRENADE, 60);
cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 10);
cs_set_user_bpammo(id, CSW_FLASHBANG, 5);
}
public CurWeapon(id)
{
if(!ma_klase[id]) return;
new weapon = read_data(2);
if(weapon != CSW_HEGRENADE && weapon != CSW_SMOKEGRENADE && weapon != CSW_FLASHBANG && weapon != CSW_C4)
engclient_cmd(id, "weapon_hegrenade");
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;
if(!ma_klase[idattacker])
return HAM_IGNORED;
if(damagebits & (1<<24))
{
SetHamParamFloat(4, damage*0.4);
return HAM_IGNORED;
}
return HAM_SUPERCEDE;
}
public msg_audio()
{
if(get_msg_args() != 3 || get_msg_argtype(2) != ARG_STRING)
return PLUGIN_CONTINUE
new arg2[20]; get_msg_arg_string(2, arg2, sizeof arg2 - 1);
if(equal(arg2[1], "!MRAD_FIREINHOLE") && ma_klase[get_msg_arg_int(1)])
return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}
public message_text(msgid, dest, id)
{
if (get_msg_args() != 5 || get_msg_argtype(5) != ARG_STRING)
return PLUGIN_CONTINUE;
new arg[33];
get_msg_arg_string(5, arg, sizeof arg - 1);
if (!equal(arg, "#Fire_in_the_hole"))
return PLUGIN_CONTINUE;
get_msg_arg_string(2, arg, sizeof arg - 1);
new player = str_to_num(arg);
if (!is_user_alive(player))
return PLUGIN_CONTINUE;
if(ma_klase[player])
return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}