* -add waittill_any_timeout to _integration_t6.gsc
- thread event handler calls in monitorEvents
* - add WaitTillAnyTimeout to iw5
- remove unneeded thread from event handlers
- change WaitTillAnyTimeout in t6 to use a wrapper
* remove extra set of parentheses in call to DisplaypopupsWaiter()
* add missing event argument in call to GotoCoordImpl()
* remove event arg from GotoCoordImpl() in t6 to match other game interface scripts
* Fix trying to write to a struct before its initialized.
Same issue on IW4, IW5 and T5 game modules.
* Fix path issues in the scripts + add support for t5zm.
* Fix deploy.bat
* Change paths inside the gsc scripts used to call functions in other scripts
* Remove mp includes from base gsc file.
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;
* Define GetXuid as overrideMethod as t5zm doesn't have it.
* Define GetPlayerFromClientNum as getting all players is slightly different on t5zm.
* Remove the precompiled gsc file for T6 as PlutoT6 can load uncompiled GSC now.
* Fix _customcallbacks.gsc for T6
* Add T6 support to the game interface.
* Update _integration_base.gsc
use camelCase for functionName
* Make sure the Setup functions are always called in the right order.
Base -> shared -> game
Otherwise we might write to structs before they are created.
* Move functions interacting with the game from _base to _shared
GetPlayerFromClientNum
OnPlayerJoinedTeam
OnPlayerJoinedSpectators
GenerateJoinTeamString
PlayerTrackingOnInterval
SaveTrackingMetrics
* Block execution until game specific setup is done
Block _shared execution until the game specific file finished.
This allows the game specific file to override the events in _shared.
* Fix setup event flow
Move check of sv_iw4madmin_integration_enabled dvar after waittill in _shared so _base has a chance to set it to 1.
Move check of sv_iw4madmin_autobalance dvar to OnPlayerConnect in _shared so the game specific script has a chance to set the dvar.
* ignore bots
* add more spaces
* 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
* Improvements to the GSC part of the Game Interface
* Adds compatibility with PlutoIW5 with minimal changes.
* Fixes issues when commands are called from the web interface when the used profile is not on the server.
* New Debug output when the target or origin of a command is sent by IW4MAdmin but not found in-game.
* Commands that can be run on the context of the target are now run in it.
* Simplifies the command registration and execution.
* Got rid of the huge switch block.
* Introduced AddClientCommand to register new commands for example
* `AddClientCommand("SwitchTeams", true, ::TeamSwitchImpl);`
* `AddClientCommand("Hide", false, ::HideImpl);`
* Callbacks are called with the full event object and the parsed data as parameters to allow maximum flexibility.
* Introduced level.eventBus.gamename to know which game we are to add minor changes.
* Changes - noclip/lockcontrols/playertome
Additional changes to support other games' functions
Co-Authored-By: Amos <4959320+MrAmos123@users.noreply.github.com>
* PlutoT6 AC GSC Updated
PlutoT6's GSC modding capabilities changed, this allows us to bring the script on parity with the IW4x one. The following things changed:
* Script no longer replaces stock GSC since custom GSC files are now supported.
* The Script now captures the last time the client used his attack button; this is used to detect trigger bots.
* Cleaned up the code a bit
* Create README.MD
Basic installation guide.
PlutoT6 requires pre-compiled GSC files.
Thats why I include the source and a compiled version. Since we can not create new GSC files but only can replace existing ones I did use this stock GSC to add our code to it.