#include <amxmodx>
#include <reapi>
//#define UseTeamColor; // Использовать цвета команды. Закоментировать, если хотите использовать цвета для каждой гранаты.
new g_SpriteTrail;
// RGB Цвета, если игрок играет за террористов.
new g_iColorsTT[3] = {
191, 130, 0
};
// RGB Цвета, если игрок играет за спецназовцев.
new g_iColorsCT[3] = {
0, 130, 191
};
// RGB Цвета для гранаты HE.
new const g_szGrenadeColorHE[3] = {
191, 130, 0
};
// RGB Цвета для гранаты Flash.
new const g_szGrenadeColorFlash[3] = {
0, 130, 191
};
// RGB Цвета для гранаты Smoke.
new const g_szGrenadeColorSmoke[3] = {
0, 255, 0
};
const LIFETIME = 3; // Время жизни в секундах.
const WIDTH = 5; // Ширини линии.
const BRIGHTNESS = 225; // Яркость линии.
public plugin_precache() {
g_SpriteTrail = precache_model("sprites/smoke.spr");
}
public plugin_init() {
register_plugin("[ReAPI] Grenade Trile Like CS:GO", "1.1", "Base Code: Fatih ~ EjderYa / Edite Cod: ImmortalAmxx");
RegisterHookChain(RG_CBasePlayer_ThrowGrenade, "@CBasePlayer_TrhowGrenade_Post", true);
}
@CBasePlayer_TrhowGrenade_Post(UserId, WeaponId) {
new pGrenade = GetHookChainReturn(ATYPE_INTEGER);
if(is_nullent(pGrenade))
return HC_CONTINUE;
#if defined UseTeamColor
@SetSprite(get_member(UserId, m_iTeam), pGrenade, LIFETIME, WIDTH, BRIGHTNESS);
#else
@SetSprite(get_member(WeaponId, m_iId), pGrenade, LIFETIME, WIDTH, BRIGHTNESS);
#endif
return HC_CONTINUE;
}
@SetSprite(iColorData, GrenadeId, LifeTime, Width, Brig) {
new iR, iG, iB; @get_color(iColorData, iR, iG, iB);
message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
write_byte(TE_BEAMFOLLOW);
write_short(GrenadeId);
write_short(g_SpriteTrail);
write_byte(LifeTime * 10);
write_byte(Width);
write_byte(iR);
write_byte(iG);
write_byte(iB);
write_byte(Brig);
message_end();
}
@get_color(iColorData, &iR, &iG, &iB) {
switch(iColorData) {
case TEAM_TERRORIST: {
iR = g_iColorsTT[0];
iG = g_iColorsTT[1];
iB = g_iColorsTT[2];
}
case TEAM_CT: {
iR = g_iColorsCT[0];
iG = g_iColorsCT[1];
iB = g_iColorsCT[2];
}
case WEAPON_HEGRENADE: {
iR = g_szGrenadeColorHE[0];
iG = g_szGrenadeColorHE[1];
iB = g_szGrenadeColorHE[2];
}
case WEAPON_FLASHBANG: {
iR = g_szGrenadeColorFlash[0];
iG = g_szGrenadeColorFlash[1];
iB = g_szGrenadeColorFlash[2];
}
case WEAPON_SMOKEGRENADE: {
iR = g_szGrenadeColorSmoke[0];
iG = g_szGrenadeColorSmoke[1];
iB = g_szGrenadeColorSmoke[2];
}
default: {
iR = 150;
iG = 150;
iB = 150;
}
}
}