Commit Graph

30 Commits

Author SHA1 Message Date
xerxes-at
7d436ac0c5 Fix Game Interface / AC Callbacks + support for T5ZM, T6MP and T6ZM for the Game Interface. (#288)
* 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
2023-05-28 20:15:52 -05:00
RaidMax
f41ce39180 implement new eventing system 2023-04-05 09:54:57 -05:00
RaidMax
fab3cf95d6 implement PluginV2 for script plugins 2023-04-04 18:24:13 -05:00
RaidMax
565f22b42e create shared integration for performance-based autobalance support 2022-10-23 13:29:01 -05:00
RaidMax
bdb5a1c5f8 Merge branch 'release/pre' of github.com:RaidMax/IW4M-Admin into release/pre 2022-10-05 09:51:24 -05:00
xerxes-at
5d9e2b3bf1 Game Interface ported to T5. (#254)
* Implement game interface for IW5 and T5
2022-10-05 09:49:00 -05:00
RaidMax
12da0f463b add client tag to default game interface data 2022-09-24 10:06:07 -05:00
RaidMax
e88071684d provide client tag in game interface meta 2022-09-21 13:04:15 -05:00
Amos
d5cf4451a2 NoClip Fix - Removed NoClipOff - Toggle Hide (#263)
* Usage of Hide is now consistent with NoClip; toggleable
Removed obsolete !NoClipOff
2022-09-11 11:51:10 -05:00
RaidMax
1e1e8bbe7b fix issue with game interface meta/provide full example 2022-09-11 11:46:13 -05:00
RaidMax
6f086ac565 modularize the game integration files and better organize the anticheat folder structure 2022-08-20 10:57:03 -05:00
RaidMax
f97e266c24 send correct type to inc/dec meta service in game interface 2022-07-16 17:47:07 -05:00
RaidMax
0a55c54c42 update to game interface/integration for persistent stat data 2022-07-13 16:10:16 -05:00
RaidMax
4b33b33d01 fix issue with alert on warn in game interface 2022-07-09 14:23:08 -05:00
xerxes-at
1700b7da91 PlutoIW5 support for the Game Interface and improvements to the GSC part of it. (#242)
* 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>
2022-05-19 17:04:34 -05:00
RaidMax
ff0d22c142 fix rcon issue 2022-04-25 15:39:30 -05:00
RaidMax
9f4d06c265 refactor some game interface plugin approach 2022-03-07 19:59:34 -06:00
RaidMax
55b0caf900 tweak game interface values again 2022-03-02 08:28:41 -06:00
RaidMax
ec0f59cdb1 add set spectator command for game interface 2022-03-01 12:45:39 -06:00
RaidMax
2e531c4a50 validate game interface commands to ensure it's enabled before trying to execute 2022-02-18 10:15:11 -06:00
RaidMax
9a6d7c6a20 game interface improvements 2022-02-15 20:05:50 -06:00
RaidMax
037fac5786 game interface improvements 2022-02-13 21:38:40 -06:00
RaidMax
3640d1df54 small updates for game interface 2022-02-12 21:54:21 -06:00
RaidMax
f3c6b10a35 add network game log reader ex: net.tcp://ip:port 2022-02-11 15:33:05 -06:00
RaidMax
c9cf7be341 add set client meta and inc/dec to framework 2022-02-10 16:50:45 -06:00
RaidMax
aa6ae0ab8d more integration tweaks 2022-02-09 14:45:28 -06:00
RaidMax
12dfd8c558 more integration tweaks
add configurable flood protect interval for rcon
2022-02-08 12:03:55 -06:00
RaidMax
07f675eadc fix issue with plugin registration 2022-02-07 22:02:50 -06:00
RaidMax
576d7015fa increase poll rate for reasonable response times 2022-02-07 18:47:16 -06:00
RaidMax
b1a1aae6c0 initial framework for gsc + iw4madmin integration
improvements to script plugin capabilities and error feedback
2022-02-07 18:43:36 -06:00