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 );
|
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 )
|
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 ( maps\mp\_utility::isUsingRemote() && var_2 >= self.health && !( var_3 & level.iDFLAGS_STUN ) )
|
||||||
{
|
{
|
||||||
if ( !isdefined( var_7 ) )
|
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 onPlayerConnect();
|
||||||
|
|
||||||
level thread hook_callbacks();
|
|
||||||
|
|
||||||
level.killstreakPrint = 2;
|
level.killstreakPrint = 2;
|
||||||
}
|
level.allowPrintDamage = true;
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onPlayerConnect()
|
onPlayerConnect()
|
||||||
@ -79,6 +29,8 @@ onChangeKit()
|
|||||||
{
|
{
|
||||||
self endon("disconnect");
|
self endon("disconnect");
|
||||||
|
|
||||||
|
self.printDamage = true;
|
||||||
|
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
self waittill("changed_kit");
|
self waittill("changed_kit");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user