UGX-Mods Login

or login with an authentication provider below
Sign In with Google
Sign In with Twitter
Sign In with Discord
Sign In with Steam
Sign In with Facebook
Sign In with Twitch

Player Damage Override Help

broken avatar :(
Created 11 years ago
by jbird
0 Members and 1 Guest are viewing this topic.
1,701 views
broken avatar :(
×
broken avatar :(
Location: usUnited States
Date Registered: 13 May 2014
Last active: 5 days ago
Posts
167
Respect
Forum Rank
Pack-a-Puncher
Primary Group
Member
×
jbird's Groups
Code Snippet
Plaintext
player_damage_override( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime )
{
/*
if(self hasperk("specialty_armorvest") && eAttacker != self)
{
iDamage = iDamage * 0.75;
iprintlnbold(idamage);
}*/

if( sMeansOfDeath == "MOD_FALLING" )
{
sMeansOfDeath = "MOD_MELEE";
}

if( sMeansOfDeath == "MOD_EXPLOSIVE" )
{
sMeansOfDeath = "MOD_MELEE";
}

if( isDefined( eAttacker ) )
{
if( isPlayer( eAttacker ) )
{
self thread griefing( eAttacker );
}

if( isDefined( self.ignoreAttacker ) && self.ignoreAttacker == eAttacker )
{
return;
}

if( isDefined( eAttacker.is_zombie ) && eAttacker.is_zombie )
{
self.ignoreAttacker = eAttacker;
self thread remove_ignore_attacker();
}

if( isDefined( eAttacker.damage_mult ) )
{
iDamage *= eAttacker.damage_mult;
}
eAttacker notify( "hit_player" );
}

finalDamage = iDamage;

if( sMeansOfDeath == "MOD_PROJECTILE" || sMeansOfDeath == "MOD_PROJECTILE_SPLASH" || sMeansOfDeath == "MOD_GRENADE" || sMeansOfDeath == "MOD_GRENADE_SPLASH" )
{
if( self.health > 75 )
{
finalDamage = 75;
self maps\_callbackglobal::finishPlayerDamageWrapper( eInflictor, eAttacker, finalDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime );
return;
}
}

if( iDamage < self.health )
{
if ( IsDefined( eAttacker ) )
{
eAttacker.sound_damage_player = self;
}

//iprintlnbold(iDamage);
self maps\_callbackglobal::finishPlayerDamageWrapper( eInflictor, eAttacker, finalDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime );
return;
}
if( level.intermission )
{
level waittill( "forever" );
}

players = get_players();
count = 0;
for( i = 0; i < players.size; i++ )
{
if( players[i] == self || players[i].is_zombie || players[i] maps\_laststand::player_is_in_laststand() || players[i].sessionstate == "spectator" )
{
count++;
}
}

if( count < players.size )
{
self maps\_callbackglobal::finishPlayerDamageWrapper( eInflictor, eAttacker, finalDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime );
return;
}

self.intermission = true;

self thread maps\_laststand::PlayerLastStand( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, psOffsetTime );
self player_fake_death();

if( count == players.size )
{
self maps\_laststand::laststand_take_player_weapons();

zombs = getaispeciesarray("axis");
for(i=0;i<zombs.size;i++)
{
zombs[i] delete(); //removes all currently spawned in zombies
}

maps\_zombiemode_powerups::powerup_round_start(); //restarts the amount of powerups you can earn this round
array_thread( players, maps\_zombiemode_blockers_new::rebuild_barrier_reward_reset ); //restarts your barrier points this round
level.zombie_total = 0;
level thread round_spawning();

players = get_players();
for(i=0;i<players.size;i++)
{
if( !is_player_valid(players[i]) )
{
players[i] spectator_respawn();
}
else
{
origin = self.spectator_respawn.origin;
angles = self.spectator_respawn.angles;

new_origin = undefined;


new_origin = check_for_valid_spawn_near_team( self );


if( IsDefined( new_origin ) )
{
self Spawn( new_origin, angles );
}
else
{
self Spawn( origin, angles );
}
}
players[i] [[level.spawnPlayer]]();
while(1)
{
if(players[i] hasWeapon("zombie_colt"))
{
players[i] maps\_laststand::laststand_giveback_player_weapons();
if( isDefined( players[i].has_altmelee ) && players[i].has_altmelee )
{
players[i] SetPerk( "specialty_altmelee" );
}
level thread award_grenades_for_survivors(); //get 2 extra grenades when you spawn back in, optional
break;
}
wait(0.05);
}
}
iprintlnbold("You have been given another chance"); //message letting you know the round restarted, optional
}
else
{
self maps\_callbackglobal::finishPlayerDamageWrapper( eInflictor, eAttacker, finalDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, modelIndex, psOffsetTime );
}
}
Code Snippet
Plaintext
griefing( eAttacker )
{
if( eAttacker meleeButtonPressed() )
{
self setVelocity( vectorToAngles( eAttacker.origin - self.origin ) ); // Not tested, you'll have to play around with this. Most likely won't push the player in the correct direction.
}

self setMoveSpeedScale( .3 );
wait( 2 );
self setMoveSpeedScale( 1 );
}
Currently the griefing thread only takes effect if you grenade yourself, but I want it to take effect when other players shoot or knife you. How would I do this?

 
Loading ...