|
Veteran Member
Join Date: Jan 2014
Location: Astral planes
|

01-20-2020
, 18:07
Re: COD: HitMarkers [First release: 16/01/2020]
|
#11
|
That's a potential bug report since both Half-life and Gearbox have teams.
Thank you for the plugin NapoleoN. This fork was tested on both cstrike and gearbox. Fun times. I added the screen fades.
Quote:
Originally Posted by DJEarthQuake
All that is not needed unless say when over 100HP damage is done to make random color strobe like from this plugin does on confirmed kills.
|
Spoiler
Code:
#define AUTHOR "SPiNX" //idea/code started with NapoleoN#'s COT X marker.
#define iRainbow random_num(0, 255)
#define FLAGS write_short(0x0001)
#define ALPHA write_byte(500)
//Screenfade color. TODO:Multiple random fade styles next.
#define BLUE write_byte(0);write_byte(0);write_byte(random_num(200,255))
#define GREEN write_byte(0);write_byte(random_num(200,255));write_byte(0)
//For super kills over 150HP.
new g_cvar_bsod_iConfmkills,g_cvar_bsod_iDelay;
new g_cvar_iHitSym;
///new pPlugin;
g_cvar_bsod_iConfmkills = register_cvar("bsod_confirm_kills", "11");
g_cvar_bsod_iDelay = register_cvar("bsod_delay", "5");
g_cvar_iHitSym = register_cvar("amx_hitmarkers", "1");
@PostTakeDamage(iVictim, iInflictor, iAttacker, Float:iDamage, iDamagebits){
new const hud_symbols[][] = { "x", "-", "\", "|", "/", "*", "+" };
new const new_symbols[7][3][21] =
Code:
{
/*0*/ {"☽", "❅", "☽"},
/*1*/ {"♘", "♨", "♞"},
/*2*/ {"*", "♘", "❆"},
/*3*/ {"☀", "☉", "☼"},
/*4*/ {"◐", "◑", "◒"},
/*5*/ {"◔", "◕", "ϟ"},
/*6*/ {"◖", "◔", "◗"}
};
Code:
if (get_pcvar_num(g_cvar_iHitSym) <= 0)return;
if (is_user_connected(iAttacker) && get_pcvar_num(g_cvar_iHitSym) >= 1) {
if (get_pcvar_num(g_cvar_iHitSym) == 1 && CSW_ALL_SNIPERRIFLES & (1 << get_user_weapon(iInflictor)) ||
(get_pcvar_num(g_cvar_iHitSym) == 2 && (cstrike_running()) && (get_user_team(iVictim) != get_user_team(iAttacker)) || !cstrike_running()) )
{
static bool:hud_rainbowffect
hud_rainbowffect = bool:get_pcvar_num(pRainbow)
set_hudmessage
(
.red = hud_rainbowffect ? iRainbow : get_pcvar_num(pColorRed),
.green = hud_rainbowffect ? iRainbow : get_pcvar_num(pColorGreen),
.blue = hud_rainbowffect ? iRainbow : get_pcvar_num(pColorBlue),
.x = get_pcvar_float(pXPosition),
.y = get_pcvar_float(pYPosition),
.fxtime = 2.0,
.holdtime = get_pcvar_float(pHoldTime),
.fadeintime = 0.0,
.fadeouttime = 0.0
);
if(cstrike_running() ){
show_hudmessage(iAttacker, "%s", new_symbols[ (get_pcvar_num(pRandomHitmarkers) ? random_num(0, 6) : 0) ][ (get_pcvar_num(pRandomHitmarkers) ? random_num(0, 2) : 0) ] );}
else{
show_hudmessage(iAttacker, "%s", hud_symbols[ (get_pcvar_num(pRandomHitmarkers) ? random_num(0, 7) : 0) ] );}
if( iDamage > 150.0) {@FnWow(iAttacker, iDamage, iVictim);
}
}
}
}
@FnWow(iAttacker, Float:iDamage, iVictim) {
client_print(0,print_console,"%n obliterated %n doing %i damage!",iAttacker,iVictim,floatround(iDamage))
set_hudmessage(iRainbow,iRainbow,iRainbow, -1.0, 0.55, 1, 2.0, 3.0, 0.7, 0.8, 3);
show_hudmessage(0, "%n obliterated %n doing %i damage!",iAttacker,iVictim,floatround(iDamage))
FnKiller(iAttacker);
if(!is_user_alive(iVictim))
FnFade(iVictim);
}
public FnKiller(iAttacker){
set_task_ex(0.1, "FnStrobe", iAttacker, .flags = SetTask_RepeatTimes, .repeat = get_pcvar_num(g_cvar_bsod_iConfmkills));
}
public FnStrobe(iAttacker){
if(is_user_connected(iAttacker))
{
message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("ScreenFade"),{0,0,0},iAttacker);
write_short(1000);
write_short(1000);
FLAGS;
write_byte(iRainbow);
write_byte(iRainbow);
write_byte(iRainbow);
ALPHA;
message_end();
}
return;
}
#define DELAY write_short(get_pcvar_num(g_cvar_bsod_iDelay)*4096) //Remember 4096 is ~1-sec per 'spec unit'
public FnFade(iVictim){
if(is_user_connected(iVictim) && !is_user_bot(iVictim) )
{
message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("ScreenFade"),{0,0,0},iVictim);
DELAY;DELAY;FLAGS;BLUE;ALPHA; //This is where one can change BLUE to GREEN.
message_end();
}
return;
}
amx_hitmarkers 0|1|2
0 or lower is off | 1 is sniper-only | 2 all
__________________
|
|