mirror of
https://github.com/ineedbots/iw4_bot_warfare.git
synced 2025-04-22 05:55:42 +00:00
hud
This commit is contained in:
parent
4f00fbbe72
commit
c86d6b0dbc
@ -37,7 +37,7 @@ init()
|
|||||||
level.killstreakRoundDelay = getIntProperty( "scr_game_killstreakdelay", 8 );
|
level.killstreakRoundDelay = getIntProperty( "scr_game_killstreakdelay", 8 );
|
||||||
|
|
||||||
setDvarIfUninitialized( "scr_killstreaksRollover", false );
|
setDvarIfUninitialized( "scr_killstreaksRollover", false );
|
||||||
setDvarIfUninitialized( "scr_killstreakHud", 0 );
|
setDvarIfUninitialized( "scr_killstreakHud", false );
|
||||||
level.killstreaksRollOver = getDvarInt("scr_killstreaksRollover");
|
level.killstreaksRollOver = getDvarInt("scr_killstreaksRollover");
|
||||||
level.killstreakHud = getDvarInt("scr_killstreaksRollover");
|
level.killstreakHud = getDvarInt("scr_killstreaksRollover");
|
||||||
|
|
||||||
@ -129,6 +129,9 @@ onPlayerSpawned()
|
|||||||
self thread killstreakUseWaiter();
|
self thread killstreakUseWaiter();
|
||||||
self thread waitForChangeTeam();
|
self thread waitForChangeTeam();
|
||||||
|
|
||||||
|
if (level.killstreakHud)
|
||||||
|
self thread initKillstreakHud( 145 );
|
||||||
|
|
||||||
self giveOwnedKillstreakItem( true );
|
self giveOwnedKillstreakItem( true );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -465,7 +468,7 @@ checkKillstreakReward( streakCount )
|
|||||||
|
|
||||||
if ( isSubStr( streakName, "-rollover" ) )
|
if ( isSubStr( streakName, "-rollover" ) )
|
||||||
{
|
{
|
||||||
if(!level.killstreaksRollover)
|
if (!level.killstreaksRollover || (level.killstreaksRollover == 2 && !self _hasPerk("specialty_rollover")))
|
||||||
continue;
|
continue;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -718,4 +721,99 @@ clearRideIntro( delay )
|
|||||||
self VisionSetNakedForPlayer( getDvar( "mapname" ), 0 );
|
self VisionSetNakedForPlayer( getDvar( "mapname" ), 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
destroyOnEvents(elem)
|
||||||
|
{
|
||||||
|
self waittill_either("disconnect", "spawned_player");
|
||||||
|
elem destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
initKillstreakHud(inity)
|
||||||
|
{
|
||||||
|
self endon( "death" );
|
||||||
|
self endon( "disconnect" );
|
||||||
|
|
||||||
|
streakVals = GetArrayKeys(self.killStreaks);
|
||||||
|
hasHardline = self _hasPerk("specialty_hardline");
|
||||||
|
|
||||||
|
self.killStreakHudElems = [];
|
||||||
|
|
||||||
|
// the killstreak counter
|
||||||
|
index = self.killStreakHudElems.size;
|
||||||
|
self.killStreakHudElems[index] = self createFontString( "objective", 2 );
|
||||||
|
self.killStreakHudElems[index].foreground = false;
|
||||||
|
self.killStreakHudElems[index].hideWhenInMenu = true;
|
||||||
|
self.killStreakHudElems[index].fontScale = 0.60;
|
||||||
|
self.killStreakHudElems[index].font = "hudbig";
|
||||||
|
self.killStreakHudElems[index].alpha = 1;
|
||||||
|
self.killStreakHudElems[index].glow = 1;
|
||||||
|
self.killStreakHudElems[index].glowColor = ( 0, 0, 1 );
|
||||||
|
self.killStreakHudElems[index].glowAlpha = 1;
|
||||||
|
self.killStreakHudElems[index].color = ( 1.0, 1.0, 1.0 );
|
||||||
|
self thread destroyOnEvents(self.killStreakHudElems[index]);
|
||||||
|
highestStreak = -1;
|
||||||
|
|
||||||
|
for (i = 0; i < streakVals.size; i++)
|
||||||
|
{
|
||||||
|
streakVal = streakVals[i];
|
||||||
|
streakName = self.killStreaks[streakVal];
|
||||||
|
|
||||||
|
if (isSubStr(streakName, "-rollover"))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
streakShader = maps\mp\killstreaks\_killstreaks::getKillstreakIcon( streakName );
|
||||||
|
streakCost = maps\mp\killstreaks\_killstreaks::getStreakCost( streakName );
|
||||||
|
if (hasHardline)
|
||||||
|
streakCost--;
|
||||||
|
|
||||||
|
// each killstreak icon
|
||||||
|
index = self.killStreakHudElems.size;
|
||||||
|
self.killStreakHudElems[index] = self createFontString( "objective", 2 );
|
||||||
|
self.killStreakHudElems[index].foreground = false;
|
||||||
|
self.killStreakHudElems[index].hideWhenInMenu = true;
|
||||||
|
self.killStreakHudElems[index].fontScale = 0.60;
|
||||||
|
self.killStreakHudElems[index].font = "hudbig";
|
||||||
|
self.killStreakHudElems[index].alpha = 1;
|
||||||
|
self.killStreakHudElems[index].glow = 1;
|
||||||
|
self.killStreakHudElems[index].glowColor = ( 0, 0, 1 );
|
||||||
|
self.killStreakHudElems[index].glowAlpha = 1;
|
||||||
|
self.killStreakHudElems[index].color = ( 1.0, 1.0, 1.0 );
|
||||||
|
self.killStreakHudElems[index] setPoint( "RIGHT", "RIGHT", 0, inity - 25 * i );
|
||||||
|
self.killStreakHudElems[index] setShader( streakShader, 20, 20 );
|
||||||
|
self.killStreakHudElems[index].ks_cost = streakCost;
|
||||||
|
self thread destroyOnEvents(self.killStreakHudElems[index]);
|
||||||
|
|
||||||
|
if (streakCost > highestStreak)
|
||||||
|
highestStreak = streakCost;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(first=true;;)
|
||||||
|
{
|
||||||
|
if (first)
|
||||||
|
first = false;
|
||||||
|
else
|
||||||
|
self waittill( "killed_enemy" );
|
||||||
|
|
||||||
|
curStreak = self.pers["cur_kill_streak"];
|
||||||
|
if (level.killstreaksRollover == 1 || (level.killstreaksRollover == 2 && self _hasPerk("specialty_rollover")))
|
||||||
|
curStreak %= highestStreak;
|
||||||
|
|
||||||
|
isUnderAStreak = false;
|
||||||
|
|
||||||
|
for (i = self.killStreakHudElems.size - 1; i >= 1; i--)
|
||||||
|
{
|
||||||
|
streakElem = self.killStreakHudElems[i];
|
||||||
|
if (curStreak < streakElem.ks_cost)
|
||||||
|
{
|
||||||
|
isUnderAStreak = true;
|
||||||
|
self.killStreakHudElems[0] setPoint( "RIGHT", "RIGHT", -25, inity - 25 * (i - 1) );
|
||||||
|
self.killStreakHudElems[0] setText( streakElem.ks_cost - curStreak );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isUnderAStreak)
|
||||||
|
{
|
||||||
|
self.killStreakHudElems[0] setPoint( "RIGHT", "RIGHT", -25, inity - 25 * (self.killStreakHudElems.size - 1 - 1) );
|
||||||
|
self.killStreakHudElems[0] setText( "Done" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user