{"id":34847683,"url":"https://github.com/untrustedmodders/plugify-plugin-s2sdk","last_synced_at":"2026-04-19T17:09:09.721Z","repository":{"id":226684762,"uuid":"745854740","full_name":"untrustedmodders/plugify-plugin-s2sdk","owner":"untrustedmodders","description":"Source 2 SDK Plugin","archived":false,"fork":false,"pushed_at":"2026-01-18T13:29:49.000Z","size":26666,"stargazers_count":11,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-18T20:59:35.755Z","etag":null,"topics":["counter-strike-2","cs2","plugify","plugify-plugin","plugin"],"latest_commit_sha":null,"homepage":"https://api.plugify.net?file=https://raw.githubusercontent.com/untrustedmodders/plugify-plugin-s2sdk/refs/heads/main/plugify-plugin-s2sdk.pplugin.in","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/untrustedmodders.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-01-20T10:54:28.000Z","updated_at":"2026-01-18T13:29:36.000Z","dependencies_parsed_at":"2024-03-13T02:24:19.524Z","dependency_job_id":"89a3ed99-f083-40b7-950a-4e4132057bbb","html_url":"https://github.com/untrustedmodders/plugify-plugin-s2sdk","commit_stats":null,"previous_names":["untrustedmodders/cs2-sdk-plugin","untrustedmodders/plugify-source-2","untrustedmodders/plugify-plugin-s2sdk"],"tags_count":198,"template":false,"template_full_name":null,"purl":"pkg:github/untrustedmodders/plugify-plugin-s2sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/untrustedmodders%2Fplugify-plugin-s2sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/untrustedmodders%2Fplugify-plugin-s2sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/untrustedmodders%2Fplugify-plugin-s2sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/untrustedmodders%2Fplugify-plugin-s2sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/untrustedmodders","download_url":"https://codeload.github.com/untrustedmodders/plugify-plugin-s2sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/untrustedmodders%2Fplugify-plugin-s2sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28662724,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T01:17:37.254Z","status":"online","status_checked_at":"2026-01-22T02:00:07.137Z","response_time":144,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["counter-strike-2","cs2","plugify","plugify-plugin","plugin"],"created_at":"2025-12-25T18:52:56.236Z","updated_at":"2026-04-19T17:09:09.710Z","avatar_url":"https://github.com/untrustedmodders.png","language":"C++","readme":"# Source2 SDK Plugin\n\n## Overview\n\nThe **Source2 SDK** is a plugin for the [Plugify](https://github.com/untrustedmodders/plugify) framework that makes it easier to build custom plugins for games running on the Source 2 engine. It provides a clean interface to extend game functionality, hook into engine systems, and create gameplay or debugging tools.\n\nWith this SDK, developers can quickly prototype plugins without reverse-engineering effort. The design emphasizes clarity, modularity, and ease of extension.\n\n[Join our Discord](https://discord.gg/rX9TMmpang) to discuss plugin development, share examples, or get help.\n\n---\n\n### Key Features\n\n**S2SDK** is a lightweight SourceMod alternative written in C++ using **source2sdk** and **Plugify** as its module/plugin system.  \nIt exposes **over 500 exported methods** inspired by the SourceMod API and can be used from any language that Plugify supports.\n\nS2SDK supports:\n- Source 2 schemas and protobufs\n- Command registration\n- Source 2 events, entities and client handling\n- Game configuration (signatures and offsets)\n- Other core features similar to SourceMod\n\nThe project is actively developed and will continue to expand its feature set.\n\n- Create and register **console commands** dynamically  \n  → [Guide: Console Commands](https://plugify.net/plugins/s2sdk/guides/console-commands)\n\n- Read and modify **console variables (ConVars)** in real time  \n  → [Guide: Console Variables](https://plugify.net/plugins/s2sdk/guides/console-commands)\n\n- Subscribe to and listen for **Source 2 style game events**  \n  → [Guide: Game Events](https://plugify.net/plugins/s2sdk/guides/game-events)\n\n- Register **global listeners** for SDK-wide hooks  \n  → [Guide: Global Listeners](https://plugify.net/plugins/s2sdk/guides/global-listeners)\n\n- Inspect and interact with **entity schemas** (networked properties, data tables)  \n  → [Guide: Entity Schemas](https://plugify.net/plugins/s2sdk/guides/entity-schemas)\n\n- Send and handle **user messages** for client-server communication  \n  → [Guide: User Messages](https://plugify.net/plugins/s2sdk/guides/user-messages)\n\n- How to integrate Valve's [CS_Script](https://developer.valvesoftware.com/wiki/Counter-Strike_2_Workshop_Tools/Scripting) system with Plugify plugins.  \n  → [Guide: CS_Script Integration](https://plugify.net/plugins/s2sdk/guides/cs_script-integration)\n\nMore guides will be added over time to cover advanced use cases could be found [here](https://plugify.net/plugins/s2sdk/guides/).\n\n### Prerequisites\n\n- Plugify Framework Installed\n- [C++ Language Module](https://github.com/untrustedmodders/plugify-module-cpp)\n- [PolyHook Plugin](https://github.com/untrustedmodders/polyhook)\n\n### Installation\n\n#### Option 1: Install via Mamba Plugin Manager (embedded in s2 launcher)\n\nYou can install the Source2 SDK using the Mamba package manager by running the following command:\n\n```bash\nmamba install -n your_env_name -c https://untrustedmodders.github.io/plugify-plugin-s2sdk/ plugify-module-s2sdk\n```\n\n#### Option 2: Manual Installation\n\n##### 1) Download the Release\nGrab the latest release package from the [Releases](/releases) page.\n\n##### 2) Extract the Package\nUnzip the downloaded archive to a temporary directory.\n\n##### 3) Place the Plugin in the Plugins Folder\nMove the extracted `plugify-plugin-s2sdk` directory into:\n\n```text\ncsgo/addons/plugify/envs/plugify-plugin-s2sdk\n```\n\n##### 4) Verify Installation\nCheck that the following structure exists:\n\n```text\ncsgo/\n└── addons/\n    └── plugify/\n        └── envs/\n            └── plugify-plugin-s2sdk/\n                ├── plugify-plugin-s2sdk.pplugin    # Plugify plugin definition file\n                └── bin/                            # Compiled binaries and runtime artifacts\n                    ├── plugify-plugin-s2sdk.dll    # Windows build of the SDK\n                    └── libplugify-plugin-s2sdk.so  # Linux build of the SDK\n```\n\n- **bin/** - contains build outputs and other runtime files  \n- **plugify-plugin-s2sdk.dll** - dynamic library for Windows environments  \n- **libplugify-plugin-s2sdk.so** - shared object library for Linux environments  \n- **plugify-plugin-s2sdk.pplugin** - metadata file that defines the plugin for Plugify  \n\n### Building\n\n1. Clone this repository:\n\n    ```bash\n    git clone https://github.com/untrustedmodders/plugify-plugin-s2sdk.git --recursive\n    cd plugify-plugin-s2sdk\n    ```\n\n2. Build the plugin:\n\n    ```bash\n    mkdir build \u0026\u0026 cd build\n    cmake ..\n    cmake --build .\n    ```\n   \n## Documentation\n\nFor a complete list of functions, parameters, and examples, please visit our documentation site at: [Plugify Source 2 Documentation](https://api.plugify.net?file=https://raw.githubusercontent.com/untrustedmodders/plugify-plugin-s2sdk/refs/heads/main/plugify-plugin-s2sdk.pplugin.in).\n\n## Contributing\n\nWe welcome contributions from the community! If you’d like to contribute, please fork the repository and submit a pull request. Ensure to follow the contribution guidelines outlined in the repository.\n\n## License\n\nThis project is licensed under the GPLv3 License - see the [LICENSE](LICENSE) file for details.\n\n## Support\n\nFor support and inquiries, please open an issue in the GitHub repository or contact us through our community channels.\n\n---\n\nHappy coding and enjoy creating amazing plugins for Source 2!\n\n# API Methods\n\nGenerated from: plugify-plugin-s2sdk.pplugin.in\n\nTotal methods: 508\n\n### Clients\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| EntPointerToPlayerSlot | `EntPointerToPlayerSlot(entity: ptr64): int32` | Retrieves The player slot from a given entity pointer. |\n| PlayerSlotToEntPointer | `PlayerSlotToEntPointer(playerSlot: int32): ptr64` | Returns a pointer to the entity instance by player slot index. |\n| PlayerSlotToEntHandle | `PlayerSlotToEntHandle(playerSlot: int32): int32` | Returns the entity handle associated with a player slot index. |\n| PlayerSlotToClientPtr | `PlayerSlotToClientPtr(playerSlot: int32): ptr64` | Retrieves the client object from a given player slot. |\n| ClientPtrToPlayerSlot | `ClientPtrToPlayerSlot(client: ptr64): int32` | Retrieves the index of a given client object. |\n| PlayerSlotToClientIndex | `PlayerSlotToClientIndex(playerSlot: int32): int32` | Returns the entity index for a given player slot. |\n| ClientIndexToPlayerSlot | `ClientIndexToPlayerSlot(clientIndex: int32): int32` | Retrieves the player slot from a given client index. |\n| GetClientAuthId | `GetClientAuthId(playerSlot: int32): string` | Retrieves a client's authentication string (SteamID). |\n| GetClientAccountId | `GetClientAccountId(playerSlot: int32): uint64` | Returns the client's Steam account ID, a unique number identifying a given Steam account. |\n| GetClientIp | `GetClientIp(playerSlot: int32): string` | Retrieves a client's IP address. |\n| GetClientLanguage | `GetClientLanguage(playerSlot: int32): string` | Retrieves a client's language. |\n| GetClientOS | `GetClientOS(playerSlot: int32): string` | Retrieves a client's operating system. |\n| GetClientName | `GetClientName(playerSlot: int32): string` | Returns the client's name. |\n| GetClientTime | `GetClientTime(playerSlot: int32): float` | Returns the client's connection time in seconds. |\n| GetClientLatency | `GetClientLatency(playerSlot: int32): float` | Returns the client's current latency (RTT). |\n| GetUserFlagBits | `GetUserFlagBits(playerSlot: int32): uint64` | Returns the client's access flags. |\n| SetUserFlagBits | `SetUserFlagBits(playerSlot: int32, flags: uint64): void` | Sets the access flags on a client using a bitmask. |\n| AddUserFlags | `AddUserFlags(playerSlot: int32, flags: uint64): void` | Adds access flags to a client. |\n| RemoveUserFlags | `RemoveUserFlags(playerSlot: int32, flags: uint64): void` | Removes access flags from a client. |\n| IsClientAuthorized | `IsClientAuthorized(playerSlot: int32): bool` | Checks if a certain player has been authenticated. |\n| IsClientConnected | `IsClientConnected(playerSlot: int32): bool` | Checks if a certain player is connected. |\n| IsClientInGame | `IsClientInGame(playerSlot: int32): bool` | Checks if a certain player has entered the game. |\n| IsClientSourceTV | `IsClientSourceTV(playerSlot: int32): bool` | Checks if a certain player is the SourceTV bot. |\n| IsClientAlive | `IsClientAlive(playerSlot: int32): bool` | Checks if the client is alive or dead. |\n| IsFakeClient | `IsFakeClient(playerSlot: int32): bool` | Checks if a certain player is a fake client. |\n| GetClientTeam | `GetClientTeam(playerSlot: int32): int32` | Retrieves a client's team index. |\n| GetClientHealth | `GetClientHealth(playerSlot: int32): int32` | Returns the client's health. |\n| GetClientArmor | `GetClientArmor(playerSlot: int32): int32` | Returns the client's armor value. |\n| GetClientAbsOrigin | `GetClientAbsOrigin(playerSlot: int32): vec3` | Retrieves the client's origin vector. |\n| GetClientAbsAngles | `GetClientAbsAngles(playerSlot: int32): vec3` | Retrieves the client's position angle. |\n| GetClientEyeAngles | `GetClientEyeAngles(playerSlot: int32): vec3` | Retrieves the client's eye angle. |\n| ProcessTargetString | `ProcessTargetString(caller: int32, target: string): int32[]` | Processes the target string to determine if one user can target another. |\n| ChangeClientTeam | `ChangeClientTeam(playerSlot: int32, team: int32): void` | Changes a client's team. |\n| SwitchClientTeam | `SwitchClientTeam(playerSlot: int32, team: int32): void` | Switches the player's team. |\n| RespawnClient | `RespawnClient(playerSlot: int32): void` | Respawns a player. |\n| ForcePlayerSuicide | `ForcePlayerSuicide(playerSlot: int32, explode: bool, force: bool): void` | Forces a player to commit suicide. |\n| KickClient | `KickClient(playerSlot: int32): void` | Disconnects a client from the server as soon as the next frame starts. |\n| BanClient | `BanClient(playerSlot: int32, duration: float, kick: bool): void` | Bans a client for a specified duration. |\n| BanIdentity | `BanIdentity(steamId: uint64, duration: float, kick: bool): void` | Bans an identity (either an IP address or a Steam authentication string). |\n| GetClientActiveWeapon | `GetClientActiveWeapon(playerSlot: int32): int32` | Retrieves the handle of the client's currently active weapon. |\n| GetClientWeapons | `GetClientWeapons(playerSlot: int32): int32[]` | Retrieves a list of weapon handles owned by the client. |\n| DropWeapon | `DropWeapon(playerSlot: int32, weaponHandle: int32, target: vec3, velocity: vec3): void` | Forces a player to drop their weapon. |\n| StripWeapons | `StripWeapons(playerSlot: int32, removeSuit: bool): void` | Removes all weapons from a client, with an option to remove the suit as well. |\n| BumpWeapon | `BumpWeapon(playerSlot: int32, weaponHandle: int32): void` | Bumps a player's weapon. |\n| SwitchWeapon | `SwitchWeapon(playerSlot: int32, weaponHandle: int32): void` | Switches a player's weapon. |\n| RemoveWeapon | `RemoveWeapon(playerSlot: int32, weaponHandle: int32): void` | Removes a player's weapon. |\n| GiveNamedItem | `GiveNamedItem(playerSlot: int32, itemName: string): int32` | Gives a named item (e.g., weapon) to a client. |\n| GetClientButtons | `GetClientButtons(playerSlot: int32, buttonIndex: int32): uint64` | Retrieves the state of a specific button for a client. |\n| GetClientMoney | `GetClientMoney(playerSlot: int32): int32` | Retrieves the amount of money a client has. |\n| SetClientMoney | `SetClientMoney(playerSlot: int32, money: int32): void` | Sets the amount of money for a client. |\n| GetClientKills | `GetClientKills(playerSlot: int32): int32` | Retrieves the number of kills for a client. |\n| SetClientKills | `SetClientKills(playerSlot: int32, kills: int32): void` | Sets the number of kills for a client. |\n| GetClientDeaths | `GetClientDeaths(playerSlot: int32): int32` | Retrieves the number of deaths for a client. |\n| SetClientDeaths | `SetClientDeaths(playerSlot: int32, deaths: int32): void` | Sets the number of deaths for a client. |\n| GetClientAssists | `GetClientAssists(playerSlot: int32): int32` | Retrieves the number of assists for a client. |\n| SetClientAssists | `SetClientAssists(playerSlot: int32, assists: int32): void` | Sets the number of assists for a client. |\n| GetClientDamage | `GetClientDamage(playerSlot: int32): int32` | Retrieves the total damage dealt by a client. |\n| SetClientDamage | `SetClientDamage(playerSlot: int32, damage: int32): void` | Sets the total damage dealt by a client. |\n\n### Commands\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| AddAdminCommand | `AddAdminCommand(name: string, adminFlags: int64, description: string, flags: int64, callback: function, type: uint8): bool` | Creates a console command as an administrative command. |\n| AddConsoleCommand | `AddConsoleCommand(name: string, description: string, flags: int64, callback: function, type: uint8): bool` | Creates a console command or hooks an already existing one. |\n| RemoveCommand | `RemoveCommand(name: string, callback: function): bool` | Removes a console command from the system. |\n| AddCommandListener | `AddCommandListener(name: string, callback: function, type: uint8): bool` | Adds a callback that will fire when a command is sent to the server. |\n| RemoveCommandListener | `RemoveCommandListener(name: string, callback: function, type: uint8): bool` | Removes a callback that fires when a command is sent to the server. |\n| ServerCommand | `ServerCommand(command: string): void` | Executes a server command as if it were run on the server console or through RCON. |\n| ServerCommandEx | `ServerCommandEx(command: string): string` | Executes a server command as if it were on the server console (or RCON) and stores the printed text into buffer. |\n| ClientCommand | `ClientCommand(playerSlot: int32, command: string): void` | Executes a client command. |\n| FakeClientCommand | `FakeClientCommand(playerSlot: int32, command: string): void` | Executes a client command on the server without network communication. |\n\n### Console\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| PrintToServer | `PrintToServer(msg: string): void` | Sends a message to the server console. |\n| PrintToConsole | `PrintToConsole(playerSlot: int32, message: string): void` | Sends a message to a client's console. |\n| PrintToChat | `PrintToChat(playerSlot: int32, message: string): void` | Prints a message to a specific client in the chat area. |\n| PrintCenterText | `PrintCenterText(playerSlot: int32, message: string): void` | Prints a message to a specific client in the center of the screen. |\n| PrintAlertText | `PrintAlertText(playerSlot: int32, message: string): void` | Prints a message to a specific client with an alert box. |\n| PrintCentreHtml | `PrintCentreHtml(playerSlot: int32, message: string): void` | Prints a html message to a specific client in the center of the screen. |\n| PrintToConsoleAll | `PrintToConsoleAll(message: string): void` | Sends a message to every client's console. |\n| PrintToChatAll | `PrintToChatAll(message: string): void` | Prints a message to all clients in the chat area. |\n| PrintCenterTextAll | `PrintCenterTextAll(message: string): void` | Prints a message to all clients in the center of the screen. |\n| PrintAlertTextAll | `PrintAlertTextAll(message: string): void` | Prints a message to all clients with an alert box. |\n| PrintCentreHtmlAll | `PrintCentreHtmlAll(message: string): void` | Prints a html message to all clients in the center of the screen. |\n| PrintToChatColored | `PrintToChatColored(playerSlot: int32, message: string): void` | Prints a colored message to a specific client in the chat area. |\n| PrintToChatColoredAll | `PrintToChatColoredAll(message: string): void` | Prints a colored message to all clients in the chat area. |\n\n### Cvars\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| CreateConVar | `CreateConVar(name: string, defaultValue: string, description: string, flags: int64): uint64` | Creates a new console variable. |\n| CreateConVarBool | `CreateConVarBool(name: string, defaultValue: bool, description: string, flags: int64, hasMin: bool, min: bool, hasMax: bool, max: bool): uint64` | Creates a new boolean console variable. |\n| CreateConVarInt16 | `CreateConVarInt16(name: string, defaultValue: int16, description: string, flags: int64, hasMin: bool, min: int16, hasMax: bool, max: int16): uint64` | Creates a new 16-bit signed integer console variable. |\n| CreateConVarUInt16 | `CreateConVarUInt16(name: string, defaultValue: uint16, description: string, flags: int64, hasMin: bool, min: uint16, hasMax: bool, max: uint16): uint64` | Creates a new 16-bit unsigned integer console variable. |\n| CreateConVarInt32 | `CreateConVarInt32(name: string, defaultValue: int32, description: string, flags: int64, hasMin: bool, min: int32, hasMax: bool, max: int32): uint64` | Creates a new 32-bit signed integer console variable. |\n| CreateConVarUInt32 | `CreateConVarUInt32(name: string, defaultValue: uint32, description: string, flags: int64, hasMin: bool, min: uint32, hasMax: bool, max: uint32): uint64` | Creates a new 32-bit unsigned integer console variable. |\n| CreateConVarInt64 | `CreateConVarInt64(name: string, defaultValue: int64, description: string, flags: int64, hasMin: bool, min: int64, hasMax: bool, max: int64): uint64` | Creates a new 64-bit signed integer console variable. |\n| CreateConVarUInt64 | `CreateConVarUInt64(name: string, defaultValue: uint64, description: string, flags: int64, hasMin: bool, min: uint64, hasMax: bool, max: uint64): uint64` | Creates a new 64-bit unsigned integer console variable. |\n| CreateConVarFloat | `CreateConVarFloat(name: string, defaultValue: float, description: string, flags: int64, hasMin: bool, min: float, hasMax: bool, max: float): uint64` | Creates a new floating-point console variable. |\n| CreateConVarDouble | `CreateConVarDouble(name: string, defaultValue: double, description: string, flags: int64, hasMin: bool, min: double, hasMax: bool, max: double): uint64` | Creates a new double-precision console variable. |\n| CreateConVarColor | `CreateConVarColor(name: string, defaultValue: int32, description: string, flags: int64, hasMin: bool, min: int32, hasMax: bool, max: int32): uint64` | Creates a new color console variable. |\n| CreateConVarVector2 | `CreateConVarVector2(name: string, defaultValue: vec2, description: string, flags: int64, hasMin: bool, min: vec2, hasMax: bool, max: vec2): uint64` | Creates a new 2D vector console variable. |\n| CreateConVarVector3 | `CreateConVarVector3(name: string, defaultValue: vec3, description: string, flags: int64, hasMin: bool, min: vec3, hasMax: bool, max: vec3): uint64` | Creates a new 3D vector console variable. |\n| CreateConVarVector4 | `CreateConVarVector4(name: string, defaultValue: vec4, description: string, flags: int64, hasMin: bool, min: vec4, hasMax: bool, max: vec4): uint64` | Creates a new 4D vector console variable. |\n| CreateConVarQAngle | `CreateConVarQAngle(name: string, defaultValue: vec3, description: string, flags: int64, hasMin: bool, min: vec3, hasMax: bool, max: vec3): uint64` | Creates a new quaternion angle console variable. |\n| FindConVar | `FindConVar(name: string): uint64` | Searches for a console variable. |\n| FindConVar2 | `FindConVar2(name: string, type: int16): uint64` | Searches for a console variable of a specific type. |\n| HookConVarChange | `HookConVarChange(name: string, callback: function): void` | Creates a hook for when a console variable's value is changed. |\n| UnhookConVarChange | `UnhookConVarChange(name: string, callback: function): void` | Removes a hook for when a console variable's value is changed. |\n| IsConVarFlagSet | `IsConVarFlagSet(conVarHandle: uint64, flag: int64): bool` | Checks if a specific flag is set for a console variable. |\n| AddConVarFlags | `AddConVarFlags(conVarHandle: uint64, flags: int64): void` | Adds flags to a console variable. |\n| RemoveConVarFlags | `RemoveConVarFlags(conVarHandle: uint64, flags: int64): void` | Removes flags from a console variable. |\n| GetConVarFlags | `GetConVarFlags(conVarHandle: uint64): int64` | Retrieves the current flags of a console variable. |\n| GetConVarBounds | `GetConVarBounds(conVarHandle: uint64, max: bool): string` | Gets the specified bound (max or min) of a console variable and stores it in the output string. |\n| SetConVarBounds | `SetConVarBounds(conVarHandle: uint64, max: bool, value: string): void` | Sets the specified bound (max or min) for a console variable. |\n| GetConVarDefault | `GetConVarDefault(conVarHandle: uint64): string` | Retrieves the default value of a console variable and stores it in the output string. |\n| GetConVarValue | `GetConVarValue(conVarHandle: uint64): string` | Retrieves the current value of a console variable and stores it in the output string. |\n| GetConVar | `GetConVar(conVarHandle: uint64): any` | Retrieves the current value of a console variable and stores it in the output. |\n| GetConVarBool | `GetConVarBool(conVarHandle: uint64): bool` | Retrieves the current value of a boolean console variable. |\n| GetConVarInt16 | `GetConVarInt16(conVarHandle: uint64): int16` | Retrieves the current value of a signed 16-bit integer console variable. |\n| GetConVarUInt16 | `GetConVarUInt16(conVarHandle: uint64): uint16` | Retrieves the current value of an unsigned 16-bit integer console variable. |\n| GetConVarInt32 | `GetConVarInt32(conVarHandle: uint64): int32` | Retrieves the current value of a signed 32-bit integer console variable. |\n| GetConVarUInt32 | `GetConVarUInt32(conVarHandle: uint64): uint32` | Retrieves the current value of an unsigned 32-bit integer console variable. |\n| GetConVarInt64 | `GetConVarInt64(conVarHandle: uint64): int64` | Retrieves the current value of a signed 64-bit integer console variable. |\n| GetConVarUInt64 | `GetConVarUInt64(conVarHandle: uint64): uint64` | Retrieves the current value of an unsigned 64-bit integer console variable. |\n| GetConVarFloat | `GetConVarFloat(conVarHandle: uint64): float` | Retrieves the current value of a float console variable. |\n| GetConVarDouble | `GetConVarDouble(conVarHandle: uint64): double` | Retrieves the current value of a double console variable. |\n| GetConVarString | `GetConVarString(conVarHandle: uint64): string` | Retrieves the current value of a string console variable. |\n| GetConVarColor | `GetConVarColor(conVarHandle: uint64): int32` | Retrieves the current value of a Color console variable. |\n| GetConVarVector2 | `GetConVarVector2(conVarHandle: uint64): vec2` | Retrieves the current value of a Vector2D console variable. |\n| GetConVarVector | `GetConVarVector(conVarHandle: uint64): vec3` | Retrieves the current value of a Vector console variable. |\n| GetConVarVector4 | `GetConVarVector4(conVarHandle: uint64): vec4` | Retrieves the current value of a Vector4D console variable. |\n| GetConVarQAngle | `GetConVarQAngle(conVarHandle: uint64): vec3` | Retrieves the current value of a QAngle console variable. |\n| SetConVarValue | `SetConVarValue(conVarHandle: uint64, value: string, replicate: bool, notify: bool): void` | Sets the value of a console variable. |\n| SetConVar | `SetConVar(conVarHandle: uint64, value: any, replicate: bool, notify: bool): void` | Sets the value of a console variable. |\n| SetConVarBool | `SetConVarBool(conVarHandle: uint64, value: bool, replicate: bool, notify: bool): void` | Sets the value of a boolean console variable. |\n| SetConVarInt16 | `SetConVarInt16(conVarHandle: uint64, value: int16, replicate: bool, notify: bool): void` | Sets the value of a signed 16-bit integer console variable. |\n| SetConVarUInt16 | `SetConVarUInt16(conVarHandle: uint64, value: uint16, replicate: bool, notify: bool): void` | Sets the value of an unsigned 16-bit integer console variable. |\n| SetConVarInt32 | `SetConVarInt32(conVarHandle: uint64, value: int32, replicate: bool, notify: bool): void` | Sets the value of a signed 32-bit integer console variable. |\n| SetConVarUInt32 | `SetConVarUInt32(conVarHandle: uint64, value: uint32, replicate: bool, notify: bool): void` | Sets the value of an unsigned 32-bit integer console variable. |\n| SetConVarInt64 | `SetConVarInt64(conVarHandle: uint64, value: int64, replicate: bool, notify: bool): void` | Sets the value of a signed 64-bit integer console variable. |\n| SetConVarUInt64 | `SetConVarUInt64(conVarHandle: uint64, value: uint64, replicate: bool, notify: bool): void` | Sets the value of an unsigned 64-bit integer console variable. |\n| SetConVarFloat | `SetConVarFloat(conVarHandle: uint64, value: float, replicate: bool, notify: bool): void` | Sets the value of a floating-point console variable. |\n| SetConVarDouble | `SetConVarDouble(conVarHandle: uint64, value: double, replicate: bool, notify: bool): void` | Sets the value of a double-precision floating-point console variable. |\n| SetConVarString | `SetConVarString(conVarHandle: uint64, value: string, replicate: bool, notify: bool): void` | Sets the value of a string console variable. |\n| SetConVarColor | `SetConVarColor(conVarHandle: uint64, value: int32, replicate: bool, notify: bool): void` | Sets the value of a color console variable. |\n| SetConVarVector2 | `SetConVarVector2(conVarHandle: uint64, value: vec2, replicate: bool, notify: bool): void` | Sets the value of a 2D vector console variable. |\n| SetConVarVector3 | `SetConVarVector3(conVarHandle: uint64, value: vec3, replicate: bool, notify: bool): void` | Sets the value of a 3D vector console variable. |\n| SetConVarVector4 | `SetConVarVector4(conVarHandle: uint64, value: vec4, replicate: bool, notify: bool): void` | Sets the value of a 4D vector console variable. |\n| SetConVarQAngle | `SetConVarQAngle(conVarHandle: uint64, value: vec3, replicate: bool, notify: bool): void` | Sets the value of a quaternion angle console variable. |\n| SendConVarValue | `SendConVarValue(playerSlot: int32, conVarHandle: uint64, value: string): void` | Replicates a console variable value to a specific client. This does not change the actual console variable value. |\n| GetClientConVarValue | `GetClientConVarValue(playerSlot: int32, convarName: string): string` | Retrieves the value of a client's console variable and stores it in the output string. |\n| SetFakeClientConVarValue | `SetFakeClientConVarValue(playerSlot: int32, convarName: string, convarValue: string): void` | Replicates a console variable value to a specific fake client. This does not change the actual console variable value. |\n| QueryClientConVar | `QueryClientConVar(playerSlot: int32, convarName: string, callback: function, data: any[]): int32` | Starts a query to retrieve the value of a client's console variable. |\n| GetServerLanguage | `GetServerLanguage(): string` | Returns the current server language. |\n\n### Engine\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| FindModule | `FindModule(name: string): ptr64` | Finds a module by name. |\n| FindInterface | `FindInterface(name: string): ptr64` | Finds an interface by name. |\n| QueryInterface | `QueryInterface(module: string, name: string): ptr64` | Queries an interface from a specified module. |\n| GetGameDirectory | `GetGameDirectory(): string` | Returns the path of the game's directory. |\n| GetCurrentMap | `GetCurrentMap(): string` | Returns the current map name. |\n| IsMapValid | `IsMapValid(mapname: string): bool` | Returns whether a specified map is valid or not. |\n| GetGameTime | `GetGameTime(): float` | Returns the game time based on the game tick. |\n| GetGameTickCount | `GetGameTickCount(): int32` | Returns the game's internal tick count. |\n| GetGameFrameTime | `GetGameFrameTime(): float` | Returns the time the game took processing the last frame. |\n| GetEngineTime | `GetEngineTime(): double` | Returns a high-precision time value for profiling the engine. |\n| GetMaxClients | `GetMaxClients(): int32` | Returns the maximum number of clients that can connect to the server. |\n| PrecacheGeneric | `PrecacheGeneric(model: string): int32` | Precaches a given generic file. |\n| IsGenericPrecache | `IsGenericPrecache(model: string): bool` | Checks if a specified generic file is precached. |\n| PrecacheModel | `PrecacheModel(model: string): int32` | Precaches a specified model. |\n| IsModelPrecache | `IsModelPrecache(model: string): bool` | Checks if a specified model is precached. |\n| PrecacheSound | `PrecacheSound(sound: string, preload: bool): bool` | Precaches a specified sound. |\n| IsSoundPrecached | `IsSoundPrecached(sound: string): bool` | Checks if a specified sound is precached. |\n| GetEconItemSystem | `GetEconItemSystem(): ptr64` | Returns a pointer to the Economy Item System. |\n| IsServerPaused | `IsServerPaused(): bool` | Checks if the server is currently paused. |\n| QueueTaskForNextFrame | `QueueTaskForNextFrame(callback: function, userData: any[]): void` | Queues a task to be executed on the next frame. |\n| QueueTaskForNextWorldUpdate | `QueueTaskForNextWorldUpdate(callback: function, userData: any[]): void` | Queues a task to be executed on the next world update. |\n| GetSoundDuration | `GetSoundDuration(name: string): float` | Returns the duration of a specified sound. |\n| EmitSound | `EmitSound(entityHandle: int32, sound: string, pitch: int32, volume: float, delay: float): void` | Emits a sound from a specified entity. |\n| EmitSoundToClient | `EmitSoundToClient(playerSlot: int32, channel: int32, sound: string, volume: float, soundLevel: int32, flags: int32, pitch: int32, origin: vec3, soundTime: float): void` | Emits a sound to a specific client. |\n\n### Entities\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| EntIndexToEntPointer | `EntIndexToEntPointer(entityIndex: int32): ptr64` | Converts an entity index into an entity pointer. |\n| EntPointerToEntIndex | `EntPointerToEntIndex(entity: ptr64): int32` | Retrieves the entity index from an entity pointer. |\n| EntPointerToEntHandle | `EntPointerToEntHandle(entity: ptr64): int32` | Converts an entity pointer into an entity handle. |\n| EntHandleToEntPointer | `EntHandleToEntPointer(entityHandle: int32): ptr64` | Retrieves the entity pointer from an entity handle. |\n| EntIndexToEntHandle | `EntIndexToEntHandle(entityIndex: int32): int32` | Converts an entity index into an entity handle. |\n| EntHandleToEntIndex | `EntHandleToEntIndex(entityHandle: int32): int32` | Retrieves the entity index from an entity handle. |\n| IsValidEntHandle | `IsValidEntHandle(entityHandle: int32): bool` | Checks if the provided entity handle is valid. |\n| IsValidEntPointer | `IsValidEntPointer(entity: ptr64): bool` | Checks if the provided entity pointer is valid. |\n| GetFirstActiveEntity | `GetFirstActiveEntity(): ptr64` | Retrieves the pointer to the first active entity. |\n| GetConcreteEntityListPointer | `GetConcreteEntityListPointer(): ptr64` | Retrieves a pointer to the concrete entity list. |\n| HookEntityOutput | `HookEntityOutput(szClassname: string, szOutput: string, callback: function, type: uint8): bool` | Adds an entity output hook on a specified entity class name. |\n| UnhookEntityOutput | `UnhookEntityOutput(szClassname: string, szOutput: string, callback: function, type: uint8): bool` | Removes an entity output hook. |\n| FindEntityByClassname | `FindEntityByClassname(startEntity: int32, classname: string): int32` | Searches for an entity by classname. |\n| FindEntityByName | `FindEntityByName(startEntity: int32, name: string): int32` | Searches for an entity by name. |\n| CreateEntityByName | `CreateEntityByName(className: string): int32` | Creates an entity by string name but does not spawn it. |\n| DispatchSpawn | `DispatchSpawn(entityHandle: int32): void` | Spawns an entity into the game. |\n| DispatchSpawn2 | `DispatchSpawn2(entityHandle: int32, keys: string[], values: any[]): void` | Spawns an entity into the game with key-value properties. |\n| RemoveEntity | `RemoveEntity(entityHandle: int32): void` | Marks an entity for deletion. |\n| GetEntityClassname | `GetEntityClassname(entityHandle: int32): string` | Retrieves the class name of an entity. |\n| GetEntityName | `GetEntityName(entityHandle: int32): string` | Retrieves the name of an entity. |\n| SetEntityName | `SetEntityName(entityHandle: int32, name: string): void` | Sets the name of an entity. |\n| GetEntityMoveType | `GetEntityMoveType(entityHandle: int32): int32` | Retrieves the movement type of an entity. |\n| SetEntityMoveType | `SetEntityMoveType(entityHandle: int32, moveType: int32): void` | Sets the movement type of an entity. |\n| GetEntityGravity | `GetEntityGravity(entityHandle: int32): float` | Retrieves the gravity scale of an entity. |\n| SetEntityGravity | `SetEntityGravity(entityHandle: int32, gravity: float): void` | Sets the gravity scale of an entity. |\n| GetEntityFlags | `GetEntityFlags(entityHandle: int32): int32` | Retrieves the flags of an entity. |\n| SetEntityFlags | `SetEntityFlags(entityHandle: int32, flags: int32): void` | Sets the flags of an entity. |\n| GetEntityRenderColor | `GetEntityRenderColor(entityHandle: int32): int32` | Retrieves the render color of an entity. |\n| SetEntityRenderColor | `SetEntityRenderColor(entityHandle: int32, color: int32): void` | Sets the render color of an entity. |\n| GetEntityRenderMode | `GetEntityRenderMode(entityHandle: int32): uint8` | Retrieves the render mode of an entity. |\n| SetEntityRenderMode | `SetEntityRenderMode(entityHandle: int32, renderMode: uint8): void` | Sets the render mode of an entity. |\n| GetEntityHealth | `GetEntityHealth(entityHandle: int32): int32` | Retrieves the health of an entity. |\n| SetEntityHealth | `SetEntityHealth(entityHandle: int32, health: int32): void` | Sets the health of an entity. |\n| GetTeamEntity | `GetTeamEntity(entityHandle: int32): int32` | Retrieves the team number of an entity. |\n| SetTeamEntity | `SetTeamEntity(entityHandle: int32, team: int32): void` | Sets the team number of an entity. |\n| GetEntityOwner | `GetEntityOwner(entityHandle: int32): int32` | Retrieves the owner of an entity. |\n| SetEntityOwner | `SetEntityOwner(entityHandle: int32, ownerHandle: int32): void` | Sets the owner of an entity. |\n| GetEntityParent | `GetEntityParent(entityHandle: int32): int32` | Retrieves the parent of an entity. |\n| SetEntityParent | `SetEntityParent(entityHandle: int32, parentHandle: int32): void` | Sets the parent of an entity. |\n| GetEntityAbsOrigin | `GetEntityAbsOrigin(entityHandle: int32): vec3` | Retrieves the absolute origin of an entity. |\n| SetEntityAbsOrigin | `SetEntityAbsOrigin(entityHandle: int32, origin: vec3): void` | Sets the absolute origin of an entity. |\n| GetEntityAngRotation | `GetEntityAngRotation(entityHandle: int32): vec3` | Retrieves the angular rotation of an entity. |\n| SetEntityAngRotation | `SetEntityAngRotation(entityHandle: int32, angle: vec3): void` | Sets the angular rotation of an entity. |\n| GetEntityAbsVelocity | `GetEntityAbsVelocity(entityHandle: int32): vec3` | Retrieves the absolute velocity of an entity. |\n| SetEntityAbsVelocity | `SetEntityAbsVelocity(entityHandle: int32, velocity: vec3): void` | Sets the absolute velocity of an entity. |\n| GetEntityModel | `GetEntityModel(entityHandle: int32): string` | Retrieves the model name of an entity. |\n| SetEntityModel | `SetEntityModel(entityHandle: int32, model: string): void` | Sets the model name of an entity. |\n| GetEntityWaterLevel | `GetEntityWaterLevel(entityHandle: int32): float` | Retrieves the water level of an entity. |\n| GetEntityGroundEntity | `GetEntityGroundEntity(entityHandle: int32): int32` | Retrieves the ground entity of an entity. |\n| GetEntityEffects | `GetEntityEffects(entityHandle: int32): int32` | Retrieves the effects of an entity. |\n| TeleportEntity | `TeleportEntity(entityHandle: int32, origin: ptr64, angles: ptr64, velocity: ptr64): void` | Teleports an entity to a specified location and orientation. |\n| AcceptInput | `AcceptInput(entityHandle: int32, inputName: string, activatorHandle: int32, callerHandle: int32, value: any, type: int32, outputId: int32): void` | Invokes a named input method on a specified entity. |\n\n### Events\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| HookEvent | `HookEvent(name: string, callback: function, type: uint8): int32` | Creates a hook for when a game event is fired. |\n| UnhookEvent | `UnhookEvent(name: string, callback: function, type: uint8): int32` | Removes a hook for when a game event is fired. |\n| CreateEvent | `CreateEvent(name: string, force: bool): ptr64` | Creates a game event to be fired later. |\n| FireEvent | `FireEvent(info: ptr64, dontBroadcast: bool): void` | Fires a game event. |\n| FireEventToClient | `FireEventToClient(info: ptr64, playerSlot: int32): void` | Fires a game event to a specific client. |\n| CancelCreatedEvent | `CancelCreatedEvent(info: ptr64): void` | Cancels a previously created game event that has not been fired. |\n| GetEventBool | `GetEventBool(info: ptr64, key: string): bool` | Retrieves the boolean value of a game event's key. |\n| GetEventFloat | `GetEventFloat(info: ptr64, key: string): float` | Retrieves the float value of a game event's key. |\n| GetEventInt | `GetEventInt(info: ptr64, key: string): int32` | Retrieves the integer value of a game event's key. |\n| GetEventUInt64 | `GetEventUInt64(info: ptr64, key: string): uint64` | Retrieves the long integer value of a game event's key. |\n| GetEventString | `GetEventString(info: ptr64, key: string): string` | Retrieves the string value of a game event's key. |\n| GetEventPtr | `GetEventPtr(info: ptr64, key: string): ptr64` | Retrieves the pointer value of a game event's key. |\n| GetEventPlayerController | `GetEventPlayerController(info: ptr64, key: string): ptr64` | Retrieves the player controller address of a game event's key. |\n| GetEventPlayerIndex | `GetEventPlayerIndex(info: ptr64, key: string): int32` | Retrieves the player index of a game event's key. |\n| GetEventPlayerPawn | `GetEventPlayerPawn(info: ptr64, key: string): ptr64` | Retrieves the player pawn address of a game event's key. |\n| GetEventEntity | `GetEventEntity(info: ptr64, key: string): ptr64` | Retrieves the entity address of a game event's key. |\n| GetEventEntityIndex | `GetEventEntityIndex(info: ptr64, key: string): int32` | Retrieves the entity index of a game event's key. |\n| GetEventEntityHandle | `GetEventEntityHandle(info: ptr64, key: string): int32` | Retrieves the entity handle of a game event's key. |\n| GetEventName | `GetEventName(info: ptr64): string` | Retrieves the name of a game event. |\n| SetEventBool | `SetEventBool(info: ptr64, key: string, value: bool): void` | Sets the boolean value of a game event's key. |\n| SetEventFloat | `SetEventFloat(info: ptr64, key: string, value: float): void` | Sets the floating point value of a game event's key. |\n| SetEventInt | `SetEventInt(info: ptr64, key: string, value: int32): void` | Sets the integer value of a game event's key. |\n| SetEventUInt64 | `SetEventUInt64(info: ptr64, key: string, value: uint64): void` | Sets the long integer value of a game event's key. |\n| SetEventString | `SetEventString(info: ptr64, key: string, value: string): void` | Sets the string value of a game event's key. |\n| SetEventPtr | `SetEventPtr(info: ptr64, key: string, value: ptr64): void` | Sets the pointer value of a game event's key. |\n| SetEventPlayerController | `SetEventPlayerController(info: ptr64, key: string, value: ptr64): void` | Sets the player controller address of a game event's key. |\n| SetEventPlayerIndex | `SetEventPlayerIndex(info: ptr64, key: string, value: int32): void` | Sets the player index value of a game event's key. |\n| SetEventEntity | `SetEventEntity(info: ptr64, key: string, value: ptr64): void` | Sets the entity address of a game event's key. |\n| SetEventEntityIndex | `SetEventEntityIndex(info: ptr64, key: string, value: int32): void` | Sets the entity index of a game event's key. |\n| SetEventEntityHandle | `SetEventEntityHandle(info: ptr64, key: string, value: int32): void` | Sets the entity handle of a game event's key. |\n| SetEventBroadcast | `SetEventBroadcast(info: ptr64, dontBroadcast: bool): void` | Sets whether an event's broadcasting will be disabled or not. |\n| LoadEventsFromFile | `LoadEventsFromFile(path: string, searchAll: bool): int32` | Load game event descriptions from a file (e.g., \"resource/gameevents.res\"). |\n\n### Gameconfig\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| CloseGameConfigFile | `CloseGameConfigFile(id: uint32): void` | Closes a game configuration file. |\n| LoadGameConfigFile | `LoadGameConfigFile(paths: string[]): uint32` | Loads a game configuration file. |\n| GetGameConfigPaths | `GetGameConfigPaths(id: uint32): string[]` | Retrieves the paths of a game configuration. |\n| GetGameConfigLibrary | `GetGameConfigLibrary(id: uint32, name: string): string` | Retrieves a library associated with the game configuration. |\n| GetGameConfigSignature | `GetGameConfigSignature(id: uint32, name: string): string` | Retrieves the signature associated with the game configuration. |\n| GetGameConfigSymbol | `GetGameConfigSymbol(id: uint32, name: string): string` | Retrieves a symbol associated with the game configuration. |\n| GetGameConfigPatch | `GetGameConfigPatch(id: uint32, name: string): string` | Retrieves a patch associated with the game configuration. |\n| GetGameConfigOffset | `GetGameConfigOffset(id: uint32, name: string): int32` | Retrieves the offset associated with a name from the game configuration. |\n| GetGameConfigAddress | `GetGameConfigAddress(id: uint32, name: string): ptr64` | Retrieves the address associated with a name from the game configuration. |\n| GetGameConfigMemSig | `GetGameConfigMemSig(id: uint32, name: string): ptr64` | Retrieves the memory signature associated with a name from the game configuration. |\n\n### Gamerules\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| GetGameRulesProxy | `GetGameRulesProxy(): ptr64` | Retrieves the pointer to the current game rules proxy instance. |\n| GetGameRules | `GetGameRules(): ptr64` | Retrieves the pointer to the current game rules instance. |\n| TerminateRound | `TerminateRound(delay: float, reason: int32): void` | Forces the round to end with a specified reason and delay. |\n\n### Listeners\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| OnClientConnect_Register | `OnClientConnect_Register(callback: function): void` | Register callback to event. |\n| OnClientConnect_Unregister | `OnClientConnect_Unregister(callback: function): void` | Unregister callback to event. |\n| OnClientConnect_Post_Register | `OnClientConnect_Post_Register(callback: function): void` | Register callback to event. |\n| OnClientConnect_Post_Unregister | `OnClientConnect_Post_Unregister(callback: function): void` | Unregister callback to event. |\n| OnClientConnected_Register | `OnClientConnected_Register(callback: function): void` | Register callback to event. |\n| OnClientConnected_Unregister | `OnClientConnected_Unregister(callback: function): void` | Unregister callback to event. |\n| OnClientPutInServer_Register | `OnClientPutInServer_Register(callback: function): void` | Register callback to event. |\n| OnClientPutInServer_Unregister | `OnClientPutInServer_Unregister(callback: function): void` | Unregister callback to event. |\n| OnClientDisconnect_Register | `OnClientDisconnect_Register(callback: function): void` | Register callback to event. |\n| OnClientDisconnect_Unregister | `OnClientDisconnect_Unregister(callback: function): void` | Unregister callback to event. |\n| OnClientDisconnect_Post_Register | `OnClientDisconnect_Post_Register(callback: function): void` | Register callback to event. |\n| OnClientDisconnect_Post_Unregister | `OnClientDisconnect_Post_Unregister(callback: function): void` | Unregister callback to event. |\n| OnClientActive_Register | `OnClientActive_Register(callback: function): void` | Register callback to event. |\n| OnClientActive_Unregister | `OnClientActive_Unregister(callback: function): void` | Unregister callback to event. |\n| OnClientFullyConnect_Register | `OnClientFullyConnect_Register(callback: function): void` | Register callback to event. |\n| OnClientFullyConnect_Unregister | `OnClientFullyConnect_Unregister(callback: function): void` | Unregister callback to event. |\n| OnClientSettingsChanged_Register | `OnClientSettingsChanged_Register(callback: function): void` | Register callback to event. |\n| OnClientSettingsChanged_Unregister | `OnClientSettingsChanged_Unregister(callback: function): void` | Unregister callback to event. |\n| OnClientAuthenticated_Register | `OnClientAuthenticated_Register(callback: function): void` | Register callback to event. |\n| OnClientAuthenticated_Unregister | `OnClientAuthenticated_Unregister(callback: function): void` | Unregister callback to event. |\n| OnLevelInit_Register | `OnLevelInit_Register(callback: function): void` | Register callback to event. |\n| OnLevelInit_Unregister | `OnLevelInit_Unregister(callback: function): void` | Unregister callback to event. |\n| OnLevelShutdown_Register | `OnLevelShutdown_Register(callback: function): void` | Register callback to event. |\n| OnLevelShutdown_Unregister | `OnLevelShutdown_Unregister(callback: function): void` | Unregister callback to event. |\n| OnEntitySpawned_Register | `OnEntitySpawned_Register(callback: function): void` | Register callback to event. |\n| OnEntitySpawned_Unregister | `OnEntitySpawned_Unregister(callback: function): void` | Unregister callback to event. |\n| OnEntityCreated_Register | `OnEntityCreated_Register(callback: function): void` | Register callback to event. |\n| OnEntityCreated_Unregister | `OnEntityCreated_Unregister(callback: function): void` | Unregister callback to event. |\n| OnEntityDeleted_Register | `OnEntityDeleted_Register(callback: function): void` | Register callback to event. |\n| OnEntityDeleted_Unregister | `OnEntityDeleted_Unregister(callback: function): void` | Unregister callback to event. |\n| OnEntityParentChanged_Register | `OnEntityParentChanged_Register(callback: function): void` | Register callback to event. |\n| OnEntityParentChanged_Unregister | `OnEntityParentChanged_Unregister(callback: function): void` | Unregister callback to event. |\n| OnServerStartup_Register | `OnServerStartup_Register(callback: function): void` | Register callback to event. |\n| OnServerStartup_Unregister | `OnServerStartup_Unregister(callback: function): void` | Unregister callback to event. |\n| OnServerActivate_Register | `OnServerActivate_Register(callback: function): void` | Register callback to event. |\n| OnServerActivate_Unregister | `OnServerActivate_Unregister(callback: function): void` | Unregister callback to event. |\n| OnServerSpawn_Register | `OnServerSpawn_Register(callback: function): void` | Register callback to event. |\n| OnServerSpawn_Unregister | `OnServerSpawn_Unregister(callback: function): void` | Unregister callback to event. |\n| OnServerStarted_Register | `OnServerStarted_Register(callback: function): void` | Register callback to event. |\n| OnServerStarted_Unregister | `OnServerStarted_Unregister(callback: function): void` | Unregister callback to event. |\n| OnMapEnd_Register | `OnMapEnd_Register(callback: function): void` | Register callback to event. |\n| OnMapEnd_Unregister | `OnMapEnd_Unregister(callback: function): void` | Unregister callback to event. |\n| OnGameFrame_Register | `OnGameFrame_Register(callback: function): void` | Register callback to event. |\n| OnGameFrame_Unregister | `OnGameFrame_Unregister(callback: function): void` | Unregister callback to event. |\n| OnUpdateWhenNotInGame_Register | `OnUpdateWhenNotInGame_Register(callback: function): void` | Register callback to event. |\n| OnUpdateWhenNotInGame_Unregister | `OnUpdateWhenNotInGame_Unregister(callback: function): void` | Unregister callback to event. |\n| OnPreWorldUpdate_Register | `OnPreWorldUpdate_Register(callback: function): void` | Register callback to event. |\n| OnPreWorldUpdate_Unregister | `OnPreWorldUpdate_Unregister(callback: function): void` | Unregister callback to event. |\n\n### Logger\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| RegisterLoggingChannel | `RegisterLoggingChannel(name: string, iFlags: int32, verbosity: int32, color: int32): int32` | Registers a new logging channel with specified properties. |\n| AddLoggerTagToChannel | `AddLoggerTagToChannel(channelID: int32, tagName: string): void` | Adds a tag to a specified logging channel. |\n| HasLoggerTag | `HasLoggerTag(channelID: int32, tag: string): bool` | Checks if a specified tag exists in a logging channel. |\n| IsLoggerChannelEnabledBySeverity | `IsLoggerChannelEnabledBySeverity(channelID: int32, severity: int32): bool` | Checks if a logging channel is enabled based on severity. |\n| IsLoggerChannelEnabledByVerbosity | `IsLoggerChannelEnabledByVerbosity(channelID: int32, verbosity: int32): bool` | Checks if a logging channel is enabled based on verbosity. |\n| GetLoggerChannelVerbosity | `GetLoggerChannelVerbosity(channelID: int32): int32` | Retrieves the verbosity level of a logging channel. |\n| SetLoggerChannelVerbosity | `SetLoggerChannelVerbosity(channelID: int32, verbosity: int32): void` | Sets the verbosity level of a logging channel. |\n| SetLoggerChannelVerbosityByName | `SetLoggerChannelVerbosityByName(channelID: int32, name: string, verbosity: int32): void` | Sets the verbosity level of a logging channel by name. |\n| SetLoggerChannelVerbosityByTag | `SetLoggerChannelVerbosityByTag(channelID: int32, tag: string, verbosity: int32): void` | Sets the verbosity level of a logging channel by tag. |\n| GetLoggerChannelColor | `GetLoggerChannelColor(channelID: int32): int32` | Retrieves the color setting of a logging channel. |\n| SetLoggerChannelColor | `SetLoggerChannelColor(channelID: int32, color: int32): void` | Sets the color setting of a logging channel. |\n| GetLoggerChannelFlags | `GetLoggerChannelFlags(channelID: int32): int32` | Retrieves the flags of a logging channel. |\n| SetLoggerChannelFlags | `SetLoggerChannelFlags(channelID: int32, eFlags: int32): void` | Sets the flags of a logging channel. |\n| Log | `Log(channelID: int32, severity: int32, message: string): int32` | Logs a message to a specified channel with a severity level. |\n| LogColored | `LogColored(channelID: int32, severity: int32, color: int32, message: string): int32` | Logs a colored message to a specified channel with a severity level. |\n| LogFull | `LogFull(channelID: int32, severity: int32, file: string, line: int32, function: string, message: string): int32` | Logs a detailed message to a specified channel, including source code info. |\n| LogFullColored | `LogFullColored(channelID: int32, severity: int32, file: string, line: int32, function: string, color: int32, message: string): int32` | Logs a detailed colored message to a specified channel, including source code info. |\n\n### Panorama\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| PanoramaSendYesNoVote | `PanoramaSendYesNoVote(duration: double, caller: int32, voteTitle: string, detailStr: string, votePassTitle: string, detailPassStr: string, failReason: int32, filter: uint64, result: function, handler: function): bool` | Start a new Yes/No vote |\n| PanoramaSendYesNoVoteToAll | `PanoramaSendYesNoVoteToAll(duration: double, caller: int32, voteTitle: string, detailStr: string, votePassTitle: string, detailPassStr: string, failReason: int32, result: function, handler: function): bool` | Start a new Yes/No vote with all players included |\n| PanoramaRemovePlayerFromVote | `PanoramaRemovePlayerFromVote(playerSlot: int32): void` | Removes a player from the current vote. |\n| PanoramaIsPlayerInVotePool | `PanoramaIsPlayerInVotePool(playerSlot: int32): bool` | Checks if a player is in the vote pool. |\n| PanoramaRedrawVoteToClient | `PanoramaRedrawVoteToClient(playerSlot: int32): bool` | Redraws the vote UI to a specific player client. |\n| PanoramaIsVoteInProgress | `PanoramaIsVoteInProgress(): bool` | Checks if a vote is currently in progress. |\n| PanoramaEndVote | `PanoramaEndVote(reason: int32): void` | Ends the current vote with a specified reason. |\n\n### Protobuf\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| HookUserMessage | `HookUserMessage(messageId: int16, callback: function, mode: uint8): bool` | Hooks a user message with a callback. |\n| UnhookUserMessage | `UnhookUserMessage(messageId: int16, callback: function, mode: uint8): bool` | Unhooks a previously hooked user message. |\n| UserMessageCreateFromSerializable | `UserMessageCreateFromSerializable(msgSerializable: ptr64, message: ptr64, recipientMask: uint64): ptr64` | Creates a UserMessage from a serializable message. |\n| UserMessageCreateFromName | `UserMessageCreateFromName(messageName: string): ptr64` | Creates a UserMessage from a message name. |\n| UserMessageCreateFromId | `UserMessageCreateFromId(messageId: int16): ptr64` | Creates a UserMessage from a message ID. |\n| UserMessageDestroy | `UserMessageDestroy(userMessage: ptr64): void` | Destroys a UserMessage and frees its memory. |\n| UserMessageSend | `UserMessageSend(userMessage: ptr64): void` | Sends a UserMessage to the specified recipients. |\n| UserMessageGetMessageName | `UserMessageGetMessageName(userMessage: ptr64): string` | Gets the name of the message. |\n| UserMessageGetMessageID | `UserMessageGetMessageID(userMessage: ptr64): int16` | Gets the ID of the message. |\n| UserMessageHasField | `UserMessageHasField(userMessage: ptr64, fieldName: string): bool` | Checks if the message has a specific field. |\n| UserMessageGetProtobufMessage | `UserMessageGetProtobufMessage(userMessage: ptr64): ptr64` | Gets the protobuf message associated with the UserMessage. |\n| UserMessageGetSerializableMessage | `UserMessageGetSerializableMessage(userMessage: ptr64): ptr64` | Gets the serializable message associated with the UserMessage. |\n| UserMessageFindMessageIdByName | `UserMessageFindMessageIdByName(messageName: string): int16` | Finds a message ID by its name. |\n| UserMessageGetRecipientMask | `UserMessageGetRecipientMask(userMessage: ptr64): uint64` | Gets the recipient mask for the UserMessage. |\n| UserMessageAddRecipient | `UserMessageAddRecipient(userMessage: ptr64, playerSlot: int32): void` | Adds a single recipient (player) to the UserMessage. |\n| UserMessageAddAllPlayers | `UserMessageAddAllPlayers(userMessage: ptr64): void` | Adds all connected players as recipients to the UserMessage. |\n| UserMessageSetRecipientMask | `UserMessageSetRecipientMask(userMessage: ptr64, mask: uint64): void` | Sets the recipient mask for the UserMessage. |\n| UserMessageGetMessage | `UserMessageGetMessage(userMessage: ptr64, fieldName: string, message: ptr64): bool` | Gets a nested message from a field in the UserMessage. |\n| UserMessageGetRepeatedMessage | `UserMessageGetRepeatedMessage(userMessage: ptr64, fieldName: string, index: int32, message: ptr64): bool` | Gets a repeated nested message from a field in the UserMessage. |\n| UserMessageAddMessage | `UserMessageAddMessage(userMessage: ptr64, fieldName: string, message: ptr64): bool` | Adds a nested message to a repeated field in the UserMessage. |\n| UserMessageGetRepeatedFieldCount | `UserMessageGetRepeatedFieldCount(userMessage: ptr64, fieldName: string): int32` | Gets the count of repeated fields in a field of the UserMessage. |\n| UserMessageRemoveRepeatedFieldValue | `UserMessageRemoveRepeatedFieldValue(userMessage: ptr64, fieldName: string, index: int32): bool` | Removes a value from a repeated field in the UserMessage. |\n| UserMessageGetDebugString | `UserMessageGetDebugString(userMessage: ptr64): string` | Gets the debug string representation of the UserMessage. |\n| PbReadEnum | `PbReadEnum(userMessage: ptr64, fieldName: string, index: int32): int32` | Reads an enum value from a UserMessage. |\n| PbReadInt32 | `PbReadInt32(userMessage: ptr64, fieldName: string, index: int32): int32` | Reads a 32-bit integer from a UserMessage. |\n| PbReadInt64 | `PbReadInt64(userMessage: ptr64, fieldName: string, index: int32): int64` | Reads a 64-bit integer from a UserMessage. |\n| PbReadUInt32 | `PbReadUInt32(userMessage: ptr64, fieldName: string, index: int32): uint32` | Reads an unsigned 32-bit integer from a UserMessage. |\n| PbReadUInt64 | `PbReadUInt64(userMessage: ptr64, fieldName: string, index: int32): uint64` | Reads an unsigned 64-bit integer from a UserMessage. |\n| PbReadFloat | `PbReadFloat(userMessage: ptr64, fieldName: string, index: int32): float` | Reads a floating-point value from a UserMessage. |\n| PbReadDouble | `PbReadDouble(userMessage: ptr64, fieldName: string, index: int32): double` | Reads a double-precision floating-point value from a UserMessage. |\n| PbReadBool | `PbReadBool(userMessage: ptr64, fieldName: string, index: int32): bool` | Reads a boolean value from a UserMessage. |\n| PbReadString | `PbReadString(userMessage: ptr64, fieldName: string, index: int32): string` | Reads a string from a UserMessage. |\n| PbReadColor | `PbReadColor(userMessage: ptr64, fieldName: string, index: int32): int32` | Reads a color value from a UserMessage. |\n| PbReadVector2 | `PbReadVector2(userMessage: ptr64, fieldName: string, index: int32): vec2` | Reads a 2D vector from a UserMessage. |\n| PbReadVector3 | `PbReadVector3(userMessage: ptr64, fieldName: string, index: int32): vec3` | Reads a 3D vector from a UserMessage. |\n| PbReadQAngle | `PbReadQAngle(userMessage: ptr64, fieldName: string, index: int32): vec3` | Reads a QAngle (rotation vector) from a UserMessage. |\n| PbGetEnum | `PbGetEnum(userMessage: ptr64, fieldName: string, out: ptr64): bool` | Gets a enum value from a field in the UserMessage. |\n| PbSetEnum | `PbSetEnum(userMessage: ptr64, fieldName: string, value: int32): bool` | Sets a enum value for a field in the UserMessage. |\n| PbGetInt32 | `PbGetInt32(userMessage: ptr64, fieldName: string, out: ptr64): bool` | Gets a 32-bit integer value from a field in the UserMessage. |\n| PbSetInt32 | `PbSetInt32(userMessage: ptr64, fieldName: string, value: int32): bool` | Sets a 32-bit integer value for a field in the UserMessage. |\n| PbGetInt64 | `PbGetInt64(userMessage: ptr64, fieldName: string, out: ptr64): bool` | Gets a 64-bit integer value from a field in the UserMessage. |\n| PbSetInt64 | `PbSetInt64(userMessage: ptr64, fieldName: string, value: int64): bool` | Sets a 64-bit integer value for a field in the UserMessage. |\n| PbGetUInt32 | `PbGetUInt32(userMessage: ptr64, fieldName: string, out: ptr64): bool` | Gets an unsigned 32-bit integer value from a field in the UserMessage. |\n| PbSetUInt32 | `PbSetUInt32(userMessage: ptr64, fieldName: string, value: uint32): bool` | Sets an unsigned 32-bit integer value for a field in the UserMessage. |\n| PbGetUInt64 | `PbGetUInt64(userMessage: ptr64, fieldName: string, out: ptr64): bool` | Gets an unsigned 64-bit integer value from a field in the UserMessage. |\n| PbSetUInt64 | `PbSetUInt64(userMessage: ptr64, fieldName: string, value: uint64): bool` | Sets an unsigned 64-bit integer value for a field in the UserMessage. |\n| PbGetBool | `PbGetBool(userMessage: ptr64, fieldName: string, out: ptr64): bool` | Gets a bool value from a field in the UserMessage. |\n| PbSetBool | `PbSetBool(userMessage: ptr64, fieldName: string, value: bool): bool` | Sets a bool value for a field in the UserMessage. |\n| PbGetFloat | `PbGetFloat(userMessage: ptr64, fieldName: string, out: ptr64): bool` | Gets a float value from a field in the UserMessage. |\n| PbSetFloat | `PbSetFloat(userMessage: ptr64, fieldName: string, value: float): bool` | Sets a float value for a field in the UserMessage. |\n| PbGetDouble | `PbGetDouble(userMessage: ptr64, fieldName: string, out: ptr64): bool` | Gets a double value from a field in the UserMessage. |\n| PbSetDouble | `PbSetDouble(userMessage: ptr64, fieldName: string, value: double): bool` | Sets a double value for a field in the UserMessage. |\n| PbGetString | `PbGetString(userMessage: ptr64, fieldName: string, out: string\u0026): bool` | Gets a string value from a field in the UserMessage. |\n| PbSetString | `PbSetString(userMessage: ptr64, fieldName: string, value: string): bool` | Sets a string value for a field in the UserMessage. |\n| PbGetColor | `PbGetColor(userMessage: ptr64, fieldName: string, out: ptr64): bool` | Gets a color value from a field in the UserMessage. |\n| PbSetColor | `PbSetColor(userMessage: ptr64, fieldName: string, value: int32): bool` | Sets a color value for a field in the UserMessage. |\n| PbGetVector2 | `PbGetVector2(userMessage: ptr64, fieldName: string, out: ptr64): bool` | Gets a Vector2 value from a field in the UserMessage. |\n| PbSetVector2 | `PbSetVector2(userMessage: ptr64, fieldName: string, value: vec2): bool` | Sets a Vector2 value for a field in the UserMessage. |\n| PbGetVector3 | `PbGetVector3(userMessage: ptr64, fieldName: string, out: ptr64): bool` | Gets a Vector3 value from a field in the UserMessage. |\n| PbSetVector3 | `PbSetVector3(userMessage: ptr64, fieldName: string, value: vec3): bool` | Sets a Vector3 value for a field in the UserMessage. |\n| PbGetQAngle | `PbGetQAngle(userMessage: ptr64, fieldName: string, out: ptr64): bool` | Gets a QAngle value from a field in the UserMessage. |\n| PbSetQAngle | `PbSetQAngle(userMessage: ptr64, fieldName: string, value: vec3): bool` | Sets a QAngle value for a field in the UserMessage. |\n| PbGetRepeatedEnum | `PbGetRepeatedEnum(userMessage: ptr64, fieldName: string, index: int32, out: ptr64): bool` | Gets a repeated enum value from a field in the UserMessage. |\n| PbSetRepeatedEnum | `PbSetRepeatedEnum(userMessage: ptr64, fieldName: string, index: int32, value: int32): bool` | Sets a repeated enum value for a field in the UserMessage. |\n| PbAddEnum | `PbAddEnum(userMessage: ptr64, fieldName: string, value: int32): bool` | Adds a enum value to a repeated field in the UserMessage. |\n| PbGetRepeatedInt32 | `PbGetRepeatedInt32(userMessage: ptr64, fieldName: string, index: int32, out: ptr64): bool` | Gets a repeated int32_t value from a field in the UserMessage. |\n| PbSetRepeatedInt32 | `PbSetRepeatedInt32(userMessage: ptr64, fieldName: string, index: int32, value: int32): bool` | Sets a repeated int32_t value for a field in the UserMessage. |\n| PbAddInt32 | `PbAddInt32(userMessage: ptr64, fieldName: string, value: int32): bool` | Adds a 32-bit integer value to a repeated field in the UserMessage. |\n| PbGetRepeatedInt64 | `PbGetRepeatedInt64(userMessage: ptr64, fieldName: string, index: int32, out: ptr64): bool` | Gets a repeated int64_t value from a field in the UserMessage. |\n| PbSetRepeatedInt64 | `PbSetRepeatedInt64(userMessage: ptr64, fieldName: string, index: int32, value: int64): bool` | Sets a repeated int64_t value for a field in the UserMessage. |\n| PbAddInt64 | `PbAddInt64(userMessage: ptr64, fieldName: string, value: int64): bool` | Adds a 64-bit integer value to a repeated field in the UserMessage. |\n| PbGetRepeatedUInt32 | `PbGetRepeatedUInt32(userMessage: ptr64, fieldName: string, index: int32, out: ptr64): bool` | Gets a repeated uint32_t value from a field in the UserMessage. |\n| PbSetRepeatedUInt32 | `PbSetRepeatedUInt32(userMessage: ptr64, fieldName: string, index: int32, value: uint32): bool` | Sets a repeated uint32_t value for a field in the UserMessage. |\n| PbAddUInt32 | `PbAddUInt32(userMessage: ptr64, fieldName: string, value: uint32): bool` | Adds an unsigned 32-bit integer value to a repeated field in the UserMessage. |\n| PbGetRepeatedUInt64 | `PbGetRepeatedUInt64(userMessage: ptr64, fieldName: string, index: int32, out: ptr64): bool` | Gets a repeated uint64_t value from a field in the UserMessage. |\n| PbSetRepeatedUInt64 | `PbSetRepeatedUInt64(userMessage: ptr64, fieldName: string, index: int32, value: uint64): bool` | Sets a repeated uint64_t value for a field in the UserMessage. |\n| PbAddUInt64 | `PbAddUInt64(userMessage: ptr64, fieldName: string, value: uint64): bool` | Adds an unsigned 64-bit integer value to a repeated field in the UserMessage. |\n| PbGetRepeatedBool | `PbGetRepeatedBool(userMessage: ptr64, fieldName: string, index: int32, out: ptr64): bool` | Gets a repeated bool value from a field in the UserMessage. |\n| PbSetRepeatedBool | `PbSetRepeatedBool(userMessage: ptr64, fieldName: string, index: int32, value: bool): bool` | Sets a repeated bool value for a field in the UserMessage. |\n| PbAddBool | `PbAddBool(userMessage: ptr64, fieldName: string, value: bool): bool` | Adds a bool value to a repeated field in the UserMessage. |\n| PbGetRepeatedFloat | `PbGetRepeatedFloat(userMessage: ptr64, fieldName: string, index: int32, out: ptr64): bool` | Gets a repeated float value from a field in the UserMessage. |\n| PbSetRepeatedFloat | `PbSetRepeatedFloat(userMessage: ptr64, fieldName: string, index: int32, value: float): bool` | Sets a repeated float value for a field in the UserMessage. |\n| PbAddFloat | `PbAddFloat(userMessage: ptr64, fieldName: string, value: float): bool` | Adds a float value to a repeated field in the UserMessage. |\n| PbGetRepeatedDouble | `PbGetRepeatedDouble(userMessage: ptr64, fieldName: string, index: int32, out: ptr64): bool` | Gets a repeated double value from a field in the UserMessage. |\n| PbSetRepeatedDouble | `PbSetRepeatedDouble(userMessage: ptr64, fieldName: string, index: int32, value: double): bool` | Sets a repeated double value for a field in the UserMessage. |\n| PbAddDouble | `PbAddDouble(userMessage: ptr64, fieldName: string, value: double): bool` | Adds a double value to a repeated field in the UserMessage. |\n| PbGetRepeatedString | `PbGetRepeatedString(userMessage: ptr64, fieldName: string, index: int32, out: string\u0026): bool` | Gets a repeated string value from a field in the UserMessage. |\n| PbSetRepeatedString | `PbSetRepeatedString(userMessage: ptr64, fieldName: string, index: int32, value: string): bool` | Sets a repeated string value for a field in the UserMessage. |\n| PbAddString | `PbAddString(userMessage: ptr64, fieldName: string, value: string): bool` | Adds a string value to a repeated field in the UserMessage. |\n| PbGetRepeatedColor | `PbGetRepeatedColor(userMessage: ptr64, fieldName: string, index: int32, out: ptr64): bool` | Gets a repeated color value from a field in the UserMessage. |\n| PbSetRepeatedColor | `PbSetRepeatedColor(userMessage: ptr64, fieldName: string, index: int32, value: int32): bool` | Sets a repeated color value for a field in the UserMessage. |\n| PbAddColor | `PbAddColor(userMessage: ptr64, fieldName: string, value: int32): bool` | Adds a color value to a repeated field in the UserMessage. |\n| PbGetRepeatedVector2 | `PbGetRepeatedVector2(userMessage: ptr64, fieldName: string, index: int32, out: ptr64): bool` | Gets a repeated Vector2 value from a field in the UserMessage. |\n| PbSetRepeatedVector2 | `PbSetRepeatedVector2(userMessage: ptr64, fieldName: string, index: int32, value: vec2): bool` | Sets a repeated Vector2 value for a field in the UserMessage. |\n| PbAddVector2 | `PbAddVector2(userMessage: ptr64, fieldName: string, value: vec2): bool` | Adds a Vector2 value to a repeated field in the UserMessage. |\n| PbGetRepeatedVector3 | `PbGetRepeatedVector3(userMessage: ptr64, fieldName: string, index: int32, out: ptr64): bool` | Gets a repeated Vector3 value from a field in the UserMessage. |\n| PbSetRepeatedVector3 | `PbSetRepeatedVector3(userMessage: ptr64, fieldName: string, index: int32, value: vec3): bool` | Sets a repeated Vector3 value for a field in the UserMessage. |\n| PbAddVector3 | `PbAddVector3(userMessage: ptr64, fieldName: string, value: vec3): bool` | Adds a Vector3 value to a repeated field in the UserMessage. |\n| PbGetRepeatedQAngle | `PbGetRepeatedQAngle(userMessage: ptr64, fieldName: string, index: int32, out: ptr64): bool` | Gets a repeated QAngle value from a field in the UserMessage. |\n| PbSetRepeatedQAngle | `PbSetRepeatedQAngle(userMessage: ptr64, fieldName: string, index: int32, value: vec3): bool` | Sets a repeated QAngle value for a field in the UserMessage. |\n| PbAddQAngle | `PbAddQAngle(userMessage: ptr64, fieldName: string, value: vec3): bool` | Adds a QAngle value to a repeated field in the UserMessage. |\n\n### Schema\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| GetSchemaOffset | `GetSchemaOffset(className: string, memberName: string): int32` | Get the offset of a member in a given schema class. |\n| GetSchemaChainOffset | `GetSchemaChainOffset(className: string): int32` | Get the offset of a chain in a given schema class. |\n| IsSchemaFieldNetworked | `IsSchemaFieldNetworked(className: string, memberName: string): bool` | Check if a schema field is networked. |\n| GetSchemaClassSize | `GetSchemaClassSize(className: string): int32` | Get the size of a schema class. |\n| GetEntData2 | `GetEntData2(entity: ptr64, offset: int32, size: int32): int64` | Peeks into an entity's object schema and retrieves the integer value at the given offset. |\n| SetEntData2 | `SetEntData2(entity: ptr64, offset: int32, value: int64, size: int32, changeState: bool, chainOffset: int32): void` | Peeks into an entity's object data and sets the integer value at the given offset. |\n| GetEntDataFloat2 | `GetEntDataFloat2(entity: ptr64, offset: int32, size: int32): double` | Peeks into an entity's object schema and retrieves the float value at the given offset. |\n| SetEntDataFloat2 | `SetEntDataFloat2(entity: ptr64, offset: int32, value: double, size: int32, changeState: bool, chainOffset: int32): void` | Peeks into an entity's object data and sets the float value at the given offset. |\n| GetEntDataString2 | `GetEntDataString2(entity: ptr64, offset: int32): string` | Peeks into an entity's object schema and retrieves the string value at the given offset. |\n| SetEntDataString2 | `SetEntDataString2(entity: ptr64, offset: int32, value: string, changeState: bool, chainOffset: int32): void` | Peeks into an entity's object data and sets the string at the given offset. |\n| GetEntDataVector2 | `GetEntDataVector2(entity: ptr64, offset: int32): vec3` | Peeks into an entity's object schema and retrieves the vector value at the given offset. |\n| SetEntDataVector2 | `SetEntDataVector2(entity: ptr64, offset: int32, value: vec3, changeState: bool, chainOffset: int32): void` | Peeks into an entity's object data and sets the vector at the given offset. |\n| GetEntDataEnt2 | `GetEntDataEnt2(entity: ptr64, offset: int32): int32` | Peeks into an entity's object data and retrieves the entity handle at the given offset. |\n| SetEntDataEnt2 | `SetEntDataEnt2(entity: ptr64, offset: int32, value: int32, changeState: bool, chainOffset: int32): void` | Peeks into an entity's object data and sets the entity handle at the given offset. |\n| ChangeEntityState2 | `ChangeEntityState2(entity: ptr64, offset: int32, chainOffset: int32): void` | Updates the networked state of a schema field for a given entity pointer. |\n| GetEntData | `GetEntData(entityHandle: int32, offset: int32, size: int32): int64` | Peeks into an entity's object schema and retrieves the integer value at the given offset. |\n| SetEntData | `SetEntData(entityHandle: int32, offset: int32, value: int64, size: int32, changeState: bool, chainOffset: int32): void` | Peeks into an entity's object data and sets the integer value at the given offset. |\n| GetEntDataFloat | `GetEntDataFloat(entityHandle: int32, offset: int32, size: int32): double` | Peeks into an entity's object schema and retrieves the float value at the given offset. |\n| SetEntDataFloat | `SetEntDataFloat(entityHandle: int32, offset: int32, value: double, size: int32, changeState: bool, chainOffset: int32): void` | Peeks into an entity's object data and sets the float value at the given offset. |\n| GetEntDataString | `GetEntDataString(entityHandle: int32, offset: int32): string` | Peeks into an entity's object schema and retrieves the string value at the given offset. |\n| SetEntDataString | `SetEntDataString(entityHandle: int32, offset: int32, value: string, changeState: bool, chainOffset: int32): void` | Peeks into an entity's object data and sets the string at the given offset. |\n| GetEntDataVector | `GetEntDataVector(entityHandle: int32, offset: int32): vec3` | Peeks into an entity's object schema and retrieves the vector value at the given offset. |\n| SetEntDataVector | `SetEntDataVector(entityHandle: int32, offset: int32, value: vec3, changeState: bool, chainOffset: int32): void` | Peeks into an entity's object data and sets the vector at the given offset. |\n| GetEntDataEnt | `GetEntDataEnt(entityHandle: int32, offset: int32): int32` | Peeks into an entity's object data and retrieves the entity handle at the given offset. |\n| SetEntDataEnt | `SetEntDataEnt(entityHandle: int32, offset: int32, value: int32, changeState: bool, chainOffset: int32): void` | Peeks into an entity's object data and sets the entity handle at the given offset. |\n| ChangeEntityState | `ChangeEntityState(entityHandle: int32, offset: int32, chainOffset: int32): void` | Updates the networked state of a schema field for a given entity handle. |\n| GetEntSchemaArraySize2 | `GetEntSchemaArraySize2(entity: ptr64, className: string, memberName: string): int32` | Retrieves the count of values that an entity schema's array can store. |\n| GetEntSchema2 | `GetEntSchema2(entity: ptr64, className: string, memberName: string, element: int32): int64` | Retrieves an integer value from an entity's schema. |\n| SetEntSchema2 | `SetEntSchema2(entity: ptr64, className: string, memberName: string, value: int64, changeState: bool, element: int32): void` | Sets an integer value in an entity's schema. |\n| GetEntSchemaFloat2 | `GetEntSchemaFloat2(entity: ptr64, className: string, memberName: string, element: int32): double` | Retrieves a float value from an entity's schema. |\n| SetEntSchemaFloat2 | `SetEntSchemaFloat2(entity: ptr64, className: string, memberName: string, value: double, changeState: bool, element: int32): void` | Sets a float value in an entity's schema. |\n| GetEntSchemaString2 | `GetEntSchemaString2(entity: ptr64, className: string, memberName: string, element: int32): string` | Retrieves a string value from an entity's schema. |\n| SetEntSchemaString2 | `SetEntSchemaString2(entity: ptr64, className: string, memberName: string, value: string, changeState: bool, element: int32): void` | Sets a string value in an entity's schema. |\n| GetEntSchemaVector3D2 | `GetEntSchemaVector3D2(entity: ptr64, className: string, memberName: string, element: int32): vec3` | Retrieves a vector value from an entity's schema. |\n| SetEntSchemaVector3D2 | `SetEntSchemaVector3D2(entity: ptr64, className: string, memberName: string, value: vec3, changeState: bool, element: int32): void` | Sets a vector value in an entity's schema. |\n| GetEntSchemaVector2D2 | `GetEntSchemaVector2D2(entity: ptr64, className: string, memberName: string, element: int32): vec2` | Retrieves a vector value from an entity's schema. |\n| SetEntSchemaVector2D2 | `SetEntSchemaVector2D2(entity: ptr64, className: string, memberName: string, value: vec2, changeState: bool, element: int32): void` | Sets a vector value in an entity's schema. |\n| GetEntSchemaVector4D2 | `GetEntSchemaVector4D2(entity: ptr64, className: string, memberName: string, element: int32): vec4` | Retrieves a vector value from an entity's schema. |\n| SetEntSchemaVector4D2 | `SetEntSchemaVector4D2(entity: ptr64, className: string, memberName: string, value: vec4, changeState: bool, element: int32): void` | Sets a vector value in an entity's schema. |\n| GetEntSchemaEnt2 | `GetEntSchemaEnt2(entity: ptr64, className: string, memberName: string, element: int32): int32` | Retrieves an entity handle from an entity's schema. |\n| SetEntSchemaEnt2 | `SetEntSchemaEnt2(entity: ptr64, className: string, memberName: string, value: int32, changeState: bool, element: int32): void` | Sets an entity handle in an entity's schema. |\n| NetworkStateChanged2 | `NetworkStateChanged2(entity: ptr64, className: string, memberName: string): void` | Updates the networked state of a schema field for a given entity pointer. |\n| GetEntSchemaArraySize | `GetEntSchemaArraySize(entityHandle: int32, className: string, memberName: string): int32` | Retrieves the count of values that an entity schema's array can store. |\n| GetEntSchema | `GetEntSchema(entityHandle: int32, className: string, memberName: string, element: int32): int64` | Retrieves an integer value from an entity's schema. |\n| SetEntSchema | `SetEntSchema(entityHandle: int32, className: string, memberName: string, value: int64, changeState: bool, element: int32): void` | Sets an integer value in an entity's schema. |\n| GetEntSchemaFloat | `GetEntSchemaFloat(entityHandle: int32, className: string, memberName: string, element: int32): double` | Retrieves a float value from an entity's schema. |\n| SetEntSchemaFloat | `SetEntSchemaFloat(entityHandle: int32, className: string, memberName: string, value: double, changeState: bool, element: int32): void` | Sets a float value in an entity's schema. |\n| GetEntSchemaString | `GetEntSchemaString(entityHandle: int32, className: string, memberName: string, element: int32): string` | Retrieves a string value from an entity's schema. |\n| SetEntSchemaString | `SetEntSchemaString(entityHandle: int32, className: string, memberName: string, value: string, changeState: bool, element: int32): void` | Sets a string value in an entity's schema. |\n| GetEntSchemaVector3D | `GetEntSchemaVector3D(entityHandle: int32, className: string, memberName: string, element: int32): vec3` | Retrieves a vector value from an entity's schema. |\n| SetEntSchemaVector3D | `SetEntSchemaVector3D(entityHandle: int32, className: string, memberName: string, value: vec3, changeState: bool, element: int32): void` | Sets a vector value in an entity's schema. |\n| GetEntSchemaVector2D | `GetEntSchemaVector2D(entityHandle: int32, className: string, memberName: string, element: int32): vec2` | Retrieves a vector value from an entity's schema. |\n| SetEntSchemaVector2D | `SetEntSchemaVector2D(entityHandle: int32, className: string, memberName: string, value: vec2, changeState: bool, element: int32): void` | Sets a vector value in an entity's schema. |\n| GetEntSchemaVector4D | `GetEntSchemaVector4D(entityHandle: int32, className: string, memberName: string, element: int32): vec4` | Retrieves a vector value from an entity's schema. |\n| SetEntSchemaVector4D | `SetEntSchemaVector4D(entityHandle: int32, className: string, memberName: string, value: vec4, changeState: bool, element: int32): void` | Sets a vector value in an entity's schema. |\n| GetEntSchemaEnt | `GetEntSchemaEnt(entityHandle: int32, className: string, memberName: string, element: int32): int32` | Retrieves an entity handle from an entity's schema. |\n| SetEntSchemaEnt | `SetEntSchemaEnt(entityHandle: int32, className: string, memberName: string, value: int32, changeState: bool, element: int32): void` | Sets an entity handle in an entity's schema. |\n| NetworkStateChanged | `NetworkStateChanged(entityHandle: int32, className: string, memberName: string): void` | Updates the networked state of a schema field for a given entity handle. |\n\n### Timers\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| CreateTimer | `CreateTimer(delay: double, callback: function, flags: int32, userData: any[]): uint32` | Creates a new timer that executes a callback function at specified delays. |\n| KillsTimer | `KillsTimer(timer: uint32): void` | Stops and removes an existing timer. |\n| RescheduleTimer | `RescheduleTimer(timer: uint32, newDaly: double): void` | Reschedules an existing timer with a new delay. |\n| GetTickInterval | `GetTickInterval(): double` | Returns the number of seconds in between game server ticks. |\n| GetTickedTime | `GetTickedTime(): double` | Returns the simulated game time. |\n\n### Weapons\n\n| Function | Signature | Description |\n|----------|-----------|-------------|\n| GetWeaponVDataFromKey | `GetWeaponVDataFromKey(name: string): ptr64` | Retrieves the weapon VData for a given weapon name. |\n| GetWeaponVData | `GetWeaponVData(entityHandle: int32): ptr64` | Retrieves the weapon VData for a given weapon. |\n| GetWeaponType | `GetWeaponType(entityHandle: int32): uint32` | Retrieves the weapon type of a given entity. |\n| GetWeaponCategory | `GetWeaponCategory(entityHandle: int32): uint32` | Retrieves the weapon category of a given entity. |\n| GetWeaponGearSlot | `GetWeaponGearSlot(entityHandle: int32): uint32` | Retrieves the gear slot of a given weapon entity. |\n| GetWeaponDefIndex | `GetWeaponDefIndex(entityHandle: int32): uint16` | Retrieves the weapon definition index for a given entity handle. |\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funtrustedmodders%2Fplugify-plugin-s2sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funtrustedmodders%2Fplugify-plugin-s2sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funtrustedmodders%2Fplugify-plugin-s2sdk/lists"}