mirror of
https://github.com/ineedbots/iw5_bot_warfare.git
synced 2025-04-25 23:29:12 +00:00
better print damage
This commit is contained in:
parent
3776e4de0a
commit
1af663dae8
@ -1832,8 +1832,49 @@ Callback_PlayerDamage( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, v
|
||||
Callback_PlayerDamage_internal( var_0, var_1, self, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9 );
|
||||
}
|
||||
|
||||
doPrintDamage(dmg, hitloc, flags)
|
||||
{
|
||||
huddamage = newclienthudelem(self);
|
||||
huddamage.alignx = "center";
|
||||
huddamage.horzalign = "center";
|
||||
huddamage.x = 10;
|
||||
huddamage.y = 235;
|
||||
huddamage.fontscale = 1.6;
|
||||
huddamage.font = "objective";
|
||||
huddamage setvalue(dmg);
|
||||
|
||||
if ((flags & level.iDFLAGS_PENETRATION) != 0)
|
||||
huddamage.color = (1, 1, 0.25);
|
||||
|
||||
if (hitloc == "head")
|
||||
huddamage.color = (1, 0.25, 0.25);
|
||||
|
||||
huddamage moveovertime(1);
|
||||
huddamage fadeovertime(1);
|
||||
huddamage.alpha = 0;
|
||||
huddamage.x = randomIntRange(25, 70);
|
||||
|
||||
val = 1;
|
||||
if (randomInt(2))
|
||||
val = -1;
|
||||
|
||||
huddamage.y = 235 + randomIntRange(25, 70) * val;
|
||||
|
||||
wait 1;
|
||||
|
||||
huddamage destroy();
|
||||
}
|
||||
|
||||
finishPlayerDamageWrapper( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10 )
|
||||
{
|
||||
if( isDefined(level.allowPrintDamage) && level.allowPrintDamage )
|
||||
{
|
||||
if ( isDefined( var_1 ) && isPlayer( var_1 ) && isDefined(var_1.printDamage) && var_1.printDamage )
|
||||
var_1 thread doPrintDamage(var_2, var_8, var_3);
|
||||
else if( isDefined( var_1.owner ) && isPlayer( var_1.owner ) && isDefined(var_1.owner.printDamage) && var_1.owner.printDamage )
|
||||
var_1.owner thread doPrintDamage(var_2, var_8, var_3);
|
||||
}
|
||||
|
||||
if ( maps\mp\_utility::isUsingRemote() && var_2 >= self.health && !( var_3 & level.iDFLAGS_STUN ) )
|
||||
{
|
||||
if ( !isdefined( var_7 ) )
|
||||
|
@ -1,28 +0,0 @@
|
||||
game:onplayerdamage(function(_self, inflictor, attacker, damage, dflags, mod, weapon, point, dir, hitloc)
|
||||
if (game:isplayer(attacker) ~= 1 or _self.sessionteam == attacker.sessionteam or _self == attacker) then
|
||||
return
|
||||
end
|
||||
|
||||
local huddamage = game:newclienthudelem(attacker)
|
||||
huddamage.alignx = "center"
|
||||
huddamage.horzalign = "center"
|
||||
huddamage.x = 10
|
||||
huddamage.y = 235
|
||||
huddamage.fontscale = 1.6
|
||||
huddamage.font = "objective"
|
||||
huddamage:setvalue(damage)
|
||||
|
||||
if (hitloc == "head") then
|
||||
huddamage.color = vector:new(1, 1, 0.25)
|
||||
end
|
||||
|
||||
huddamage:moveovertime(1)
|
||||
huddamage:fadeovertime(1)
|
||||
huddamage.alpha = 0
|
||||
huddamage.x = math.random(25, 70)
|
||||
huddamage.y = 235 + math.random(25, 70) * (math.random(0, 1) == 1 and -1 or 1)
|
||||
|
||||
game:ontimeout(function()
|
||||
huddamage:destroy()
|
||||
end, 1000)
|
||||
end)
|
@ -4,58 +4,8 @@ init()
|
||||
|
||||
level thread onPlayerConnect();
|
||||
|
||||
level thread hook_callbacks();
|
||||
|
||||
level.killstreakPrint = 2;
|
||||
}
|
||||
|
||||
doPrintDamage(dmg, hitloc)
|
||||
{
|
||||
huddamage = newclienthudelem(self);
|
||||
huddamage.alignx = "center";
|
||||
huddamage.horzalign = "center";
|
||||
huddamage.x = 10;
|
||||
huddamage.y = 235;
|
||||
huddamage.fontscale = 1.6;
|
||||
huddamage.font = "objective";
|
||||
huddamage setvalue(dmg);
|
||||
|
||||
if (hitloc == "head")
|
||||
huddamage.color = (1, 1, 0.25);
|
||||
|
||||
huddamage moveovertime(1);
|
||||
huddamage fadeovertime(1);
|
||||
huddamage.alpha = 0;
|
||||
huddamage.x = randomIntRange(25, 70);
|
||||
|
||||
val = 1;
|
||||
if (randomInt(2))
|
||||
val = -1;
|
||||
|
||||
huddamage.y = 235 + randomIntRange(25, 70) * val;
|
||||
|
||||
wait 1;
|
||||
|
||||
huddamage destroy();
|
||||
}
|
||||
|
||||
onPlayerDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset )
|
||||
{
|
||||
self [[level.prevCallbackPlayerDamage2]]( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset );
|
||||
|
||||
if ( isDefined( eAttacker ) && isPlayer( eAttacker ) )
|
||||
eAttacker thread doPrintDamage(iDamage, sHitLoc);
|
||||
else if( isDefined( eAttacker.owner ) && isPlayer( eAttacker.owner ) )
|
||||
eAttacker.owner thread doPrintDamage(iDamage, sHitLoc);
|
||||
}
|
||||
|
||||
hook_callbacks()
|
||||
{
|
||||
level waittill( "prematch_over" );
|
||||
wait 0.1;
|
||||
|
||||
level.prevCallbackPlayerDamage2 = level.callbackPlayerDamage;
|
||||
level.callbackPlayerDamage = ::onPlayerDamage;
|
||||
level.allowPrintDamage = true;
|
||||
}
|
||||
|
||||
onPlayerConnect()
|
||||
@ -79,6 +29,8 @@ onChangeKit()
|
||||
{
|
||||
self endon("disconnect");
|
||||
|
||||
self.printDamage = true;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
self waittill("changed_kit");
|
||||
|
Loading…
x
Reference in New Issue
Block a user