fix iw4x, integration. improve scripts overall (#287)

* fix(scripts): correct usage of notifyOnPlayerCommand

* fix(scripts): correct iw4x usage of is bot

* fix(scripts): correct iw4x usage of is bot

* fix(scripts): fix noclip on iw4x

* fix(scripts): ident

* iw5 too
This commit is contained in:
Edo 2023-04-08 03:42:18 +02:00 committed by GitHub
parent a434420951
commit c348283c94
8 changed files with 20 additions and 14 deletions

View File

@ -41,11 +41,11 @@ waitForAttack()
{ {
self endon( "disconnect" ); self endon( "disconnect" );
self notifyOnPlayerCommand( "player_shot", "+attack" );
self.lastAttackTime = 0; self.lastAttackTime = 0;
for( ;; ) for( ;; )
{ {
self notifyOnPlayerCommand( "player_shot", "+attack" );
self waittill( "player_shot" ); self waittill( "player_shot" );
self.lastAttackTime = getTime(); self.lastAttackTime = getTime();

View File

@ -40,11 +40,11 @@ waitForAttack()
{ {
self endon( "disconnect" ); self endon( "disconnect" );
self notifyOnPlayerCommand( "player_shot", "+attack" );
self.lastAttackTime = 0; self.lastAttackTime = 0;
for( ;; ) for( ;; )
{ {
self notifyOnPlayerCommand( "player_shot", "+attack" );
self waittill( "player_shot" ); self waittill( "player_shot" );
self.lastAttackTime = getTime(); self.lastAttackTime = getTime();

View File

@ -41,17 +41,16 @@ onPlayerConnect( player )
} }
} }
//Got added to T6 on April 2020 //Got added to T6 on April 2020
waitForAttack() waitForAttack()
{ {
self endon( "disconnect" ); self endon( "disconnect" );
self notifyOnPlayerCommand( "player_shot", "+attack" );
self.lastAttackTime = 0; self.lastAttackTime = 0;
for( ;; ) for( ;; )
{ {
self notifyOnPlayerCommand( "player_shot", "+attack" );
self waittill( "player_shot" ); self waittill( "player_shot" );
self.lastAttackTime = getTime(); self.lastAttackTime = getTime();

View File

@ -4,7 +4,7 @@
Init() Init()
{ {
level thread Setup(); thread Setup();
} }
Setup() Setup()
@ -21,6 +21,7 @@ Setup()
level.commonFunctions = spawnstruct(); level.commonFunctions = spawnstruct();
level.commonFunctions.setDvar = "SetDvarIfUninitialized"; level.commonFunctions.setDvar = "SetDvarIfUninitialized";
level.commonFunctions.isBot = "IsBot";
level.commonKeys = spawnstruct(); level.commonKeys = spawnstruct();

View File

@ -4,7 +4,7 @@ Init()
{ {
level.eventBus.gamename = "IW4"; level.eventBus.gamename = "IW4";
level thread Setup(); thread Setup();
} }
Setup() Setup()
@ -18,6 +18,7 @@ Setup()
level.overrideMethods["GetTotalShotsFired"] = ::GetTotalShotsFired; level.overrideMethods["GetTotalShotsFired"] = ::GetTotalShotsFired;
level.overrideMethods[level.commonFunctions.setDvar] = ::_SetDvarIfUninitialized; level.overrideMethods[level.commonFunctions.setDvar] = ::_SetDvarIfUninitialized;
level.overrideMethods[level.commonFunctions.isBot] = ::IsTestClient;
level.overrideMethods["waittill_notify_or_timeout"] = ::_waittill_notify_or_timeout; level.overrideMethods["waittill_notify_or_timeout"] = ::_waittill_notify_or_timeout;
level.overrideMethods[level.commonFunctions.changeTeam] = ::ChangeTeam; level.overrideMethods[level.commonFunctions.changeTeam] = ::ChangeTeam;
level.overrideMethods[level.commonFunctions.getTeamCounts] = ::CountPlayers; level.overrideMethods[level.commonFunctions.getTeamCounts] = ::CountPlayers;
@ -48,7 +49,7 @@ OnPlayerConnect()
{ {
level waittill( "connected", player ); level waittill( "connected", player );
if ( scripts\_integration_base::_IsBot( player ) ) if ( player call [[ level.overrideMethods[ level.commonFunctions.isBot ] ]]() )
{ {
// we don't want to track bots // we don't want to track bots
continue; continue;
@ -441,7 +442,9 @@ NoClipImpl()
self SetClientDvar( "sv_cheats", 0 ); self SetClientDvar( "sv_cheats", 0 );
self God(); self God();
self Noclip();
self.clientflags |= 1; // IW4x specific
self Hide(); self Hide();
self.isNoClipped = true; self.isNoClipped = true;
@ -455,7 +458,9 @@ NoClipImpl()
self SetClientDvar( "sv_cheats", 0 ); self SetClientDvar( "sv_cheats", 0 );
self God(); self God();
self Noclip();
self.clientflags &= ~1; // IW4x specific
self Show(); self Show();
self.isNoClipped = false; self.isNoClipped = false;

View File

@ -4,7 +4,7 @@ Init()
{ {
level.eventBus.gamename = "IW5"; level.eventBus.gamename = "IW5";
level thread Setup(); thread Setup();
} }
Setup() Setup()
@ -19,6 +19,7 @@ Setup()
level.overrideMethods["GetTotalShotsFired"] = ::GetTotalShotsFired; level.overrideMethods["GetTotalShotsFired"] = ::GetTotalShotsFired;
level.overrideMethods["SetDvarIfUninitialized"] = ::_SetDvarIfUninitialized; level.overrideMethods["SetDvarIfUninitialized"] = ::_SetDvarIfUninitialized;
level.overrideMethods["waittill_notify_or_timeout"] = ::_waittill_notify_or_timeout; level.overrideMethods["waittill_notify_or_timeout"] = ::_waittill_notify_or_timeout;
level.overrideMethods[level.commonFunctions.isBot] = ::IsTestClient;
RegisterClientCommands(); RegisterClientCommands();
@ -40,7 +41,7 @@ OnPlayerConnect()
{ {
level waittill( "connected", player ); level waittill( "connected", player );
if ( scripts\mp\_integration_base::_IsBot( player ) ) if ( player call [[ level.overrideMethods[ level.commonFunctions.isBot ] ]]() )
{ {
// we don't want to track bots // we don't want to track bots
continue; continue;

View File

@ -1,7 +1,7 @@
Init() Init()
{ {
level thread Setup(); thread Setup();
} }
Setup() Setup()

View File

@ -4,7 +4,7 @@ Init()
{ {
level.eventBus.gamename = "T5"; level.eventBus.gamename = "T5";
level thread Setup(); thread Setup();
} }
Setup() Setup()