Fix !hide provide "mitigation" to noclip ghost bug
This commit is contained in:
parent
1700b7da91
commit
83a469cae3
@ -772,7 +772,9 @@ NoClipImpl()
|
||||
if ( !IsAlive( self ) )
|
||||
{
|
||||
self IPrintLnBold( "You are not alive" );
|
||||
return;
|
||||
// Due to bug when sometimes disabling noclip game thinks you're dead
|
||||
// removing the return and allowing them to go back into noclip is probably better.
|
||||
//return;
|
||||
}
|
||||
|
||||
self SetClientDvar( "sv_cheats", 1 );
|
||||
@ -782,18 +784,20 @@ NoClipImpl()
|
||||
self call [[level.overrideMethods["god"]]]( true );
|
||||
self call [[level.overrideMethods["noclip"]]]( true );
|
||||
self Hide();
|
||||
|
||||
self.isNoClipped = true;
|
||||
|
||||
self IPrintLnBold( "NoClip enabled" );
|
||||
}
|
||||
|
||||
NoClipOffImpl()
|
||||
{
|
||||
if ( !IsAlive( self ) )
|
||||
{
|
||||
if ( !IsDefined( self.isNoClipped ) || !self.isNoClipped )
|
||||
{
|
||||
self IPrintLnBold( "You are not alive" );
|
||||
self IPrintLnBold( "You are not no-clipped" );
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
self SetClientDvar( "sv_cheats", 1 );
|
||||
self SetClientDvar( "cg_thirdperson", 0 );
|
||||
self SetClientDvar( "sv_cheats", 0 );
|
||||
@ -803,6 +807,16 @@ NoClipOffImpl()
|
||||
self Show();
|
||||
|
||||
self IPrintLnBold( "NoClip disabled" );
|
||||
|
||||
if ( !IsAlive( self ) && self.isNoClipped )
|
||||
{
|
||||
// Sometimes you will bug exiting noclip where the game thinks you're dead
|
||||
// but you're not. You will retain godmode but be able to run around and kill people.
|
||||
// So, it's important to let the user know.
|
||||
self IPrintLnBold( "^1You are bugged! ^4Swap team." );
|
||||
}
|
||||
|
||||
self.isNoClipped = false;
|
||||
}
|
||||
|
||||
HideImpl()
|
||||
@ -817,7 +831,7 @@ HideImpl()
|
||||
self SetClientDvar( "cg_thirdperson", 1 );
|
||||
self SetClientDvar( "sv_cheats", 0 );
|
||||
|
||||
if ( !IsDefined( self.savedHealth ) || self.health < 1000 )
|
||||
if ( !IsDefined( self.savedHealth ) || self.health < 1000 )
|
||||
{
|
||||
self.savedHealth = self.health;
|
||||
self.savedMaxHealth = self.maxhealth;
|
||||
@ -825,6 +839,8 @@ HideImpl()
|
||||
|
||||
self call [[level.overrideMethods["god"]]]( true );
|
||||
self Hide();
|
||||
|
||||
self.isHidden = true;
|
||||
|
||||
self IPrintLnBold( "You are now ^5hidden ^7from other players" );
|
||||
}
|
||||
@ -849,6 +865,8 @@ UnhideImpl()
|
||||
|
||||
self call [[level.overrideMethods["god"]]]( false );
|
||||
self Show();
|
||||
|
||||
self.isHidden = false;
|
||||
|
||||
self IPrintLnBold( "You are now ^5visible ^7to other players" );
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user