Compare commits

...

148 Commits

Author SHA1 Message Date
roflmuffin
624a40838b chore(schema): regenerate 2025-12-08 10:31:20 +00:00
roflmuffin
f3a22b01de fix(schema): add missing new property specifiers 2025-12-08 10:31:08 +00:00
roflmuffin
a0c47e5013 chore(ci): properly mark prereleases on gh release 2025-12-08 10:17:32 +00:00
roflmuffin
9eb9594b91 chore(ci): use no increment for alpha branches 2025-12-08 20:03:54 +10:00
roflmuffin
e8afbc6175 Merge branch 'release/v2' of https://github.com/roflmuffin/CounterStrikeSharp into release/v2 2025-12-08 06:54:13 +00:00
roflmuffin
ca70dec5dd Merge remote-tracking branch 'origin/main' into release/v2 2025-12-08 06:54:02 +00:00
roflmuffin
1091401855 chore(ci): auto merge hl2sdk dependabot PRs 2025-12-08 05:41:13 +00:00
Michael Wilson
1ac05e70da chore(deps): revert back to daily dependabot updates 2025-12-08 15:09:40 +10:00
Michael Wilson
146083050e chore(deps): run dependabot every 15 minutes
Changed the dependabot update schedule to a cron job that runs every 15 minutes.
2025-12-08 15:07:07 +10:00
Michael Wilson
57a24e2198 release: v1.0.348 2025-12-06 23:29:39 +00:00
roflmuffin
ad731c1601 chore(deps): update hl2sdk 2025-12-06 23:23:37 +00:00
Copilot
1a6ff70df1 chore(ci): disable discord notifications for pre-release versions (#1132)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: roflmuffin <4160975+roflmuffin@users.noreply.github.com>
2025-12-03 13:52:11 +10:00
Erik Bročko
edb0872c70 fix: do nothing when pressing 7 (prev) on the 1st page of a menu (#1127) 2025-11-24 01:56:17 +00:00
宇宙 猫
ff298368c2 fix: prevent VirtualFunction memory leak in native layer (#1121) 2025-11-17 02:04:05 +00:00
crashzk
832b68776c feat: add translations for pt-BR (#1122) 2025-11-17 00:45:27 +00:00
Michael Wilson
b07acd9168 release: v1.0.347 2025-11-15 03:04:21 +00:00
Ian Lucas
6461235c2a chore: update signatures for GiveNamedItem (#1120) 2025-11-14 07:44:14 +10:00
roflmuffin
f32e74515b chore(generators): regenerate game events, schema & natives into generated/ subfolder 2025-11-06 13:50:36 +10:00
roflmuffin
0318713cbe chore(generators): re-organise generated files 2025-11-06 13:47:52 +10:00
roflmuffin
0390a03829 Merge remote-tracking branch 'origin/main' into release/v2
# Conflicts:
#	managed/CounterStrikeSharp.API/Core/Schema/Classes/CCSPlayer_MovementServices.g.cs
2025-11-06 11:12:52 +10:00
dependabot[bot]
0322548ebd chore(deps): bump libraries/metamod-source from 4399ff0 to 07c708a (#1101)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-06 00:57:56 +00:00
dependabot[bot]
e4b1a35308 chore(deps): bump libraries/hl2sdk-cs2 from 84a823d to da981a8 (#1108)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: roflmuffin <shortguy014@gmail.com>
2025-11-06 00:51:23 +00:00
dependabot[bot]
fd8defc1b9 chore(deps): bump libraries/Protobufs from 53da9bc to 7af53a5 (#1109)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-06 09:11:33 +10:00
Michael Wilson
cebec419fa release: v1.0.346 2025-11-05 10:52:14 +00:00
Michael Wilson
52550e31bc chore: update server.json 2025-11-05 20:51:13 +10:00
LynchMus
e59e9cf148 fix: changes for 2025-11-5 Update (#1107) 2025-11-05 20:44:03 +10:00
Luca.
1568d077e8 feat: add localization for no permission error messages & spanish language support. (#1099) 2025-11-05 16:57:45 +10:00
roflmuffin
ed919216f1 fix: make natives internal 2025-11-04 13:29:00 +00:00
roflmuffin
d999da91c8 fix: generate natives into generated folder as well 2025-11-04 13:27:41 +00:00
roflmuffin
5f482ea2a1 chore: move schema generated content to the generated folder as well 2025-11-04 13:25:12 +00:00
roflmuffin
9b451e535f feat: generate game events into separate files 2025-11-04 13:21:26 +00:00
roflmuffin
39995a7054 fix: generate handles as value type 2025-11-04 13:06:18 +00:00
roflmuffin
7ae4ba959f chore: reorganise some files 2025-11-04 22:59:50 +10:00
roflmuffin
e7299d2b6a fix: misc test fixes, change schema properties to virtual 2025-11-04 09:37:04 +00:00
roflmuffin
b006506695 fix: don't generate constructor and fix type for auto generated CEntityInstance 2025-11-03 05:12:38 +00:00
roflmuffin
3d6e99d9de ci: run build on release branches 2025-11-01 06:28:00 +00:00
roflmuffin
7fabd8e1d0 feat: swap Vector4D and Vector2D for numerics versions 2025-11-01 06:25:19 +00:00
roflmuffin
de95e4f873 fix: test plugin 2025-10-30 07:20:51 +00:00
roflmuffin
38d2dfd17c feat: add network change methods to schema classes 2025-10-30 06:57:46 +00:00
roflmuffin
0cddb171c6 feat: update schema system to add get/set of value types 2025-10-30 06:33:47 +00:00
roflmuffin
6794d0a21c feat: use system numerics vector3 and create qangle class based on numerics.vector3 2025-10-30 06:33:09 +00:00
Ravid Atia
55542dba7c feat: allow plugins to be loaded from subdirectories (#1031)
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
2025-10-30 05:27:42 +00:00
Michael Wilson
33538eca60 release: v1.0.345 2025-10-30 01:41:23 +00:00
Michael Wilson
b4e83dfb4a fix: update linux signature for GetCSWeaponDataFromKey 2025-10-30 11:40:04 +10:00
roflmuffin
4ff2732d8a feat(schema): update schema generator to use @GAMMACASE schema dumper format 2025-10-27 06:48:05 +00:00
Michael Wilson
67d3d044fd release: v1.0.344 2025-10-27 05:36:18 +00:00
roflmuffin
f50540583d chore(schema): update schema to latest 2025-10-27 05:15:04 +00:00
roflmuffin
97957f6220 fix(schema): allow for negative enum values in source schema file 2025-10-27 05:14:15 +00:00
roflmuffin
0c2f1cd078 [no ci] chore: update devcontainer location 2025-10-22 20:18:59 +10:00
Michael Wilson
9eefe9c61a release: v1.0.343 2025-10-20 01:03:13 +00:00
Nocky
7be329466a feat: add BuyWithCtrl to AcquireMethod enum
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
2025-10-19 23:25:46 +00:00
Matlord93
a21f0b5277 fix: update ConVar flag retrieval that adapts to different Source 2 SDK versions (#1059)
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
2025-10-18 08:10:39 +00:00
dxqshka
b4ba7d8ca0 feat(experimental): add NuGet Dependency Resolver for Plugins (#1012) 2025-10-18 07:35:40 +00:00
Michal
0eb73eb348 feat: add FindVirtualTable method (#1075) 2025-10-18 10:59:33 +10:00
Markus
43c1c89596 feat: use shared libgcc and libc++ (#1007)
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
2025-10-17 06:53:42 +00:00
宇宙 猫
53996666f8 feat: implement TerminateSelf(string reason) to allow plugins to safely terminate themselves (#1047)
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
2025-10-17 06:30:59 +00:00
schwarper
a8510d183d feat: add core translations & processtargetstring (#1051) 2025-10-17 16:19:49 +10:00
Michael Wilson
a52f5e737d release: v1.0.342 2025-10-16 06:41:06 +00:00
LynchMus
34598dd56e fix: update Sigs & CTakeDamageResult & EmitSound_t (#1071) 2025-10-16 06:40:10 +00:00
Michael Wilson
325728e753 release: v1.0.341 2025-10-16 06:19:32 +00:00
roflmuffin
56e007402b fix: update schema for update 2025-10-16 16:15:05 +10:00
dependabot[bot]
bf75d43039 chore(deps): bump libraries/hl2sdk-cs2 from bc59586 to 9310e72 (#908)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-16 15:09:02 +10:00
dependabot[bot]
7572722de4 chore(deps): bump libraries/metamod-source from 3f3136d to 4399ff0 (#1067)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-15 14:37:56 +00:00
LynchMus
638d74470e fix: EmitSoundFilter Crash (#1066) 2025-10-16 00:28:03 +10:00
LynchMus
37951f2875 fix(update): update signatures and offsets for 1.41.1.3 Update (#1064) 2025-10-15 19:46:38 +10:00
schwarper
7b9df9097c feat: improve getplayers & RemoveItemByDesignerName (#1044) 2025-09-27 08:52:41 +10:00
宇宙 猫
31cedca2b7 feat: Allow custom CS# directory for flexible server deployment (aka. css_basepath) (#1033) 2025-09-22 14:40:20 +10:00
Michael Wilson
4869acac41 release: v1.0.340 2025-09-18 06:53:31 +00:00
Oylsister
2c80971393 fix: update for CS2 09-17-25 (patch 20022951) (#1037)
Co-authored-by: Alex <6075172+vauff@users.noreply.github.com>
Co-authored-by: MADAO <73157477+ismadao@users.noreply.github.com>
2025-09-18 06:50:37 +00:00
宇宙 猫
44922da680 fix: Invalid string pointers passed by SetResult due to C++ memory lifecycle (#1032) 2025-09-09 19:23:23 +10:00
宇宙 猫
1ca8ff2172 feat: Implement bypass hook for Invoke method (#1027) 2025-09-08 06:15:11 +00:00
Michael Wilson
99f7f37b10 release: v1.0.339 2025-09-04 00:34:35 +00:00
SLAYER
54f8d5ef95 Fixed offset values of Respawn and Slay for Windows (#1026) 2025-09-04 10:26:11 +10:00
Michael Wilson
a7443b2a60 release: v1.0.338 2025-08-31 11:29:55 +00:00
Levin V.
72d66cb5d5 Update gamedata.json (#1020) 2025-08-29 08:39:42 +10:00
Michael Wilson
adccc4b9e9 release: v1.0.337 2025-08-21 00:47:25 +00:00
Michael Wilson
fc7301a8d3 feat(schema): add new schema classes for build 19644975 2025-08-21 00:36:35 +00:00
Michael Wilson
ef4b8f9442 feat(schema): update schema classes for build 19644975 2025-08-21 00:32:21 +00:00
Michael Wilson
245f55daf3 fix: update FindPickerEntity implementation (thanks @KillStr3aK) 2025-08-21 00:20:05 +00:00
Michael Wilson
936b88d57c fix(gamedata): update CBasePlayerController_SetPawn signature 2025-08-21 10:15:10 +10:00
Michael Wilson
ee792de1a0 release: v1.0.336 2025-08-18 01:53:16 +00:00
Michael Wilson
624ca0f0de fix: re-add GetHitGroup with GameData backed offset 2025-08-18 01:50:39 +00:00
Michael Wilson
592acc28aa release: v1.0.335 2025-08-16 00:53:03 +00:00
Michael Wilson
51b6b45390 fix: obsolete GetHitGroup() and point to HitGroupId schema property 2025-08-16 00:35:58 +00:00
Michael Wilson
d5fad8d801 chore(deps): update hl2sdk 2025-08-16 00:08:27 +00:00
Michael Wilson
bf1ce2e8a3 chore(gamedata): update offsets & signatures 2025-08-16 00:08:11 +00:00
Michael Wilson
0761d267ba fix: revert MaxPlayers caching 2025-08-15 00:49:44 +00:00
Michael Wilson
92959dea6e release: v1.0.334 2025-08-15 00:22:04 +00:00
Daniel Saewitz
f7c69a60be fix: update hl2sdk for patch 19602992 (Aug 14 2025) (#988) 2025-08-15 10:21:08 +10:00
Michael Wilson
6f796d9ae9 release: v1.0.333 2025-08-05 12:18:39 +00:00
Michael Wilson
1f9c7a090b perf: cache Server.MaxPlayers to improve performance of Utilities.GetPlayers() 2025-08-05 12:11:07 +00:00
Michael Wilson
2cf2d45e8e feat: add OnPlayerChat listener (#973) 2025-08-05 11:43:38 +00:00
Michael Wilson
fa383cda68 chore: apply alliedmodders hl2sdk again (#974) 2025-08-05 21:38:23 +10:00
Michael Wilson
e1acada35e release: v1.0.332 2025-08-05 06:58:41 +00:00
samyyc
dc503e7f57 fix: re-enable EmitSoundFilter (#968) 2025-08-05 16:53:24 +10:00
Luca.
fedfe75601 fix: update GetHitGroup offset (#970) 2025-08-04 23:39:33 +00:00
samyyc
3508fdfd8c fix: crash caused by AddEntityIOEvent (#969) 2025-08-04 22:13:33 +10:00
Michael Wilson
741d6a3fc8 release: v1.0.331 2025-08-04 10:30:24 +00:00
Michael Wilson
356152a567 fix: revert chat command hooking back to detour of Host_Say 2025-08-04 10:26:00 +00:00
Michael Wilson
31e12ba809 release: v1.0.330 2025-08-04 05:46:01 +00:00
samyyc
529a0cbf5b fix: CheckTransmit hook not firing (#966) 2025-08-04 15:31:26 +10:00
Michael Wilson
ed7c28f9e3 release: v1.0.329 2025-08-03 23:34:14 +00:00
Michael Wilson
1f30e5619f fix: Update CS# for Patch 19388062 (#958) 2025-08-04 09:28:05 +10:00
Michael Wilson
af3bb528d7 chore: schema update for patch 19388062 (#962) 2025-08-03 11:38:08 +10:00
K4ryuu
b7abd1d59e chore: update Gamedata for Patch 19388062
Credits: @Pisex, @stefanx11, @K4ryuu
2025-07-29 13:05:53 +00:00
Michael Wilson
dd50221321 feat: add OnPlayerButtonsChanged listener (#942) 2025-07-20 11:20:23 +00:00
Michael Wilson
9491732a38 feat: add Vector3 and QAngle explicit casts to System.Numerics.Vector3 (#943) 2025-07-20 11:15:11 +00:00
Michael Wilson
6c9321e3e7 feat: add OnServerPreEntityThink and OnServerPostEntityThink listeners (#941) 2025-07-17 15:42:07 +10:00
Michael Wilson
6acfa1491a release: v1.0.328 2025-07-17 02:01:56 +00:00
Michael Wilson
ad8116d4d2 feat: add css_dump_leaks command which outputs vector/angle count 2025-07-17 01:53:13 +00:00
Michael Wilson
26a8f641c8 test: add integration tests xunit plugin/runner (#928) 2025-07-14 14:54:35 +10:00
roflmuffin
f08b5e8439 chore(build): prevent unnecessary test builds 2025-07-11 20:58:22 +10:00
Michael Wilson
6e27a67917 release: v1.0.327 2025-07-10 21:36:17 +00:00
Michael Wilson
a8eff60d0b fix: update core.example.json 2025-07-10 21:36:03 +00:00
Michael Wilson
89fc5aeaf9 release: v1.0.326 2025-07-10 15:32:53 +00:00
Michael Wilson
ffb274d636 fix: remove requirement for https for game config updates (#930) 2025-07-11 01:31:49 +10:00
samyyc
b5303d15ab Support operating bytes type protobuf field (#922)
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
2025-07-10 06:19:46 +00:00
Michael Wilson
1a521ec3bb fix: prefix dump_schema command to enable compat with Source2 Schema Dumper by GAMMACASE 2025-07-10 05:22:31 +00:00
Michael Wilson
ec61ad37f0 release: v1.0.325 2025-07-10 03:53:52 +00:00
Michael Wilson
260015d765 fix: revert internal stack trace for performance (#927) 2025-07-10 13:53:01 +10:00
Michael Wilson
d346a02f98 release: v1.0.324 2025-07-10 01:04:18 +00:00
Michael Wilson
8ab61b00e8 feat: Add Automatic Gamedata Updates (#925) 2025-07-10 10:23:48 +12:00
Michael Wilson
c746c4e2e7 chore(dev): add node to devcontainer 2025-07-07 02:28:43 +00:00
Michael Wilson
32d3e18657 chore(dev): create release script 2025-07-07 02:26:26 +00:00
Michael Wilson
d5fa42cb50 release: v1.0.323 2025-07-07 02:18:32 +00:00
Michael Wilson
22809e3ec6 feat: update schema for game update 1.40.8.5 (03.07.2025) (#921) 2025-07-07 12:14:28 +10:00
Michael Wilson
87d197309b chore(dev): add build & sync commands for .NET API 2025-07-07 01:50:52 +00:00
Michael Wilson
e6bfb7939d chore(dev): add build & sync commands to vscode tasks 2025-07-07 01:42:50 +00:00
dependabot[bot]
0ae9227d73 chore(deps): bump libraries/metamod-source from 6091f15 to b17dc63 (#906)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
2025-07-07 00:42:23 +00:00
Michael Wilson
7285d29454 release: v1.0.322 2025-07-07 00:36:16 +00:00
ZoNiCaL
124ffac7a9 Implement CVariant functions (#905) 2025-07-07 00:22:02 +00:00
Michael Wilson
267b017787 release: v1.0.321 2025-07-06 23:55:26 +00:00
Ian Lucas
018bcba655 Continued: Fixes for game update 1.40.8.5 (03.07.2025) (#917) 2025-07-05 06:49:02 +10:00
Michael Wilson
011401adb9 release: v1.0.320 2025-07-04 06:07:15 +00:00
Roman
bebeedf272 Fixes for game update 1.40.8.5 (03.07.2025) (#911) 2025-07-03 18:57:20 +00:00
Michael Wilson
7af153cf25 release: v1.0.319 2025-06-20 12:39:17 +00:00
Michal
6f663164ee Improve FunctionReference trace logging with real user stack origin (#895)
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
Co-authored-by: root <root@ns3203586.ip-146-59-53.eu>
2025-06-20 12:28:14 +00:00
Michael Wilson
22f5c06c49 release: v1.0.318 2025-05-12 06:08:34 +00:00
Michael Wilson
073728b4ce fix(gameevents): merge and sort game event properties if duplicate events 2025-05-12 05:59:21 +00:00
Michael Wilson
6511a0098a chore: cleanup cpp & add clang format linting (#862) 2025-05-12 15:46:13 +10:00
Eason
f50fb783bb chore(build): duplicate include path: ${SOURCESDK}/public/entity2 (#756)
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
2025-05-12 04:23:03 +00:00
roflmuffin
49e8ab0e27 release: v1.0.317 2025-05-10 12:34:59 +10:00
roflmuffin
4be0634625 chore(gameevents): update game events (bullet_damage changes) 2025-05-10 12:32:05 +10:00
roflmuffin
7025b62615 chore(schema): update (mainly removal of danger zone classes) 2025-05-10 12:31:38 +10:00
Michael Wilson
462ca52229 chore(deps): upgrade metamod & hl2sdk (#856) 2025-05-10 12:17:45 +10:00
dependabot[bot]
d7e23e8282 chore(deps): bump libraries/Protobufs from 3d85413 to 53da9bc (#857)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-08 14:37:58 +10:00
roflmuffin
3ddfa71e3f feat: add Scoreboard and Inspect buttons to PlayerButtons 2025-05-02 20:16:02 +10:00
ipsvn
688b226bcf Fix potential event natives crashes (#852) 2025-04-29 14:32:50 +10:00
1917 changed files with 399572 additions and 163370 deletions

View File

@@ -38,7 +38,7 @@ BraceWrapping:
SplitEmptyNamespace: true
PointerAlignment: Left
SortIncludes: CaseSensitive
SortIncludes: Never
IncludeBlocks: Regroup
IncludeCategories:
# External headers in <> with extension or /

View File

@@ -0,0 +1,21 @@
{
"name": "SteamRT Sniper SDK",
"image": "registry.gitlab.steamos.cloud/steamrt/sniper/sdk:latest",
"updateContentCommand": "git submodule update --init --recursive",
"postCreateCommand": "cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -G Ninja && cmake --build build -j$(nproc)",
"customizations": {
"vscode": {
"extensions": [
"ms-dotnettools.csdevkit",
"ms-vscode.cpptools",
"ms-vscode.cpptools-extension-pack",
"GitHub.copilot",
"jeff-hykin.better-cpp-syntax"
]
}
},
"features": {
"ghcr.io/devcontainers/features/dotnet": "8.0",
"ghcr.io/devcontainers/features/node": "lts"
}
}

View File

@@ -1,11 +0,0 @@
{
"name": "SteamRT Sniper SDK",
"image": "registry.gitlab.steamos.cloud/steamrt/sniper/sdk:latest",
"customizations": {
"vscode": {
"extensions": [
"ms-vscode.cpptools"
]
}
}
}

View File

@@ -11,7 +11,7 @@ on:
push:
paths-ignore:
- "docfx/**"
branches: ["main"]
branches: ["main", "release/*"]
tags:
- "v*"
pull_request:
@@ -35,6 +35,11 @@ jobs:
with:
fetch-depth: 0
- name: Fetch tags
run: |
git fetch --tags --force
git tag
- name: Execute GitVersion
id: gitversion
uses: gittools/actions/gitversion/execute@v1
@@ -242,6 +247,7 @@ jobs:
uses: softprops/action-gh-release@v1
with:
append_body: true
prerelease: ${{ contains(github.ref_name, '-alpha') || contains(github.ref_name, '-beta') || contains(github.ref_name, '-rc') }}
body: |
${{ steps.git-cliff.outputs.content }}
@@ -258,6 +264,7 @@ jobs:
dotnet nuget push build/api/CounterStrikeSharp.API.${{ needs.setup.outputs.gitversion_semver }}.snupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
- name: Send Notification to Discord
if: ${{ !contains(github.ref_name, '-alpha') && !contains(github.ref_name, '-beta') && !contains(github.ref_name, '-rc') }}
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
uses: Ilshidur/action-discord@0.3.2

25
.github/workflows/lint-code.yaml vendored Normal file
View File

@@ -0,0 +1,25 @@
name: Code format checks
on:
pull_request:
paths:
- '.github/workflows/**'
- 'src/**'
- '.clang-format'
push:
paths:
- '.github/workflows/**'
- 'src/**'
- '.clang-format'
jobs:
lint:
name: Lint code with clang-format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: jidicula/clang-format-action@4726374d1aa3c6aecf132e5197e498979588ebc8
with:
clang-format-version: '20'
check-path: 'src'
exclude-regex: '(sdk|\.proto)'

View File

@@ -0,0 +1,27 @@
name: Dependabot Auto-Merge hl2sdk
on: pull_request
permissions:
contents: write
pull-requests: write
jobs:
dependabot-auto-merge:
runs-on: ubuntu-latest
if: github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == 'roflmuffin/CounterStrikeSharp'
steps:
- name: Fetch Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@08eff52bf64351f401fb50d4972fa95b9f2c2d1b
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Approve and auto-merge hl2sdk updates
if: contains(steps.metadata.outputs.dependency-names, 'libraries/hl2sdk-cs2')
run: |
gh pr review --approve "$PR_URL"
gh pr merge --auto --squash "$PR_URL"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

1
.gitignore vendored
View File

@@ -2,7 +2,6 @@
.cmake/
cmake-build-*/
.kdev4/
generated/
!**/protobuf/generated/
# configure_file auto generated.

50
.vscode/tasks.json vendored Normal file
View File

@@ -0,0 +1,50 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "sync-linux",
"type": "shell",
"command": "lftp -c \"open -u $LINUX_SERVER_SFTP_USERNAME,$LINUX_SERVER_SFTP_PASSWORD $LINUX_SERVER_SFTP_HOST; mirror -R ${workspaceFolder}/build/addons /game/csgo/addons; mirror -R ${workspaceFolder}/managed/CounterStrikeSharp.API/bin/Release/net8.0/ /game/csgo/addons/counterstrikesharp/api; mirror -R ${workspaceFolder}/managed/CounterStrikeSharp.Tests.Native/bin/Debug/net8.0/ /game/csgo/addons/counterstrikesharp/plugins/NativeTestsPlugin\"",
"dependsOn": [
"build",
"build-api",
"build-test-plugin"
],
"problemMatcher": []
},
{
"label": "build",
"type": "shell",
"group": "build",
"command": "cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -G Ninja && cmake --build build -j$(nproc)",
},
{
"label": "build-api",
"type": "shell",
"group": "build",
"command": "dotnet build -c Release",
"options": {
"cwd": "${workspaceFolder}/managed/CounterStrikeSharp.API"
}
},
{
"label": "build-test-plugin",
"type": "shell",
"group": "build",
"command": "dotnet build -c Debug",
"options": {
"cwd": "${workspaceFolder}/managed/CounterStrikeSharp.Tests.Native"
}
},
{
"label": "generate-schema",
"type": "shell",
"command": "dotnet run -- ../CounterStrikeSharp.API/Core/Schema",
"options": {
"cwd": "${workspaceFolder}/managed/CounterStrikeSharp.SchemaGen"
}
}
]
}

View File

@@ -1,3 +1,194 @@
## What's Changed in v1.0.348
* chore(deps): update hl2sdk ([ad731c1](https://github.com/roflmuffin/CounterStrikeSharp/commit/ad731c160125b4ad4e8019d8060047cc87bacf63))
* chore(ci): disable discord notifications for pre-release versions by [@Copilot](https://github.com/Copilot) in [#1132](https://github.com/roflmuffin/CounterStrikeSharp/pull/1132) ([1a6ff70](https://github.com/roflmuffin/CounterStrikeSharp/commit/1a6ff70df1f7cf6614bd87a5c33efd803a24477b))
* fix: do nothing when pressing 7 (prev) on the 1st page of a menu by [@ericek111](https://github.com/ericek111) in [#1127](https://github.com/roflmuffin/CounterStrikeSharp/pull/1127) ([edb0872](https://github.com/roflmuffin/CounterStrikeSharp/commit/edb0872c70c4e3a20e96b15e26205a70a99bfc10))
* fix: prevent VirtualFunction memory leak in native layer by [@ELDment](https://github.com/ELDment) in [#1121](https://github.com/roflmuffin/CounterStrikeSharp/pull/1121) ([ff29836](https://github.com/roflmuffin/CounterStrikeSharp/commit/ff298368c200a750c3651778dc226383549f0923))
* feat: add translations for pt-BR by [@crashzk](https://github.com/crashzk) in [#1122](https://github.com/roflmuffin/CounterStrikeSharp/pull/1122) ([832b687](https://github.com/roflmuffin/CounterStrikeSharp/commit/832b68776cc30e5a93b6cd5faeaf5d5aeef9381c))
## New Contributors
* [@Copilot](https://github.com/Copilot) made their first contribution in [#1132](https://github.com/roflmuffin/CounterStrikeSharp/pull/1132)
* [@ericek111](https://github.com/ericek111) made their first contribution in [#1127](https://github.com/roflmuffin/CounterStrikeSharp/pull/1127)
* [@crashzk](https://github.com/crashzk) made their first contribution in [#1122](https://github.com/roflmuffin/CounterStrikeSharp/pull/1122)
## What's Changed in v1.0.347
* chore: update signatures for GiveNamedItem by [@ianlucas](https://github.com/ianlucas) in [#1120](https://github.com/roflmuffin/CounterStrikeSharp/pull/1120) ([6461235](https://github.com/roflmuffin/CounterStrikeSharp/commit/6461235c2a5d2cafd1444cebcb0477e1c44ad670))
* chore(generators): regenerate game events, schema & natives into `generated/` subfolder ([f32e745](https://github.com/roflmuffin/CounterStrikeSharp/commit/f32e74515b7a10beb06e1e35406ade8a80ceb6d2))
* chore(generators): re-organise generated files ([0318713](https://github.com/roflmuffin/CounterStrikeSharp/commit/0318713cbeda9f0bda42811315fbafedf56c4ef4))
* chore(deps): bump libraries/metamod-source from `4399ff0` to `07c708a` by [@dependabot[bot]](https://github.com/dependabot[bot]) in [#1101](https://github.com/roflmuffin/CounterStrikeSharp/pull/1101) ([0322548](https://github.com/roflmuffin/CounterStrikeSharp/commit/0322548ebdeb1a0e26e21cc785af7b0bd3ee77f8))
* chore(deps): bump libraries/hl2sdk-cs2 from `84a823d` to `da981a8` by [@dependabot[bot]](https://github.com/dependabot[bot]) in [#1108](https://github.com/roflmuffin/CounterStrikeSharp/pull/1108) ([e4b1a35](https://github.com/roflmuffin/CounterStrikeSharp/commit/e4b1a35308cd85ae921205f16b6acccb3a571017))
* chore(deps): bump libraries/Protobufs from `53da9bc` to `7af53a5` by [@dependabot[bot]](https://github.com/dependabot[bot]) in [#1109](https://github.com/roflmuffin/CounterStrikeSharp/pull/1109) ([fd8defc](https://github.com/roflmuffin/CounterStrikeSharp/commit/fd8defc1b9899d8e87433d9fb0429245465dbd46))
## What's Changed in v1.0.346
* chore: update server.json ([52550e3](https://github.com/roflmuffin/CounterStrikeSharp/commit/52550e31bc142ba672ac50b5b9e76b1681a6f510))
* fix: changes for 2025-11-5 Update by [@himenekocn](https://github.com/himenekocn) in [#1107](https://github.com/roflmuffin/CounterStrikeSharp/pull/1107) ([e59e9cf](https://github.com/roflmuffin/CounterStrikeSharp/commit/e59e9cf1485f6bdf26e12bce4f59f116ac68b03a))
* feat: add localization for no permission error messages & spanish language support. by [@wiruwiru](https://github.com/wiruwiru) in [#1099](https://github.com/roflmuffin/CounterStrikeSharp/pull/1099) ([1568d07](https://github.com/roflmuffin/CounterStrikeSharp/commit/1568d077e8def7688069a91ed374b70841546b26))
* feat: allow plugins to be loaded from subdirectories by [@Ravid-A](https://github.com/Ravid-A) in [#1031](https://github.com/roflmuffin/CounterStrikeSharp/pull/1031) ([55542db](https://github.com/roflmuffin/CounterStrikeSharp/commit/55542dba7c5318dfbb37b0862256f4dcde7cf0f4))
## What's Changed in v1.0.345
* fix: update linux signature for GetCSWeaponDataFromKey ([b4e83df](https://github.com/roflmuffin/CounterStrikeSharp/commit/b4e83dfb4a1a1723c08ac79ea68da4ab8a0255fd))
* feat(schema): update schema generator to use @GAMMACASE schema dumper format ([4ff2732](https://github.com/roflmuffin/CounterStrikeSharp/commit/4ff2732d8a55297c18cea6181b9022f56cd8fae3))
## What's Changed in v1.0.344
* chore(schema): update schema to latest ([f505405](https://github.com/roflmuffin/CounterStrikeSharp/commit/f50540583d079a6cf546ca590147905ba5eb2c83))
* fix(schema): allow for negative enum values in source schema file ([97957f6](https://github.com/roflmuffin/CounterStrikeSharp/commit/97957f62208fa782f89e9629ddde1944aaadd149))
* chore: update devcontainer location ([0c2f1cd](https://github.com/roflmuffin/CounterStrikeSharp/commit/0c2f1cd078c0c54a6cf1fb402082b3f38c6303d2))
## What's Changed in v1.0.343
* feat: add `BuyWithCtrl` to `AcquireMethod` enum by [@NockyCZ](https://github.com/NockyCZ) in [#697](https://github.com/roflmuffin/CounterStrikeSharp/pull/697) ([7be3294](https://github.com/roflmuffin/CounterStrikeSharp/commit/7be329466ad7d40a92608e7d6c4e2c6cd1a05a3c))
* fix: update ConVar flag retrieval that adapts to different Source 2 SDK versions by [@Matlord93](https://github.com/Matlord93) in [#1059](https://github.com/roflmuffin/CounterStrikeSharp/pull/1059) ([a21f0b5](https://github.com/roflmuffin/CounterStrikeSharp/commit/a21f0b5277541434fa71f595d7c0c420305e9a50))
* feat(experimental): add NuGet Dependency Resolver for Plugins by [@dxqwww](https://github.com/dxqwww) in [#1012](https://github.com/roflmuffin/CounterStrikeSharp/pull/1012) ([b4ba7d8](https://github.com/roflmuffin/CounterStrikeSharp/commit/b4ba7d8ca02bdf487ee9424f2bdb119510ab1d2c))
* feat: add FindVirtualTable method by [@SlynxCZ](https://github.com/SlynxCZ) in [#1075](https://github.com/roflmuffin/CounterStrikeSharp/pull/1075) ([0eb73eb](https://github.com/roflmuffin/CounterStrikeSharp/commit/0eb73eb3487f7c0200b14c58b34aaa39b2408e29))
* feat: use shared libgcc and libc++ by [@markus-wa](https://github.com/markus-wa) in [#1007](https://github.com/roflmuffin/CounterStrikeSharp/pull/1007) ([43c1c89](https://github.com/roflmuffin/CounterStrikeSharp/commit/43c1c8959605ccafa54f8fc155ef3e37016ed7f6))
* feat: implement `TerminateSelf(string reason)` to allow plugins to safely terminate themselves by [@ELDment](https://github.com/ELDment) in [#1047](https://github.com/roflmuffin/CounterStrikeSharp/pull/1047) ([5399666](https://github.com/roflmuffin/CounterStrikeSharp/commit/53996666f8fbc99a989af5e79dae710912439115))
* feat: add core translations & processtargetstring by [@schwarper](https://github.com/schwarper) in [#1051](https://github.com/roflmuffin/CounterStrikeSharp/pull/1051) ([a8510d1](https://github.com/roflmuffin/CounterStrikeSharp/commit/a8510d183d1edc6dd9ed97536def64a4d219c135))
## New Contributors
* [@NockyCZ](https://github.com/NockyCZ) made their first contribution in [#697](https://github.com/roflmuffin/CounterStrikeSharp/pull/697)
* [@Matlord93](https://github.com/Matlord93) made their first contribution in [#1059](https://github.com/roflmuffin/CounterStrikeSharp/pull/1059)
* [@dxqwww](https://github.com/dxqwww) made their first contribution in [#1012](https://github.com/roflmuffin/CounterStrikeSharp/pull/1012)
## What's Changed in v1.0.342
* fix: update Sigs & CTakeDamageResult & EmitSound_t by [@himenekocn](https://github.com/himenekocn) in [#1071](https://github.com/roflmuffin/CounterStrikeSharp/pull/1071) ([34598dd](https://github.com/roflmuffin/CounterStrikeSharp/commit/34598dd56ea2e9e18229185dc225db00a336bb5d))
## What's Changed in v1.0.341
* fix: update schema for update ([56e0074](https://github.com/roflmuffin/CounterStrikeSharp/commit/56e007402b49bc2d638958e34f1c783c4156ba49))
* chore(deps): bump libraries/hl2sdk-cs2 from `bc59586` to `9310e72` by [@dependabot[bot]](https://github.com/dependabot[bot]) in [#908](https://github.com/roflmuffin/CounterStrikeSharp/pull/908) ([bf75d43](https://github.com/roflmuffin/CounterStrikeSharp/commit/bf75d430392f3813c9e279267bda8d64400630fc))
* chore(deps): bump libraries/metamod-source from `3f3136d` to `4399ff0` by [@dependabot[bot]](https://github.com/dependabot[bot]) in [#1067](https://github.com/roflmuffin/CounterStrikeSharp/pull/1067) ([7572722](https://github.com/roflmuffin/CounterStrikeSharp/commit/7572722de4b33c9683a7da981a2cf12c3e5b6374))
* fix: EmitSoundFilter Crash by [@himenekocn](https://github.com/himenekocn) in [#1066](https://github.com/roflmuffin/CounterStrikeSharp/pull/1066) ([638d744](https://github.com/roflmuffin/CounterStrikeSharp/commit/638d74470e27753da19d9e643fae833db4e89da1))
* fix(update): update signatures and offsets for 1.41.1.3 Update by [@himenekocn](https://github.com/himenekocn) in [#1064](https://github.com/roflmuffin/CounterStrikeSharp/pull/1064) ([37951f2](https://github.com/roflmuffin/CounterStrikeSharp/commit/37951f287554832e334d258dd30cdf40dc285963))
* feat: improve getplayers & RemoveItemByDesignerName by [@schwarper](https://github.com/schwarper) in [#1044](https://github.com/roflmuffin/CounterStrikeSharp/pull/1044) ([7b9df90](https://github.com/roflmuffin/CounterStrikeSharp/commit/7b9df9097cb50a1be928c0955ef764f9279adae9))
* feat: Allow custom CS# directory for flexible server deployment (aka. `css_basepath`) by [@ELDment](https://github.com/ELDment) in [#1033](https://github.com/roflmuffin/CounterStrikeSharp/pull/1033) ([31cedca](https://github.com/roflmuffin/CounterStrikeSharp/commit/31cedca2b71052a977b70eb90750966d96751961))
## New Contributors
* [@himenekocn](https://github.com/himenekocn) made their first contribution in [#1066](https://github.com/roflmuffin/CounterStrikeSharp/pull/1066)
## What's Changed in v1.0.340
* fix: update for CS2 09-17-25 (patch 20022951) by [@oylsister](https://github.com/oylsister) in [#1037](https://github.com/roflmuffin/CounterStrikeSharp/pull/1037) ([2c80971](https://github.com/roflmuffin/CounterStrikeSharp/commit/2c809713937675cef245b79d9ad39674b4d37fd8))
* fix: Invalid string pointers passed by `SetResult` due to C++ memory lifecycle by [@ELDment](https://github.com/ELDment) in [#1032](https://github.com/roflmuffin/CounterStrikeSharp/pull/1032) ([44922da](https://github.com/roflmuffin/CounterStrikeSharp/commit/44922da680a5c167d5745267f849d37de35ca4b1))
* feat: Implement bypass hook for Invoke method by [@ELDment](https://github.com/ELDment) in [#1027](https://github.com/roflmuffin/CounterStrikeSharp/pull/1027) ([1ca8ff2](https://github.com/roflmuffin/CounterStrikeSharp/commit/1ca8ff217289ac09eec195828af5294ebebcca0b))
## New Contributors
* [@oylsister](https://github.com/oylsister) made their first contribution in [#1037](https://github.com/roflmuffin/CounterStrikeSharp/pull/1037)
* [@ELDment](https://github.com/ELDment) made their first contribution in [#1032](https://github.com/roflmuffin/CounterStrikeSharp/pull/1032)
## What's Changed in v1.0.339
* Fixed offset values of Respawn and Slay for Windows by [@zakriamansoor47](https://github.com/zakriamansoor47) in [#1026](https://github.com/roflmuffin/CounterStrikeSharp/pull/1026) ([54f8d5e](https://github.com/roflmuffin/CounterStrikeSharp/commit/54f8d5ef95dd4aa0ccf118ff734fdf5adf6b4d32))
## New Contributors
* [@zakriamansoor47](https://github.com/zakriamansoor47) made their first contribution in [#1026](https://github.com/roflmuffin/CounterStrikeSharp/pull/1026)
## What's Changed in v1.0.338
* Update gamedata.json by [@xLeviNx](https://github.com/xLeviNx) in [#1020](https://github.com/roflmuffin/CounterStrikeSharp/pull/1020) ([72d66cb](https://github.com/roflmuffin/CounterStrikeSharp/commit/72d66cb5d52ccaa87881a40663fb7891007398e0))
## What's Changed in v1.0.337
* feat(schema): add new schema classes for build 19644975 ([fc7301a](https://github.com/roflmuffin/CounterStrikeSharp/commit/fc7301a8d374ea8888f01703e43fd2d5a8bad488))
* feat(schema): update schema classes for build 19644975 ([ef4b8f9](https://github.com/roflmuffin/CounterStrikeSharp/commit/ef4b8f9442eee6ddeadcb0fa8775c2eba7108e90))
* fix: update `FindPickerEntity` implementation (thanks @KillStr3aK) ([245f55d](https://github.com/roflmuffin/CounterStrikeSharp/commit/245f55daf3a474bf95d0e871aa8c4117394593a3))
* fix(gamedata): update `CBasePlayerController_SetPawn` signature ([936b88d](https://github.com/roflmuffin/CounterStrikeSharp/commit/936b88d57cc8444f22ed2e17e2a1f83e86db37ad))
## What's Changed in v1.0.336
* fix: re-add GetHitGroup with GameData backed offset ([624ca0f](https://github.com/roflmuffin/CounterStrikeSharp/commit/624ca0f0de35da5fd7f09a7498860a2f697ff59c))
## What's Changed in v1.0.335
* fix: obsolete `GetHitGroup()` and point to `HitGroupId` schema property ([51b6b45](https://github.com/roflmuffin/CounterStrikeSharp/commit/51b6b45390f9562a3f0d8bdc34af474b28a0e8b1))
* chore(deps): update hl2sdk ([d5fad8d](https://github.com/roflmuffin/CounterStrikeSharp/commit/d5fad8d80105f8f521a24d63d1ed1d16cbb4dd7e))
* chore(gamedata): update offsets & signatures ([bf1ce2e](https://github.com/roflmuffin/CounterStrikeSharp/commit/bf1ce2e8a34b0d89b21cfc5180ca9feec6fd64c2))
* fix: revert MaxPlayers caching ([0761d26](https://github.com/roflmuffin/CounterStrikeSharp/commit/0761d267ba27d3a0c522a030cd512119b3d10ed8))
## What's Changed in v1.0.334
* fix: update hl2sdk for patch 19602992 (Aug 14 2025) by [@switz](https://github.com/switz) in [#988](https://github.com/roflmuffin/CounterStrikeSharp/pull/988) ([f7c69a6](https://github.com/roflmuffin/CounterStrikeSharp/commit/f7c69a60bea983be132d27cedafd904679b6415c))
## What's Changed in v1.0.333
* perf: cache `Server.MaxPlayers` to improve performance of `Utilities.GetPlayers()` ([1f9c7a0](https://github.com/roflmuffin/CounterStrikeSharp/commit/1f9c7a090bf39b3bcf54a34a62962de1f4cf501b))
* feat: add `OnPlayerChat` listener in [#973](https://github.com/roflmuffin/CounterStrikeSharp/pull/973) ([2cf2d45](https://github.com/roflmuffin/CounterStrikeSharp/commit/2cf2d45e8e2f86f6a51c1e7e6c118d9333efea58))
* chore: apply alliedmodders hl2sdk again in [#974](https://github.com/roflmuffin/CounterStrikeSharp/pull/974) ([fa383cd](https://github.com/roflmuffin/CounterStrikeSharp/commit/fa383cda68e91ff618d2f6e2c67a17b9d25a1a11))
## What's Changed in v1.0.332
* fix: re-enable `EmitSoundFilter` by [@samyycX](https://github.com/samyycX) in [#968](https://github.com/roflmuffin/CounterStrikeSharp/pull/968) ([dc503e7](https://github.com/roflmuffin/CounterStrikeSharp/commit/dc503e7f57a6d0320f211f00309519555a0cdd29))
* fix: update GetHitGroup offset by [@wiruwiru](https://github.com/wiruwiru) in [#970](https://github.com/roflmuffin/CounterStrikeSharp/pull/970) ([fedfe75](https://github.com/roflmuffin/CounterStrikeSharp/commit/fedfe756012a2db8c0d4d1fd2161a05ced064924))
* fix: crash caused by `AddEntityIOEvent` by [@samyycX](https://github.com/samyycX) in [#969](https://github.com/roflmuffin/CounterStrikeSharp/pull/969) ([3508fdf](https://github.com/roflmuffin/CounterStrikeSharp/commit/3508fdfd8c46231a2ff523c8561f7a909cca8db8))
## New Contributors
* [@wiruwiru](https://github.com/wiruwiru) made their first contribution in [#970](https://github.com/roflmuffin/CounterStrikeSharp/pull/970)
## What's Changed in v1.0.331
* fix: revert chat command hooking back to detour of Host_Say ([356152a](https://github.com/roflmuffin/CounterStrikeSharp/commit/356152a567a756da47e6584d05fca331feb849aa))
## What's Changed in v1.0.330
* fix: `CheckTransmit` hook not firing by [@samyycX](https://github.com/samyycX) in [#966](https://github.com/roflmuffin/CounterStrikeSharp/pull/966) ([529a0cb](https://github.com/roflmuffin/CounterStrikeSharp/commit/529a0cbf5b1c67396469c85f6965bdc5b2891507))
## What's Changed in v1.0.329
* fix: Update CS# for Patch 19388062 in [#958](https://github.com/roflmuffin/CounterStrikeSharp/pull/958) ([1f30e56](https://github.com/roflmuffin/CounterStrikeSharp/commit/1f30e5619ff7f89f0980745169f8223c841b30c8))
* chore: schema update for patch 19388062 in [#962](https://github.com/roflmuffin/CounterStrikeSharp/pull/962) ([af3bb52](https://github.com/roflmuffin/CounterStrikeSharp/commit/af3bb528d700a9e031c01c2509cb3cd1cb15fa85))
* chore: update Gamedata for Patch 19388062 by [@K4ryuu](https://github.com/K4ryuu) in [#952](https://github.com/roflmuffin/CounterStrikeSharp/pull/952) ([b7abd1d](https://github.com/roflmuffin/CounterStrikeSharp/commit/b7abd1d59e34614f3ed822c5b3ec10c5dd8a70ef))
* feat: add `OnPlayerButtonsChanged` listener in [#942](https://github.com/roflmuffin/CounterStrikeSharp/pull/942) ([dd50221](https://github.com/roflmuffin/CounterStrikeSharp/commit/dd502213214247c91bdcf35c5046636a7c31ec9c))
* feat: add Vector3 and QAngle explicit casts to System.Numerics.Vector3 in [#943](https://github.com/roflmuffin/CounterStrikeSharp/pull/943) ([9491732](https://github.com/roflmuffin/CounterStrikeSharp/commit/9491732a38f6d79474cdf92a7f94af8536afb1c4))
* feat: add `OnServerPreEntityThink` and `OnServerPostEntityThink` listeners in [#941](https://github.com/roflmuffin/CounterStrikeSharp/pull/941) ([6c9321e](https://github.com/roflmuffin/CounterStrikeSharp/commit/6c9321e3e7288227af4a98cd6de8e3c99f4c71d7))
## New Contributors
* [@K4ryuu](https://github.com/K4ryuu) made their first contribution in [#952](https://github.com/roflmuffin/CounterStrikeSharp/pull/952)
## What's Changed in v1.0.328
* feat: add `css_dump_leaks` command which outputs vector/angle count ([ad8116d](https://github.com/roflmuffin/CounterStrikeSharp/commit/ad8116d4d2c2cd05f3045eb33a06ba4c3d08e49f))
* test: add integration tests xunit plugin/runner in [#928](https://github.com/roflmuffin/CounterStrikeSharp/pull/928) ([26a8f64](https://github.com/roflmuffin/CounterStrikeSharp/commit/26a8f641c854dae723e8251549bab424620aed43))
* chore(build): prevent unnecessary test builds ([f08b5e8](https://github.com/roflmuffin/CounterStrikeSharp/commit/f08b5e84397ff84e8e645ce85bf7fd142659976c))
## What's Changed in v1.0.327
* fix: update core.example.json ([a8eff60](https://github.com/roflmuffin/CounterStrikeSharp/commit/a8eff60d0ba5c0102028dfd357206a5061bcc124))
## What's Changed in v1.0.326
* fix: remove requirement for https for game config updates in [#930](https://github.com/roflmuffin/CounterStrikeSharp/pull/930) ([ffb274d](https://github.com/roflmuffin/CounterStrikeSharp/commit/ffb274d636ea5ec6ff389644853005e46f42a756))
* Support operating `bytes` type protobuf field by [@samyycX](https://github.com/samyycX) in [#922](https://github.com/roflmuffin/CounterStrikeSharp/pull/922) ([b5303d1](https://github.com/roflmuffin/CounterStrikeSharp/commit/b5303d15ab31beb6ea1299f9c7fd0e8cf4b5ca15))
* fix: prefix dump_schema command to enable compat with Source2 Schema Dumper by GAMMACASE ([1a521ec](https://github.com/roflmuffin/CounterStrikeSharp/commit/1a521ec3bb10178d86d22fff6d4389cb4d8431ba))
## What's Changed in v1.0.325
* fix: revert internal stack trace for performance in [#927](https://github.com/roflmuffin/CounterStrikeSharp/pull/927) ([260015d](https://github.com/roflmuffin/CounterStrikeSharp/commit/260015d765f7feea8eb75773cc307dfe21c3a084))
## What's Changed in v1.0.324
* feat: Add Automatic Gamedata Updates in [#925](https://github.com/roflmuffin/CounterStrikeSharp/pull/925) ([8ab61b0](https://github.com/roflmuffin/CounterStrikeSharp/commit/8ab61b00e8d6e1321b11a0a1c132728ae227c611))
* chore(dev): add node to devcontainer ([c746c4e](https://github.com/roflmuffin/CounterStrikeSharp/commit/c746c4e2e789e1f8e7fff255630d53549557b2ac))
* chore(dev): create release script ([32d3e18](https://github.com/roflmuffin/CounterStrikeSharp/commit/32d3e1865792c57510ce69e502bffffc8bc9cdd9))
## What's Changed in v1.0.323
* feat: update schema for game update 1.40.8.5 (03.07.2025) in [#921](https://github.com/roflmuffin/CounterStrikeSharp/pull/921) ([22809e3](https://github.com/roflmuffin/CounterStrikeSharp/commit/22809e3ec6aebacfa707f79ac39a2d740f92d23b))
* chore(dev): add build & sync commands for .NET API ([87d1973](https://github.com/roflmuffin/CounterStrikeSharp/commit/87d197309be882fd55293f2c1933226d60ec8eff))
* chore(dev): add build & sync commands to vscode tasks ([e6bfb79](https://github.com/roflmuffin/CounterStrikeSharp/commit/e6bfb7939d13769f0854e2443ae1c027a802b001))
* chore(deps): bump libraries/metamod-source from `6091f15` to `b17dc63` by [@dependabot[bot]](https://github.com/dependabot[bot]) in [#906](https://github.com/roflmuffin/CounterStrikeSharp/pull/906) ([0ae9227](https://github.com/roflmuffin/CounterStrikeSharp/commit/0ae9227d730dfaaf05181407fb44e2ef7bb0f229))
## What's Changed in v1.0.322
* Implement CVariant functions by [@zonical](https://github.com/zonical) in [#905](https://github.com/roflmuffin/CounterStrikeSharp/pull/905) ([124ffac](https://github.com/roflmuffin/CounterStrikeSharp/commit/124ffac7a959b1d769a7b9ab570a6706f7406d3e))
## What's Changed in v1.0.321
* Continued: Fixes for game update 1.40.8.5 (03.07.2025) by [@ianlucas](https://github.com/ianlucas) in [#917](https://github.com/roflmuffin/CounterStrikeSharp/pull/917) ([018bcba](https://github.com/roflmuffin/CounterStrikeSharp/commit/018bcba6556001c26ea0bdaf8b048008bf540597))
## What's Changed in v1.0.320
* Fixes for game update 1.40.8.5 (03.07.2025) by [@AspectUnk](https://github.com/AspectUnk) in [#911](https://github.com/roflmuffin/CounterStrikeSharp/pull/911) ([bebeedf](https://github.com/roflmuffin/CounterStrikeSharp/commit/bebeedf27221e8ecffbab420272058746cc2fedd))
## New Contributors
* [@AspectUnk](https://github.com/AspectUnk) made their first contribution in [#911](https://github.com/roflmuffin/CounterStrikeSharp/pull/911)
## What's Changed in v1.0.319
* Improve FunctionReference trace logging with real user stack origin by [@SlynxCZ](https://github.com/SlynxCZ) in [#895](https://github.com/roflmuffin/CounterStrikeSharp/pull/895) ([6f66316](https://github.com/roflmuffin/CounterStrikeSharp/commit/6f663164ee887bd1fd67c3bb3aef62314ada99e2))
## New Contributors
* [@SlynxCZ](https://github.com/SlynxCZ) made their first contribution in [#895](https://github.com/roflmuffin/CounterStrikeSharp/pull/895)
## What's Changed in v1.0.318
* fix(gameevents): merge and sort game event properties if duplicate events ([073728b](https://github.com/roflmuffin/CounterStrikeSharp/commit/073728b4ceb408e797ad0003f54ed6e232c41793))
* chore: cleanup cpp & add clang format linting in [#862](https://github.com/roflmuffin/CounterStrikeSharp/pull/862) ([6511a00](https://github.com/roflmuffin/CounterStrikeSharp/commit/6511a0098a5fa40f523411d149cca62bdfc4d132))
* chore(build): duplicate include path: ${SOURCESDK}/public/entity2 by [@jonathan-up](https://github.com/jonathan-up) in [#756](https://github.com/roflmuffin/CounterStrikeSharp/pull/756) ([f50fb78](https://github.com/roflmuffin/CounterStrikeSharp/commit/f50fb783bb76a4984e263736ec2cc5d59b5b1bae))
## New Contributors
* [@jonathan-up](https://github.com/jonathan-up) made their first contribution in [#756](https://github.com/roflmuffin/CounterStrikeSharp/pull/756)
## What's Changed in v1.0.317
* chore(gameevents): update game events (bullet_damage changes) ([4be0634](https://github.com/roflmuffin/CounterStrikeSharp/commit/4be063462547c9894169e6c816ff34f105513fbe))
* chore(schema): update (mainly removal of danger zone classes) ([7025b62](https://github.com/roflmuffin/CounterStrikeSharp/commit/7025b626156cf14a664c40ef9c6901c8db7217a6))
* chore(deps): upgrade metamod & hl2sdk in [#856](https://github.com/roflmuffin/CounterStrikeSharp/pull/856) ([462ca52](https://github.com/roflmuffin/CounterStrikeSharp/commit/462ca52229d859b593f02e3001d2c819877352af))
* chore(deps): bump libraries/Protobufs from `3d85413` to `53da9bc` by [@dependabot[bot]](https://github.com/dependabot[bot]) in [#857](https://github.com/roflmuffin/CounterStrikeSharp/pull/857) ([d7e23e8](https://github.com/roflmuffin/CounterStrikeSharp/commit/d7e23e8282e8247e99305db9bfcc45c4ff4e9012))
* feat: add Scoreboard and Inspect buttons to `PlayerButtons` ([3ddfa71](https://github.com/roflmuffin/CounterStrikeSharp/commit/3ddfa71e3f5d785510a7e3f85ac76155a29d3479))
* Fix potential event natives crashes by [@ipsvn](https://github.com/ipsvn) in [#852](https://github.com/roflmuffin/CounterStrikeSharp/pull/852) ([688b226](https://github.com/roflmuffin/CounterStrikeSharp/commit/688b226bcf41aca7b622b7db5f0168a70e3296ac))
## What's Changed in v1.0.316
* fix(gamedata): update `CCSPlayer_WeaponServices_CanUse` signature ([68e6ffa](https://github.com/roflmuffin/CounterStrikeSharp/commit/68e6ffaebe6497814d757b276a6d0371d731e61d))
* fix: commit links in changelog finally ([2f8f370](https://github.com/roflmuffin/CounterStrikeSharp/commit/2f8f370cd3dd162dff745671a159f361e1ce487b))
@@ -596,14 +787,14 @@
* feat: add discord notify through GH actions ([59bff4f](https://github.com/roflmuffin/CounterStrikeSharp/commit/59bff4f500dfaccacb0b53584bf678c005a87598))
## What's Changed in v1.0.150
* Log exception if plugin load fails using the `load` command by [@wiesendaniel](https://github.com/wiesendaniel) in [#279](https://github.com/roflmuffin/CounterStrikeSharp/pull/279) ([a2581d8](https://github.com/roflmuffin/CounterStrikeSharp/commit/a2581d8e9116e3ab505029720719a82e4dd2fac5))
* Log exception if plugin load fails using the `load` command by [@D4n13X](https://github.com/D4n13X) in [#279](https://github.com/roflmuffin/CounterStrikeSharp/pull/279) ([a2581d8](https://github.com/roflmuffin/CounterStrikeSharp/commit/a2581d8e9116e3ab505029720719a82e4dd2fac5))
* Change TerroristsPlanned to TerroristsPlanted in RoundEndReason by [@Ravid-A](https://github.com/Ravid-A) ([e7d190a](https://github.com/roflmuffin/CounterStrikeSharp/commit/e7d190a6f74f9ccbf30e16f8a6a92b36e037e9a4))
* Menu system updates by [@B3none](https://github.com/B3none) ([5513d57](https://github.com/roflmuffin/CounterStrikeSharp/commit/5513d5710a20195922e725c9401ae1cb1291b3e8))
* fix(Offsets/Win): CCSPlayer_ItemServices.RemoveWeapons() by [@M1kep](https://github.com/M1kep) ([e5c2236](https://github.com/roflmuffin/CounterStrikeSharp/commit/e5c223699ccb300558788f86850a8e478e893156))
* Admin manager improvements by [@zonical](https://github.com/zonical) ([fa37c22](https://github.com/roflmuffin/CounterStrikeSharp/commit/fa37c222d9d8598a67cb2433c36b46a941813b14))
## New Contributors
* [@wiesendaniel](https://github.com/wiesendaniel) made their first contribution in [#279](https://github.com/roflmuffin/CounterStrikeSharp/pull/279)
* [@D4n13X](https://github.com/D4n13X) made their first contribution in [#279](https://github.com/roflmuffin/CounterStrikeSharp/pull/279)
* [@Ravid-A](https://github.com/Ravid-A) made their first contribution
* [@M1kep](https://github.com/M1kep) made their first contribution

View File

@@ -7,6 +7,11 @@ include("makefiles/shared.cmake")
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
set(FUNCHOOK_BUILD_TESTS OFF CACHE BOOL "Disable building tests for funchook." FORCE)
set(ZYDIS_BUILD_EXAMPLES OFF CACHE BOOL "Disable building examples for Zydis." FORCE)
set(ZYDIS_BUILD_TOOLS OFF CACHE BOOL "Disable building tools for Zydis." FORCE)
set(DYNOHOOK_BUILD_TESTS OFF CACHE BOOL "Disable building tests for funchook." FORCE)
add_subdirectory(libraries/spdlog)
add_subdirectory(libraries/dyncall)
add_subdirectory(libraries/funchook)
@@ -43,6 +48,8 @@ set(SOURCE_FILES
src/core/coreconfig.cpp
src/core/gameconfig.h
src/core/gameconfig.cpp
src/core/gameconfig_updater.h
src/core/gameconfig_updater.cpp
src/core/log.h
src/core/log.cpp
src/scripting/script_engine.h
@@ -70,6 +77,7 @@ set(SOURCE_FILES
src/core/managers/con_command_manager.cpp
src/core/managers/con_command_manager.h
src/scripting/natives/natives_commands.cpp
src/scripting/natives/natives_convars.cpp
src/core/memory_module.h
src/core/memory_module.cpp
src/core/cs2_sdk/interfaces/cgameresourceserviceserver.h
@@ -84,6 +92,8 @@ set(SOURCE_FILES
src/scripting/natives/natives_entities.cpp
src/scripting/natives/natives_voice.cpp
src/scripting/natives/natives_metamod.cpp
src/scripting/natives/natives_cvariant.cpp
src/scripting/natives/natives_cutil.cpp
src/core/managers/entity_manager.cpp
src/core/managers/entity_manager.h
src/core/managers/chat_manager.cpp

17
Dockerfile Normal file
View File

@@ -0,0 +1,17 @@
FROM registry.gitlab.steamos.cloud/steamrt/sniper/sdk:latest
WORKDIR /workspace
RUN apt update && apt install -y \
clang-16 \
cmake \
ninja-build \
git \
zlib1g-dev \
libssl-dev \
libprotobuf-dev \
protobuf-compiler \
pkg-config \
curl && \
ln -sf /usr/bin/clang-16 /usr/bin/clang && \
ln -sf /usr/bin/clang++-16 /usr/bin/clang++

View File

@@ -1 +1,8 @@
workflow: GitHubFlow/v1
workflow: GitHubFlow/v1
branches:
release:
regex: ^releases?[/-]v?2
label: alpha
prevent-increment:
when-current-commit-tagged: true

View File

@@ -4,7 +4,10 @@
"FollowCS2ServerGuidelines": true,
"PluginHotReloadEnabled": true,
"PluginAutoLoadEnabled": true,
"PluginResolveNugetPackages": false,
"ServerLanguage": "en",
"UnlockConCommands": true,
"UnlockConVars": true
"UnlockConVars": true,
"AutoUpdateEnabled": true,
"AutoUpdateURL": "http://gamedata.cssharp.dev"
}

View File

@@ -2,62 +2,62 @@
"UTIL_ClientPrintAll": {
"signatures": {
"library": "server",
"windows": "48 89 5C 24 08 48 89 6C 24 10 48 89 74 24 18 57 48 81 EC 70 01 ? ? 8B E9",
"linux": "55 48 89 E5 41 57 49 89 D7 41 56 49 89 F6 41 55 41 89 FD"
"windows": "48 89 5C 24 08 48 89 6C 24 10 48 89 74 24 18 57 48 83 EC 60 8B E9",
"linux": "55 48 89 E5 41 57 4D 89 CF 41 56 4D 89 C6 41 55 49 89 CD 41 54 49 89 D4 53 48 8D"
}
},
"ClientPrint": {
"signatures": {
"library": "server",
"windows": "48 85 C9 0F 84 ? ? ? ? 48 89 5C 24 ? 55",
"linux": "55 48 89 E5 41 57 49 89 CF 41 56 49 89 D6 41 55 41 89 F5 41 54 4C 8D A5 A0 FE FF FF"
"linux": "55 48 8D 05 ? ? ? ? 48 89 E5 41 57 41 89 F7 31 F6"
}
},
"CCSPlayerController_SwitchTeam": {
"signatures": {
"library": "server",
"windows": "40 56 57 48 81 EC ? ? ? ? 48 8B F9 8B F2 8B CA",
"linux": "55 48 89 E5 41 55 49 89 FD 89 F7"
"windows": "40 53 57 48 81 EC ? ? ? ? 48 8B D9 8B FA",
"linux": "55 48 89 E5 41 54 49 89 FC 89 F7"
}
},
"CCSPlayerController_ChangeTeam": {
"offsets": {
"windows": 100,
"linux": 99
"windows": 109,
"linux": 108
}
},
"CCSPlayerController_Respawn": {
"offsets": {
"windows": 257,
"linux": 259
"windows": 277,
"linux": 279
}
},
"CBasePlayerController_SetPawn": {
"signatures": {
"library": "server",
"windows": "48 89 74 24 ? 55 41 54 41 55 41 56 41 57 48 8D 6C 24 ? 48 81 EC ? ? ? ? 4C 8B F9",
"linux": "55 48 89 E5 41 57 41 56 41 55 49 89 FD 41 54 45 89 C4"
"windows": "44 88 4C 24 ? 53 57",
"linux": "55 48 8D 87 ? ? ? ? 48 89 E5 41 57 41 56 41 89 CE 41 55 45 89 CD"
}
},
"CCSPlayerPawnBase_PostThink": {
"signatures": {
"library": "server",
"windows": "48 ? ? 55 53 56 57 41 ? 48 ? ? ? 48 ? ? ? ? ? ? 4C 89 68",
"linux": "55 48 89 E5 41 56 41 55 41 54 53 48 89 FB 48 83 EC 40 E8"
"linux": "55 48 89 E5 41 56 41 55 41 54 53 48 89 FB 48 83 EC 40 E8 ? ? ? ? F3 0F 10 83"
}
},
"CGameEventManager_Init": {
"signatures": {
"library": "server",
"windows": "40 53 48 83 EC 20 48 8B 01 48 8B D9 FF 50 10",
"linux": "55 48 89 E5 41 54 49 89 FC 48 83 EC 08 48 8B 07 FF 50 18"
"linux": "55 48 89 E5 53 48 89 FB 48 83 EC 08 48 8B 07 FF 50 18"
}
},
"GiveNamedItem": {
"signatures": {
"library": "server",
"windows": "48 89 5C 24 ? 48 89 74 24 ? 55 57 41 ? 41 ? 41 ? 48 ? ? ? ? 48 ? ? ? ? ? ? 4D ? ? 48",
"linux": "55 48 89 E5 41 57 41 56 4D 89 C6 41 55 49 89 D5 41 54 49 89 F4"
"windows": "48 89 5C 24 08 48 89 74 24 10 48 89 7C 24 20 44 89 44 24 18",
"linux": "55 48 89 E5 41 57 41 56 41 55 41 54 53 48 81 EC ? ? ? ? 48 89 BD ? ? ? ? 89 95 ? ? ? ? 48 89 8D ? ? ? ? 44 89 85"
}
},
"UTIL_Remove": {
@@ -67,57 +67,50 @@
"linux": "48 89 FE 48 85 FF 74 ? 48 8D 05 ? ? ? ? 48"
}
},
"Host_Say": {
"signatures": {
"library": "server",
"windows": "44 89 4C 24 20 44 88 44 24 18",
"linux": "55 48 89 E5 41 57 41 56 49 89 F6 41 55 4D 89 C5"
}
},
"CBaseModelEntity_SetModel": {
"signatures": {
"library": "server",
"windows": "48 89 5C 24 ? 48 89 7C 24 ? 55 48 8B EC 48 83 EC 50 48 8B F9 4C 8B C2",
"linux": "55 48 89 F2 48 89 E5 41 54 49 89 FC 48 8D 7D E0 48 83 EC ? 48 8D 05 ? ? ? ? 48 8B 30 48 8B 06"
"windows": "40 53 48 83 EC ? 48 8B D9 4C 8B C2 48 8B 0D ? ? ? ? 48 8D 54 24 ? 48 8B 01 FF 50 ? 48 8B 44 24 ? 48 8D 54 24 ? 48 8B CB 48 89 44 24 ? E8 ? ? ? ? 48 83 C4 ? 5B C3 CC CC CC CC CC 48 89 5C 24",
"linux": "55 48 89 F2 48 89 E5 53 48 89 FB 48 8D 7D ? 48 83 EC ? 48 8D 05 ? ? ? ? 48 8B 30 48 8B 06 FF 50 ? 48 8B 45 ? 48 8D 75 ? 48 89 DF 48 89 45 ? E8 ? ? ? ? 48 8B 5D ? C9 C3 CC CC CC 55"
}
},
"CCSPlayer_WeaponServices_CanUse": {
"signatures": {
"library": "server",
"windows": "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 48 83 EC ? 48 8B 01 48 8B F2",
"linux": "55 48 8D 15 ? ? ? ? 48 89 E5 41 55 49 89 F5 41 54 49 89 FC 53 48 83 EC ? 48 8B 07 48 8B 80 ? ? ? ? 48 39 D0 0F 85 ? ? ? ? 80 BF"
"windows": "48 89 5C 24 ? 48 89 6C 24 ? 56 57 41 56 48 83 EC ? 48 8B 01 48 8B FA",
"linux": "55 48 8D 15 ? ? ? ? 48 89 E5 41 55 41 54 49 89 FC 53 48 89 F3 48 83 EC ? 48 8B 07 48 8B 80 ? ? ? ?"
}
},
"CCSPlayer_ItemServices_CanAcquire": {
"signatures": {
"library": "server",
"windows": "44 89 44 24 ? 48 89 54 24 ? 48 89 4C 24 ? 55 56 57 41 54 41 55 41 56 41 57 48 8B EC",
"linux": "55 48 89 E5 41 57 41 56 48 8D 45 ? 41 55 41 54 53 48 89 CB"
"windows": "44 89 44 24 ? 48 89 54 24 ? 48 89 4C 24 ? 55 53 56 57 41 55 41 56 41 57 48 8B EC",
"linux": "55 48 89 E5 41 57 41 56 41 55 49 89 CD 41 54 49 89 FC 53 48 89 F3 48 83 EC 78"
}
},
"GetCSWeaponDataFromKey": {
"signatures": {
"library": "server",
"windows": "48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC ? 48 8B FA 8B F1 48 85 D2 0F 84",
"linux": "55 48 89 E5 41 57 41 56 41 89 FE 41 55 41 54 45"
"windows": "48 89 5C 24 ? 57 48 83 EC ? 33 FF 4C 8B CA 8B D9",
"linux": "55 31 D2 48 89 E5 41 56 41 55 41 54"
}
},
"CCSPlayer_ItemServices_GiveNamedItem": {
"offsets": {
"windows": 19,
"linux": 20
"windows": 18,
"linux": 19
}
},
"CCSPlayer_ItemServices_DropActivePlayerWeapon": {
"offsets": {
"windows": 20,
"linux": 21
"windows": 21,
"linux": 22
}
},
"CCSPlayer_ItemServices_RemoveWeapons": {
"offsets": {
"windows": 21,
"linux": 22
"windows": 22,
"linux": 23
}
},
"CGameSceneNode_GetSkeletonInstance": {
@@ -129,14 +122,20 @@
"CCSGameRules_TerminateRound": {
"signatures": {
"library": "server",
"windows": "48 8B C4 4C 89 48 ? 48 89 48 ? 55 41 55",
"linux": "55 48 89 E5 41 57 41 56 41 55 41 54 49 89 FC 53 48 81 EC 88 00 00 00 48 8D 05 ? ? ? ?"
"windows": "48 8B C4 4C 89 48 ? 48 89 48 ? 55 56",
"linux": "55 48 89 E5 41 57 41 56 49 89 FE 41 55 41 54 53 48 81 EC ? ? ? ? 48 8D 05 ? ? ? ? F3 0F 11 85"
}
},
"CCSGameRules_FindPickerEntity": {
"offsets": {
"windows": 27,
"linux": 28
"windows": 25,
"linux": 26
}
},
"CTakeDamageInfo_HitGroup": {
"offsets": {
"windows": 104,
"linux": 104
}
},
"UTIL_CreateEntityByName": {
@@ -150,68 +149,68 @@
"signatures": {
"library": "server",
"windows": "48 89 5C 24 10 57 48 83 EC 30 48 8B DA 48 8B F9 48 85 C9",
"linux": "48 85 FF 74 ? 55 48 89 E5 41 56"
"linux": "48 85 FF 74 ? 55 48 89 E5 41 55 49 89 FD"
}
},
"CBaseEntity_EmitSoundFilter": {
"signatures": {
"library": "server",
"windows": "48 89 5C 24 08 48 89 6C 24 10 48 89 74 24 18 48 89 7C 24 20 41 56 48 83 EC 30 48 8B EA",
"linux": "55 48 89 E5 41 56 49 89 D6 41 55 41 89 F5 41 54 48"
"windows": "40 53 48 83 EC ? 4C 89 4C 24 ? 48 8B D9 45 8B C8",
"linux": "55 48 89 E5 53 48 89 FB 48 83 EC ? E8 ? ? ? ? 48 89 D8 48 8B 5D ? C9 C3 CC CC CC CC CC CC 48 B8"
}
},
"CEntityInstance_AcceptInput": {
"signatures": {
"library": "server",
"windows": "48 89 5C 24 10 48 89 74 24 18 57 48 83 EC 40 49 8B F0",
"linux": "55 48 89 E5 41 57 49 89 FF 41 56 48 8D 7D C0"
"windows": "89 5C 24 ? 48 89 74 24 ? 57 48 83 EC ? 49 8B F0 48 8B D9 48 8B 0D",
"linux": "55 48 89 F0 48 89 E5 41 57 49 89 FF 41 56 48 8D 7D C0"
}
},
"CEntitySystem_AddEntityIOEvent": {
"signatures": {
"library": "server",
"windows": "48 89 5C 24 ? 48 89 74 24 ? 57 48 ? ? ? 49 ? ? 48 ? ? 48 ? ? 74",
"linux": "55 41 BA FF FF FF FF"
"windows": "48 89 5C 24 ? 4C 89 4C 24 ? 48 89 4C 24 ? 55 56 57 41 54 41 55 41 56 41 57 48 83 EC ? 49 8B F9",
"linux": "55 48 89 E5 41 55 49 89 CD 41 54 49 89 FC"
}
},
"LegacyGameEventListener": {
"signatures": {
"library": "server",
"windows": "48 8B 15 ? ? ? ? 48 85 D2 74 ? 85 C9 74",
"linux": "48 8B 05 ? ? ? ? 48 85 C0 74 ? 85 FF"
"windows": "48 8B 15 ? ? ? ? 48 85 D2 74 ? 83 F9 ? 77 ? 48 63 C1 48 C1 E0",
"linux": "48 8B 05 ? ? ? ? 48 85 C0 74 ? 83 FF ? 77 ? 48 63 FF 48 C1 E7 ? 48 8D 44 38"
}
},
"CBasePlayerPawn_CommitSuicide": {
"offsets": {
"windows": 380,
"linux": 380
"windows": 408,
"linux": 408
}
},
"CBasePlayerPawn_RemovePlayerItem": {
"signatures": {
"library": "server",
"windows": "48 ? ? 0F 84 ? ? ? ? 48 89 5C 24 ? 57 48 ? ? ? 48 ? ? 48 ? ? E8",
"linux": "55 48 89 ? 41 ? 49 89 ? 41 ? 49 89 ? E8 ? ? ? ? 49 39"
"linux": "55 48 89 E5 41 54 49 89 FC 53 48 89 F3 E8 ? ? ? ? 48 39 C3 74 ? 4C 89 E7 E8 ? ? ? ? 48 39 C3 74 ? 4C 89 E7 48 89 DE E8 ? ? ? ? 48 89 DF 5B 41 5C 5D E9 ? ? ? ? 0F 1F 44 00 00"
}
},
"CBaseEntity_Teleport": {
"offsets": {
"windows": 157,
"linux": 156
"windows": 168,
"linux": 167
}
},
"CBaseEntity_TakeDamageOld": {
"signatures": {
"library": "server",
"windows": "48 89 74 24 ? 57 48 81 EC 80 00 00 00 48 8B 41",
"linux": "55 48 89 E5 41 57 41 56 41 55 41 54 49 89 FC 53 48 83 EC 58 4C 8D 3D"
"windows": "40 55 41 54 41 55 41 56 41 57 48 81 EC ? ? ? ? 48 8D 6C 24 ? 48 89 9D ? ? ? ? 45 33 ED",
"linux": "55 48 89 E5 41 57 41 56 49 89 F6 41 55 41 54 49 89 FC 53 48 89 D3 48 83 EC ? 48 85 D2"
}
},
"CBaseTrigger_StartTouch": {
"signatures": {
"library": "server",
"windows": "40 57 41 57 48 83 EC 28 48 8B 01",
"linux": "55 48 89 E5 41 56 49 89 F6 41 55 49 89 FD 41 54 53 BB"
"windows": "40 57 41 56 48 83 EC ? 48 8B 01",
"linux": "55 48 89 E5 41 56 41 55 49 89 F5 41 54 53 48 89 FB 48 83 EC 10 48 8B 07"
}
},
"CBaseTrigger_EndTouch": {
@@ -221,20 +220,6 @@
"linux": "55 BA FF FF FF FF 48 89 E5 41 57 41 56 41 55 49 89 F5 41"
}
},
"StateChanged": {
"signatures": {
"library": "server",
"windows": "40 55 53 56 41 56 41 57 48 8D 6C 24 ? 48 81 EC 70 01 00 00",
"linux": "55 48 89 E5 41 57 41 56 41 55 41 54 53 89 D3"
}
},
"NetworkStateChanged": {
"signatures": {
"library": "server",
"windows": "4C 8B C9 48 8B 09 48 85 C9 74 ? 48 8B 41 10",
"linux": "4C 8B 07 4D 85 C0 74 ? 49 8B 40 10"
}
},
"GameEntitySystem": {
"offsets": {
"windows": 88,
@@ -250,15 +235,15 @@
"CEntityIOOutput_FireOutputInternal": {
"signatures": {
"library": "server",
"windows": "4C 89 4C 24 20 53 55 57 41 54 41 56 48 81 EC",
"linux": "55 48 89 E5 41 57 41 56 41 55 41 54 49 89 D4 53 48 89 F3 48 83 EC 58"
"windows": "4C 89 4C 24 ? 48 89 4C 24 ? 53 56",
"linux": "55 48 89 E5 41 57 49 89 FF 41 56 41 55 41 54 49 89 D4 53 48 89 F3"
}
},
"IGameSystem_InitAllSystems_pFirst": {
"signatures": {
"library": "server",
"windows": "48 8B 3D ? ? ? ? 48 85 FF 0F 84 ? ? ? ? BE",
"linux": "4C 8B 35 ? ? ? ? 4D 85 F6 75 ? E9"
"windows": "48 8B 1D ? ? ? ? 48 85 DB 0F 84 ? ? ? ? BD",
"linux": "4C 8B 35 ? ? ? ? 4D 85 F6 75"
}
},
"CEntityResourceManifest_AddResource": {
@@ -267,10 +252,43 @@
"linux": 0
}
},
"CheckTransmit": {
"signatures": {
"library": "server",
"windows": "48 8B C4 4C 89 48 ? 48 89 50 ? 48 89 48 ? 55 48 8D A8",
"linux": "55 48 89 E5 41 57 49 89 FF 41 56 48 8D 3D ? ? ? ? 41 55 41 89 D5"
}
},
"CheckTransmitPlayerSlot": {
"offsets": {
"windows": 584,
"linux": 584
"windows": 576,
"linux": 576
}
},
"NetworkStateChanged": {
"signatures": {
"library": "server",
"windows": "4C 8B C2 48 8B D1 48 8B 09",
"linux": "48 8B 07 48 85 C0 74 ? 48 8B 50 10"
}
},
"SetStateChanged": {
"offsets": {
"windows": 25,
"linux": 26
}
},
"ISource2GameEntities::CheckTransmit": {
"offsets": {
"windows": 12,
"linux": 13
}
},
"Host_Say": {
"signatures": {
"library": "server",
"windows": "44 89 4C 24 20 44 88 44 24 18",
"linux": "55 48 89 E5 41 57 49 89 F7 41 56 41 55 41 54 4D 89 C4"
}
}
}
}

View File

@@ -0,0 +1,27 @@
{
"menu.button.previous": "Prev",
"menu.button.next": "Next",
"menu.button.close": "Close",
"all": "all players",
"bots": "bots",
"humans": "humans",
"alive": "alive players",
"dead": "dead players",
"notme": "all players except self",
"ct": "ct players",
"t": "t players",
"spec": "spec players",
"No matching client": "No matching client was found.",
"No matching clients": "No matching clients were found.",
"Target must be alive": "This command can only be used on alive players.",
"Target must be dead": "This command can only be used on dead players.",
"Unable to target": "You cannot target this player.",
"Cannot target bot": "Unable to perform this command on a bot.",
"More than one client matched": "More than one client matched the given pattern.",
"Missing permissions": "You are missing the correct permissions",
"Missing one permission": "You do not have one of the correct permissions",
"Command permission denied": "[CSS] {0} ({1}) to execute this command."
}

View File

@@ -0,0 +1,27 @@
{
"menu.button.previous": "Anterior",
"menu.button.next": "Siguiente",
"menu.button.close": "Cerrar",
"all": "todos los jugadores",
"bots": "bots",
"humans": "humanos",
"alive": "jugadores vivos",
"dead": "jugadores muertos",
"notme": "todos los jugadores excepto yo",
"ct": "jugadores CT",
"t": "jugadores T",
"spec": "espectadores",
"No matching client": "No se encontró ningún cliente que coincida.",
"No matching clients": "No se encontraron clientes que coincidan.",
"Target must be alive": "Este comando solo puede usarse en jugadores vivos.",
"Target must be dead": "Este comando solo puede usarse en jugadores muertos.",
"Unable to target": "No puedes seleccionar a este jugador.",
"Cannot target bot": "No se puede ejecutar este comando en un bot.",
"More than one client matched": "Más de un cliente coincidió con el patrón dado.",
"Missing permissions": "No tienes los permisos correctos",
"Missing one permission": "No tienes uno de los permisos correctos",
"Command permission denied": "[CSS] {0} ({1}) para ejecutar este comando."
}

View File

@@ -0,0 +1,27 @@
{
"menu.button.previous": "Voltar",
"menu.button.next": "Próximo",
"menu.button.close": "Sair",
"all": "todos os jogadores",
"bots": "bots",
"humans": "humanos",
"alive": "jogadores vivos",
"dead": "jogadores mortos",
"notme": "todos os jogadores, exceto você",
"ct": "jogadores CT",
"t": "jogadores T",
"spec": "jogadores spectadores",
"No matching client": "Nenhum cliente correspondente foi encontrado.",
"No matching clients": "Nenhum cliente correspondente foi encontrado.",
"Target must be alive": "Este comando só pode ser usado em jogadores vivos.",
"Target must be dead": "Este comando só pode ser usado em jogadores mortos.",
"Unable to target": "Você não pode selecionar este jogador como alvo.",
"Cannot target bot": "Não é possível executar este comando em um BOT.",
"More than one client matched": "Mais de um cliente correspondeu ao padrão fornecido.",
"Missing permissions": "Você não possui as permissões necessárias.",
"Missing one permission": "Você não tem uma das permissões necessárias.",
"Command permission denied": "[CSS] {0} ({1}) para executar este comando."
}

View File

@@ -0,0 +1,27 @@
{
"menu.button.previous": "Geri",
"menu.button.next": "İleri",
"menu.button.close": ıkış",
"all": "tüm oyuncular",
"bots": "botlar",
"humans": "insanlar",
"alive": "hayatta olan oyuncular",
"dead": "ölü oyuncular",
"notme": "kendi hariç tüm oyuncular",
"ct": "CT oyuncular",
"t": "T oyuncular",
"spec": "izleyici oyuncular",
"No matching client": "{white}Eşleşen bir istemci bulunamadı.",
"No matching clients": "{white}Eşleşen istemciler bulunamadı.",
"Target must be alive": "{white}Bu komut yalnızca hayatta olan oyunculara uygulanabilir.",
"Target must be dead": "{white}Bu komut yalnızca ölü oyunculara uygulanabilir.",
"Unable to target": "{white}Bu oyuncu hedeflenemez.",
"Cannot target bot": "{white}Bu komut bir bota uygulanamaz.",
"More than one client matched": "{white}Verilen kalıba birden fazla istemci eşleşti.",
"Missing permissions": "{white}Doğru izinlere sahip değilsiniz",
"Missing one permission": "{white}Doğru izinlerden birine sahip değilsiniz",
"Command permission denied": "[CSS] {0} ({1}) bu komutu çalıştırmak için."
}

80
create-release.sh Executable file
View File

@@ -0,0 +1,80 @@
#!/bin/bash
set -e
DRY_RUN=false
if [[ "$1" == "--dry-run" || "$1" == "-d" ]]; then
DRY_RUN=true
echo "Running in DRY-RUN mode - no changes will be pushed"
fi
echo "Starting automated release process..."
echo "Fetching latest tags from remote..."
git fetch --tags
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v1.0.0")
echo "Latest tag found: $LATEST_TAG"
if [[ $LATEST_TAG =~ ^v([0-9]+)\.([0-9]+)\.([0-9]+)$ ]]; then
MAJOR=${BASH_REMATCH[1]}
MINOR=${BASH_REMATCH[2]}
PATCH=${BASH_REMATCH[3]}
else
echo "Error: Could not parse version from tag $LATEST_TAG"
echo "Expected format: v1.0.x (e.g., v1.0.322)"
exit 1
fi
NEW_PATCH=$((PATCH + 1))
NEW_TAG="v$MAJOR.$MINOR.$NEW_PATCH"
echo "New version will be: $NEW_TAG"
echo "Generating changelog with git-cliff..."
npx git-cliff -o CHANGELOG.md -t "$NEW_TAG"
if ! git diff --quiet CHANGELOG.md; then
echo "Changelog updated successfully"
git add CHANGELOG.md
COMMIT_MSG="release: $NEW_TAG"
echo "Committing changelog with message: $COMMIT_MSG"
if [ "$DRY_RUN" = true ]; then
git commit -m "$COMMIT_MSG"
echo "Creating tag locally: $NEW_TAG"
git tag "$NEW_TAG"
echo "DRY-RUN: Would push commit to remote"
echo "DRY-RUN: Would push tag to remote"
else
git commit -m "$COMMIT_MSG"
echo "Pushing commit to remote..."
git push origin $(git branch --show-current)
echo "Creating and pushing tag: $NEW_TAG"
git tag "$NEW_TAG"
git push origin tag "$NEW_TAG"
fi
echo "Release $NEW_TAG completed successfully!"
echo "Summary:"
echo " - Previous version: $LATEST_TAG"
echo " - New version: $NEW_TAG"
echo " - Changelog updated: Yes"
if [ "$DRY_RUN" = true ]; then
echo " - Commit pushed: (dry-run)"
echo " - Tag created and pushed: (dry-run)"
else
echo " - Commit pushed: Yes"
echo " - Tag created and pushed: Yes"
fi
else
echo "No changes detected in CHANGELOG.md"
echo "This might indicate that there are no new commits since the last release."
exit 1
fi

View File

@@ -5,6 +5,9 @@ description: How to add inter-plugin communication to CounterStrikeSharp plugins
# Shared Plugin API
> [!NOTE]
> **New (experimental)**: You can now resolve plugin dependencies directly from your local **NuGet packages cache** instead of copying every DLL into the `shared/` folder. See **Dependency Resolution** below. This feature **disabled by default.**
How to expose and use shared plugin APIs between multiple plugins.
## Creating a Contract Library
@@ -65,3 +68,36 @@ balance.Add(500);
```
This value _MUST_ be checked for null, as if there are no plugins providing implementations for a given capability, this method will return null, and you must handle this flow in your plugin.
## Dependency Resolution
CounterStrikeSharp supports two complementary ways to resolve **external** assemblies used by your plugins and shared contracts:
1. **Shared Folder Resolution (manual)**: copy dependency DLLs into `shared/<PackageName>/<Assembly>.dll`.
2. **NuGet Dependency Resolver (auto)**: when enabled, resolves missing assemblies from the local **NuGet packages root**
### Enabling the NuGet Resolver
Add the following property to your core config (disabled by default):
```json
{
...
"PluginResolveNugetPackages": true
...
}
```
> [!NOTE]
> The engine looks for assemblies in the NuGet cache defined by the `NUGET_PACKAGES` environment variable, or falls back to the default user cache (e.g., `~/.nuget/packages` on Linux/macOS, `%UserProfile%\.nuget\packages` on Windows).
### Dependencies Resolution Order
When the NuGet resolver is **enabled**, resolution proceeds in this general order:
1. **Plugins directory** (in-place assemblies)
2. `shared/` **folder** (existing shared assemblies mechanism)
3. **NuGet cache** (auto-resolver)
This lets you keep proven `shared/` workflows while reducing manual copying for common NuGet dependencies.

View File

@@ -47,3 +47,10 @@ When enabled, will remove the `FCVAR_HIDDEN`,`FCVAR_DEVELOPMENTONLY`, `FCVAR_MIS
## UnlockConVars
When enabled, will remove the `FCVAR_HIDDEN`,`FCVAR_DEVELOPMENTONLY`, `FCVAR_MISSING0`, `FCVAR_MISSING1`, `FCVAR_MISSING2`, `FCVAR_MISSING3` flags from all console variables.
## AutoUpdateEnabled
When enabled, CS# will check for any updates to the gamedata.json file and automatically update it if a new version is available.
## AutoUpdateURL
The URL to use for the auto-update feature. This URL should point to a JSON file that contains the latest version of the gamedata.json file.

View File

@@ -16,6 +16,7 @@
using System;
using System.Drawing;
using System.Numerics;
using WarcraftPlugin.Effects;
using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Modules.Events;
@@ -67,10 +68,10 @@ namespace WarcraftPlugin.Races
private void Dash(float distance)
{
var directionVec = new Vector();
var directionVec = new Vector3();
NativeAPI.AngleVectors(Player.PlayerPawn.Value.EyeAngles.Handle, directionVec.Handle, IntPtr.Zero,
IntPtr.Zero);
// NativeAPI.AngleVectors(&Player.PlayerPawn.Value.EyeAngles, directionVec.Handle, IntPtr.Zero,
// IntPtr.Zero);
// Always shoot us up a little bit if were on the ground and not aiming up.
if (Player.GroundEntity.IsValid != null && directionVec.Z < 0.275)
@@ -80,9 +81,7 @@ namespace WarcraftPlugin.Races
directionVec *= distance;
Player.PlayerPawn.Value.AbsVelocity.X = directionVec.X;
Player.PlayerPawn.Value.AbsVelocity.Y = directionVec.Y;
Player.PlayerPawn.Value.AbsVelocity.Z = directionVec.Z;
Player.PlayerPawn.Value.AbsVelocity = directionVec;
}
private void PlayerHurtOther(GameEvent obj)
@@ -196,4 +195,4 @@ namespace WarcraftPlugin.Races
Console.WriteLine("Freeze finished");
}
}
}
}

View File

@@ -107,7 +107,7 @@ public class WithCheckTransmitPlugin : BasePlugin
{
// Calling 'Remove' will clear the entity index of the target player pawn from the transmission list
// so it won't be transmitted for the 'player'.
info.TransmitEntities.Remove(targetPlayer.Pawn);
info.TransmitEntities.Remove(targetPlayer.Pawn.EntityIndex);
}
}
});

12818
libraries/httplib/httplib.h Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -14,7 +14,6 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof -Wno-reorder")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse -msse -fno-strict-aliasing")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-threadsafe-statics -v -fvisibility=default")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static-libgcc -static-libstdc++")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--exclude-libs=libprotobuf.a")
set(

View File

@@ -58,7 +58,6 @@ include_directories(
${SOURCESDK}/public/tier1
${SOURCESDK}/public/entity2
${SOURCESDK}/public/game/server
${SOURCESDK}/public/entity2
${SOURCESDK}/public/schemasystem
${METAMOD_DIR}/core
${METAMOD_DIR}/core/sourcehook

View File

@@ -11,8 +11,10 @@ using CounterStrikeSharp.API.Core.Plugin;
using CounterStrikeSharp.API.Core.Plugin.Host;
using CounterStrikeSharp.API.Core.Translations;
using CounterStrikeSharp.API.Modules.Admin;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Localization;
using Microsoft.Extensions.Logging;
using Serilog;
@@ -44,7 +46,11 @@ public static class Bootstrap
services.AddSingleton<IPluginManager, PluginManager>();
services.AddSingleton<IPlayerLanguageManager, PlayerLanguageManager>();
services.AddScoped<IPluginContextQueryHandler, PluginContextQueryHandler>();
services.AddSingleton<ICommandManager, CommandManager>();
services.AddSingleton<ICommandManager, CommandManager>();
services.TryAddSingleton<IStringLocalizerFactory, CoreJsonStringLocalizerFactory>();
services.TryAddTransient(typeof(IStringLocalizer<>), typeof(StringLocalizer<>));
services.TryAddTransient(typeof(IStringLocalizer), typeof(StringLocalizer));
services.Scan(i => i.FromCallingAssembly()
.AddClasses(c => c.AssignableTo<IStartupService>())
@@ -71,4 +77,4 @@ public static class Bootstrap
return 0;
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -17,6 +17,7 @@
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CounterStrikeSharp.API.Core.Commands;
using CounterStrikeSharp.API.Core.Hosting;
using CounterStrikeSharp.API.Core.Plugin;
@@ -28,6 +29,7 @@ using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Menu;
using CounterStrikeSharp.API.Modules.Utils;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Localization;
using Microsoft.Extensions.Logging;
namespace CounterStrikeSharp.API.Core
@@ -35,6 +37,8 @@ namespace CounterStrikeSharp.API.Core
public sealed class Application
{
private static Application _instance = null!;
public static IStringLocalizer Localizer => Instance._localizer;
public ILogger Logger { get; }
public static Application Instance => _instance!;
@@ -48,11 +52,12 @@ namespace CounterStrikeSharp.API.Core
private readonly IPluginContextQueryHandler _pluginContextQueryHandler;
private readonly IPlayerLanguageManager _playerLanguageManager;
private readonly ICommandManager _commandManager;
private readonly IStringLocalizer _localizer;
public Application(ILoggerFactory loggerFactory, IScriptHostConfiguration scriptHostConfiguration,
GameDataProvider gameDataProvider, CoreConfig coreConfig, IPluginManager pluginManager,
IPluginContextQueryHandler pluginContextQueryHandler, IPlayerLanguageManager playerLanguageManager,
ICommandManager commandManager)
ICommandManager commandManager, IStringLocalizer localizer)
{
Logger = loggerFactory.CreateLogger("Core");
_scriptHostConfiguration = scriptHostConfiguration;
@@ -62,11 +67,28 @@ namespace CounterStrikeSharp.API.Core
_pluginContextQueryHandler = pluginContextQueryHandler;
_playerLanguageManager = playerLanguageManager;
_commandManager = commandManager;
_localizer = localizer;
_instance = this;
}
public void Start()
{
AppDomain.CurrentDomain.UnhandledException += (sender, e) =>
{
if ((e.ExceptionObject as Exception) is PluginTerminationException pluginEx)
{
return;
}
};
TaskScheduler.UnobservedTaskException += (sender, e) =>
{
if (e.Exception.InnerExceptions.Any(ex => ex is PluginTerminationException))
{
e.SetObserved();
}
};
Logger.LogInformation("CounterStrikeSharp is starting up...");
_coreConfig.Load();
@@ -122,123 +144,135 @@ namespace CounterStrikeSharp.API.Core
switch (info.GetArg(1))
{
case "list":
{
info.ReplyToCommand(
$" List of all plugins currently loaded by CounterStrikeSharp: {_pluginManager.GetLoadedPlugins().Count()} plugins loaded.");
foreach (var plugin in _pluginManager.GetLoadedPlugins())
{
var sb = new StringBuilder();
sb.AppendFormat(" [#{0}:{1}]: \"{2}\" ({3})", plugin.PluginId,
plugin.State.ToString().ToUpper(), plugin.Plugin?.ModuleName ?? "Unknown",
plugin.Plugin?.ModuleVersion ?? "Unknown");
if (!string.IsNullOrEmpty(plugin.Plugin?.ModuleAuthor))
sb.AppendFormat(" by {0}", plugin.Plugin.ModuleAuthor);
if (!string.IsNullOrEmpty(plugin.Plugin?.ModuleDescription))
{
sb.Append("\n");
sb.Append(" ");
sb.Append(plugin.Plugin.ModuleDescription);
}
info.ReplyToCommand(sb.ToString());
}
break;
}
case "start":
case "load":
{
if (info.ArgCount < 3)
{
info.ReplyToCommand(
"Valid usage: css_plugins start/load [relative plugin path || absolute plugin path] (e.g \"TestPlugin\", \"plugins/TestPlugin/TestPlugin.dll\")\n");
$" List of all plugins currently loaded by CounterStrikeSharp: {_pluginManager.GetLoadedPlugins().Count()} plugins loaded.");
foreach (var plugin in _pluginManager.GetLoadedPlugins())
{
var sb = new StringBuilder();
sb.AppendFormat(" [#{0}:{1}]: \"{2}\" ({3})", plugin.PluginId,
plugin.State.ToString().ToUpper(), plugin.Plugin?.ModuleName ?? "Unknown",
plugin.Plugin?.ModuleVersion ?? "Unknown");
if (!string.IsNullOrEmpty(plugin.Plugin?.ModuleAuthor))
sb.AppendFormat(" by {0}", plugin.Plugin.ModuleAuthor);
if (!string.IsNullOrEmpty(plugin.Plugin?.ModuleDescription))
{
sb.Append("\n");
sb.Append(" ");
sb.Append(plugin.Plugin.ModuleDescription);
}
if (plugin.State == PluginState.Unloaded && !string.IsNullOrEmpty(plugin.TerminationReason))
{
sb.Append("\n");
sb.AppendFormat(" Termination Reason: {0}", plugin.TerminationReason);
}
info.ReplyToCommand(sb.ToString());
}
break;
}
// If our argument doesn't end in ".dll" - try and construct a path similar to PluginName/PluginName.dll.
// We'll assume we have a full path if we have ".dll".
var path = info.GetArg(2);
path = Path.Combine(_scriptHostConfiguration.RootPath, !path.EndsWith(".dll") ? $"plugins/{path}/{path}.dll" : path);
var plugin = _pluginContextQueryHandler.FindPluginByModulePath(path);
if (plugin == null)
case "start":
case "load":
{
try
if (info.ArgCount < 3)
{
_pluginManager.LoadPlugin(path);
plugin = _pluginContextQueryHandler.FindPluginByModulePath(path);
info.ReplyToCommand(
"Valid usage: css_plugins start/load [relative plugin path || absolute plugin path] (e.g \"TestPlugin\", \"plugins/TestPlugin/TestPlugin.dll\")\n");
break;
}
// If our argument doesn't end in ".dll" - try and construct a path similar to PluginName/PluginName.dll.
// We'll assume we have a full path if we have ".dll".
var path = info.GetArg(2);
path = Path.Combine(
_scriptHostConfiguration.RootPath,
!path.EndsWith(".dll")
? $"plugins/{path}/{Path.GetFileName(path)}.dll"
: path
);
var plugin = _pluginContextQueryHandler.FindPluginByModulePath(path);
if (plugin == null)
{
try
{
_pluginManager.LoadPlugin(path);
plugin = _pluginContextQueryHandler.FindPluginByModulePath(path);
plugin.Plugin.OnAllPluginsLoaded(false);
}
catch (Exception e)
{
info.ReplyToCommand($"Could not load plugin \"{path}\"");
Logger.LogError(e, "Could not load plugin \"{Path}\"", path);
}
}
else
{
plugin.Load(false);
plugin.Plugin.OnAllPluginsLoaded(false);
}
catch (Exception e)
{
info.ReplyToCommand($"Could not load plugin \"{path}\"");
Logger.LogError(e, "Could not load plugin \"{Path}\"", path);
}
}
else
{
plugin.Load(false);
plugin.Plugin.OnAllPluginsLoaded(false);
}
break;
}
break;
}
case "stop":
case "unload":
{
if (info.ArgCount < 3)
{
info.ReplyToCommand(
"Valid usage: css_plugins stop/unload [plugin name || #plugin id] (e.g \"TestPlugin\", \"1\")\n");
if (info.ArgCount < 3)
{
info.ReplyToCommand(
"Valid usage: css_plugins stop/unload [plugin name || #plugin id] (e.g \"TestPlugin\", \"1\")\n");
break;
}
var pluginIdentifier = info.GetArg(2);
string path;
path = Path.Combine(_scriptHostConfiguration.RootPath,
!pluginIdentifier.EndsWith(".dll") ? $"plugins/{pluginIdentifier}/{pluginIdentifier}.dll" : pluginIdentifier);
var plugin = _pluginContextQueryHandler.FindPluginByIdOrName(pluginIdentifier)
?? _pluginContextQueryHandler.FindPluginByModulePath(path);
if (plugin == null)
{
info.ReplyToCommand($"Could not unload plugin \"{pluginIdentifier}\"");
break;
}
plugin.Unload(false);
break;
}
var pluginIdentifier = info.GetArg(2);
string path;
path = Path.Combine(_scriptHostConfiguration.RootPath,
!pluginIdentifier.EndsWith(".dll") ? $"plugins/{pluginIdentifier}/{pluginIdentifier}.dll" : pluginIdentifier);
var plugin = _pluginContextQueryHandler.FindPluginByIdOrName(pluginIdentifier)
?? _pluginContextQueryHandler.FindPluginByModulePath(path);
if (plugin == null)
{
info.ReplyToCommand($"Could not unload plugin \"{pluginIdentifier}\"");
break;
}
plugin.Unload(false);
break;
}
case "restart":
case "reload":
{
if (info.ArgCount < 3)
{
info.ReplyToCommand(
"Valid usage: css_plugins restart/reload [plugin name || #plugin id] (e.g \"TestPlugin\", \"#1\")\n");
if (info.ArgCount < 3)
{
info.ReplyToCommand(
"Valid usage: css_plugins restart/reload [plugin name || #plugin id] (e.g \"TestPlugin\", \"#1\")\n");
break;
}
var pluginIdentifier = info.GetArg(2);
var plugin = _pluginContextQueryHandler.FindPluginByIdOrName(pluginIdentifier);
if (plugin == null)
{
info.ReplyToCommand($"Could not reload plugin \"{pluginIdentifier}\"");
break;
}
plugin.Unload(true);
plugin.Load(true);
plugin.Plugin.OnAllPluginsLoaded(true);
break;
}
var pluginIdentifier = info.GetArg(2);
var plugin = _pluginContextQueryHandler.FindPluginByIdOrName(pluginIdentifier);
if (plugin == null)
{
info.ReplyToCommand($"Could not reload plugin \"{pluginIdentifier}\"");
break;
}
plugin.Unload(true);
plugin.Load(true);
plugin.Plugin.OnAllPluginsLoaded(true);
break;
}
default:
info.ReplyToCommand("Valid usage: css_plugins [option]\n" +
" list - List all plugins currently loaded.\n" +

View File

@@ -53,20 +53,27 @@ namespace CounterStrikeSharp.API.Core
public abstract string ModuleName { get; }
public abstract string ModuleVersion { get; }
public virtual string ModuleAuthor { get; }
public virtual string ModuleDescription { get; }
public string ModulePath { get; set; }
public string ModuleDirectory => Path.GetDirectoryName(ModulePath);
public ILogger Logger { get; set; }
public ICommandManager CommandManager { get; set; }
public IStringLocalizer Localizer { get; set; }
internal Plugin.ISelfPluginControl SelfControl { get; set; }
public void TerminateSelf(string reason)
{
SelfControl?.TerminateSelf(reason);
}
public virtual void Load(bool hotReload)
{
}
@@ -74,7 +81,7 @@ namespace CounterStrikeSharp.API.Core
public virtual void Unload(bool hotReload)
{
}
public virtual void OnAllPluginsLoaded(bool hotReload)
{
}
@@ -116,7 +123,7 @@ namespace CounterStrikeSharp.API.Core
public readonly Dictionary<Delegate, CallbackSubscriber> Handlers =
new Dictionary<Delegate, CallbackSubscriber>();
public readonly Dictionary<Delegate, CallbackSubscriber> CommandListeners =
new Dictionary<Delegate, CallbackSubscriber>();
@@ -132,7 +139,7 @@ namespace CounterStrikeSharp.API.Core
public readonly List<CommandDefinition> CommandDefinitions = new List<CommandDefinition>();
public readonly List<Timer> Timers = new List<Timer>();
public delegate HookResult GameEventHandler<T>(T @event, GameEventInfo info) where T : GameEvent;
private void RegisterEventHandlerInternal<T>(string name, GameEventHandler<T> handler, bool post)
@@ -156,7 +163,7 @@ namespace CounterStrikeSharp.API.Core
var name = typeof(T).GetCustomAttribute<EventNameAttribute>()?.Name;
RegisterEventHandlerInternal(name, handler, hookMode == HookMode.Post);
}
/// <summary>
/// De-registers a game event handler.
/// </summary>
@@ -164,7 +171,7 @@ namespace CounterStrikeSharp.API.Core
public void DeregisterEventHandler<T>(GameEventHandler<T> handler, HookMode hookMode = HookMode.Post) where T : GameEvent
{
var name = typeof(T).GetCustomAttribute<EventNameAttribute>()!.Name;
if (!Handlers.TryGetValue(handler, out var subscriber)) return;
NativeAPI.UnhookEvent(name, subscriber.GetInputArgument(), hookMode == HookMode.Post);
@@ -195,7 +202,7 @@ namespace CounterStrikeSharp.API.Core
CommandDefinitions.Add(definition);
CommandManager.RegisterCommand(definition);
}
private void AddCommand(CommandDefinition definition)
{
CommandDefinitions.Add(definition);
@@ -319,9 +326,9 @@ namespace CounterStrikeSharp.API.Core
throw new ArgumentException("Listener of type T is invalid and does not have a name attribute",
nameof(T));
}
if (!Listeners.TryGetValue(handler, out var subscriber)) return;
NativeAPI.RemoveListener(listenerName, subscriber.GetInputArgument());
FunctionReference.Remove(subscriber.GetReferenceIdentifier());
Listeners.Remove(handler);
@@ -408,7 +415,7 @@ namespace CounterStrikeSharp.API.Core
.Where(method =>
method.GetParameters().FirstOrDefault()?.ParameterType.IsSubclassOf(typeof(GameEvent)) == true)
.ToArray();
var listenerHandlers = methods
.Where(method => method.GetCustomAttribute(typeof(ListenerHandlerAttribute<>)) != null)
.ToArray();
@@ -440,7 +447,7 @@ namespace CounterStrikeSharp.API.Core
throw new ArgumentException("Listener of type T is invalid and does not have a name attribute",
listenerType.Name);
var listenerDelegate = Delegate.CreateDelegate(listenerType, instance, listnerHandler);
var listenerDelegate = Delegate.CreateDelegate(listenerType, instance, listnerHandler);
registerListener.MakeGenericMethod(listenerType).Invoke(this, [listenerDelegate]);
}
@@ -502,29 +509,29 @@ namespace CounterStrikeSharp.API.Core
{
var convars = type
.GetFields(BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static)
.Where(prop => prop.FieldType.IsGenericType &&
.Where(prop => prop.FieldType.IsGenericType &&
prop.FieldType.GetGenericTypeDefinition() == typeof(FakeConVar<>));
foreach (var prop in convars)
{
object propValue = prop.GetValue(instance); // FakeConvar<?> instance
var propValueType = prop.FieldType.GenericTypeArguments[0];
var name = prop.FieldType.GetProperty("Name", BindingFlags.Public | BindingFlags.Instance)
.GetValue(propValue);
var description = prop.FieldType.GetProperty("Description", BindingFlags.Public | BindingFlags.Instance)
.GetValue(propValue);
MethodInfo executeCommandMethod = prop.FieldType
.GetMethod("ExecuteCommand", BindingFlags.Instance | BindingFlags.NonPublic);
this.AddCommand((string)name, (string) description, (caller, command) =>
this.AddCommand((string)name, (string)description, (caller, command) =>
{
executeCommandMethod.Invoke(propValue, new object[] {caller, command});
executeCommandMethod.Invoke(propValue, new object[] { caller, command });
});
}
}
/// <summary>
/// Used to bind a fake ConVar to a plugin command. Only required for ConVars that are not public properties of the plugin class.
/// </summary>
@@ -549,7 +556,7 @@ namespace CounterStrikeSharp.API.Core
NativeAPI.HookEntityOutput(classname, outputName, subscriber.GetInputArgument(), mode);
EntityOutputHooks[handler] = subscriber;
}
public void HookUserMessage(int messageId, UserMessage.UserMessageHandler handler, HookMode mode = HookMode.Pre)
{
var subscriber = new CallbackSubscriber(handler, handler,
@@ -558,7 +565,7 @@ namespace CounterStrikeSharp.API.Core
NativeAPI.HookUsermessage(messageId, subscriber.GetInputArgument(), mode);
Handlers[handler] = subscriber;
}
public void UnhookUserMessage(int messageId, UserMessage.UserMessageHandler handler, HookMode mode = HookMode.Pre)
{
if (!Handlers.TryGetValue(handler, out var subscriber)) return;
@@ -641,7 +648,7 @@ namespace CounterStrikeSharp.API.Core
{
subscriber.Dispose();
}
foreach (var subscriber in CommandListeners.Values)
{
subscriber.Dispose();

View File

@@ -65,7 +65,7 @@ public class CommandManager : ICommandManager
var info = new CommandInfo(commandInfo, caller);
var name = info.GetArg(0).ToLower();
using var temporaryCulture = new WithTemporaryCulture(caller.GetLanguage());
if (_commandDefinitions.TryGetValue(name, out var handler))
@@ -81,7 +81,7 @@ public class CommandManager : ICommandManager
// We do not need to do permission checks on commands executed from the server console.
// The server will always be allowed to execute commands (unless marked as client only like above)
if (caller != null)
if (caller != null)
{
// Do not execute command if we do not have the correct permissions.
var adminData = AdminManager.GetPlayerAdminData(caller!.AuthorizedSteamID);
@@ -120,11 +120,12 @@ public class CommandManager : ICommandManager
if (!attr.CanExecuteCommand(caller))
{
var responseStr = (attr.GetType() == typeof(RequiresPermissions)) ?
"You are missing the correct permissions" : "You do not have one of the correct permissions";
Application.Localizer["Missing permissions"] :
Application.Localizer["Missing one permission"];
var flags = attr.Permissions.Except(adminData?.GetAllFlags() ?? new HashSet<string>());
flags = flags.Except(adminData?.Groups ?? new HashSet<string>());
info.ReplyToCommand($"[CSS] {responseStr} ({string.Join(", ", flags)}) to execute this command.");
info.ReplyToCommand(Application.Localizer["Command permission denied", responseStr, string.Join(", ", flags)]);
return;
}

View File

@@ -53,6 +53,9 @@ namespace CounterStrikeSharp.API.Core
[JsonPropertyName("PluginAutoLoadEnabled")]
public bool PluginAutoLoadEnabled { get; set; } = true;
[JsonPropertyName("PluginResolveNugetPackages")]
public bool PluginResolveNugetPackages { get; set; }
[JsonPropertyName("ServerLanguage")]
public string ServerLanguage { get; set; } = "en";
@@ -61,6 +64,12 @@ namespace CounterStrikeSharp.API.Core
[JsonPropertyName("UnlockConVars")]
public bool UnlockConVars { get; set; } = true;
[JsonPropertyName("AutoUpdateEnabled")]
public bool AutoUpdateEnabled { get; set; } = true;
[JsonPropertyName("AutoUpdateURL")]
public string AutoUpdateURL { get; set; } = "http://gamedata.cssharp.dev";
}
/// <summary>
@@ -109,6 +118,8 @@ namespace CounterStrikeSharp.API.Core
/// </summary>
public static bool PluginAutoLoadEnabled => _coreConfig.PluginAutoLoadEnabled;
public static bool PluginResolveNugetPackages => _coreConfig.PluginResolveNugetPackages;
public static string ServerLanguage => _coreConfig.ServerLanguage;
public static bool UnlockConCommands => _coreConfig.UnlockConCommands;
@@ -157,7 +168,7 @@ namespace CounterStrikeSharp.API.Core
{
var data = JsonSerializer.Deserialize<CoreConfigData>(File.ReadAllText(_coreConfigPath),
new JsonSerializerOptions() { ReadCommentHandling = JsonCommentHandling.Skip });
if (data != null)
{
_coreConfig = data;

View File

@@ -1,4 +1,4 @@
/*
/*
* This file is part of CounterStrikeSharp.
* CounterStrikeSharp is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -15,6 +15,7 @@
*/
using System.Collections.Concurrent;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
@@ -26,7 +27,7 @@ namespace CounterStrikeSharp.API.Core
/// </summary>
public enum FunctionLifetime
{
/// <summary>Delegate will be removed after the first invocation.</summary>
/// <summary>Delegate will be removed after the first invocation.</summary>
SingleUse,
/// <summary>Delegate will remain in memory for the lifetime of the application (or until <see cref="FunctionReference.Remove"/> is called).</summary>
@@ -57,7 +58,7 @@ namespace CounterStrikeSharp.API.Core
_targetMethod = method;
_nativeCallback = CreateWrappedCallback();
}
/// <summary>
/// <inheritdoc cref="FunctionLifetime"/>
/// </summary>
@@ -106,6 +107,11 @@ namespace CounterStrikeSharp.API.Core
}
catch (Exception e)
{
if ((e.InnerException ?? e) is Plugin.PluginTerminationException pluginEx)
{
return;
}
Application.Instance.Logger.LogError(e, "Error invoking callback");
}
finally
@@ -176,4 +182,4 @@ namespace CounterStrikeSharp.API.Core
}
}
}
}
}

View File

@@ -1,5 +1,6 @@
using System;
using System.Runtime.CompilerServices;
using CounterStrikeSharp.API.Natives;
namespace CounterStrikeSharp.API.Core;
@@ -10,4 +11,4 @@ public class GameEventInfo : NativeObject
}
public unsafe ref bool DontBroadcast => ref Unsafe.AsRef<bool>((void*)Handle);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -30,4 +30,4 @@ namespace CounterStrikeSharp.API.Core
[DllImport(dllPath, EntryPoint = "InvokeNative")]
public static extern void InvokeNative(IntPtr ptr);
}
}
}

View File

@@ -34,5 +34,11 @@ public interface IScriptHostConfiguration
/// Gets the absolute path to the directory that contains CounterStrikeSharp game data.
/// e.g. /game/csgo/addons/counterstrikesharp/gamedata
/// </summary>
string GameDataPath { get; }
}
string GameDataPath { get; }
/// <summary>
/// Gets the absolute path to the directory that contains CounterStrikeSharp translation files.
/// e.g. /game/csgo/addons/counterstrikesharp/lang
/// </summary>
string LanguagePath { get; }
}

View File

@@ -9,7 +9,8 @@ internal sealed class ScriptHostConfiguration : IScriptHostConfiguration
public string PluginPath { get; }
public string SharedPath { get; }
public string ConfigsPath { get; }
public string GameDataPath { get; }
public string GameDataPath { get; }
public string LanguagePath { get; }
public ScriptHostConfiguration(IHostEnvironment hostEnvironment)
{
@@ -17,6 +18,7 @@ internal sealed class ScriptHostConfiguration : IScriptHostConfiguration
SharedPath = Path.Join(new[] { hostEnvironment.ContentRootPath, "shared" });
PluginPath = Path.Join(new[] { hostEnvironment.ContentRootPath, "plugins" });
ConfigsPath = Path.Join(new[] { hostEnvironment.ContentRootPath, "configs" });
GameDataPath = Path.Join(new[] { hostEnvironment.ContentRootPath, "gamedata" });
GameDataPath = Path.Join(new[] { hostEnvironment.ContentRootPath, "gamedata" });
LanguagePath = Path.Join(new[] { hostEnvironment.ContentRootPath, "lang" });
}
}
}

View File

@@ -18,6 +18,7 @@ using System;
using System.Numerics;
using System.Runtime.InteropServices;
using System.Security;
using CounterStrikeSharp.API.Natives;
namespace CounterStrikeSharp.API.Core
{
@@ -125,13 +126,13 @@ namespace CounterStrikeSharp.API.Core
{
return new InputArgument(value);
}
[SecurityCritical]
public static implicit operator InputArgument(NativeObject value)
{
return new InputArgument(value.Handle);
}
[SecurityCritical]
public static implicit operator InputArgument(NativeEntity value)
{
@@ -144,4 +145,4 @@ namespace CounterStrikeSharp.API.Core
return new InputArgument(new IntPtr(value));
}
}
}
}

View File

@@ -6,8 +6,8 @@ using CounterStrikeSharp.API.Modules.Utils;
namespace CounterStrikeSharp.API.Core
{
public class Listeners {
public class Listeners
{
/// <summary>
/// Called when an entity is spawned.
/// </summary>
@@ -44,6 +44,18 @@ namespace CounterStrikeSharp.API.Core
[ListenerName("OnTick")]
public delegate void OnTick();
/// <summary>
/// Called on every server frame before entities think.
/// </summary>
[ListenerName("OnServerPreEntityThink")]
public delegate void OnServerPreEntityThink();
/// <summary>
/// Called on every server frame after entities think.
/// </summary>
[ListenerName("OnServerPostEntityThink")]
public delegate void OnServerPostEntityThink();
/// <summary>
/// Called when a new map is loaded.
/// </summary>
@@ -107,7 +119,7 @@ namespace CounterStrikeSharp.API.Core
/// <param name="playerSlot">The player slot of the authorized client.</param>
/// <param name="steamId">The Steam ID of the authorized client.</param>
[ListenerName("OnClientAuthorized")]
public delegate void OnClientAuthorized(int playerSlot, [CastFrom(typeof(ulong))]SteamID steamId);
public delegate void OnClientAuthorized(int playerSlot, [CastFrom(typeof(ulong))] SteamID steamId);
/// <summary>
/// Called when the server is updating the hibernation state.
@@ -169,7 +181,26 @@ namespace CounterStrikeSharp.API.Core
/// </summary>
/// <param name="infoList">Transmit info list</param>
[ListenerName("CheckTransmit")]
public delegate void CheckTransmit([CastFrom(typeof(nint))]CCheckTransmitInfoList infoList);
public delegate void CheckTransmit([CastFrom(typeof(nint))] CCheckTransmitInfoList infoList);
/// <summary>
/// Called in the entity pre-think when the player's buttons have changed.
/// </summary>
/// <param name="player"></param>
/// <param name="pressed"></param>
/// <param name="released"></param>
[ListenerName("OnPlayerButtonsChanged")]
public delegate void OnPlayerButtonsChanged(CCSPlayerController player, PlayerButtons pressed, PlayerButtons released);
/// <summary>
/// Called when a player sends a chat message.
/// </summary>
/// <param name="player">The player who sent the chat message.</param>
/// <param name="message">The content of the chat message.</param>
/// <param name="teamChat">If the chat message was sent to team only.</param>
[ListenerName("OnPlayerChat")]
public delegate void OnPlayerChat(CCSPlayerController player, string message, bool teamChat);
/// <summary>
/// Called when all metamod plugins are loaded.

View File

@@ -1,4 +1,5 @@
using System;
using System.Numerics;
using System.Runtime.InteropServices;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
@@ -7,22 +8,45 @@ namespace CounterStrikeSharp.API.Core;
public partial class CBaseEntity
{
/// <summary>
/// Teleports the entity to the specified position, angles, and velocity using Vector3 parameters.
/// This overload is optimized for memory efficiency by directly working with a Vector3 struct.
/// </summary>
/// <exception cref="InvalidOperationException">Entity is not valid</exception>
/// <exception cref="ArgumentNullException">No valid argument</exception>
public void Teleport(Vector? position = null, QAngle? angles = null, Vector? velocity = null)
/// <exception cref="ArgumentException">At least one parameter must be specified</exception>
public void Teleport(Vector3? position = null, QAngle? angles = null, Vector3? velocity = null)
{
Guard.IsValidEntity(this);
if (position == null && angles == null && velocity == null)
throw new ArgumentNullException("No valid argument");
throw new ArgumentException("At least one parameter must be specified");
nint _position = position?.Handle ?? 0;
nint _angles = angles?.Handle ?? 0;
nint _velocity = velocity?.Handle ?? 0;
nint _handle = Handle;
unsafe
{
void* positionPtr = null, anglePtr = null, velocityPtr = null;
VirtualFunction.CreateVoid<IntPtr, IntPtr, IntPtr, IntPtr>(_handle, GameData.GetOffset("CBaseEntity_Teleport"))(_handle, _position,
_angles, _velocity);
if (position.HasValue)
{
var pos = position.Value;
positionPtr = &pos;
}
if (angles.HasValue)
{
var ang = angles.Value;
anglePtr = &ang;
}
if (velocity.HasValue)
{
var vel = velocity.Value;
velocityPtr = &vel;
}
VirtualFunction.CreateVoid<IntPtr, IntPtr, IntPtr, IntPtr>(Handle, GameData.GetOffset("CBaseEntity_Teleport"))(Handle,
(nint)positionPtr,
(nint)anglePtr, (nint)velocityPtr);
}
}
/// <exception cref="InvalidOperationException">Entity is not valid</exception>
@@ -36,7 +60,20 @@ public partial class CBaseEntity
/// <summary>
/// Shorthand for accessing an entity's CBodyComponent?.SceneNode?.AbsOrigin;
/// </summary>
public Vector? AbsOrigin => CBodyComponent?.SceneNode?.AbsOrigin;
public Vector3 AbsOrigin
{
get => CBodyComponent?.SceneNode?.AbsOrigin ?? Vector3.Zero;
set
{
Guard.IsValidEntity(this);
if (CBodyComponent?.SceneNode == null)
{
throw new InvalidOperationException("Entity does not have a CBodyComponent.");
}
CBodyComponent.SceneNode.AbsOrigin = value;
}
}
/// <summary>
/// Shorthand for accessing an entity's CBodyComponent?.SceneNode?.AbsRotation;
@@ -62,7 +99,7 @@ public partial class CBaseEntity
public uint EmitSound(string soundEventName, RecipientFilter? recipients = null, float volume = 1f, float pitch = 0)
{
Guard.IsValidEntity(this);
if (recipients == null)
{
recipients = new RecipientFilter();

View File

@@ -14,6 +14,8 @@
* along with CounterStrikeSharp. If not, see <https://www.gnu.org/licenses/>. *
*/
using System.Runtime.InteropServices;
using CounterStrikeSharp.API.Modules.Entities.Constants;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
@@ -30,11 +32,27 @@ public partial class CCSGameRules
VirtualFunctions.TerminateRound(Handle, roundEndReason, delay, 0, 0);
}
internal CBaseEntity? FindPickerEntityInternal(CBasePlayerController player)
{
// TODO: TEST!
// the third parameter seems to be something like `CDefaultTypedEntityInstanceFilter<CBaseEntity>` but its optional (earlier it was a string?)
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
VirtualFunctionWithReturn<CCSGameRules, CBasePlayerController, IntPtr?, CBaseEntity?> CCSGameRules_FindPickerEntity = new(Handle, GameData.GetOffset("CCSGameRules_FindPickerEntity"));
return CCSGameRules_FindPickerEntity.Invoke(this, player, null);
}
else
{
VirtualFunctionWithReturn<CCSGameRules, CBasePlayerController, IntPtr?, double, double, CBaseEntity?> CCSGameRules_FindPickerEntity = new(Handle, GameData.GetOffset("CCSGameRules_FindPickerEntity"));
return CCSGameRules_FindPickerEntity.Invoke(this, player, null, 0, 0); // on linux we have a fourth and fifth parameter aswell, but they are unused because the condition for them is always unmet.
}
}
public T? FindPickerEntity<T>(CBasePlayerController player)
where T : CBaseEntity
{
VirtualFunctionWithReturn<CCSGameRules, CBasePlayerController, CBaseEntity?> CCSGameRules_FindPickerEntity = new (Handle, GameData.GetOffset("CCSGameRules_FindPickerEntity"));
CBaseEntity? entity = CCSGameRules_FindPickerEntity.Invoke(this, player);
CBaseEntity? entity = FindPickerEntityInternal(player);
if (entity == null || !entity.IsValid)
{

View File

@@ -1,4 +1,5 @@
using System;
using System.Numerics;
using CounterStrikeSharp.API.Modules.Cvars;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Entities.Constants;
@@ -50,7 +51,7 @@ public partial class CCSPlayerController
{
Guard.IsValidEntity(this);
VirtualFunctions.ClientPrint(Handle, HudDestination.Chat, message, 0, 0, 0, 0);
NativeAPI.ClientPrint(this.Slot, (int)HudDestination.Chat, message);
}
/// <exception cref="InvalidOperationException">Entity is not valid</exception>
@@ -58,7 +59,7 @@ public partial class CCSPlayerController
{
Guard.IsValidEntity(this);
VirtualFunctions.ClientPrint(Handle, HudDestination.Center, message, 0, 0, 0, 0);
NativeAPI.ClientPrint(this.Slot, (int)HudDestination.Center, message);
}
/// <exception cref="InvalidOperationException">Entity is not valid</exception>
@@ -66,7 +67,7 @@ public partial class CCSPlayerController
{
Guard.IsValidEntity(this);
VirtualFunctions.ClientPrint(Handle, HudDestination.Alert, message, 0, 0, 0, 0);
NativeAPI.ClientPrint(this.Slot, (int)HudDestination.Alert, message);
}
public void PrintToCenterHtml(string message) => PrintToCenterHtml(message, 5);
@@ -343,7 +344,7 @@ public partial class CCSPlayerController
[Obsolete(
"You are trying to call Teleport on a non-physical player. Maybe you mean Pawn? (See: https://docs.cssharp.dev/docs/guides/referencing-players.html#controllers--pawns)")]
public new void Teleport(Vector? position = null, QAngle? angles = null, Vector? velocity = null)
public new void Teleport(Vector3? position = null, QAngle? angles = null, Vector3? velocity = null)
{
base.Teleport(position, angles, velocity);
}

View File

@@ -16,6 +16,7 @@
using System.Collections;
using System.Runtime.InteropServices;
using CounterStrikeSharp.API.Natives;
namespace CounterStrikeSharp.API.Core
{

View File

@@ -1,49 +1,51 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Natives;
using CounterStrikeSharp.API.Natives.Structs;
namespace CounterStrikeSharp.API.Core;
public partial class CEntityIOOutput
{
public EntityIOConnection_t? Connections => Utilities.GetPointer<EntityIOConnection_t>(Handle + 8);
public EntityIOOutputDesc_t Description => new(Marshal.ReadIntPtr(Handle + 16));
}
public class EntityIOOutputDesc_t : NativeObject
{
public EntityIOOutputDesc_t(IntPtr pointer) : base(pointer)
{
}
public string Name => Utilities.ReadStringUtf8(Handle + 0);
public unsafe ref uint Flags => ref Unsafe.AsRef<uint>((void*)(Handle + 8));
public unsafe ref uint OutputOffset => ref Unsafe.AsRef<uint>((void*)(Handle + 16));
}
public class EntityIOConnection_t : EntityIOConnectionDesc_t
{
public EntityIOConnection_t(IntPtr pointer) : base(pointer)
{
}
public unsafe ref bool MarkedForRemoval => ref Unsafe.AsRef<bool>((void*)(Handle + 40));
public EntityIOConnection_t? Next => Utilities.GetPointer<EntityIOConnection_t>(Handle + 48);
}
public class EntityIOConnectionDesc_t : NativeObject
{
public EntityIOConnectionDesc_t(IntPtr pointer) : base(pointer)
{
}
public string TargetDesc => Utilities.ReadStringUtf8(Handle + 0);
public string TargetInput => Utilities.ReadStringUtf8(Handle + 8);
public string ValueOverride => Utilities.ReadStringUtf8(Handle + 16);
public CEntityHandle Target => new(Handle + 24);
public unsafe ref EntityIOTargetType_t TargetType => ref Unsafe.AsRef<EntityIOTargetType_t>((void*)(Handle + 28));
public unsafe ref int TimesToFire => ref Unsafe.AsRef<int>((void*)(Handle + 32));
public unsafe ref float Delay => ref Unsafe.AsRef<float>((void*)(Handle + 36));
}
public partial class CEntityIOOutput
{
public EntityIOConnection_t? Connections => Utilities.GetPointer<EntityIOConnection_t>(Handle + 8);
public EntityIOOutputDesc_t Description => new(Marshal.ReadIntPtr(Handle + 16));
}
public class EntityIOOutputDesc_t : NativeObject
{
public EntityIOOutputDesc_t(IntPtr pointer) : base(pointer)
{
}
public string Name => Utilities.ReadStringUtf8(Handle + 0);
public unsafe ref uint Flags => ref Unsafe.AsRef<uint>((void*)(Handle + 8));
public unsafe ref uint OutputOffset => ref Unsafe.AsRef<uint>((void*)(Handle + 16));
}
public class EntityIOConnection_t : EntityIOConnectionDesc_t
{
public EntityIOConnection_t(IntPtr pointer) : base(pointer)
{
}
public unsafe ref bool MarkedForRemoval => ref Unsafe.AsRef<bool>((void*)(Handle + 40));
public EntityIOConnection_t? Next => Utilities.GetPointer<EntityIOConnection_t>(Handle + 48);
}
public class EntityIOConnectionDesc_t : NativeObject
{
public EntityIOConnectionDesc_t(IntPtr pointer) : base(pointer)
{
}
public string TargetDesc => Utilities.ReadStringUtf8(Handle + 0);
public string TargetInput => Utilities.ReadStringUtf8(Handle + 8);
public string ValueOverride => Utilities.ReadStringUtf8(Handle + 16);
public unsafe CHandle<CEntityInstance> Target => Unsafe.AsRef<CHandle<CEntityInstance>>((void*)(Handle + 24));
public unsafe ref EntityIOTargetType_t TargetType => ref Unsafe.AsRef<EntityIOTargetType_t>((void*)(Handle + 28));
public unsafe ref int TimesToFire => ref Unsafe.AsRef<int>((void*)(Handle + 32));
public unsafe ref float Delay => ref Unsafe.AsRef<float>((void*)(Handle + 36));
}

View File

@@ -7,6 +7,7 @@ using System.Runtime.InteropServices;
using System.Text;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Natives.Structs;
namespace CounterStrikeSharp.API.Core;
@@ -19,17 +20,16 @@ public partial class CEntityInstance : IEquatable<CEntityInstance>
public CEntityInstance(uint rawHandle) : base(rawHandle)
{
}
/// <summary>
/// Checks that the entity handle is valid and the handle points to a valid entity
/// </summary>
public bool IsValid => EntityHandle.IsValid && Handle != IntPtr.Zero;
public new bool IsValid => EntityHandle.IsValid && Handle != IntPtr.Zero;
[Obsolete("Use Index instead", true)] public CEntityIndex? EntityIndex => new CEntityIndex(EntityHandle.EntityIndex);
public uint Index => EntityHandle.EntityIndex;
[Obsolete("Use Index instead", true)]
public CEntityIndex? EntityIndex => new CEntityIndex(EntityHandle.Index);
public uint Index => EntityHandle.Index;
public string DesignerName => IsValid ? Entity?.DesignerName : null;
public void Remove()
@@ -38,7 +38,7 @@ public partial class CEntityInstance : IEquatable<CEntityInstance>
VirtualFunctions.UTIL_Remove(this.Handle);
}
public bool Equals(CEntityInstance? other)
{
return this.EntityHandle.Equals(other?.EntityHandle);
@@ -78,7 +78,8 @@ public partial class CEntityInstance : IEquatable<CEntityInstance>
/// <param name="value">String variant value to send with the event</param>
/// <param name="outputId">Unknown, defaults to 0</param>
/// <exception cref="InvalidOperationException">Entity is not valid</exception>
public void AcceptInput(string inputName, CEntityInstance? activator = null, CEntityInstance? caller = null, string value = "", int outputId = 0)
public void AcceptInput(string inputName, CEntityInstance? activator = null, CEntityInstance? caller = null, string value = "",
int outputId = 0)
{
Guard.IsValidEntity(this);
@@ -101,16 +102,18 @@ public partial class CEntityInstance : IEquatable<CEntityInstance>
/// <param name="delay">Delay in seconds before calling the input</param>
/// <param name="outputId">Unknown, defaults to 0</param>
/// <exception cref="InvalidOperationException">Entity is not valid</exception>
public void AddEntityIOEvent(string inputName, CEntityInstance? activator = null, CEntityInstance? caller = null, string value = "", float delay = 0, int outputId = 0)
public void AddEntityIOEvent(string inputName, CEntityInstance? activator = null, CEntityInstance? caller = null, string value = "",
float delay = 0, int outputId = 0)
{
Guard.IsValidEntity(this);
NativeAPI.AddEntityIoEvent(Handle, inputName, activator?.Handle ?? IntPtr.Zero, caller?.Handle ?? IntPtr.Zero, value, delay, outputId);
NativeAPI.AddEntityIoEvent(Handle, inputName, activator?.Handle ?? IntPtr.Zero, caller?.Handle ?? IntPtr.Zero, value, delay,
outputId);
}
}
public partial class CEntityIdentity
{
public unsafe CEntityInstance EntityInstance => new(Unsafe.Read<IntPtr>((void*)Handle));
public unsafe CHandle<CEntityInstance> EntityHandle => new(this.Handle + 0x10);
public unsafe CHandle<CEntityInstance> EntityHandle => Unsafe.Read<CHandle<CEntityInstance>>((void*)(this.Handle + 0x10));
}

View File

@@ -1,4 +1,5 @@
using System;
using System.Numerics;
using System.Reflection.Metadata;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
@@ -11,7 +12,7 @@ public partial class CNetworkOriginCellCoordQuantizedVector
{
private const int CELL_WIDTH = 1 << 9;
public Vector Vector => new(
public Vector3 Vector => new(
(CellX - 32) * CELL_WIDTH + X,
(CellY - 32) * CELL_WIDTH + Y,
(CellZ - 32) * CELL_WIDTH + Z);

View File

@@ -13,7 +13,7 @@ public partial class CTakeDamageInfo
/// </returns>
public HitGroup_t GetHitGroup()
{
IntPtr v4 = Marshal.ReadIntPtr(Handle, 0x78);
IntPtr v4 = Marshal.ReadIntPtr(Handle, GameData.GetOffset("CTakeDamageInfo_HitGroup"));
if (v4 == nint.Zero)
{

View File

@@ -0,0 +1,15 @@
using CounterStrikeSharp.API.Natives;
namespace CounterStrikeSharp.API.Core;
public class CUtlSymbolLarge : NativeObject
{
public CUtlSymbolLarge(IntPtr pointer) : base(pointer)
{
}
public string String
{
get { return NativeAPI.GetStringFromSymbolLarge(Handle); }
}
}

View File

@@ -1,13 +1,55 @@
namespace CounterStrikeSharp.API.Core;
/// <summary>
/// Placeholder for CVariant
/// <see href="https://github.com/alliedmodders/hl2sdk/blob/cs2/public/variant.h"/>
/// <remarks>A lot of entity outputs do not use this value</remarks>
/// </summary>
public class CVariant : NativeObject
{
public CVariant(IntPtr pointer) : base(pointer)
{
}
}
using System.Reflection.Metadata;
using CounterStrikeSharp.API.Natives;
namespace CounterStrikeSharp.API.Core;
public class CVariant : NativeObject
{
public CVariant(IntPtr pointer) : base(pointer)
{
}
public fieldtype_t FieldType => (fieldtype_t)NativeAPI.GetVariantType(Handle);
public T Get<T>()
{
var type = typeof(T);
object result = type switch
{
_ when type == typeof(float) => NativeAPI.GetVariantFloat(Handle),
_ when type == typeof(int) => NativeAPI.GetVariantInt(Handle),
_ when type == typeof(uint) => NativeAPI.GetVariantUint(Handle),
_ when type == typeof(string) => NativeAPI.GetVariantString(Handle),
_ when type == typeof(bool) => NativeAPI.GetVariantBool(Handle),
_ => throw new NotSupportedException(),
};
return (T)result;
}
public void Set<T>(T value)
{
var type = typeof(T);
switch (type)
{
case var _ when value is float f:
NativeAPI.SetVariantFloat(Handle, f);
break;
case var _ when value is int i:
NativeAPI.SetVariantInt(Handle, i);
break;
case var _ when value is uint ui:
NativeAPI.SetVariantUint(Handle, ui);
break;
case var _ when value is bool b:
NativeAPI.SetVariantBool(Handle, b);
break;
case var _ when value is string s:
NativeAPI.SetVariantString(Handle, s);
break;
default:
throw new NotSupportedException();
}
}
}

View File

@@ -7,6 +7,8 @@ using System.Runtime.InteropServices;
using System.Text;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Natives;
using CounterStrikeSharp.API.Natives.Structs;
namespace CounterStrikeSharp.API.Core;

View File

@@ -0,0 +1,6 @@
namespace CounterStrikeSharp.API.Core.Plugin.Host;
public interface IPluginContextDependencyResolver
{
public string? ResolvePath();
}

View File

@@ -0,0 +1,93 @@
using System.Reflection;
using Microsoft.Extensions.DependencyModel;
namespace CounterStrikeSharp.API.Core.Plugin.Host;
public class PluginContextNuGetDependencyResolver : IPluginContextDependencyResolver
{
private const string NuGetPackagesEnvName = "NUGET_PACKAGES";
private readonly string _rootAssemblyName;
private readonly string _rootAssemblyPath;
private readonly AssemblyName _assemblyName;
public PluginContextNuGetDependencyResolver(string rootAssemblyName,
string rootAssemblyPath,
AssemblyName assemblyName)
{
_rootAssemblyName = rootAssemblyName;
_rootAssemblyPath = rootAssemblyPath;
_assemblyName = assemblyName;
}
public string? ResolvePath()
{
var packagesRoot = GetNuGetPackagesRoot();
if (string.IsNullOrWhiteSpace(packagesRoot))
{
return null;
}
var packageName = _assemblyName.Name;
if (string.IsNullOrWhiteSpace(packageName))
{
return null;
}
var dependenciesPath = Path.Combine(_rootAssemblyPath, $"{_rootAssemblyName}.deps.json");
if (!File.Exists(dependenciesPath))
{
return null;
}
using var dependenciesStream = File.OpenRead(dependenciesPath);
using var dependencyReader = new DependencyContextJsonReader();
var context = dependencyReader.Read(dependenciesStream);
var dependencyPath = string.Empty;
foreach (var dependency in context.RuntimeLibraries)
{
if (dependency.Name == packageName)
{
if (string.IsNullOrWhiteSpace(dependency.Path) || !dependency.RuntimeAssemblyGroups.Any())
{
return null;
}
var runtimeAssemblyGroup = dependency.RuntimeAssemblyGroups[0];
if (!runtimeAssemblyGroup.AssetPaths.Any())
{
return null;
}
dependencyPath = Path.Combine(dependency.Path, runtimeAssemblyGroup.AssetPaths[0]);
break;
}
}
if (string.IsNullOrWhiteSpace(dependencyPath))
{
return null;
}
return Path.Combine(packagesRoot, dependencyPath);
}
private static string? GetNuGetPackagesRoot()
{
var nugetPath = Environment.GetEnvironmentVariable(NuGetPackagesEnvName);
if (!string.IsNullOrWhiteSpace(nugetPath) && Directory.Exists(nugetPath))
{
return nugetPath;
}
var userProfilePath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
if (string.IsNullOrWhiteSpace(userProfilePath))
{
return null;
}
return Path.Combine(userProfilePath, ".nuget", "packages");
}
}

View File

@@ -1,127 +1,251 @@
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Runtime.Loader;
using CounterStrikeSharp.API.Core.Capabilities;
using CounterStrikeSharp.API.Core.Commands;
using CounterStrikeSharp.API.Core.Hosting;
using McMaster.NETCore.Plugins;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace CounterStrikeSharp.API.Core.Plugin.Host;
public class PluginManager : IPluginManager
{
private readonly HashSet<PluginContext> _loadedPluginContexts = new();
private readonly IScriptHostConfiguration _scriptHostConfiguration;
private readonly ICommandManager _commandManager;
private readonly IServiceProvider _serviceProvider;
private readonly ILogger<PluginManager> _logger;
private readonly Dictionary<string, Assembly> _sharedAssemblies = new();
private bool _loadedSharedLibs = false;
public PluginManager(IScriptHostConfiguration scriptHostConfiguration, ICommandManager commandManager,
ILogger<PluginManager> logger, IServiceProvider serviceProvider, IServiceScopeFactory serviceScopeFactory)
{
_scriptHostConfiguration = scriptHostConfiguration;
_commandManager = commandManager;
_logger = logger;
_serviceProvider = serviceProvider;
}
private void LoadLibrary(string path)
{
var loader = PluginLoader.CreateFromAssemblyFile(path, new[] { typeof(IPlugin), typeof(PluginCapability<>), typeof(PlayerCapability<>) },
config => { config.PreferSharedTypes = true; });
var assembly = loader.LoadDefaultAssembly();
_sharedAssemblies[assembly.GetName().Name] = assembly;
}
private void LoadSharedLibraries()
{
var sharedDirectory = Directory.GetDirectories(_scriptHostConfiguration.SharedPath);
var sharedAssemblyPaths = sharedDirectory
.Select(dir => Path.Combine(dir, Path.GetFileName(dir) + ".dll"))
.Where(File.Exists)
.ToArray();
foreach (var sharedAssemblyPath in sharedAssemblyPaths)
{
try
{
LoadLibrary(sharedAssemblyPath);
}
catch (Exception e)
{
_logger.LogError(e, "Failed to load shared assembly from {Path}", sharedAssemblyPath);
}
}
}
public void Load()
{
var pluginDirectories = Directory.GetDirectories(_scriptHostConfiguration.PluginPath);
var pluginAssemblyPaths = pluginDirectories
.Select(dir => Path.Combine(dir, Path.GetFileName(dir) + ".dll"))
.Where(File.Exists)
.ToArray();
AssemblyLoadContext.Default.Resolving += (context, name) =>
{
if (!_loadedSharedLibs)
{
LoadSharedLibraries();
_loadedSharedLibs = true;
}
if (!_sharedAssemblies.TryGetValue(name.Name, out var assembly))
{
return null;
}
return assembly;
};
if (CoreConfig.PluginAutoLoadEnabled)
{
foreach (var path in pluginAssemblyPaths)
{
try
{
LoadPlugin(path);
}
catch (Exception e)
{
_logger.LogError(e, "Failed to load plugin from {Path}", path);
}
}
}
foreach (var plugin in _loadedPluginContexts)
{
try
{
plugin.Plugin?.OnAllPluginsLoaded(false);
}
catch (Exception e)
{
_logger.LogError(e, "OnAllPluginsLoaded failed");
}
}
}
public IEnumerable<PluginContext> GetLoadedPlugins()
{
return _loadedPluginContexts;
}
public void LoadPlugin(string path)
{
var plugin = new PluginContext(_serviceProvider, _commandManager, _scriptHostConfiguration, path,
_loadedPluginContexts.Select(x => x.PluginId).DefaultIfEmpty(0).Max() + 1);
_loadedPluginContexts.Add(plugin);
plugin.Load();
}
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Runtime.Loader;
using CounterStrikeSharp.API.Core.Capabilities;
using CounterStrikeSharp.API.Core.Commands;
using CounterStrikeSharp.API.Core.Hosting;
using McMaster.NETCore.Plugins;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace CounterStrikeSharp.API.Core.Plugin.Host;
public class PluginManager : IPluginManager
{
private readonly HashSet<PluginContext> _loadedPluginContexts = new();
private readonly IScriptHostConfiguration _scriptHostConfiguration;
private readonly ICommandManager _commandManager;
private readonly IServiceProvider _serviceProvider;
private readonly ILogger<PluginManager> _logger;
private readonly Dictionary<string, Assembly> _sharedAssemblies = new();
private bool _loadedSharedLibs = false;
public PluginManager(IScriptHostConfiguration scriptHostConfiguration, ICommandManager commandManager,
ILogger<PluginManager> logger, IServiceProvider serviceProvider, IServiceScopeFactory serviceScopeFactory)
{
_scriptHostConfiguration = scriptHostConfiguration;
_commandManager = commandManager;
_logger = logger;
_serviceProvider = serviceProvider;
}
private void LoadLibrary(string path)
{
var loader = PluginLoader.CreateFromAssemblyFile(path, new[] { typeof(IPlugin), typeof(PluginCapability<>), typeof(PlayerCapability<>) },
config => { config.PreferSharedTypes = true; });
var assembly = loader.LoadDefaultAssembly();
if (CoreConfig.PluginResolveNugetPackages)
{
foreach (var assemblyName in assembly.GetReferencedAssemblies())
{
if (TryLoadDependency(path, assembly.GetName().Name, assemblyName, out var dependency))
{
_sharedAssemblies.TryAdd(dependency.GetName().Name, dependency);
}
}
}
_sharedAssemblies[assembly.GetName().Name] = assembly;
}
private void LoadSharedLibraries()
{
var sharedDirectory = Directory.GetDirectories(_scriptHostConfiguration.SharedPath);
var sharedAssemblyPaths = sharedDirectory
.Select(dir => Path.Combine(dir, Path.GetFileName(dir) + ".dll"))
.Where(File.Exists)
.ToArray();
foreach (var sharedAssemblyPath in sharedAssemblyPaths)
{
try
{
LoadLibrary(sharedAssemblyPath);
}
catch (Exception e)
{
_logger.LogError(e, "Failed to load shared assembly from {Path}", sharedAssemblyPath);
}
}
}
public void Load()
{
var pluginAssemblyPaths = GetPluginsAssemblyPaths();
AssemblyLoadContext.Default.Resolving += (context, name) =>
{
if (!_loadedSharedLibs)
{
LoadSharedLibraries();
_loadedSharedLibs = true;
}
if (!_sharedAssemblies.TryGetValue(name.Name, out var assembly))
{
if (CoreConfig.PluginResolveNugetPackages && TryLoadExternalLibrary(name, out assembly))
{
return assembly;
}
return null;
}
return assembly;
};
if (CoreConfig.PluginAutoLoadEnabled)
{
foreach (var path in pluginAssemblyPaths)
{
try
{
LoadPlugin(path);
}
catch (Exception e)
{
_logger.LogError(e, "Failed to load plugin from {Path}", path);
}
}
}
foreach (var plugin in _loadedPluginContexts)
{
try
{
plugin.Plugin?.OnAllPluginsLoaded(false);
}
catch (Exception e)
{
_logger.LogError(e, "OnAllPluginsLoaded failed");
}
}
}
private bool TryLoadExternalLibrary(AssemblyName assemblyName, out Assembly? assembly)
{
assembly = null;
if (!TryResolveReflectionAssemblyPath(out var pluginName, out var pluginPath))
{
return false;
}
if (!TryLoadDependency(pluginPath, pluginName, assemblyName, out assembly))
{
return false;
}
return true;
}
private bool TryLoadDependency(string pluginAssemblyPath,
string pluginAssemblyName,
AssemblyName dependencyAssemblyName,
out Assembly? assembly)
{
assembly = null;
var dependencyName = dependencyAssemblyName.Name!;
if (string.IsNullOrEmpty(pluginAssemblyPath) || _sharedAssemblies.ContainsKey(dependencyName))
{
return false;
}
var resolver = new PluginContextNuGetDependencyResolver(
rootAssemblyName: pluginAssemblyName,
rootAssemblyPath: Path.GetDirectoryName(pluginAssemblyPath)!,
assemblyName: dependencyAssemblyName);
var dependencyPath = resolver.ResolvePath();
if (string.IsNullOrWhiteSpace(dependencyPath))
{
return false;
}
var loader = PluginLoader.CreateFromAssemblyFile(dependencyPath, configure: c =>
{
c.PreferSharedTypes = true;
});
assembly = loader.LoadDefaultAssembly();
_sharedAssemblies[dependencyAssemblyName.Name!] = assembly;
return true;
}
public IEnumerable<PluginContext> GetLoadedPlugins()
{
return _loadedPluginContexts;
}
public void LoadPlugin(string path)
{
var plugin = new PluginContext(_serviceProvider, _commandManager, _scriptHostConfiguration, path,
_loadedPluginContexts.Select(x => x.PluginId).DefaultIfEmpty(0).Max() + 1);
_loadedPluginContexts.Add(plugin);
plugin.Load();
}
private static bool TryResolveReflectionAssemblyPath(out string? assemblyName, out string? assemblyPath)
{
assemblyPath = null;
assemblyName = null;
if (AssemblyLoadContext.CurrentContextualReflectionContext is var reflectionContext && reflectionContext is null)
{
return false;
}
var mainAssemblyPathField = reflectionContext
.GetType()
.GetField("_mainAssemblyPath", BindingFlags.NonPublic | BindingFlags.Instance);
if (mainAssemblyPathField is null)
{
return false;
}
assemblyPath = (string)mainAssemblyPathField.GetValue(reflectionContext)!;
return !string.IsNullOrEmpty(assemblyPath);
}
private string[] GetPluginsAssemblyPaths()
{
// Skip "disabled" at root level
var rootSubDirs = Directory.GetDirectories(_scriptHostConfiguration.PluginPath)
.Where(d => !Path.GetFileName(d).Equals("disabled", StringComparison.OrdinalIgnoreCase));
var pluginDirectories = new List<string>();
foreach (var subDir in rootSubDirs)
{
var stack = new Stack<string>();
stack.Push(subDir);
while (stack.Count > 0)
{
var currentDir = stack.Pop();
var dirName = Path.GetFileName(currentDir);
var expectedDll = Path.Combine(currentDir, dirName + ".dll");
if (File.Exists(expectedDll))
{
pluginDirectories.Add(currentDir);
// Stop scanning deeper in this directory
continue;
}
// Add subdirectories to stack for further scanning
foreach (var child in Directory.GetDirectories(currentDir))
stack.Push(child);
}
}
return pluginDirectories
.Select(d => Path.Combine(d, Path.GetFileName(d) + ".dll"))
.ToArray();
}
}

View File

@@ -31,10 +31,17 @@ using Microsoft.Extensions.Localization;
using Microsoft.Extensions.Logging;
using Serilog;
using ILogger = Microsoft.Extensions.Logging.ILogger;
using System.Threading;
using System;
namespace CounterStrikeSharp.API.Core.Plugin
{
public class PluginContext : IPluginContext
public interface ISelfPluginControl
{
void TerminateSelf(string reason);
}
public class PluginContext : IPluginContext, ISelfPluginControl
{
public PluginState State { get; set; } = PluginState.Unregistered;
public IPlugin Plugin { get; private set; }
@@ -50,10 +57,12 @@ namespace CounterStrikeSharp.API.Core.Plugin
private readonly string _path;
private readonly FileSystemWatcher _fileWatcher;
private readonly IServiceProvider _applicationServiceProvider;
public string FilePath => _path;
private IServiceScope _serviceScope;
public string TerminationReason { get; private set; }
// TOOD: ServiceCollection
private ILogger _logger = CoreLogging.Factory.CreateLogger<PluginContext>();
@@ -65,7 +74,7 @@ namespace CounterStrikeSharp.API.Core.Plugin
_hostConfiguration = hostConfiguration;
_path = path;
PluginId = id;
Loader = PluginLoader.CreateFromAssemblyFile(path,
new[]
{
@@ -77,7 +86,7 @@ namespace CounterStrikeSharp.API.Core.Plugin
config.IsUnloadable = true;
config.PreferSharedTypes = true;
});
if (CoreConfig.PluginHotReloadEnabled)
{
_fileWatcher = new FileSystemWatcher
@@ -113,14 +122,14 @@ namespace CounterStrikeSharp.API.Core.Plugin
Load(hotReload: true);
Plugin.OnAllPluginsLoaded(hotReload: true);
});
return Task.CompletedTask;
}
public void Load(bool hotReload = false)
{
if (State == PluginState.Loaded) return;
using (Loader.EnterContextualReflection())
{
var defaultAssembly = Loader.LoadDefaultAssembly();
@@ -178,7 +187,7 @@ namespace CounterStrikeSharp.API.Core.Plugin
method?.Invoke(pluginServiceCollection, new object[] { serviceCollection });
}
}
serviceCollection.AddScoped<ICommandManager>(c => _commandManager);
serviceCollection.DecorateSingleton<ICommandManager, PluginCommandManagerDecorator>();
@@ -215,7 +224,33 @@ namespace CounterStrikeSharp.API.Core.Plugin
Plugin.Logger = ServiceProvider.GetRequiredService<ILoggerFactory>().CreateLogger(pluginType);
Plugin.InitializeConfig(Plugin, pluginType);
Plugin.Load(hotReload);
if (Plugin is BasePlugin basePlugin)
{
basePlugin.SelfControl = this;
}
this.TerminationReason = string.Empty;
try
{
Plugin.Load(hotReload);
}
catch (Exception ex)
{
if ((ex.InnerException ?? ex) is PluginTerminationException pluginEx)
{
_logger.LogCritical("Terminating plugin {Name} with reason: {Reason}", Plugin.ModuleName, pluginEx.TerminationReason);
this.TerminationReason = pluginEx.TerminationReason;
}
else
{
_logger.LogError(ex, "Failed to load plugin {Name}", Plugin.ModuleName);
this.TerminationReason = ex.Message ?? "Unknown";
}
Unload(hotReload);
return;
}
_logger.LogInformation("Finished loading plugin {Name}", Plugin.ModuleName);
@@ -233,12 +268,60 @@ namespace CounterStrikeSharp.API.Core.Plugin
_logger.LogInformation("Unloading plugin {Name}", Plugin.ModuleName);
Plugin.Unload(hotReload);
Plugin.Dispose();
_serviceScope.Dispose();
try
{
Plugin.Unload(hotReload);
}
catch
{
_logger.LogError("Failed to unload {Name} during error recovery, forcing cleanup", Plugin.ModuleName);
return;
}
finally
{
Plugin.Dispose();
_serviceScope.Dispose();
}
_logger.LogInformation("Finished unloading plugin {Name}", cachedName);
}
public void TerminateWithReason(string reason)
{
this.TerminationReason = reason;
switch (State)
{
case PluginState.Unloaded:
case PluginState.Loading:
break;
case PluginState.Loaded:
_logger.LogInformation("Terminating plugin {Name} with reason: {Reason}", Plugin.ModuleName, reason);
Unload(false);
break;
}
// Force execution flow interruption via globally-handled exception to prevent stack unwinding
throw new PluginTerminationException(reason);
}
void ISelfPluginControl.TerminateSelf(string reason)
{
if (State != PluginState.Unloaded)
{
if (Thread.CurrentThread.IsThreadPoolThread)
{
Server.NextFrame(() => TerminateWithReason(reason));
}
else
{
TerminateWithReason(reason);
}
// **Failsafe mechanism** ensures execution termination
// Prevents control flow leakage back to plugin execution context
throw new NotImplementedException();
}
}
}
}

View File

@@ -0,0 +1,32 @@
using System;
namespace CounterStrikeSharp.API.Core.Plugin
{
public class PluginTerminationException : Exception
{
public string PluginName { get; }
public string TerminationReason { get; }
public PluginTerminationException(string reason) : base($"Plugin terminated: {reason}")
{
TerminationReason = reason;
}
public PluginTerminationException(string pluginName, string reason) : base($"Plugin '{pluginName}' terminated: {reason}")
{
PluginName = pluginName;
TerminationReason = reason;
}
public PluginTerminationException(string reason, Exception innerException) : base($"Plugin terminated: {reason}", innerException)
{
TerminationReason = reason;
}
public PluginTerminationException(string pluginName, string reason, Exception innerException) : base($"Plugin '{pluginName}' terminated: {reason}", innerException)
{
PluginName = pluginName;
TerminationReason = reason;
}
}
}

View File

@@ -1,49 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CAISound : CPointEntity
{
public CAISound (IntPtr pointer) : base(pointer) {}
// m_iSoundType
[SchemaMember("CAISound", "m_iSoundType")]
public ref SoundTypes_t SoundType => ref Schema.GetRef<SoundTypes_t>(this.Handle, "CAISound", "m_iSoundType");
// m_iSoundFlags
[SchemaMember("CAISound", "m_iSoundFlags")]
public ref SoundFlags_t SoundFlags => ref Schema.GetRef<SoundFlags_t>(this.Handle, "CAISound", "m_iSoundFlags");
// m_iVolume
[SchemaMember("CAISound", "m_iVolume")]
public ref Int32 Volume => ref Schema.GetRef<Int32>(this.Handle, "CAISound", "m_iVolume");
// m_iSoundIndex
[SchemaMember("CAISound", "m_iSoundIndex")]
public ref Int32 SoundIndex => ref Schema.GetRef<Int32>(this.Handle, "CAISound", "m_iSoundIndex");
// m_flDuration
[SchemaMember("CAISound", "m_flDuration")]
public ref float Duration => ref Schema.GetRef<float>(this.Handle, "CAISound", "m_flDuration");
// m_iszProxyEntityName
[SchemaMember("CAISound", "m_iszProxyEntityName")]
public string ProxyEntityName
{
get { return Schema.GetUtf8String(this.Handle, "CAISound", "m_iszProxyEntityName"); }
set { Schema.SetString(this.Handle, "CAISound", "m_iszProxyEntityName", value); }
}
}

View File

@@ -1,61 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CAI_Expresser : NativeObject
{
public CAI_Expresser (IntPtr pointer) : base(pointer) {}
// m_flStopTalkTime
[SchemaMember("CAI_Expresser", "m_flStopTalkTime")]
public ref float StopTalkTime => ref Schema.GetRef<float>(this.Handle, "CAI_Expresser", "m_flStopTalkTime");
// m_flStopTalkTimeWithoutDelay
[SchemaMember("CAI_Expresser", "m_flStopTalkTimeWithoutDelay")]
public ref float StopTalkTimeWithoutDelay => ref Schema.GetRef<float>(this.Handle, "CAI_Expresser", "m_flStopTalkTimeWithoutDelay");
// m_flBlockedTalkTime
[SchemaMember("CAI_Expresser", "m_flBlockedTalkTime")]
public ref float BlockedTalkTime => ref Schema.GetRef<float>(this.Handle, "CAI_Expresser", "m_flBlockedTalkTime");
// m_voicePitch
[SchemaMember("CAI_Expresser", "m_voicePitch")]
public ref Int32 VoicePitch => ref Schema.GetRef<Int32>(this.Handle, "CAI_Expresser", "m_voicePitch");
// m_flLastTimeAcceptedSpeak
[SchemaMember("CAI_Expresser", "m_flLastTimeAcceptedSpeak")]
public ref float LastTimeAcceptedSpeak => ref Schema.GetRef<float>(this.Handle, "CAI_Expresser", "m_flLastTimeAcceptedSpeak");
// m_bAllowSpeakingInterrupts
[SchemaMember("CAI_Expresser", "m_bAllowSpeakingInterrupts")]
public ref bool AllowSpeakingInterrupts => ref Schema.GetRef<bool>(this.Handle, "CAI_Expresser", "m_bAllowSpeakingInterrupts");
// m_bConsiderSceneInvolvementAsSpeech
[SchemaMember("CAI_Expresser", "m_bConsiderSceneInvolvementAsSpeech")]
public ref bool ConsiderSceneInvolvementAsSpeech => ref Schema.GetRef<bool>(this.Handle, "CAI_Expresser", "m_bConsiderSceneInvolvementAsSpeech");
// m_bSceneEntityDisabled
[SchemaMember("CAI_Expresser", "m_bSceneEntityDisabled")]
public ref bool SceneEntityDisabled => ref Schema.GetRef<bool>(this.Handle, "CAI_Expresser", "m_bSceneEntityDisabled");
// m_nLastSpokenPriority
[SchemaMember("CAI_Expresser", "m_nLastSpokenPriority")]
public ref Int32 LastSpokenPriority => ref Schema.GetRef<Int32>(this.Handle, "CAI_Expresser", "m_nLastSpokenPriority");
// m_pOuter
[SchemaMember("CAI_Expresser", "m_pOuter")]
public CBaseFlex? Outer => Schema.GetPointer<CBaseFlex>(this.Handle, "CAI_Expresser", "m_pOuter");
}

View File

@@ -1,69 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CAmbientGeneric : CPointEntity
{
public CAmbientGeneric (IntPtr pointer) : base(pointer) {}
// m_radius
[SchemaMember("CAmbientGeneric", "m_radius")]
public ref float Radius => ref Schema.GetRef<float>(this.Handle, "CAmbientGeneric", "m_radius");
// m_flMaxRadius
[SchemaMember("CAmbientGeneric", "m_flMaxRadius")]
public ref float MaxRadius => ref Schema.GetRef<float>(this.Handle, "CAmbientGeneric", "m_flMaxRadius");
// m_iSoundLevel
[SchemaMember("CAmbientGeneric", "m_iSoundLevel")]
public ref soundlevel_t SoundLevel => ref Schema.GetRef<soundlevel_t>(this.Handle, "CAmbientGeneric", "m_iSoundLevel");
// m_dpv
[SchemaMember("CAmbientGeneric", "m_dpv")]
public dynpitchvol_t Dpv => Schema.GetDeclaredClass<dynpitchvol_t>(this.Handle, "CAmbientGeneric", "m_dpv");
// m_fActive
[SchemaMember("CAmbientGeneric", "m_fActive")]
public ref bool Active => ref Schema.GetRef<bool>(this.Handle, "CAmbientGeneric", "m_fActive");
// m_fLooping
[SchemaMember("CAmbientGeneric", "m_fLooping")]
public ref bool Looping => ref Schema.GetRef<bool>(this.Handle, "CAmbientGeneric", "m_fLooping");
// m_iszSound
[SchemaMember("CAmbientGeneric", "m_iszSound")]
public string Sound
{
get { return Schema.GetUtf8String(this.Handle, "CAmbientGeneric", "m_iszSound"); }
set { Schema.SetString(this.Handle, "CAmbientGeneric", "m_iszSound", value); }
}
// m_sSourceEntName
[SchemaMember("CAmbientGeneric", "m_sSourceEntName")]
public string SourceEntName
{
get { return Schema.GetUtf8String(this.Handle, "CAmbientGeneric", "m_sSourceEntName"); }
set { Schema.SetString(this.Handle, "CAmbientGeneric", "m_sSourceEntName", value); }
}
// m_hSoundSource
[SchemaMember("CAmbientGeneric", "m_hSoundSource")]
public CHandle<CBaseEntity> SoundSource => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CAmbientGeneric", "m_hSoundSource");
// m_nSoundSourceEntIndex
[SchemaMember("CAmbientGeneric", "m_nSoundSourceEntIndex")]
public CEntityIndex SoundSourceEntIndex => Schema.GetDeclaredClass<CEntityIndex>(this.Handle, "CAmbientGeneric", "m_nSoundSourceEntIndex");
}

View File

@@ -1,117 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CAnimGraphNetworkedVariables : NativeObject
{
public CAnimGraphNetworkedVariables (IntPtr pointer) : base(pointer) {}
// m_PredNetBoolVariables
[SchemaMember("CAnimGraphNetworkedVariables", "m_PredNetBoolVariables")]
public NetworkedVector<UInt32> PredNetBoolVariables => Schema.GetDeclaredClass<NetworkedVector<UInt32>>(this.Handle, "CAnimGraphNetworkedVariables", "m_PredNetBoolVariables");
// m_PredNetByteVariables
[SchemaMember("CAnimGraphNetworkedVariables", "m_PredNetByteVariables")]
public NetworkedVector<byte> PredNetByteVariables => Schema.GetDeclaredClass<NetworkedVector<byte>>(this.Handle, "CAnimGraphNetworkedVariables", "m_PredNetByteVariables");
// m_PredNetUInt16Variables
[SchemaMember("CAnimGraphNetworkedVariables", "m_PredNetUInt16Variables")]
public NetworkedVector<UInt16> PredNetUInt16Variables => Schema.GetDeclaredClass<NetworkedVector<UInt16>>(this.Handle, "CAnimGraphNetworkedVariables", "m_PredNetUInt16Variables");
// m_PredNetIntVariables
[SchemaMember("CAnimGraphNetworkedVariables", "m_PredNetIntVariables")]
public NetworkedVector<Int32> PredNetIntVariables => Schema.GetDeclaredClass<NetworkedVector<Int32>>(this.Handle, "CAnimGraphNetworkedVariables", "m_PredNetIntVariables");
// m_PredNetUInt32Variables
[SchemaMember("CAnimGraphNetworkedVariables", "m_PredNetUInt32Variables")]
public NetworkedVector<UInt32> PredNetUInt32Variables => Schema.GetDeclaredClass<NetworkedVector<UInt32>>(this.Handle, "CAnimGraphNetworkedVariables", "m_PredNetUInt32Variables");
// m_PredNetUInt64Variables
[SchemaMember("CAnimGraphNetworkedVariables", "m_PredNetUInt64Variables")]
public NetworkedVector<UInt64> PredNetUInt64Variables => Schema.GetDeclaredClass<NetworkedVector<UInt64>>(this.Handle, "CAnimGraphNetworkedVariables", "m_PredNetUInt64Variables");
// m_PredNetFloatVariables
[SchemaMember("CAnimGraphNetworkedVariables", "m_PredNetFloatVariables")]
public NetworkedVector<float> PredNetFloatVariables => Schema.GetDeclaredClass<NetworkedVector<float>>(this.Handle, "CAnimGraphNetworkedVariables", "m_PredNetFloatVariables");
// m_PredNetVectorVariables
[SchemaMember("CAnimGraphNetworkedVariables", "m_PredNetVectorVariables")]
public NetworkedVector<Vector> PredNetVectorVariables => Schema.GetDeclaredClass<NetworkedVector<Vector>>(this.Handle, "CAnimGraphNetworkedVariables", "m_PredNetVectorVariables");
// m_PredNetQuaternionVariables
[SchemaMember("CAnimGraphNetworkedVariables", "m_PredNetQuaternionVariables")]
public NetworkedVector<Quaternion> PredNetQuaternionVariables => Schema.GetDeclaredClass<NetworkedVector<Quaternion>>(this.Handle, "CAnimGraphNetworkedVariables", "m_PredNetQuaternionVariables");
// m_PredNetGlobalSymbolVariables
[SchemaMember("CAnimGraphNetworkedVariables", "m_PredNetGlobalSymbolVariables")]
public NetworkedVector<string> PredNetGlobalSymbolVariables => Schema.GetDeclaredClass<NetworkedVector<string>>(this.Handle, "CAnimGraphNetworkedVariables", "m_PredNetGlobalSymbolVariables");
// m_OwnerOnlyPredNetBoolVariables
[SchemaMember("CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetBoolVariables")]
public NetworkedVector<UInt32> OwnerOnlyPredNetBoolVariables => Schema.GetDeclaredClass<NetworkedVector<UInt32>>(this.Handle, "CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetBoolVariables");
// m_OwnerOnlyPredNetByteVariables
[SchemaMember("CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetByteVariables")]
public NetworkedVector<byte> OwnerOnlyPredNetByteVariables => Schema.GetDeclaredClass<NetworkedVector<byte>>(this.Handle, "CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetByteVariables");
// m_OwnerOnlyPredNetUInt16Variables
[SchemaMember("CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetUInt16Variables")]
public NetworkedVector<UInt16> OwnerOnlyPredNetUInt16Variables => Schema.GetDeclaredClass<NetworkedVector<UInt16>>(this.Handle, "CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetUInt16Variables");
// m_OwnerOnlyPredNetIntVariables
[SchemaMember("CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetIntVariables")]
public NetworkedVector<Int32> OwnerOnlyPredNetIntVariables => Schema.GetDeclaredClass<NetworkedVector<Int32>>(this.Handle, "CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetIntVariables");
// m_OwnerOnlyPredNetUInt32Variables
[SchemaMember("CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetUInt32Variables")]
public NetworkedVector<UInt32> OwnerOnlyPredNetUInt32Variables => Schema.GetDeclaredClass<NetworkedVector<UInt32>>(this.Handle, "CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetUInt32Variables");
// m_OwnerOnlyPredNetUInt64Variables
[SchemaMember("CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetUInt64Variables")]
public NetworkedVector<UInt64> OwnerOnlyPredNetUInt64Variables => Schema.GetDeclaredClass<NetworkedVector<UInt64>>(this.Handle, "CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetUInt64Variables");
// m_OwnerOnlyPredNetFloatVariables
[SchemaMember("CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetFloatVariables")]
public NetworkedVector<float> OwnerOnlyPredNetFloatVariables => Schema.GetDeclaredClass<NetworkedVector<float>>(this.Handle, "CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetFloatVariables");
// m_OwnerOnlyPredNetVectorVariables
[SchemaMember("CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetVectorVariables")]
public NetworkedVector<Vector> OwnerOnlyPredNetVectorVariables => Schema.GetDeclaredClass<NetworkedVector<Vector>>(this.Handle, "CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetVectorVariables");
// m_OwnerOnlyPredNetQuaternionVariables
[SchemaMember("CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetQuaternionVariables")]
public NetworkedVector<Quaternion> OwnerOnlyPredNetQuaternionVariables => Schema.GetDeclaredClass<NetworkedVector<Quaternion>>(this.Handle, "CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetQuaternionVariables");
// m_OwnerOnlyPredNetGlobalSymbolVariables
[SchemaMember("CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetGlobalSymbolVariables")]
public NetworkedVector<string> OwnerOnlyPredNetGlobalSymbolVariables => Schema.GetDeclaredClass<NetworkedVector<string>>(this.Handle, "CAnimGraphNetworkedVariables", "m_OwnerOnlyPredNetGlobalSymbolVariables");
// m_nBoolVariablesCount
[SchemaMember("CAnimGraphNetworkedVariables", "m_nBoolVariablesCount")]
public ref Int32 BoolVariablesCount => ref Schema.GetRef<Int32>(this.Handle, "CAnimGraphNetworkedVariables", "m_nBoolVariablesCount");
// m_nOwnerOnlyBoolVariablesCount
[SchemaMember("CAnimGraphNetworkedVariables", "m_nOwnerOnlyBoolVariablesCount")]
public ref Int32 OwnerOnlyBoolVariablesCount => ref Schema.GetRef<Int32>(this.Handle, "CAnimGraphNetworkedVariables", "m_nOwnerOnlyBoolVariablesCount");
// m_nRandomSeedOffset
[SchemaMember("CAnimGraphNetworkedVariables", "m_nRandomSeedOffset")]
public ref Int32 RandomSeedOffset => ref Schema.GetRef<Int32>(this.Handle, "CAnimGraphNetworkedVariables", "m_nRandomSeedOffset");
// m_flLastTeleportTime
[SchemaMember("CAnimGraphNetworkedVariables", "m_flLastTeleportTime")]
public ref float LastTeleportTime => ref Schema.GetRef<float>(this.Handle, "CAnimGraphNetworkedVariables", "m_flLastTeleportTime");
}

View File

@@ -1,41 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CAttributeManager : NativeObject
{
public CAttributeManager (IntPtr pointer) : base(pointer) {}
// m_Providers
[SchemaMember("CAttributeManager", "m_Providers")]
public NetworkedVector<CHandle<CBaseEntity>> Providers => Schema.GetDeclaredClass<NetworkedVector<CHandle<CBaseEntity>>>(this.Handle, "CAttributeManager", "m_Providers");
// m_iReapplyProvisionParity
[SchemaMember("CAttributeManager", "m_iReapplyProvisionParity")]
public ref Int32 ReapplyProvisionParity => ref Schema.GetRef<Int32>(this.Handle, "CAttributeManager", "m_iReapplyProvisionParity");
// m_hOuter
[SchemaMember("CAttributeManager", "m_hOuter")]
public CHandle<CBaseEntity> Outer => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CAttributeManager", "m_hOuter");
// m_bPreventLoopback
[SchemaMember("CAttributeManager", "m_bPreventLoopback")]
public ref bool PreventLoopback => ref Schema.GetRef<bool>(this.Handle, "CAttributeManager", "m_bPreventLoopback");
// m_ProviderType
[SchemaMember("CAttributeManager", "m_ProviderType")]
public ref attributeprovidertypes_t ProviderType => ref Schema.GetRef<attributeprovidertypes_t>(this.Handle, "CAttributeManager", "m_ProviderType");
}

View File

@@ -1,321 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBarnLight : CBaseModelEntity
{
public CBarnLight (IntPtr pointer) : base(pointer) {}
// m_bEnabled
[SchemaMember("CBarnLight", "m_bEnabled")]
public ref bool Enabled => ref Schema.GetRef<bool>(this.Handle, "CBarnLight", "m_bEnabled");
// m_nColorMode
[SchemaMember("CBarnLight", "m_nColorMode")]
public ref Int32 ColorMode => ref Schema.GetRef<Int32>(this.Handle, "CBarnLight", "m_nColorMode");
// m_Color
[SchemaMember("CBarnLight", "m_Color")]
public Color Color
{
get { return Schema.GetCustomMarshalledType<Color>(this.Handle, "CBarnLight", "m_Color"); }
set { Schema.SetCustomMarshalledType<Color>(this.Handle, "CBarnLight", "m_Color", value); }
}
// m_flColorTemperature
[SchemaMember("CBarnLight", "m_flColorTemperature")]
public ref float ColorTemperature => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flColorTemperature");
// m_flBrightness
[SchemaMember("CBarnLight", "m_flBrightness")]
public ref float Brightness => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flBrightness");
// m_flBrightnessScale
[SchemaMember("CBarnLight", "m_flBrightnessScale")]
public ref float BrightnessScale => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flBrightnessScale");
// m_nDirectLight
[SchemaMember("CBarnLight", "m_nDirectLight")]
public ref Int32 DirectLight => ref Schema.GetRef<Int32>(this.Handle, "CBarnLight", "m_nDirectLight");
// m_nBakedShadowIndex
[SchemaMember("CBarnLight", "m_nBakedShadowIndex")]
public ref Int32 BakedShadowIndex => ref Schema.GetRef<Int32>(this.Handle, "CBarnLight", "m_nBakedShadowIndex");
// m_nLuminaireShape
[SchemaMember("CBarnLight", "m_nLuminaireShape")]
public ref Int32 LuminaireShape => ref Schema.GetRef<Int32>(this.Handle, "CBarnLight", "m_nLuminaireShape");
// m_flLuminaireSize
[SchemaMember("CBarnLight", "m_flLuminaireSize")]
public ref float LuminaireSize => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flLuminaireSize");
// m_flLuminaireAnisotropy
[SchemaMember("CBarnLight", "m_flLuminaireAnisotropy")]
public ref float LuminaireAnisotropy => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flLuminaireAnisotropy");
// m_LightStyleString
[SchemaMember("CBarnLight", "m_LightStyleString")]
public string LightStyleString
{
get { return Schema.GetUtf8String(this.Handle, "CBarnLight", "m_LightStyleString"); }
set { Schema.SetString(this.Handle, "CBarnLight", "m_LightStyleString", value); }
}
// m_flLightStyleStartTime
[SchemaMember("CBarnLight", "m_flLightStyleStartTime")]
public ref float LightStyleStartTime => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flLightStyleStartTime");
// m_QueuedLightStyleStrings
[SchemaMember("CBarnLight", "m_QueuedLightStyleStrings")]
public NetworkedVector<string> QueuedLightStyleStrings => Schema.GetDeclaredClass<NetworkedVector<string>>(this.Handle, "CBarnLight", "m_QueuedLightStyleStrings");
// m_LightStyleEvents
[SchemaMember("CBarnLight", "m_LightStyleEvents")]
public NetworkedVector<string> LightStyleEvents => Schema.GetDeclaredClass<NetworkedVector<string>>(this.Handle, "CBarnLight", "m_LightStyleEvents");
// m_LightStyleTargets
[SchemaMember("CBarnLight", "m_LightStyleTargets")]
public NetworkedVector<CHandle<CBaseModelEntity>> LightStyleTargets => Schema.GetDeclaredClass<NetworkedVector<CHandle<CBaseModelEntity>>>(this.Handle, "CBarnLight", "m_LightStyleTargets");
// m_StyleEvent
[SchemaMember("CBarnLight", "m_StyleEvent")]
public Span<CEntityIOOutput> StyleEvent => Schema.GetFixedArray<CEntityIOOutput>(this.Handle, "CBarnLight", "m_StyleEvent", 4);
// m_hLightCookie
[SchemaMember("CBarnLight", "m_hLightCookie")]
public CStrongHandle<InfoForResourceTypeCTextureBase> LightCookie => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeCTextureBase>>(this.Handle, "CBarnLight", "m_hLightCookie");
// m_flShape
[SchemaMember("CBarnLight", "m_flShape")]
public ref float Shape => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flShape");
// m_flSoftX
[SchemaMember("CBarnLight", "m_flSoftX")]
public ref float SoftX => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flSoftX");
// m_flSoftY
[SchemaMember("CBarnLight", "m_flSoftY")]
public ref float SoftY => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flSoftY");
// m_flSkirt
[SchemaMember("CBarnLight", "m_flSkirt")]
public ref float Skirt => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flSkirt");
// m_flSkirtNear
[SchemaMember("CBarnLight", "m_flSkirtNear")]
public ref float SkirtNear => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flSkirtNear");
// m_vSizeParams
[SchemaMember("CBarnLight", "m_vSizeParams")]
public Vector SizeParams => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vSizeParams");
// m_flRange
[SchemaMember("CBarnLight", "m_flRange")]
public ref float Range => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flRange");
// m_vShear
[SchemaMember("CBarnLight", "m_vShear")]
public Vector Shear => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vShear");
// m_nBakeSpecularToCubemaps
[SchemaMember("CBarnLight", "m_nBakeSpecularToCubemaps")]
public ref Int32 BakeSpecularToCubemaps => ref Schema.GetRef<Int32>(this.Handle, "CBarnLight", "m_nBakeSpecularToCubemaps");
// m_vBakeSpecularToCubemapsSize
[SchemaMember("CBarnLight", "m_vBakeSpecularToCubemapsSize")]
public Vector BakeSpecularToCubemapsSize => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vBakeSpecularToCubemapsSize");
// m_nCastShadows
[SchemaMember("CBarnLight", "m_nCastShadows")]
public ref Int32 CastShadows => ref Schema.GetRef<Int32>(this.Handle, "CBarnLight", "m_nCastShadows");
// m_nShadowMapSize
[SchemaMember("CBarnLight", "m_nShadowMapSize")]
public ref Int32 ShadowMapSize => ref Schema.GetRef<Int32>(this.Handle, "CBarnLight", "m_nShadowMapSize");
// m_nShadowPriority
[SchemaMember("CBarnLight", "m_nShadowPriority")]
public ref Int32 ShadowPriority => ref Schema.GetRef<Int32>(this.Handle, "CBarnLight", "m_nShadowPriority");
// m_bContactShadow
[SchemaMember("CBarnLight", "m_bContactShadow")]
public ref bool ContactShadow => ref Schema.GetRef<bool>(this.Handle, "CBarnLight", "m_bContactShadow");
// m_nBounceLight
[SchemaMember("CBarnLight", "m_nBounceLight")]
public ref Int32 BounceLight => ref Schema.GetRef<Int32>(this.Handle, "CBarnLight", "m_nBounceLight");
// m_flBounceScale
[SchemaMember("CBarnLight", "m_flBounceScale")]
public ref float BounceScale => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flBounceScale");
// m_flMinRoughness
[SchemaMember("CBarnLight", "m_flMinRoughness")]
public ref float MinRoughness => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flMinRoughness");
// m_vAlternateColor
[SchemaMember("CBarnLight", "m_vAlternateColor")]
public Vector AlternateColor => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vAlternateColor");
// m_fAlternateColorBrightness
[SchemaMember("CBarnLight", "m_fAlternateColorBrightness")]
public ref float AlternateColorBrightness => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_fAlternateColorBrightness");
// m_nFog
[SchemaMember("CBarnLight", "m_nFog")]
public ref Int32 Fog => ref Schema.GetRef<Int32>(this.Handle, "CBarnLight", "m_nFog");
// m_flFogStrength
[SchemaMember("CBarnLight", "m_flFogStrength")]
public ref float FogStrength => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flFogStrength");
// m_nFogShadows
[SchemaMember("CBarnLight", "m_nFogShadows")]
public ref Int32 FogShadows => ref Schema.GetRef<Int32>(this.Handle, "CBarnLight", "m_nFogShadows");
// m_flFogScale
[SchemaMember("CBarnLight", "m_flFogScale")]
public ref float FogScale => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flFogScale");
// m_bFogMixedShadows
[SchemaMember("CBarnLight", "m_bFogMixedShadows")]
public ref bool FogMixedShadows => ref Schema.GetRef<bool>(this.Handle, "CBarnLight", "m_bFogMixedShadows");
// m_flFadeSizeStart
[SchemaMember("CBarnLight", "m_flFadeSizeStart")]
public ref float FadeSizeStart => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flFadeSizeStart");
// m_flFadeSizeEnd
[SchemaMember("CBarnLight", "m_flFadeSizeEnd")]
public ref float FadeSizeEnd => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flFadeSizeEnd");
// m_flShadowFadeSizeStart
[SchemaMember("CBarnLight", "m_flShadowFadeSizeStart")]
public ref float ShadowFadeSizeStart => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flShadowFadeSizeStart");
// m_flShadowFadeSizeEnd
[SchemaMember("CBarnLight", "m_flShadowFadeSizeEnd")]
public ref float ShadowFadeSizeEnd => ref Schema.GetRef<float>(this.Handle, "CBarnLight", "m_flShadowFadeSizeEnd");
// m_bPrecomputedFieldsValid
[SchemaMember("CBarnLight", "m_bPrecomputedFieldsValid")]
public ref bool PrecomputedFieldsValid => ref Schema.GetRef<bool>(this.Handle, "CBarnLight", "m_bPrecomputedFieldsValid");
// m_vPrecomputedBoundsMins
[SchemaMember("CBarnLight", "m_vPrecomputedBoundsMins")]
public Vector PrecomputedBoundsMins => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedBoundsMins");
// m_vPrecomputedBoundsMaxs
[SchemaMember("CBarnLight", "m_vPrecomputedBoundsMaxs")]
public Vector PrecomputedBoundsMaxs => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedBoundsMaxs");
// m_vPrecomputedOBBOrigin
[SchemaMember("CBarnLight", "m_vPrecomputedOBBOrigin")]
public Vector PrecomputedOBBOrigin => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedOBBOrigin");
// m_vPrecomputedOBBAngles
[SchemaMember("CBarnLight", "m_vPrecomputedOBBAngles")]
public QAngle PrecomputedOBBAngles => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBarnLight", "m_vPrecomputedOBBAngles");
// m_vPrecomputedOBBExtent
[SchemaMember("CBarnLight", "m_vPrecomputedOBBExtent")]
public Vector PrecomputedOBBExtent => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedOBBExtent");
// m_nPrecomputedSubFrusta
[SchemaMember("CBarnLight", "m_nPrecomputedSubFrusta")]
public ref Int32 PrecomputedSubFrusta => ref Schema.GetRef<Int32>(this.Handle, "CBarnLight", "m_nPrecomputedSubFrusta");
// m_vPrecomputedOBBOrigin0
[SchemaMember("CBarnLight", "m_vPrecomputedOBBOrigin0")]
public Vector PrecomputedOBBOrigin0 => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedOBBOrigin0");
// m_vPrecomputedOBBAngles0
[SchemaMember("CBarnLight", "m_vPrecomputedOBBAngles0")]
public QAngle PrecomputedOBBAngles0 => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBarnLight", "m_vPrecomputedOBBAngles0");
// m_vPrecomputedOBBExtent0
[SchemaMember("CBarnLight", "m_vPrecomputedOBBExtent0")]
public Vector PrecomputedOBBExtent0 => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedOBBExtent0");
// m_vPrecomputedOBBOrigin1
[SchemaMember("CBarnLight", "m_vPrecomputedOBBOrigin1")]
public Vector PrecomputedOBBOrigin1 => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedOBBOrigin1");
// m_vPrecomputedOBBAngles1
[SchemaMember("CBarnLight", "m_vPrecomputedOBBAngles1")]
public QAngle PrecomputedOBBAngles1 => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBarnLight", "m_vPrecomputedOBBAngles1");
// m_vPrecomputedOBBExtent1
[SchemaMember("CBarnLight", "m_vPrecomputedOBBExtent1")]
public Vector PrecomputedOBBExtent1 => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedOBBExtent1");
// m_vPrecomputedOBBOrigin2
[SchemaMember("CBarnLight", "m_vPrecomputedOBBOrigin2")]
public Vector PrecomputedOBBOrigin2 => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedOBBOrigin2");
// m_vPrecomputedOBBAngles2
[SchemaMember("CBarnLight", "m_vPrecomputedOBBAngles2")]
public QAngle PrecomputedOBBAngles2 => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBarnLight", "m_vPrecomputedOBBAngles2");
// m_vPrecomputedOBBExtent2
[SchemaMember("CBarnLight", "m_vPrecomputedOBBExtent2")]
public Vector PrecomputedOBBExtent2 => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedOBBExtent2");
// m_vPrecomputedOBBOrigin3
[SchemaMember("CBarnLight", "m_vPrecomputedOBBOrigin3")]
public Vector PrecomputedOBBOrigin3 => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedOBBOrigin3");
// m_vPrecomputedOBBAngles3
[SchemaMember("CBarnLight", "m_vPrecomputedOBBAngles3")]
public QAngle PrecomputedOBBAngles3 => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBarnLight", "m_vPrecomputedOBBAngles3");
// m_vPrecomputedOBBExtent3
[SchemaMember("CBarnLight", "m_vPrecomputedOBBExtent3")]
public Vector PrecomputedOBBExtent3 => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedOBBExtent3");
// m_vPrecomputedOBBOrigin4
[SchemaMember("CBarnLight", "m_vPrecomputedOBBOrigin4")]
public Vector PrecomputedOBBOrigin4 => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedOBBOrigin4");
// m_vPrecomputedOBBAngles4
[SchemaMember("CBarnLight", "m_vPrecomputedOBBAngles4")]
public QAngle PrecomputedOBBAngles4 => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBarnLight", "m_vPrecomputedOBBAngles4");
// m_vPrecomputedOBBExtent4
[SchemaMember("CBarnLight", "m_vPrecomputedOBBExtent4")]
public Vector PrecomputedOBBExtent4 => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedOBBExtent4");
// m_vPrecomputedOBBOrigin5
[SchemaMember("CBarnLight", "m_vPrecomputedOBBOrigin5")]
public Vector PrecomputedOBBOrigin5 => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedOBBOrigin5");
// m_vPrecomputedOBBAngles5
[SchemaMember("CBarnLight", "m_vPrecomputedOBBAngles5")]
public QAngle PrecomputedOBBAngles5 => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBarnLight", "m_vPrecomputedOBBAngles5");
// m_vPrecomputedOBBExtent5
[SchemaMember("CBarnLight", "m_vPrecomputedOBBExtent5")]
public Vector PrecomputedOBBExtent5 => Schema.GetDeclaredClass<Vector>(this.Handle, "CBarnLight", "m_vPrecomputedOBBExtent5");
// m_bPvsModifyEntity
[SchemaMember("CBarnLight", "m_bPvsModifyEntity")]
public ref bool PvsModifyEntity => ref Schema.GetRef<bool>(this.Handle, "CBarnLight", "m_bPvsModifyEntity");
// m_VisClusters
[SchemaMember("CBarnLight", "m_VisClusters")]
public NetworkedVector<UInt16> VisClusters => Schema.GetDeclaredClass<NetworkedVector<UInt16>>(this.Handle, "CBarnLight", "m_VisClusters");
}

View File

@@ -1,65 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseAnimGraph : CBaseModelEntity
{
public CBaseAnimGraph (IntPtr pointer) : base(pointer) {}
// m_bInitiallyPopulateInterpHistory
[SchemaMember("CBaseAnimGraph", "m_bInitiallyPopulateInterpHistory")]
public ref bool InitiallyPopulateInterpHistory => ref Schema.GetRef<bool>(this.Handle, "CBaseAnimGraph", "m_bInitiallyPopulateInterpHistory");
// m_pChoreoServices
[SchemaMember("CBaseAnimGraph", "m_pChoreoServices")]
public IChoreoServices? ChoreoServices => Schema.GetPointer<IChoreoServices>(this.Handle, "CBaseAnimGraph", "m_pChoreoServices");
// m_bAnimGraphUpdateEnabled
[SchemaMember("CBaseAnimGraph", "m_bAnimGraphUpdateEnabled")]
public ref bool AnimGraphUpdateEnabled => ref Schema.GetRef<bool>(this.Handle, "CBaseAnimGraph", "m_bAnimGraphUpdateEnabled");
// m_flMaxSlopeDistance
[SchemaMember("CBaseAnimGraph", "m_flMaxSlopeDistance")]
public ref float MaxSlopeDistance => ref Schema.GetRef<float>(this.Handle, "CBaseAnimGraph", "m_flMaxSlopeDistance");
// m_vLastSlopeCheckPos
[SchemaMember("CBaseAnimGraph", "m_vLastSlopeCheckPos")]
public Vector LastSlopeCheckPos => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseAnimGraph", "m_vLastSlopeCheckPos");
// m_bAnimationUpdateScheduled
[SchemaMember("CBaseAnimGraph", "m_bAnimationUpdateScheduled")]
public ref bool AnimationUpdateScheduled => ref Schema.GetRef<bool>(this.Handle, "CBaseAnimGraph", "m_bAnimationUpdateScheduled");
// m_vecForce
[SchemaMember("CBaseAnimGraph", "m_vecForce")]
public Vector Force => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseAnimGraph", "m_vecForce");
// m_nForceBone
[SchemaMember("CBaseAnimGraph", "m_nForceBone")]
public ref Int32 ForceBone => ref Schema.GetRef<Int32>(this.Handle, "CBaseAnimGraph", "m_nForceBone");
// m_RagdollPose
[SchemaMember("CBaseAnimGraph", "m_RagdollPose")]
public PhysicsRagdollPose_t RagdollPose => Schema.GetDeclaredClass<PhysicsRagdollPose_t>(this.Handle, "CBaseAnimGraph", "m_RagdollPose");
// m_bRagdollClientSide
[SchemaMember("CBaseAnimGraph", "m_bRagdollClientSide")]
public ref bool RagdollClientSide => ref Schema.GetRef<bool>(this.Handle, "CBaseAnimGraph", "m_bRagdollClientSide");
// m_nLastDestructiblePartDestroyedAnimgraphSetTick
[SchemaMember("CBaseAnimGraph", "m_nLastDestructiblePartDestroyedAnimgraphSetTick")]
public ref Int32 LastDestructiblePartDestroyedAnimgraphSetTick => ref Schema.GetRef<Int32>(this.Handle, "CBaseAnimGraph", "m_nLastDestructiblePartDestroyedAnimgraphSetTick");
}

View File

@@ -1,77 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseAnimGraphController : CSkeletonAnimationController
{
public CBaseAnimGraphController (IntPtr pointer) : base(pointer) {}
// m_animGraphNetworkedVars
[SchemaMember("CBaseAnimGraphController", "m_animGraphNetworkedVars")]
public CAnimGraphNetworkedVariables AnimGraphNetworkedVars => Schema.GetDeclaredClass<CAnimGraphNetworkedVariables>(this.Handle, "CBaseAnimGraphController", "m_animGraphNetworkedVars");
// m_bSequenceFinished
[SchemaMember("CBaseAnimGraphController", "m_bSequenceFinished")]
public ref bool SequenceFinished => ref Schema.GetRef<bool>(this.Handle, "CBaseAnimGraphController", "m_bSequenceFinished");
// m_flSoundSyncTime
[SchemaMember("CBaseAnimGraphController", "m_flSoundSyncTime")]
public ref float SoundSyncTime => ref Schema.GetRef<float>(this.Handle, "CBaseAnimGraphController", "m_flSoundSyncTime");
// m_nActiveIKChainMask
[SchemaMember("CBaseAnimGraphController", "m_nActiveIKChainMask")]
public ref UInt32 ActiveIKChainMask => ref Schema.GetRef<UInt32>(this.Handle, "CBaseAnimGraphController", "m_nActiveIKChainMask");
// m_hSequence
[SchemaMember("CBaseAnimGraphController", "m_hSequence")]
public ref Int32 Sequence => ref Schema.GetRef<Int32>(this.Handle, "CBaseAnimGraphController", "m_hSequence");
// m_flSeqStartTime
[SchemaMember("CBaseAnimGraphController", "m_flSeqStartTime")]
public ref float SeqStartTime => ref Schema.GetRef<float>(this.Handle, "CBaseAnimGraphController", "m_flSeqStartTime");
// m_flSeqFixedCycle
[SchemaMember("CBaseAnimGraphController", "m_flSeqFixedCycle")]
public ref float SeqFixedCycle => ref Schema.GetRef<float>(this.Handle, "CBaseAnimGraphController", "m_flSeqFixedCycle");
// m_nAnimLoopMode
[SchemaMember("CBaseAnimGraphController", "m_nAnimLoopMode")]
public ref AnimLoopMode_t AnimLoopMode => ref Schema.GetRef<AnimLoopMode_t>(this.Handle, "CBaseAnimGraphController", "m_nAnimLoopMode");
// m_flPlaybackRate
[SchemaMember("CBaseAnimGraphController", "m_flPlaybackRate")]
public ref float PlaybackRate => ref Schema.GetRef<float>(this.Handle, "CBaseAnimGraphController", "m_flPlaybackRate");
// m_nNotifyState
[SchemaMember("CBaseAnimGraphController", "m_nNotifyState")]
public ref SequenceFinishNotifyState_t NotifyState => ref Schema.GetRef<SequenceFinishNotifyState_t>(this.Handle, "CBaseAnimGraphController", "m_nNotifyState");
// m_bNetworkedAnimationInputsChanged
[SchemaMember("CBaseAnimGraphController", "m_bNetworkedAnimationInputsChanged")]
public ref bool NetworkedAnimationInputsChanged => ref Schema.GetRef<bool>(this.Handle, "CBaseAnimGraphController", "m_bNetworkedAnimationInputsChanged");
// m_bNetworkedSequenceChanged
[SchemaMember("CBaseAnimGraphController", "m_bNetworkedSequenceChanged")]
public ref bool NetworkedSequenceChanged => ref Schema.GetRef<bool>(this.Handle, "CBaseAnimGraphController", "m_bNetworkedSequenceChanged");
// m_bLastUpdateSkipped
[SchemaMember("CBaseAnimGraphController", "m_bLastUpdateSkipped")]
public ref bool LastUpdateSkipped => ref Schema.GetRef<bool>(this.Handle, "CBaseAnimGraphController", "m_bLastUpdateSkipped");
// m_flPrevAnimUpdateTime
[SchemaMember("CBaseAnimGraphController", "m_flPrevAnimUpdateTime")]
public ref float PrevAnimUpdateTime => ref Schema.GetRef<float>(this.Handle, "CBaseAnimGraphController", "m_flPrevAnimUpdateTime");
}

View File

@@ -1,145 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseButton : CBaseToggle
{
public CBaseButton (IntPtr pointer) : base(pointer) {}
// m_angMoveEntitySpace
[SchemaMember("CBaseButton", "m_angMoveEntitySpace")]
public QAngle MoveEntitySpace => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBaseButton", "m_angMoveEntitySpace");
// m_fStayPushed
[SchemaMember("CBaseButton", "m_fStayPushed")]
public ref bool StayPushed => ref Schema.GetRef<bool>(this.Handle, "CBaseButton", "m_fStayPushed");
// m_fRotating
[SchemaMember("CBaseButton", "m_fRotating")]
public ref bool Rotating => ref Schema.GetRef<bool>(this.Handle, "CBaseButton", "m_fRotating");
// m_ls
[SchemaMember("CBaseButton", "m_ls")]
public locksound_t Ls => Schema.GetDeclaredClass<locksound_t>(this.Handle, "CBaseButton", "m_ls");
// m_sUseSound
[SchemaMember("CBaseButton", "m_sUseSound")]
public string UseSound
{
get { return Schema.GetUtf8String(this.Handle, "CBaseButton", "m_sUseSound"); }
set { Schema.SetString(this.Handle, "CBaseButton", "m_sUseSound", value); }
}
// m_sLockedSound
[SchemaMember("CBaseButton", "m_sLockedSound")]
public string LockedSound
{
get { return Schema.GetUtf8String(this.Handle, "CBaseButton", "m_sLockedSound"); }
set { Schema.SetString(this.Handle, "CBaseButton", "m_sLockedSound", value); }
}
// m_sUnlockedSound
[SchemaMember("CBaseButton", "m_sUnlockedSound")]
public string UnlockedSound
{
get { return Schema.GetUtf8String(this.Handle, "CBaseButton", "m_sUnlockedSound"); }
set { Schema.SetString(this.Handle, "CBaseButton", "m_sUnlockedSound", value); }
}
// m_sOverrideAnticipationName
[SchemaMember("CBaseButton", "m_sOverrideAnticipationName")]
public string OverrideAnticipationName
{
get { return Schema.GetUtf8String(this.Handle, "CBaseButton", "m_sOverrideAnticipationName"); }
set { Schema.SetString(this.Handle, "CBaseButton", "m_sOverrideAnticipationName", value); }
}
// m_bLocked
[SchemaMember("CBaseButton", "m_bLocked")]
public ref bool Locked => ref Schema.GetRef<bool>(this.Handle, "CBaseButton", "m_bLocked");
// m_bDisabled
[SchemaMember("CBaseButton", "m_bDisabled")]
public ref bool Disabled => ref Schema.GetRef<bool>(this.Handle, "CBaseButton", "m_bDisabled");
// m_flUseLockedTime
[SchemaMember("CBaseButton", "m_flUseLockedTime")]
public ref float UseLockedTime => ref Schema.GetRef<float>(this.Handle, "CBaseButton", "m_flUseLockedTime");
// m_bSolidBsp
[SchemaMember("CBaseButton", "m_bSolidBsp")]
public ref bool SolidBsp => ref Schema.GetRef<bool>(this.Handle, "CBaseButton", "m_bSolidBsp");
// m_OnDamaged
[SchemaMember("CBaseButton", "m_OnDamaged")]
public CEntityIOOutput OnDamaged => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseButton", "m_OnDamaged");
// m_OnPressed
[SchemaMember("CBaseButton", "m_OnPressed")]
public CEntityIOOutput OnPressed => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseButton", "m_OnPressed");
// m_OnUseLocked
[SchemaMember("CBaseButton", "m_OnUseLocked")]
public CEntityIOOutput OnUseLocked => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseButton", "m_OnUseLocked");
// m_OnIn
[SchemaMember("CBaseButton", "m_OnIn")]
public CEntityIOOutput OnIn => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseButton", "m_OnIn");
// m_OnOut
[SchemaMember("CBaseButton", "m_OnOut")]
public CEntityIOOutput OnOut => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseButton", "m_OnOut");
// m_nState
[SchemaMember("CBaseButton", "m_nState")]
public ref Int32 State => ref Schema.GetRef<Int32>(this.Handle, "CBaseButton", "m_nState");
// m_hConstraint
[SchemaMember("CBaseButton", "m_hConstraint")]
public CHandle<CEntityInstance> Constraint => Schema.GetDeclaredClass<CHandle<CEntityInstance>>(this.Handle, "CBaseButton", "m_hConstraint");
// m_hConstraintParent
[SchemaMember("CBaseButton", "m_hConstraintParent")]
public CHandle<CEntityInstance> ConstraintParent => Schema.GetDeclaredClass<CHandle<CEntityInstance>>(this.Handle, "CBaseButton", "m_hConstraintParent");
// m_bForceNpcExclude
[SchemaMember("CBaseButton", "m_bForceNpcExclude")]
public ref bool ForceNpcExclude => ref Schema.GetRef<bool>(this.Handle, "CBaseButton", "m_bForceNpcExclude");
// m_sGlowEntity
[SchemaMember("CBaseButton", "m_sGlowEntity")]
public string SGlowEntity
{
get { return Schema.GetUtf8String(this.Handle, "CBaseButton", "m_sGlowEntity"); }
set { Schema.SetString(this.Handle, "CBaseButton", "m_sGlowEntity", value); }
}
// m_glowEntity
[SchemaMember("CBaseButton", "m_glowEntity")]
public CHandle<CBaseModelEntity> GlowEntity => Schema.GetDeclaredClass<CHandle<CBaseModelEntity>>(this.Handle, "CBaseButton", "m_glowEntity");
// m_usable
[SchemaMember("CBaseButton", "m_usable")]
public ref bool Usable => ref Schema.GetRef<bool>(this.Handle, "CBaseButton", "m_usable");
// m_szDisplayText
[SchemaMember("CBaseButton", "m_szDisplayText")]
public string DisplayText
{
get { return Schema.GetUtf8String(this.Handle, "CBaseButton", "m_szDisplayText"); }
set { Schema.SetString(this.Handle, "CBaseButton", "m_szDisplayText", value); }
}
}

View File

@@ -1,77 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseCSGrenade : CCSWeaponBase
{
public CBaseCSGrenade (IntPtr pointer) : base(pointer) {}
// m_bRedraw
[SchemaMember("CBaseCSGrenade", "m_bRedraw")]
public ref bool Redraw => ref Schema.GetRef<bool>(this.Handle, "CBaseCSGrenade", "m_bRedraw");
// m_bIsHeldByPlayer
[SchemaMember("CBaseCSGrenade", "m_bIsHeldByPlayer")]
public ref bool IsHeldByPlayer => ref Schema.GetRef<bool>(this.Handle, "CBaseCSGrenade", "m_bIsHeldByPlayer");
// m_bPinPulled
[SchemaMember("CBaseCSGrenade", "m_bPinPulled")]
public ref bool PinPulled => ref Schema.GetRef<bool>(this.Handle, "CBaseCSGrenade", "m_bPinPulled");
// m_bJumpThrow
[SchemaMember("CBaseCSGrenade", "m_bJumpThrow")]
public ref bool JumpThrow => ref Schema.GetRef<bool>(this.Handle, "CBaseCSGrenade", "m_bJumpThrow");
// m_bThrowAnimating
[SchemaMember("CBaseCSGrenade", "m_bThrowAnimating")]
public ref bool ThrowAnimating => ref Schema.GetRef<bool>(this.Handle, "CBaseCSGrenade", "m_bThrowAnimating");
// m_fThrowTime
[SchemaMember("CBaseCSGrenade", "m_fThrowTime")]
public ref float ThrowTime => ref Schema.GetRef<float>(this.Handle, "CBaseCSGrenade", "m_fThrowTime");
// m_flThrowStrength
[SchemaMember("CBaseCSGrenade", "m_flThrowStrength")]
public ref float ThrowStrength => ref Schema.GetRef<float>(this.Handle, "CBaseCSGrenade", "m_flThrowStrength");
// m_flThrowStrengthApproach
[SchemaMember("CBaseCSGrenade", "m_flThrowStrengthApproach")]
public ref float ThrowStrengthApproach => ref Schema.GetRef<float>(this.Handle, "CBaseCSGrenade", "m_flThrowStrengthApproach");
// m_fDropTime
[SchemaMember("CBaseCSGrenade", "m_fDropTime")]
public ref float DropTime => ref Schema.GetRef<float>(this.Handle, "CBaseCSGrenade", "m_fDropTime");
// m_fPinPullTime
[SchemaMember("CBaseCSGrenade", "m_fPinPullTime")]
public ref float PinPullTime => ref Schema.GetRef<float>(this.Handle, "CBaseCSGrenade", "m_fPinPullTime");
// m_bJustPulledPin
[SchemaMember("CBaseCSGrenade", "m_bJustPulledPin")]
public ref bool JustPulledPin => ref Schema.GetRef<bool>(this.Handle, "CBaseCSGrenade", "m_bJustPulledPin");
// m_nNextHoldTick
[SchemaMember("CBaseCSGrenade", "m_nNextHoldTick")]
public ref Int32 NextHoldTick => ref Schema.GetRef<Int32>(this.Handle, "CBaseCSGrenade", "m_nNextHoldTick");
// m_flNextHoldFrac
[SchemaMember("CBaseCSGrenade", "m_flNextHoldFrac")]
public ref float NextHoldFrac => ref Schema.GetRef<float>(this.Handle, "CBaseCSGrenade", "m_flNextHoldFrac");
// m_hSwitchToWeaponAfterThrow
[SchemaMember("CBaseCSGrenade", "m_hSwitchToWeaponAfterThrow")]
public CHandle<CCSWeaponBase> SwitchToWeaponAfterThrow => Schema.GetDeclaredClass<CHandle<CCSWeaponBase>>(this.Handle, "CBaseCSGrenade", "m_hSwitchToWeaponAfterThrow");
}

View File

@@ -1,85 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseCSGrenadeProjectile : CBaseGrenade
{
public CBaseCSGrenadeProjectile (IntPtr pointer) : base(pointer) {}
// m_vInitialPosition
[SchemaMember("CBaseCSGrenadeProjectile", "m_vInitialPosition")]
public Vector InitialPosition => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseCSGrenadeProjectile", "m_vInitialPosition");
// m_vInitialVelocity
[SchemaMember("CBaseCSGrenadeProjectile", "m_vInitialVelocity")]
public Vector InitialVelocity => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseCSGrenadeProjectile", "m_vInitialVelocity");
// m_nBounces
[SchemaMember("CBaseCSGrenadeProjectile", "m_nBounces")]
public ref Int32 Bounces => ref Schema.GetRef<Int32>(this.Handle, "CBaseCSGrenadeProjectile", "m_nBounces");
// m_nExplodeEffectIndex
[SchemaMember("CBaseCSGrenadeProjectile", "m_nExplodeEffectIndex")]
public CStrongHandle<InfoForResourceTypeIParticleSystemDefinition> ExplodeEffectIndex => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>>(this.Handle, "CBaseCSGrenadeProjectile", "m_nExplodeEffectIndex");
// m_nExplodeEffectTickBegin
[SchemaMember("CBaseCSGrenadeProjectile", "m_nExplodeEffectTickBegin")]
public ref Int32 ExplodeEffectTickBegin => ref Schema.GetRef<Int32>(this.Handle, "CBaseCSGrenadeProjectile", "m_nExplodeEffectTickBegin");
// m_vecExplodeEffectOrigin
[SchemaMember("CBaseCSGrenadeProjectile", "m_vecExplodeEffectOrigin")]
public Vector ExplodeEffectOrigin => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseCSGrenadeProjectile", "m_vecExplodeEffectOrigin");
// m_flSpawnTime
[SchemaMember("CBaseCSGrenadeProjectile", "m_flSpawnTime")]
public ref float SpawnTime => ref Schema.GetRef<float>(this.Handle, "CBaseCSGrenadeProjectile", "m_flSpawnTime");
// m_unOGSExtraFlags
[SchemaMember("CBaseCSGrenadeProjectile", "m_unOGSExtraFlags")]
public ref byte OGSExtraFlags => ref Schema.GetRef<byte>(this.Handle, "CBaseCSGrenadeProjectile", "m_unOGSExtraFlags");
// m_bDetonationRecorded
[SchemaMember("CBaseCSGrenadeProjectile", "m_bDetonationRecorded")]
public ref bool DetonationRecorded => ref Schema.GetRef<bool>(this.Handle, "CBaseCSGrenadeProjectile", "m_bDetonationRecorded");
// m_nItemIndex
[SchemaMember("CBaseCSGrenadeProjectile", "m_nItemIndex")]
public ref UInt16 ItemIndex => ref Schema.GetRef<UInt16>(this.Handle, "CBaseCSGrenadeProjectile", "m_nItemIndex");
// m_vecOriginalSpawnLocation
[SchemaMember("CBaseCSGrenadeProjectile", "m_vecOriginalSpawnLocation")]
public Vector OriginalSpawnLocation => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseCSGrenadeProjectile", "m_vecOriginalSpawnLocation");
// m_flLastBounceSoundTime
[SchemaMember("CBaseCSGrenadeProjectile", "m_flLastBounceSoundTime")]
public ref float LastBounceSoundTime => ref Schema.GetRef<float>(this.Handle, "CBaseCSGrenadeProjectile", "m_flLastBounceSoundTime");
// m_vecGrenadeSpin
[SchemaMember("CBaseCSGrenadeProjectile", "m_vecGrenadeSpin")]
public Vector GrenadeSpin => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseCSGrenadeProjectile", "m_vecGrenadeSpin");
// m_vecLastHitSurfaceNormal
[SchemaMember("CBaseCSGrenadeProjectile", "m_vecLastHitSurfaceNormal")]
public Vector LastHitSurfaceNormal => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseCSGrenadeProjectile", "m_vecLastHitSurfaceNormal");
// m_nTicksAtZeroVelocity
[SchemaMember("CBaseCSGrenadeProjectile", "m_nTicksAtZeroVelocity")]
public ref Int32 TicksAtZeroVelocity => ref Schema.GetRef<Int32>(this.Handle, "CBaseCSGrenadeProjectile", "m_nTicksAtZeroVelocity");
// m_bHasEverHitEnemy
[SchemaMember("CBaseCSGrenadeProjectile", "m_bHasEverHitEnemy")]
public ref bool HasEverHitEnemy => ref Schema.GetRef<bool>(this.Handle, "CBaseCSGrenadeProjectile", "m_bHasEverHitEnemy");
}

View File

@@ -1,89 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseClientUIEntity : CBaseModelEntity
{
public CBaseClientUIEntity (IntPtr pointer) : base(pointer) {}
// m_bEnabled
[SchemaMember("CBaseClientUIEntity", "m_bEnabled")]
public ref bool Enabled => ref Schema.GetRef<bool>(this.Handle, "CBaseClientUIEntity", "m_bEnabled");
// m_DialogXMLName
[SchemaMember("CBaseClientUIEntity", "m_DialogXMLName")]
public string DialogXMLName
{
get { return Schema.GetUtf8String(this.Handle, "CBaseClientUIEntity", "m_DialogXMLName"); }
set { Schema.SetString(this.Handle, "CBaseClientUIEntity", "m_DialogXMLName", value); }
}
// m_PanelClassName
[SchemaMember("CBaseClientUIEntity", "m_PanelClassName")]
public string PanelClassName
{
get { return Schema.GetUtf8String(this.Handle, "CBaseClientUIEntity", "m_PanelClassName"); }
set { Schema.SetString(this.Handle, "CBaseClientUIEntity", "m_PanelClassName", value); }
}
// m_PanelID
[SchemaMember("CBaseClientUIEntity", "m_PanelID")]
public string PanelID
{
get { return Schema.GetUtf8String(this.Handle, "CBaseClientUIEntity", "m_PanelID"); }
set { Schema.SetString(this.Handle, "CBaseClientUIEntity", "m_PanelID", value); }
}
// m_CustomOutput0
[SchemaMember("CBaseClientUIEntity", "m_CustomOutput0")]
public CEntityIOOutput CustomOutput0 => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseClientUIEntity", "m_CustomOutput0");
// m_CustomOutput1
[SchemaMember("CBaseClientUIEntity", "m_CustomOutput1")]
public CEntityIOOutput CustomOutput1 => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseClientUIEntity", "m_CustomOutput1");
// m_CustomOutput2
[SchemaMember("CBaseClientUIEntity", "m_CustomOutput2")]
public CEntityIOOutput CustomOutput2 => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseClientUIEntity", "m_CustomOutput2");
// m_CustomOutput3
[SchemaMember("CBaseClientUIEntity", "m_CustomOutput3")]
public CEntityIOOutput CustomOutput3 => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseClientUIEntity", "m_CustomOutput3");
// m_CustomOutput4
[SchemaMember("CBaseClientUIEntity", "m_CustomOutput4")]
public CEntityIOOutput CustomOutput4 => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseClientUIEntity", "m_CustomOutput4");
// m_CustomOutput5
[SchemaMember("CBaseClientUIEntity", "m_CustomOutput5")]
public CEntityIOOutput CustomOutput5 => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseClientUIEntity", "m_CustomOutput5");
// m_CustomOutput6
[SchemaMember("CBaseClientUIEntity", "m_CustomOutput6")]
public CEntityIOOutput CustomOutput6 => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseClientUIEntity", "m_CustomOutput6");
// m_CustomOutput7
[SchemaMember("CBaseClientUIEntity", "m_CustomOutput7")]
public CEntityIOOutput CustomOutput7 => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseClientUIEntity", "m_CustomOutput7");
// m_CustomOutput8
[SchemaMember("CBaseClientUIEntity", "m_CustomOutput8")]
public CEntityIOOutput CustomOutput8 => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseClientUIEntity", "m_CustomOutput8");
// m_CustomOutput9
[SchemaMember("CBaseClientUIEntity", "m_CustomOutput9")]
public CEntityIOOutput CustomOutput9 => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseClientUIEntity", "m_CustomOutput9");
}

View File

@@ -1,57 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseCombatCharacter : CBaseFlex
{
public CBaseCombatCharacter (IntPtr pointer) : base(pointer) {}
// m_bForceServerRagdoll
[SchemaMember("CBaseCombatCharacter", "m_bForceServerRagdoll")]
public ref bool ForceServerRagdoll => ref Schema.GetRef<bool>(this.Handle, "CBaseCombatCharacter", "m_bForceServerRagdoll");
// m_hMyWearables
[SchemaMember("CBaseCombatCharacter", "m_hMyWearables")]
public NetworkedVector<CHandle<CEconWearable>> MyWearables => Schema.GetDeclaredClass<NetworkedVector<CHandle<CEconWearable>>>(this.Handle, "CBaseCombatCharacter", "m_hMyWearables");
// m_impactEnergyScale
[SchemaMember("CBaseCombatCharacter", "m_impactEnergyScale")]
public ref float ImpactEnergyScale => ref Schema.GetRef<float>(this.Handle, "CBaseCombatCharacter", "m_impactEnergyScale");
// m_bApplyStressDamage
[SchemaMember("CBaseCombatCharacter", "m_bApplyStressDamage")]
public ref bool ApplyStressDamage => ref Schema.GetRef<bool>(this.Handle, "CBaseCombatCharacter", "m_bApplyStressDamage");
// m_iDamageCount
[SchemaMember("CBaseCombatCharacter", "m_iDamageCount")]
public ref Int32 DamageCount => ref Schema.GetRef<Int32>(this.Handle, "CBaseCombatCharacter", "m_iDamageCount");
// m_strRelationships
[SchemaMember("CBaseCombatCharacter", "m_strRelationships")]
public string StrRelationships
{
get { return Schema.GetUtf8String(this.Handle, "CBaseCombatCharacter", "m_strRelationships"); }
set { Schema.SetString(this.Handle, "CBaseCombatCharacter", "m_strRelationships", value); }
}
// m_eHull
[SchemaMember("CBaseCombatCharacter", "m_eHull")]
public ref Hull_t Hull => ref Schema.GetRef<Hull_t>(this.Handle, "CBaseCombatCharacter", "m_eHull");
// m_nNavHullIdx
[SchemaMember("CBaseCombatCharacter", "m_nNavHullIdx")]
public ref UInt32 NavHullIdx => ref Schema.GetRef<UInt32>(this.Handle, "CBaseCombatCharacter", "m_nNavHullIdx");
}

View File

@@ -1,149 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseDoor : CBaseToggle
{
public CBaseDoor (IntPtr pointer) : base(pointer) {}
// m_angMoveEntitySpace
[SchemaMember("CBaseDoor", "m_angMoveEntitySpace")]
public QAngle MoveEntitySpace => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBaseDoor", "m_angMoveEntitySpace");
// m_vecMoveDirParentSpace
[SchemaMember("CBaseDoor", "m_vecMoveDirParentSpace")]
public Vector MoveDirParentSpace => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseDoor", "m_vecMoveDirParentSpace");
// m_ls
[SchemaMember("CBaseDoor", "m_ls")]
public locksound_t Ls => Schema.GetDeclaredClass<locksound_t>(this.Handle, "CBaseDoor", "m_ls");
// m_bForceClosed
[SchemaMember("CBaseDoor", "m_bForceClosed")]
public ref bool ForceClosed => ref Schema.GetRef<bool>(this.Handle, "CBaseDoor", "m_bForceClosed");
// m_bDoorGroup
[SchemaMember("CBaseDoor", "m_bDoorGroup")]
public ref bool DoorGroup => ref Schema.GetRef<bool>(this.Handle, "CBaseDoor", "m_bDoorGroup");
// m_bLocked
[SchemaMember("CBaseDoor", "m_bLocked")]
public ref bool Locked => ref Schema.GetRef<bool>(this.Handle, "CBaseDoor", "m_bLocked");
// m_bIgnoreDebris
[SchemaMember("CBaseDoor", "m_bIgnoreDebris")]
public ref bool IgnoreDebris => ref Schema.GetRef<bool>(this.Handle, "CBaseDoor", "m_bIgnoreDebris");
// m_eSpawnPosition
[SchemaMember("CBaseDoor", "m_eSpawnPosition")]
public ref FuncDoorSpawnPos_t SpawnPosition => ref Schema.GetRef<FuncDoorSpawnPos_t>(this.Handle, "CBaseDoor", "m_eSpawnPosition");
// m_flBlockDamage
[SchemaMember("CBaseDoor", "m_flBlockDamage")]
public ref float BlockDamage => ref Schema.GetRef<float>(this.Handle, "CBaseDoor", "m_flBlockDamage");
// m_NoiseMoving
[SchemaMember("CBaseDoor", "m_NoiseMoving")]
public string NoiseMoving
{
get { return Schema.GetUtf8String(this.Handle, "CBaseDoor", "m_NoiseMoving"); }
set { Schema.SetString(this.Handle, "CBaseDoor", "m_NoiseMoving", value); }
}
// m_NoiseArrived
[SchemaMember("CBaseDoor", "m_NoiseArrived")]
public string NoiseArrived
{
get { return Schema.GetUtf8String(this.Handle, "CBaseDoor", "m_NoiseArrived"); }
set { Schema.SetString(this.Handle, "CBaseDoor", "m_NoiseArrived", value); }
}
// m_NoiseMovingClosed
[SchemaMember("CBaseDoor", "m_NoiseMovingClosed")]
public string NoiseMovingClosed
{
get { return Schema.GetUtf8String(this.Handle, "CBaseDoor", "m_NoiseMovingClosed"); }
set { Schema.SetString(this.Handle, "CBaseDoor", "m_NoiseMovingClosed", value); }
}
// m_NoiseArrivedClosed
[SchemaMember("CBaseDoor", "m_NoiseArrivedClosed")]
public string NoiseArrivedClosed
{
get { return Schema.GetUtf8String(this.Handle, "CBaseDoor", "m_NoiseArrivedClosed"); }
set { Schema.SetString(this.Handle, "CBaseDoor", "m_NoiseArrivedClosed", value); }
}
// m_ChainTarget
[SchemaMember("CBaseDoor", "m_ChainTarget")]
public string ChainTarget
{
get { return Schema.GetUtf8String(this.Handle, "CBaseDoor", "m_ChainTarget"); }
set { Schema.SetString(this.Handle, "CBaseDoor", "m_ChainTarget", value); }
}
// m_OnBlockedClosing
[SchemaMember("CBaseDoor", "m_OnBlockedClosing")]
public CEntityIOOutput OnBlockedClosing => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseDoor", "m_OnBlockedClosing");
// m_OnBlockedOpening
[SchemaMember("CBaseDoor", "m_OnBlockedOpening")]
public CEntityIOOutput OnBlockedOpening => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseDoor", "m_OnBlockedOpening");
// m_OnUnblockedClosing
[SchemaMember("CBaseDoor", "m_OnUnblockedClosing")]
public CEntityIOOutput OnUnblockedClosing => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseDoor", "m_OnUnblockedClosing");
// m_OnUnblockedOpening
[SchemaMember("CBaseDoor", "m_OnUnblockedOpening")]
public CEntityIOOutput OnUnblockedOpening => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseDoor", "m_OnUnblockedOpening");
// m_OnFullyClosed
[SchemaMember("CBaseDoor", "m_OnFullyClosed")]
public CEntityIOOutput OnFullyClosed => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseDoor", "m_OnFullyClosed");
// m_OnFullyOpen
[SchemaMember("CBaseDoor", "m_OnFullyOpen")]
public CEntityIOOutput OnFullyOpen => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseDoor", "m_OnFullyOpen");
// m_OnClose
[SchemaMember("CBaseDoor", "m_OnClose")]
public CEntityIOOutput OnClose => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseDoor", "m_OnClose");
// m_OnOpen
[SchemaMember("CBaseDoor", "m_OnOpen")]
public CEntityIOOutput OnOpen => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseDoor", "m_OnOpen");
// m_OnLockedUse
[SchemaMember("CBaseDoor", "m_OnLockedUse")]
public CEntityIOOutput OnLockedUse => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseDoor", "m_OnLockedUse");
// m_bLoopMoveSound
[SchemaMember("CBaseDoor", "m_bLoopMoveSound")]
public ref bool LoopMoveSound => ref Schema.GetRef<bool>(this.Handle, "CBaseDoor", "m_bLoopMoveSound");
// m_bCreateNavObstacle
[SchemaMember("CBaseDoor", "m_bCreateNavObstacle")]
public ref bool CreateNavObstacle => ref Schema.GetRef<bool>(this.Handle, "CBaseDoor", "m_bCreateNavObstacle");
// m_isChaining
[SchemaMember("CBaseDoor", "m_isChaining")]
public ref bool IsChaining => ref Schema.GetRef<bool>(this.Handle, "CBaseDoor", "m_isChaining");
// m_bIsUsable
[SchemaMember("CBaseDoor", "m_bIsUsable")]
public ref bool IsUsable => ref Schema.GetRef<bool>(this.Handle, "CBaseDoor", "m_bIsUsable");
}

View File

@@ -1,349 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseEntity : CEntityInstance
{
public CBaseEntity (IntPtr pointer) : base(pointer) {}
// m_CBodyComponent
[SchemaMember("CBaseEntity", "m_CBodyComponent")]
public CBodyComponent? CBodyComponent => Schema.GetPointer<CBodyComponent>(this.Handle, "CBaseEntity", "m_CBodyComponent");
// m_NetworkTransmitComponent
[SchemaMember("CBaseEntity", "m_NetworkTransmitComponent")]
public CNetworkTransmitComponent NetworkTransmitComponent => Schema.GetDeclaredClass<CNetworkTransmitComponent>(this.Handle, "CBaseEntity", "m_NetworkTransmitComponent");
// m_aThinkFunctions
[SchemaMember("CBaseEntity", "m_aThinkFunctions")]
public NetworkedVector<thinkfunc_t> ThinkFunctions => Schema.GetDeclaredClass<NetworkedVector<thinkfunc_t>>(this.Handle, "CBaseEntity", "m_aThinkFunctions");
// m_iCurrentThinkContext
[SchemaMember("CBaseEntity", "m_iCurrentThinkContext")]
public ref Int32 CurrentThinkContext => ref Schema.GetRef<Int32>(this.Handle, "CBaseEntity", "m_iCurrentThinkContext");
// m_nLastThinkTick
[SchemaMember("CBaseEntity", "m_nLastThinkTick")]
public ref Int32 LastThinkTick => ref Schema.GetRef<Int32>(this.Handle, "CBaseEntity", "m_nLastThinkTick");
// m_bDisabledContextThinks
[SchemaMember("CBaseEntity", "m_bDisabledContextThinks")]
public ref bool DisabledContextThinks => ref Schema.GetRef<bool>(this.Handle, "CBaseEntity", "m_bDisabledContextThinks");
// m_isSteadyState
[SchemaMember("CBaseEntity", "m_isSteadyState")]
public Span<byte> IsSteadyState => Schema.GetFixedArray<byte>(this.Handle, "CBaseEntity", "m_isSteadyState", 8);
// m_lastNetworkChange
[SchemaMember("CBaseEntity", "m_lastNetworkChange")]
public ref float LastNetworkChange => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_lastNetworkChange");
// m_ResponseContexts
[SchemaMember("CBaseEntity", "m_ResponseContexts")]
public NetworkedVector<ResponseContext_t> ResponseContexts => Schema.GetDeclaredClass<NetworkedVector<ResponseContext_t>>(this.Handle, "CBaseEntity", "m_ResponseContexts");
// m_iszResponseContext
[SchemaMember("CBaseEntity", "m_iszResponseContext")]
public string ResponseContext
{
get { return Schema.GetUtf8String(this.Handle, "CBaseEntity", "m_iszResponseContext"); }
set { Schema.SetString(this.Handle, "CBaseEntity", "m_iszResponseContext", value); }
}
// m_iHealth
[SchemaMember("CBaseEntity", "m_iHealth")]
public ref Int32 Health => ref Schema.GetRef<Int32>(this.Handle, "CBaseEntity", "m_iHealth");
// m_iMaxHealth
[SchemaMember("CBaseEntity", "m_iMaxHealth")]
public ref Int32 MaxHealth => ref Schema.GetRef<Int32>(this.Handle, "CBaseEntity", "m_iMaxHealth");
// m_lifeState
[SchemaMember("CBaseEntity", "m_lifeState")]
public ref byte LifeState => ref Schema.GetRef<byte>(this.Handle, "CBaseEntity", "m_lifeState");
// m_flDamageAccumulator
[SchemaMember("CBaseEntity", "m_flDamageAccumulator")]
public ref float DamageAccumulator => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_flDamageAccumulator");
// m_bTakesDamage
[SchemaMember("CBaseEntity", "m_bTakesDamage")]
public ref bool TakesDamage => ref Schema.GetRef<bool>(this.Handle, "CBaseEntity", "m_bTakesDamage");
// m_nTakeDamageFlags
[SchemaMember("CBaseEntity", "m_nTakeDamageFlags")]
public ref TakeDamageFlags_t TakeDamageFlags => ref Schema.GetRef<TakeDamageFlags_t>(this.Handle, "CBaseEntity", "m_nTakeDamageFlags");
// m_nPlatformType
[SchemaMember("CBaseEntity", "m_nPlatformType")]
public ref EntityPlatformTypes_t PlatformType => ref Schema.GetRef<EntityPlatformTypes_t>(this.Handle, "CBaseEntity", "m_nPlatformType");
// m_MoveCollide
[SchemaMember("CBaseEntity", "m_MoveCollide")]
public ref MoveCollide_t MoveCollide => ref Schema.GetRef<MoveCollide_t>(this.Handle, "CBaseEntity", "m_MoveCollide");
// m_MoveType
[SchemaMember("CBaseEntity", "m_MoveType")]
public ref MoveType_t MoveType => ref Schema.GetRef<MoveType_t>(this.Handle, "CBaseEntity", "m_MoveType");
// m_nActualMoveType
[SchemaMember("CBaseEntity", "m_nActualMoveType")]
public ref MoveType_t ActualMoveType => ref Schema.GetRef<MoveType_t>(this.Handle, "CBaseEntity", "m_nActualMoveType");
// m_nWaterTouch
[SchemaMember("CBaseEntity", "m_nWaterTouch")]
public ref byte WaterTouch => ref Schema.GetRef<byte>(this.Handle, "CBaseEntity", "m_nWaterTouch");
// m_nSlimeTouch
[SchemaMember("CBaseEntity", "m_nSlimeTouch")]
public ref byte SlimeTouch => ref Schema.GetRef<byte>(this.Handle, "CBaseEntity", "m_nSlimeTouch");
// m_bRestoreInHierarchy
[SchemaMember("CBaseEntity", "m_bRestoreInHierarchy")]
public ref bool RestoreInHierarchy => ref Schema.GetRef<bool>(this.Handle, "CBaseEntity", "m_bRestoreInHierarchy");
// m_target
[SchemaMember("CBaseEntity", "m_target")]
public string Target
{
get { return Schema.GetUtf8String(this.Handle, "CBaseEntity", "m_target"); }
set { Schema.SetString(this.Handle, "CBaseEntity", "m_target", value); }
}
// m_hDamageFilter
[SchemaMember("CBaseEntity", "m_hDamageFilter")]
public CHandle<CBaseFilter> DamageFilter => Schema.GetDeclaredClass<CHandle<CBaseFilter>>(this.Handle, "CBaseEntity", "m_hDamageFilter");
// m_iszDamageFilterName
[SchemaMember("CBaseEntity", "m_iszDamageFilterName")]
public string DamageFilterName
{
get { return Schema.GetUtf8String(this.Handle, "CBaseEntity", "m_iszDamageFilterName"); }
set { Schema.SetString(this.Handle, "CBaseEntity", "m_iszDamageFilterName", value); }
}
// m_flMoveDoneTime
[SchemaMember("CBaseEntity", "m_flMoveDoneTime")]
public ref float MoveDoneTime => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_flMoveDoneTime");
// m_nSubclassID
[SchemaMember("CBaseEntity", "m_nSubclassID")]
public CUtlStringToken SubclassID => Schema.GetDeclaredClass<CUtlStringToken>(this.Handle, "CBaseEntity", "m_nSubclassID");
// m_flAnimTime
[SchemaMember("CBaseEntity", "m_flAnimTime")]
public ref float AnimTime => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_flAnimTime");
// m_flSimulationTime
[SchemaMember("CBaseEntity", "m_flSimulationTime")]
public ref float SimulationTime => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_flSimulationTime");
// m_flCreateTime
[SchemaMember("CBaseEntity", "m_flCreateTime")]
public ref float CreateTime => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_flCreateTime");
// m_bClientSideRagdoll
[SchemaMember("CBaseEntity", "m_bClientSideRagdoll")]
public ref bool ClientSideRagdoll => ref Schema.GetRef<bool>(this.Handle, "CBaseEntity", "m_bClientSideRagdoll");
// m_ubInterpolationFrame
[SchemaMember("CBaseEntity", "m_ubInterpolationFrame")]
public ref byte InterpolationFrame => ref Schema.GetRef<byte>(this.Handle, "CBaseEntity", "m_ubInterpolationFrame");
// m_vPrevVPhysicsUpdatePos
[SchemaMember("CBaseEntity", "m_vPrevVPhysicsUpdatePos")]
public Vector PrevVPhysicsUpdatePos => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseEntity", "m_vPrevVPhysicsUpdatePos");
// m_iTeamNum
[SchemaMember("CBaseEntity", "m_iTeamNum")]
public ref byte TeamNum => ref Schema.GetRef<byte>(this.Handle, "CBaseEntity", "m_iTeamNum");
// m_iGlobalname
[SchemaMember("CBaseEntity", "m_iGlobalname")]
public string Globalname
{
get { return Schema.GetUtf8String(this.Handle, "CBaseEntity", "m_iGlobalname"); }
set { Schema.SetString(this.Handle, "CBaseEntity", "m_iGlobalname", value); }
}
// m_iSentToClients
[SchemaMember("CBaseEntity", "m_iSentToClients")]
public ref Int32 SentToClients => ref Schema.GetRef<Int32>(this.Handle, "CBaseEntity", "m_iSentToClients");
// m_flSpeed
[SchemaMember("CBaseEntity", "m_flSpeed")]
public ref float Speed => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_flSpeed");
// m_sUniqueHammerID
[SchemaMember("CBaseEntity", "m_sUniqueHammerID")]
public string UniqueHammerID
{
get { return Schema.GetUtf8String(this.Handle, "CBaseEntity", "m_sUniqueHammerID"); }
set { Schema.SetString(this.Handle, "CBaseEntity", "m_sUniqueHammerID", value); }
}
// m_spawnflags
[SchemaMember("CBaseEntity", "m_spawnflags")]
public ref UInt32 Spawnflags => ref Schema.GetRef<UInt32>(this.Handle, "CBaseEntity", "m_spawnflags");
// m_nNextThinkTick
[SchemaMember("CBaseEntity", "m_nNextThinkTick")]
public ref Int32 NextThinkTick => ref Schema.GetRef<Int32>(this.Handle, "CBaseEntity", "m_nNextThinkTick");
// m_nSimulationTick
[SchemaMember("CBaseEntity", "m_nSimulationTick")]
public ref Int32 SimulationTick => ref Schema.GetRef<Int32>(this.Handle, "CBaseEntity", "m_nSimulationTick");
// m_OnKilled
[SchemaMember("CBaseEntity", "m_OnKilled")]
public CEntityIOOutput OnKilled => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseEntity", "m_OnKilled");
// m_fFlags
[SchemaMember("CBaseEntity", "m_fFlags")]
public ref UInt32 Flags => ref Schema.GetRef<UInt32>(this.Handle, "CBaseEntity", "m_fFlags");
// m_vecAbsVelocity
[SchemaMember("CBaseEntity", "m_vecAbsVelocity")]
public Vector AbsVelocity => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseEntity", "m_vecAbsVelocity");
// m_vecVelocity
[SchemaMember("CBaseEntity", "m_vecVelocity")]
public CNetworkVelocityVector Velocity => Schema.GetDeclaredClass<CNetworkVelocityVector>(this.Handle, "CBaseEntity", "m_vecVelocity");
// m_vecBaseVelocity
[SchemaMember("CBaseEntity", "m_vecBaseVelocity")]
public Vector BaseVelocity => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseEntity", "m_vecBaseVelocity");
// m_nPushEnumCount
[SchemaMember("CBaseEntity", "m_nPushEnumCount")]
public ref Int32 PushEnumCount => ref Schema.GetRef<Int32>(this.Handle, "CBaseEntity", "m_nPushEnumCount");
// m_pCollision
[SchemaMember("CBaseEntity", "m_pCollision")]
public CCollisionProperty? Collision => Schema.GetPointer<CCollisionProperty>(this.Handle, "CBaseEntity", "m_pCollision");
// m_hEffectEntity
[SchemaMember("CBaseEntity", "m_hEffectEntity")]
public CHandle<CBaseEntity> EffectEntity => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBaseEntity", "m_hEffectEntity");
// m_hOwnerEntity
[SchemaMember("CBaseEntity", "m_hOwnerEntity")]
public CHandle<CBaseEntity> OwnerEntity => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBaseEntity", "m_hOwnerEntity");
// m_fEffects
[SchemaMember("CBaseEntity", "m_fEffects")]
public ref UInt32 Effects => ref Schema.GetRef<UInt32>(this.Handle, "CBaseEntity", "m_fEffects");
// m_hGroundEntity
[SchemaMember("CBaseEntity", "m_hGroundEntity")]
public CHandle<CBaseEntity> GroundEntity => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBaseEntity", "m_hGroundEntity");
// m_nGroundBodyIndex
[SchemaMember("CBaseEntity", "m_nGroundBodyIndex")]
public ref Int32 GroundBodyIndex => ref Schema.GetRef<Int32>(this.Handle, "CBaseEntity", "m_nGroundBodyIndex");
// m_flFriction
[SchemaMember("CBaseEntity", "m_flFriction")]
public ref float Friction => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_flFriction");
// m_flElasticity
[SchemaMember("CBaseEntity", "m_flElasticity")]
public ref float Elasticity => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_flElasticity");
// m_flGravityScale
[SchemaMember("CBaseEntity", "m_flGravityScale")]
public ref float GravityScale => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_flGravityScale");
// m_flTimeScale
[SchemaMember("CBaseEntity", "m_flTimeScale")]
public ref float TimeScale => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_flTimeScale");
// m_flWaterLevel
[SchemaMember("CBaseEntity", "m_flWaterLevel")]
public ref float WaterLevel => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_flWaterLevel");
// m_bAnimatedEveryTick
[SchemaMember("CBaseEntity", "m_bAnimatedEveryTick")]
public ref bool AnimatedEveryTick => ref Schema.GetRef<bool>(this.Handle, "CBaseEntity", "m_bAnimatedEveryTick");
// m_bDisableLowViolence
[SchemaMember("CBaseEntity", "m_bDisableLowViolence")]
public ref bool DisableLowViolence => ref Schema.GetRef<bool>(this.Handle, "CBaseEntity", "m_bDisableLowViolence");
// m_nWaterType
[SchemaMember("CBaseEntity", "m_nWaterType")]
public ref byte WaterType => ref Schema.GetRef<byte>(this.Handle, "CBaseEntity", "m_nWaterType");
// m_iEFlags
[SchemaMember("CBaseEntity", "m_iEFlags")]
public ref Int32 EFlags => ref Schema.GetRef<Int32>(this.Handle, "CBaseEntity", "m_iEFlags");
// m_OnUser1
[SchemaMember("CBaseEntity", "m_OnUser1")]
public CEntityIOOutput OnUser1 => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseEntity", "m_OnUser1");
// m_OnUser2
[SchemaMember("CBaseEntity", "m_OnUser2")]
public CEntityIOOutput OnUser2 => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseEntity", "m_OnUser2");
// m_OnUser3
[SchemaMember("CBaseEntity", "m_OnUser3")]
public CEntityIOOutput OnUser3 => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseEntity", "m_OnUser3");
// m_OnUser4
[SchemaMember("CBaseEntity", "m_OnUser4")]
public CEntityIOOutput OnUser4 => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseEntity", "m_OnUser4");
// m_iInitialTeamNum
[SchemaMember("CBaseEntity", "m_iInitialTeamNum")]
public ref Int32 InitialTeamNum => ref Schema.GetRef<Int32>(this.Handle, "CBaseEntity", "m_iInitialTeamNum");
// m_flNavIgnoreUntilTime
[SchemaMember("CBaseEntity", "m_flNavIgnoreUntilTime")]
public ref float NavIgnoreUntilTime => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_flNavIgnoreUntilTime");
// m_vecAngVelocity
[SchemaMember("CBaseEntity", "m_vecAngVelocity")]
public QAngle AngVelocity => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBaseEntity", "m_vecAngVelocity");
// m_bNetworkQuantizeOriginAndAngles
[SchemaMember("CBaseEntity", "m_bNetworkQuantizeOriginAndAngles")]
public ref bool NetworkQuantizeOriginAndAngles => ref Schema.GetRef<bool>(this.Handle, "CBaseEntity", "m_bNetworkQuantizeOriginAndAngles");
// m_bLagCompensate
[SchemaMember("CBaseEntity", "m_bLagCompensate")]
public ref bool LagCompensate => ref Schema.GetRef<bool>(this.Handle, "CBaseEntity", "m_bLagCompensate");
// m_flOverriddenFriction
[SchemaMember("CBaseEntity", "m_flOverriddenFriction")]
public ref float OverriddenFriction => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_flOverriddenFriction");
// m_pBlocker
[SchemaMember("CBaseEntity", "m_pBlocker")]
public CHandle<CBaseEntity> Blocker => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBaseEntity", "m_pBlocker");
// m_flLocalTime
[SchemaMember("CBaseEntity", "m_flLocalTime")]
public ref float LocalTime => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_flLocalTime");
// m_flVPhysicsUpdateLocalTime
[SchemaMember("CBaseEntity", "m_flVPhysicsUpdateLocalTime")]
public ref float VPhysicsUpdateLocalTime => ref Schema.GetRef<float>(this.Handle, "CBaseEntity", "m_flVPhysicsUpdateLocalTime");
// m_nBloodType
[SchemaMember("CBaseEntity", "m_nBloodType")]
public ref BloodType BloodType => ref Schema.GetRef<BloodType>(this.Handle, "CBaseEntity", "m_nBloodType");
}

View File

@@ -1,37 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseFire : CBaseEntity
{
public CBaseFire (IntPtr pointer) : base(pointer) {}
// m_flScale
[SchemaMember("CBaseFire", "m_flScale")]
public ref float Scale => ref Schema.GetRef<float>(this.Handle, "CBaseFire", "m_flScale");
// m_flStartScale
[SchemaMember("CBaseFire", "m_flStartScale")]
public ref float StartScale => ref Schema.GetRef<float>(this.Handle, "CBaseFire", "m_flStartScale");
// m_flScaleTime
[SchemaMember("CBaseFire", "m_flScaleTime")]
public ref float ScaleTime => ref Schema.GetRef<float>(this.Handle, "CBaseFire", "m_flScaleTime");
// m_nFlags
[SchemaMember("CBaseFire", "m_nFlags")]
public ref UInt32 FireFlags => ref Schema.GetRef<UInt32>(this.Handle, "CBaseFire", "m_nFlags");
}

View File

@@ -1,49 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseFlex : CBaseAnimGraph
{
public CBaseFlex (IntPtr pointer) : base(pointer) {}
// m_flexWeight
[SchemaMember("CBaseFlex", "m_flexWeight")]
public NetworkedVector<float> FlexWeight => Schema.GetDeclaredClass<NetworkedVector<float>>(this.Handle, "CBaseFlex", "m_flexWeight");
// m_vLookTargetPosition
[SchemaMember("CBaseFlex", "m_vLookTargetPosition")]
public Vector LookTargetPosition => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseFlex", "m_vLookTargetPosition");
// m_blinktoggle
[SchemaMember("CBaseFlex", "m_blinktoggle")]
public ref bool Blinktoggle => ref Schema.GetRef<bool>(this.Handle, "CBaseFlex", "m_blinktoggle");
// m_flAllowResponsesEndTime
[SchemaMember("CBaseFlex", "m_flAllowResponsesEndTime")]
public ref float AllowResponsesEndTime => ref Schema.GetRef<float>(this.Handle, "CBaseFlex", "m_flAllowResponsesEndTime");
// m_flLastFlexAnimationTime
[SchemaMember("CBaseFlex", "m_flLastFlexAnimationTime")]
public ref float LastFlexAnimationTime => ref Schema.GetRef<float>(this.Handle, "CBaseFlex", "m_flLastFlexAnimationTime");
// m_nNextSceneEventId
[SchemaMember("CBaseFlex", "m_nNextSceneEventId")]
public SceneEventId_t NextSceneEventId => Schema.GetDeclaredClass<SceneEventId_t>(this.Handle, "CBaseFlex", "m_nNextSceneEventId");
// m_bUpdateLayerPriorities
[SchemaMember("CBaseFlex", "m_bUpdateLayerPriorities")]
public ref bool UpdateLayerPriorities => ref Schema.GetRef<bool>(this.Handle, "CBaseFlex", "m_bUpdateLayerPriorities");
}

View File

@@ -1,85 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseGrenade : CBaseFlex
{
public CBaseGrenade (IntPtr pointer) : base(pointer) {}
// m_OnPlayerPickup
[SchemaMember("CBaseGrenade", "m_OnPlayerPickup")]
public CEntityIOOutput OnPlayerPickup => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseGrenade", "m_OnPlayerPickup");
// m_OnExplode
[SchemaMember("CBaseGrenade", "m_OnExplode")]
public CEntityIOOutput OnExplode => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseGrenade", "m_OnExplode");
// m_bHasWarnedAI
[SchemaMember("CBaseGrenade", "m_bHasWarnedAI")]
public ref bool HasWarnedAI => ref Schema.GetRef<bool>(this.Handle, "CBaseGrenade", "m_bHasWarnedAI");
// m_bIsSmokeGrenade
[SchemaMember("CBaseGrenade", "m_bIsSmokeGrenade")]
public ref bool IsSmokeGrenade => ref Schema.GetRef<bool>(this.Handle, "CBaseGrenade", "m_bIsSmokeGrenade");
// m_bIsLive
[SchemaMember("CBaseGrenade", "m_bIsLive")]
public ref bool IsLive => ref Schema.GetRef<bool>(this.Handle, "CBaseGrenade", "m_bIsLive");
// m_DmgRadius
[SchemaMember("CBaseGrenade", "m_DmgRadius")]
public ref float DmgRadius => ref Schema.GetRef<float>(this.Handle, "CBaseGrenade", "m_DmgRadius");
// m_flDetonateTime
[SchemaMember("CBaseGrenade", "m_flDetonateTime")]
public ref float DetonateTime => ref Schema.GetRef<float>(this.Handle, "CBaseGrenade", "m_flDetonateTime");
// m_flWarnAITime
[SchemaMember("CBaseGrenade", "m_flWarnAITime")]
public ref float WarnAITime => ref Schema.GetRef<float>(this.Handle, "CBaseGrenade", "m_flWarnAITime");
// m_flDamage
[SchemaMember("CBaseGrenade", "m_flDamage")]
public ref float Damage => ref Schema.GetRef<float>(this.Handle, "CBaseGrenade", "m_flDamage");
// m_iszBounceSound
[SchemaMember("CBaseGrenade", "m_iszBounceSound")]
public string BounceSound
{
get { return Schema.GetUtf8String(this.Handle, "CBaseGrenade", "m_iszBounceSound"); }
set { Schema.SetString(this.Handle, "CBaseGrenade", "m_iszBounceSound", value); }
}
// m_ExplosionSound
[SchemaMember("CBaseGrenade", "m_ExplosionSound")]
public string ExplosionSound
{
get { return Schema.GetUtf8String(this.Handle, "CBaseGrenade", "m_ExplosionSound"); }
set { Schema.SetString(this.Handle, "CBaseGrenade", "m_ExplosionSound", value); }
}
// m_hThrower
[SchemaMember("CBaseGrenade", "m_hThrower")]
public CHandle<CCSPlayerPawn> Thrower => Schema.GetDeclaredClass<CHandle<CCSPlayerPawn>>(this.Handle, "CBaseGrenade", "m_hThrower");
// m_flNextAttack
[SchemaMember("CBaseGrenade", "m_flNextAttack")]
public ref float NextAttack => ref Schema.GetRef<float>(this.Handle, "CBaseGrenade", "m_flNextAttack");
// m_hOriginalThrower
[SchemaMember("CBaseGrenade", "m_hOriginalThrower")]
public CHandle<CCSPlayerPawn> OriginalThrower => Schema.GetDeclaredClass<CHandle<CCSPlayerPawn>>(this.Handle, "CBaseGrenade", "m_hOriginalThrower");
}

View File

@@ -1,157 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseModelEntity : CBaseEntity
{
public CBaseModelEntity (IntPtr pointer) : base(pointer) {}
// m_CRenderComponent
[SchemaMember("CBaseModelEntity", "m_CRenderComponent")]
public CRenderComponent? CRenderComponent => Schema.GetPointer<CRenderComponent>(this.Handle, "CBaseModelEntity", "m_CRenderComponent");
// m_CHitboxComponent
[SchemaMember("CBaseModelEntity", "m_CHitboxComponent")]
public CHitboxComponent CHitboxComponent => Schema.GetDeclaredClass<CHitboxComponent>(this.Handle, "CBaseModelEntity", "m_CHitboxComponent");
// m_nDestructiblePartInitialStateDestructed0
[SchemaMember("CBaseModelEntity", "m_nDestructiblePartInitialStateDestructed0")]
public ref HitGroup_t DestructiblePartInitialStateDestructed0 => ref Schema.GetRef<HitGroup_t>(this.Handle, "CBaseModelEntity", "m_nDestructiblePartInitialStateDestructed0");
// m_nDestructiblePartInitialStateDestructed1
[SchemaMember("CBaseModelEntity", "m_nDestructiblePartInitialStateDestructed1")]
public ref HitGroup_t DestructiblePartInitialStateDestructed1 => ref Schema.GetRef<HitGroup_t>(this.Handle, "CBaseModelEntity", "m_nDestructiblePartInitialStateDestructed1");
// m_nDestructiblePartInitialStateDestructed2
[SchemaMember("CBaseModelEntity", "m_nDestructiblePartInitialStateDestructed2")]
public ref HitGroup_t DestructiblePartInitialStateDestructed2 => ref Schema.GetRef<HitGroup_t>(this.Handle, "CBaseModelEntity", "m_nDestructiblePartInitialStateDestructed2");
// m_nDestructiblePartInitialStateDestructed3
[SchemaMember("CBaseModelEntity", "m_nDestructiblePartInitialStateDestructed3")]
public ref HitGroup_t DestructiblePartInitialStateDestructed3 => ref Schema.GetRef<HitGroup_t>(this.Handle, "CBaseModelEntity", "m_nDestructiblePartInitialStateDestructed3");
// m_nDestructiblePartInitialStateDestructed4
[SchemaMember("CBaseModelEntity", "m_nDestructiblePartInitialStateDestructed4")]
public ref HitGroup_t DestructiblePartInitialStateDestructed4 => ref Schema.GetRef<HitGroup_t>(this.Handle, "CBaseModelEntity", "m_nDestructiblePartInitialStateDestructed4");
// m_nLastHitDestructiblePartIndex
[SchemaMember("CBaseModelEntity", "m_nLastHitDestructiblePartIndex")]
public ref Int32 LastHitDestructiblePartIndex => ref Schema.GetRef<Int32>(this.Handle, "CBaseModelEntity", "m_nLastHitDestructiblePartIndex");
// m_LastHitGroup
[SchemaMember("CBaseModelEntity", "m_LastHitGroup")]
public ref HitGroup_t LastHitGroup => ref Schema.GetRef<HitGroup_t>(this.Handle, "CBaseModelEntity", "m_LastHitGroup");
// m_flDissolveStartTime
[SchemaMember("CBaseModelEntity", "m_flDissolveStartTime")]
public ref float DissolveStartTime => ref Schema.GetRef<float>(this.Handle, "CBaseModelEntity", "m_flDissolveStartTime");
// m_OnIgnite
[SchemaMember("CBaseModelEntity", "m_OnIgnite")]
public CEntityIOOutput OnIgnite => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseModelEntity", "m_OnIgnite");
// m_nRenderMode
[SchemaMember("CBaseModelEntity", "m_nRenderMode")]
public ref RenderMode_t RenderMode => ref Schema.GetRef<RenderMode_t>(this.Handle, "CBaseModelEntity", "m_nRenderMode");
// m_nRenderFX
[SchemaMember("CBaseModelEntity", "m_nRenderFX")]
public ref RenderFx_t RenderFX => ref Schema.GetRef<RenderFx_t>(this.Handle, "CBaseModelEntity", "m_nRenderFX");
// m_bAllowFadeInView
[SchemaMember("CBaseModelEntity", "m_bAllowFadeInView")]
public ref bool AllowFadeInView => ref Schema.GetRef<bool>(this.Handle, "CBaseModelEntity", "m_bAllowFadeInView");
// m_clrRender
[SchemaMember("CBaseModelEntity", "m_clrRender")]
public Color Render
{
get { return Schema.GetCustomMarshalledType<Color>(this.Handle, "CBaseModelEntity", "m_clrRender"); }
set { Schema.SetCustomMarshalledType<Color>(this.Handle, "CBaseModelEntity", "m_clrRender", value); }
}
// m_vecRenderAttributes
[SchemaMember("CBaseModelEntity", "m_vecRenderAttributes")]
public NetworkedVector<EntityRenderAttribute_t> RenderAttributes => Schema.GetDeclaredClass<NetworkedVector<EntityRenderAttribute_t>>(this.Handle, "CBaseModelEntity", "m_vecRenderAttributes");
// m_bRenderToCubemaps
[SchemaMember("CBaseModelEntity", "m_bRenderToCubemaps")]
public ref bool RenderToCubemaps => ref Schema.GetRef<bool>(this.Handle, "CBaseModelEntity", "m_bRenderToCubemaps");
// m_bNoInterpolate
[SchemaMember("CBaseModelEntity", "m_bNoInterpolate")]
public ref bool NoInterpolate => ref Schema.GetRef<bool>(this.Handle, "CBaseModelEntity", "m_bNoInterpolate");
// m_Collision
[SchemaMember("CBaseModelEntity", "m_Collision")]
public new CCollisionProperty Collision => Schema.GetDeclaredClass<CCollisionProperty>(this.Handle, "CBaseModelEntity", "m_Collision");
// m_Glow
[SchemaMember("CBaseModelEntity", "m_Glow")]
public CGlowProperty Glow => Schema.GetDeclaredClass<CGlowProperty>(this.Handle, "CBaseModelEntity", "m_Glow");
// m_flGlowBackfaceMult
[SchemaMember("CBaseModelEntity", "m_flGlowBackfaceMult")]
public ref float GlowBackfaceMult => ref Schema.GetRef<float>(this.Handle, "CBaseModelEntity", "m_flGlowBackfaceMult");
// m_fadeMinDist
[SchemaMember("CBaseModelEntity", "m_fadeMinDist")]
public ref float FadeMinDist => ref Schema.GetRef<float>(this.Handle, "CBaseModelEntity", "m_fadeMinDist");
// m_fadeMaxDist
[SchemaMember("CBaseModelEntity", "m_fadeMaxDist")]
public ref float FadeMaxDist => ref Schema.GetRef<float>(this.Handle, "CBaseModelEntity", "m_fadeMaxDist");
// m_flFadeScale
[SchemaMember("CBaseModelEntity", "m_flFadeScale")]
public ref float FadeScale => ref Schema.GetRef<float>(this.Handle, "CBaseModelEntity", "m_flFadeScale");
// m_flShadowStrength
[SchemaMember("CBaseModelEntity", "m_flShadowStrength")]
public ref float ShadowStrength => ref Schema.GetRef<float>(this.Handle, "CBaseModelEntity", "m_flShadowStrength");
// m_nObjectCulling
[SchemaMember("CBaseModelEntity", "m_nObjectCulling")]
public ref byte ObjectCulling => ref Schema.GetRef<byte>(this.Handle, "CBaseModelEntity", "m_nObjectCulling");
// m_nAddDecal
[SchemaMember("CBaseModelEntity", "m_nAddDecal")]
public ref Int32 AddDecal => ref Schema.GetRef<Int32>(this.Handle, "CBaseModelEntity", "m_nAddDecal");
// m_vDecalPosition
[SchemaMember("CBaseModelEntity", "m_vDecalPosition")]
public Vector DecalPosition => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseModelEntity", "m_vDecalPosition");
// m_vDecalForwardAxis
[SchemaMember("CBaseModelEntity", "m_vDecalForwardAxis")]
public Vector DecalForwardAxis => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseModelEntity", "m_vDecalForwardAxis");
// m_flDecalHealBloodRate
[SchemaMember("CBaseModelEntity", "m_flDecalHealBloodRate")]
public ref float DecalHealBloodRate => ref Schema.GetRef<float>(this.Handle, "CBaseModelEntity", "m_flDecalHealBloodRate");
// m_flDecalHealHeightRate
[SchemaMember("CBaseModelEntity", "m_flDecalHealHeightRate")]
public ref float DecalHealHeightRate => ref Schema.GetRef<float>(this.Handle, "CBaseModelEntity", "m_flDecalHealHeightRate");
// m_ConfigEntitiesToPropagateMaterialDecalsTo
[SchemaMember("CBaseModelEntity", "m_ConfigEntitiesToPropagateMaterialDecalsTo")]
public NetworkedVector<CHandle<CBaseModelEntity>> ConfigEntitiesToPropagateMaterialDecalsTo => Schema.GetDeclaredClass<NetworkedVector<CHandle<CBaseModelEntity>>>(this.Handle, "CBaseModelEntity", "m_ConfigEntitiesToPropagateMaterialDecalsTo");
// m_vecViewOffset
[SchemaMember("CBaseModelEntity", "m_vecViewOffset")]
public CNetworkViewOffsetVector ViewOffset => Schema.GetDeclaredClass<CNetworkViewOffsetVector>(this.Handle, "CBaseModelEntity", "m_vecViewOffset");
}

View File

@@ -1,65 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseMoveBehavior : CPathKeyFrame
{
public CBaseMoveBehavior (IntPtr pointer) : base(pointer) {}
// m_iPositionInterpolator
[SchemaMember("CBaseMoveBehavior", "m_iPositionInterpolator")]
public ref Int32 PositionInterpolator => ref Schema.GetRef<Int32>(this.Handle, "CBaseMoveBehavior", "m_iPositionInterpolator");
// m_iRotationInterpolator
[SchemaMember("CBaseMoveBehavior", "m_iRotationInterpolator")]
public ref Int32 RotationInterpolator => ref Schema.GetRef<Int32>(this.Handle, "CBaseMoveBehavior", "m_iRotationInterpolator");
// m_flAnimStartTime
[SchemaMember("CBaseMoveBehavior", "m_flAnimStartTime")]
public ref float AnimStartTime => ref Schema.GetRef<float>(this.Handle, "CBaseMoveBehavior", "m_flAnimStartTime");
// m_flAnimEndTime
[SchemaMember("CBaseMoveBehavior", "m_flAnimEndTime")]
public ref float AnimEndTime => ref Schema.GetRef<float>(this.Handle, "CBaseMoveBehavior", "m_flAnimEndTime");
// m_flAverageSpeedAcrossFrame
[SchemaMember("CBaseMoveBehavior", "m_flAverageSpeedAcrossFrame")]
public ref float AverageSpeedAcrossFrame => ref Schema.GetRef<float>(this.Handle, "CBaseMoveBehavior", "m_flAverageSpeedAcrossFrame");
// m_pCurrentKeyFrame
[SchemaMember("CBaseMoveBehavior", "m_pCurrentKeyFrame")]
public CPathKeyFrame? CurrentKeyFrame => Schema.GetPointer<CPathKeyFrame>(this.Handle, "CBaseMoveBehavior", "m_pCurrentKeyFrame");
// m_pTargetKeyFrame
[SchemaMember("CBaseMoveBehavior", "m_pTargetKeyFrame")]
public CPathKeyFrame? TargetKeyFrame => Schema.GetPointer<CPathKeyFrame>(this.Handle, "CBaseMoveBehavior", "m_pTargetKeyFrame");
// m_pPreKeyFrame
[SchemaMember("CBaseMoveBehavior", "m_pPreKeyFrame")]
public CPathKeyFrame? PreKeyFrame => Schema.GetPointer<CPathKeyFrame>(this.Handle, "CBaseMoveBehavior", "m_pPreKeyFrame");
// m_pPostKeyFrame
[SchemaMember("CBaseMoveBehavior", "m_pPostKeyFrame")]
public CPathKeyFrame? PostKeyFrame => Schema.GetPointer<CPathKeyFrame>(this.Handle, "CBaseMoveBehavior", "m_pPostKeyFrame");
// m_flTimeIntoFrame
[SchemaMember("CBaseMoveBehavior", "m_flTimeIntoFrame")]
public ref float TimeIntoFrame => ref Schema.GetRef<float>(this.Handle, "CBaseMoveBehavior", "m_flTimeIntoFrame");
// m_iDirection
[SchemaMember("CBaseMoveBehavior", "m_iDirection")]
public ref Int32 Direction => ref Schema.GetRef<Int32>(this.Handle, "CBaseMoveBehavior", "m_iDirection");
}

View File

@@ -1,121 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBasePlayerController : CBaseEntity
{
public CBasePlayerController (IntPtr pointer) : base(pointer) {}
// m_nInButtonsWhichAreToggles
[SchemaMember("CBasePlayerController", "m_nInButtonsWhichAreToggles")]
public ref UInt64 InButtonsWhichAreToggles => ref Schema.GetRef<UInt64>(this.Handle, "CBasePlayerController", "m_nInButtonsWhichAreToggles");
// m_nTickBase
[SchemaMember("CBasePlayerController", "m_nTickBase")]
public ref UInt32 TickBase => ref Schema.GetRef<UInt32>(this.Handle, "CBasePlayerController", "m_nTickBase");
// m_hPawn
[SchemaMember("CBasePlayerController", "m_hPawn")]
public CHandle<CBasePlayerPawn> Pawn => Schema.GetDeclaredClass<CHandle<CBasePlayerPawn>>(this.Handle, "CBasePlayerController", "m_hPawn");
// m_bKnownTeamMismatch
[SchemaMember("CBasePlayerController", "m_bKnownTeamMismatch")]
public ref bool KnownTeamMismatch => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerController", "m_bKnownTeamMismatch");
// m_nSplitScreenSlot
[SchemaMember("CBasePlayerController", "m_nSplitScreenSlot")]
public ref Int32 SplitScreenSlot => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerController", "m_nSplitScreenSlot");
// m_hSplitOwner
[SchemaMember("CBasePlayerController", "m_hSplitOwner")]
public CHandle<CBasePlayerController> SplitOwner => Schema.GetDeclaredClass<CHandle<CBasePlayerController>>(this.Handle, "CBasePlayerController", "m_hSplitOwner");
// m_hSplitScreenPlayers
[SchemaMember("CBasePlayerController", "m_hSplitScreenPlayers")]
public NetworkedVector<CHandle<CBasePlayerController>> SplitScreenPlayers => Schema.GetDeclaredClass<NetworkedVector<CHandle<CBasePlayerController>>>(this.Handle, "CBasePlayerController", "m_hSplitScreenPlayers");
// m_bIsHLTV
[SchemaMember("CBasePlayerController", "m_bIsHLTV")]
public ref bool IsHLTV => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerController", "m_bIsHLTV");
// m_iConnected
[SchemaMember("CBasePlayerController", "m_iConnected")]
public ref PlayerConnectedState Connected => ref Schema.GetRef<PlayerConnectedState>(this.Handle, "CBasePlayerController", "m_iConnected");
// m_iszPlayerName
[SchemaMember("CBasePlayerController", "m_iszPlayerName")]
public string PlayerName
{
get { return Schema.GetString(this.Handle, "CBasePlayerController", "m_iszPlayerName"); }
set { Schema.SetStringBytes(this.Handle, "CBasePlayerController", "m_iszPlayerName", value, 128); }
}
// m_szNetworkIDString
[SchemaMember("CBasePlayerController", "m_szNetworkIDString")]
public string NetworkIDString
{
get { return Schema.GetUtf8String(this.Handle, "CBasePlayerController", "m_szNetworkIDString"); }
set { Schema.SetString(this.Handle, "CBasePlayerController", "m_szNetworkIDString", value); }
}
// m_fLerpTime
[SchemaMember("CBasePlayerController", "m_fLerpTime")]
public ref float LerpTime => ref Schema.GetRef<float>(this.Handle, "CBasePlayerController", "m_fLerpTime");
// m_bLagCompensation
[SchemaMember("CBasePlayerController", "m_bLagCompensation")]
public ref bool LagCompensation => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerController", "m_bLagCompensation");
// m_bPredict
[SchemaMember("CBasePlayerController", "m_bPredict")]
public ref bool Predict => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerController", "m_bPredict");
// m_bIsLowViolence
[SchemaMember("CBasePlayerController", "m_bIsLowViolence")]
public ref bool IsLowViolence => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerController", "m_bIsLowViolence");
// m_bGamePaused
[SchemaMember("CBasePlayerController", "m_bGamePaused")]
public ref bool GamePaused => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerController", "m_bGamePaused");
// m_iIgnoreGlobalChat
[SchemaMember("CBasePlayerController", "m_iIgnoreGlobalChat")]
public ref ChatIgnoreType_t IgnoreGlobalChat => ref Schema.GetRef<ChatIgnoreType_t>(this.Handle, "CBasePlayerController", "m_iIgnoreGlobalChat");
// m_flLastPlayerTalkTime
[SchemaMember("CBasePlayerController", "m_flLastPlayerTalkTime")]
public ref float LastPlayerTalkTime => ref Schema.GetRef<float>(this.Handle, "CBasePlayerController", "m_flLastPlayerTalkTime");
// m_flLastEntitySteadyState
[SchemaMember("CBasePlayerController", "m_flLastEntitySteadyState")]
public ref float LastEntitySteadyState => ref Schema.GetRef<float>(this.Handle, "CBasePlayerController", "m_flLastEntitySteadyState");
// m_nAvailableEntitySteadyState
[SchemaMember("CBasePlayerController", "m_nAvailableEntitySteadyState")]
public ref Int32 AvailableEntitySteadyState => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerController", "m_nAvailableEntitySteadyState");
// m_bHasAnySteadyStateEnts
[SchemaMember("CBasePlayerController", "m_bHasAnySteadyStateEnts")]
public ref bool HasAnySteadyStateEnts => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerController", "m_bHasAnySteadyStateEnts");
// m_steamID
[SchemaMember("CBasePlayerController", "m_steamID")]
public ref UInt64 SteamID => ref Schema.GetRef<UInt64>(this.Handle, "CBasePlayerController", "m_steamID");
// m_iDesiredFOV
[SchemaMember("CBasePlayerController", "m_iDesiredFOV")]
public ref UInt32 DesiredFOV => ref Schema.GetRef<UInt32>(this.Handle, "CBasePlayerController", "m_iDesiredFOV");
}

View File

@@ -1,121 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBasePlayerPawn : CBaseCombatCharacter
{
public CBasePlayerPawn (IntPtr pointer) : base(pointer) {}
// m_pWeaponServices
[SchemaMember("CBasePlayerPawn", "m_pWeaponServices")]
public CPlayer_WeaponServices? WeaponServices => Schema.GetPointer<CPlayer_WeaponServices>(this.Handle, "CBasePlayerPawn", "m_pWeaponServices");
// m_pItemServices
[SchemaMember("CBasePlayerPawn", "m_pItemServices")]
public CPlayer_ItemServices? ItemServices => Schema.GetPointer<CPlayer_ItemServices>(this.Handle, "CBasePlayerPawn", "m_pItemServices");
// m_pAutoaimServices
[SchemaMember("CBasePlayerPawn", "m_pAutoaimServices")]
public CPlayer_AutoaimServices? AutoaimServices => Schema.GetPointer<CPlayer_AutoaimServices>(this.Handle, "CBasePlayerPawn", "m_pAutoaimServices");
// m_pObserverServices
[SchemaMember("CBasePlayerPawn", "m_pObserverServices")]
public CPlayer_ObserverServices? ObserverServices => Schema.GetPointer<CPlayer_ObserverServices>(this.Handle, "CBasePlayerPawn", "m_pObserverServices");
// m_pWaterServices
[SchemaMember("CBasePlayerPawn", "m_pWaterServices")]
public CPlayer_WaterServices? WaterServices => Schema.GetPointer<CPlayer_WaterServices>(this.Handle, "CBasePlayerPawn", "m_pWaterServices");
// m_pUseServices
[SchemaMember("CBasePlayerPawn", "m_pUseServices")]
public CPlayer_UseServices? UseServices => Schema.GetPointer<CPlayer_UseServices>(this.Handle, "CBasePlayerPawn", "m_pUseServices");
// m_pFlashlightServices
[SchemaMember("CBasePlayerPawn", "m_pFlashlightServices")]
public CPlayer_FlashlightServices? FlashlightServices => Schema.GetPointer<CPlayer_FlashlightServices>(this.Handle, "CBasePlayerPawn", "m_pFlashlightServices");
// m_pCameraServices
[SchemaMember("CBasePlayerPawn", "m_pCameraServices")]
public CPlayer_CameraServices? CameraServices => Schema.GetPointer<CPlayer_CameraServices>(this.Handle, "CBasePlayerPawn", "m_pCameraServices");
// m_pMovementServices
[SchemaMember("CBasePlayerPawn", "m_pMovementServices")]
public CPlayer_MovementServices? MovementServices => Schema.GetPointer<CPlayer_MovementServices>(this.Handle, "CBasePlayerPawn", "m_pMovementServices");
// m_ServerViewAngleChanges
[SchemaMember("CBasePlayerPawn", "m_ServerViewAngleChanges")]
public NetworkedVector<ViewAngleServerChange_t> ServerViewAngleChanges => Schema.GetDeclaredClass<NetworkedVector<ViewAngleServerChange_t>>(this.Handle, "CBasePlayerPawn", "m_ServerViewAngleChanges");
// m_nHighestGeneratedServerViewAngleChangeIndex
[SchemaMember("CBasePlayerPawn", "m_nHighestGeneratedServerViewAngleChangeIndex")]
public ref UInt32 HighestGeneratedServerViewAngleChangeIndex => ref Schema.GetRef<UInt32>(this.Handle, "CBasePlayerPawn", "m_nHighestGeneratedServerViewAngleChangeIndex");
// v_angle
[SchemaMember("CBasePlayerPawn", "v_angle")]
public QAngle V_angle => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBasePlayerPawn", "v_angle");
// v_anglePrevious
[SchemaMember("CBasePlayerPawn", "v_anglePrevious")]
public QAngle V_anglePrevious => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBasePlayerPawn", "v_anglePrevious");
// m_iHideHUD
[SchemaMember("CBasePlayerPawn", "m_iHideHUD")]
public ref UInt32 HideHUD => ref Schema.GetRef<UInt32>(this.Handle, "CBasePlayerPawn", "m_iHideHUD");
// m_skybox3d
[SchemaMember("CBasePlayerPawn", "m_skybox3d")]
public sky3dparams_t Skybox3d => Schema.GetDeclaredClass<sky3dparams_t>(this.Handle, "CBasePlayerPawn", "m_skybox3d");
// m_fTimeLastHurt
[SchemaMember("CBasePlayerPawn", "m_fTimeLastHurt")]
public ref float TimeLastHurt => ref Schema.GetRef<float>(this.Handle, "CBasePlayerPawn", "m_fTimeLastHurt");
// m_flDeathTime
[SchemaMember("CBasePlayerPawn", "m_flDeathTime")]
public ref float DeathTime => ref Schema.GetRef<float>(this.Handle, "CBasePlayerPawn", "m_flDeathTime");
// m_fNextSuicideTime
[SchemaMember("CBasePlayerPawn", "m_fNextSuicideTime")]
public ref float NextSuicideTime => ref Schema.GetRef<float>(this.Handle, "CBasePlayerPawn", "m_fNextSuicideTime");
// m_fInitHUD
[SchemaMember("CBasePlayerPawn", "m_fInitHUD")]
public ref bool InitHUD => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerPawn", "m_fInitHUD");
// m_pExpresser
[SchemaMember("CBasePlayerPawn", "m_pExpresser")]
public CAI_Expresser? Expresser => Schema.GetPointer<CAI_Expresser>(this.Handle, "CBasePlayerPawn", "m_pExpresser");
// m_hController
[SchemaMember("CBasePlayerPawn", "m_hController")]
public CHandle<CBasePlayerController> Controller => Schema.GetDeclaredClass<CHandle<CBasePlayerController>>(this.Handle, "CBasePlayerPawn", "m_hController");
// m_fHltvReplayDelay
[SchemaMember("CBasePlayerPawn", "m_fHltvReplayDelay")]
public ref float HltvReplayDelay => ref Schema.GetRef<float>(this.Handle, "CBasePlayerPawn", "m_fHltvReplayDelay");
// m_fHltvReplayEnd
[SchemaMember("CBasePlayerPawn", "m_fHltvReplayEnd")]
public ref float HltvReplayEnd => ref Schema.GetRef<float>(this.Handle, "CBasePlayerPawn", "m_fHltvReplayEnd");
// m_iHltvReplayEntity
[SchemaMember("CBasePlayerPawn", "m_iHltvReplayEntity")]
public CEntityIndex HltvReplayEntity => Schema.GetDeclaredClass<CEntityIndex>(this.Handle, "CBasePlayerPawn", "m_iHltvReplayEntity");
// m_sndOpvarLatchData
[SchemaMember("CBasePlayerPawn", "m_sndOpvarLatchData")]
public NetworkedVector<sndopvarlatchdata_t> SndOpvarLatchData => Schema.GetDeclaredClass<NetworkedVector<sndopvarlatchdata_t>>(this.Handle, "CBasePlayerPawn", "m_sndOpvarLatchData");
}

View File

@@ -1,73 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBasePlayerVData : CEntitySubclassVDataBase
{
public CBasePlayerVData (IntPtr pointer) : base(pointer) {}
// m_flHeadDamageMultiplier
[SchemaMember("CBasePlayerVData", "m_flHeadDamageMultiplier")]
public CSkillFloat HeadDamageMultiplier => Schema.GetDeclaredClass<CSkillFloat>(this.Handle, "CBasePlayerVData", "m_flHeadDamageMultiplier");
// m_flChestDamageMultiplier
[SchemaMember("CBasePlayerVData", "m_flChestDamageMultiplier")]
public CSkillFloat ChestDamageMultiplier => Schema.GetDeclaredClass<CSkillFloat>(this.Handle, "CBasePlayerVData", "m_flChestDamageMultiplier");
// m_flStomachDamageMultiplier
[SchemaMember("CBasePlayerVData", "m_flStomachDamageMultiplier")]
public CSkillFloat StomachDamageMultiplier => Schema.GetDeclaredClass<CSkillFloat>(this.Handle, "CBasePlayerVData", "m_flStomachDamageMultiplier");
// m_flArmDamageMultiplier
[SchemaMember("CBasePlayerVData", "m_flArmDamageMultiplier")]
public CSkillFloat ArmDamageMultiplier => Schema.GetDeclaredClass<CSkillFloat>(this.Handle, "CBasePlayerVData", "m_flArmDamageMultiplier");
// m_flLegDamageMultiplier
[SchemaMember("CBasePlayerVData", "m_flLegDamageMultiplier")]
public CSkillFloat LegDamageMultiplier => Schema.GetDeclaredClass<CSkillFloat>(this.Handle, "CBasePlayerVData", "m_flLegDamageMultiplier");
// m_flHoldBreathTime
[SchemaMember("CBasePlayerVData", "m_flHoldBreathTime")]
public ref float HoldBreathTime => ref Schema.GetRef<float>(this.Handle, "CBasePlayerVData", "m_flHoldBreathTime");
// m_flDrowningDamageInterval
[SchemaMember("CBasePlayerVData", "m_flDrowningDamageInterval")]
public ref float DrowningDamageInterval => ref Schema.GetRef<float>(this.Handle, "CBasePlayerVData", "m_flDrowningDamageInterval");
// m_nDrowningDamageInitial
[SchemaMember("CBasePlayerVData", "m_nDrowningDamageInitial")]
public ref Int32 DrowningDamageInitial => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerVData", "m_nDrowningDamageInitial");
// m_nDrowningDamageMax
[SchemaMember("CBasePlayerVData", "m_nDrowningDamageMax")]
public ref Int32 DrowningDamageMax => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerVData", "m_nDrowningDamageMax");
// m_nWaterSpeed
[SchemaMember("CBasePlayerVData", "m_nWaterSpeed")]
public ref Int32 WaterSpeed => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerVData", "m_nWaterSpeed");
// m_flUseRange
[SchemaMember("CBasePlayerVData", "m_flUseRange")]
public ref float UseRange => ref Schema.GetRef<float>(this.Handle, "CBasePlayerVData", "m_flUseRange");
// m_flUseAngleTolerance
[SchemaMember("CBasePlayerVData", "m_flUseAngleTolerance")]
public ref float UseAngleTolerance => ref Schema.GetRef<float>(this.Handle, "CBasePlayerVData", "m_flUseAngleTolerance");
// m_flCrouchTime
[SchemaMember("CBasePlayerVData", "m_flCrouchTime")]
public ref float CrouchTime => ref Schema.GetRef<float>(this.Handle, "CBasePlayerVData", "m_flCrouchTime");
}

View File

@@ -1,53 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBasePlayerWeapon : CEconEntity
{
public CBasePlayerWeapon (IntPtr pointer) : base(pointer) {}
// m_nNextPrimaryAttackTick
[SchemaMember("CBasePlayerWeapon", "m_nNextPrimaryAttackTick")]
public ref Int32 NextPrimaryAttackTick => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeapon", "m_nNextPrimaryAttackTick");
// m_flNextPrimaryAttackTickRatio
[SchemaMember("CBasePlayerWeapon", "m_flNextPrimaryAttackTickRatio")]
public ref float NextPrimaryAttackTickRatio => ref Schema.GetRef<float>(this.Handle, "CBasePlayerWeapon", "m_flNextPrimaryAttackTickRatio");
// m_nNextSecondaryAttackTick
[SchemaMember("CBasePlayerWeapon", "m_nNextSecondaryAttackTick")]
public ref Int32 NextSecondaryAttackTick => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeapon", "m_nNextSecondaryAttackTick");
// m_flNextSecondaryAttackTickRatio
[SchemaMember("CBasePlayerWeapon", "m_flNextSecondaryAttackTickRatio")]
public ref float NextSecondaryAttackTickRatio => ref Schema.GetRef<float>(this.Handle, "CBasePlayerWeapon", "m_flNextSecondaryAttackTickRatio");
// m_iClip1
[SchemaMember("CBasePlayerWeapon", "m_iClip1")]
public ref Int32 Clip1 => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeapon", "m_iClip1");
// m_iClip2
[SchemaMember("CBasePlayerWeapon", "m_iClip2")]
public ref Int32 Clip2 => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeapon", "m_iClip2");
// m_pReserveAmmo
[SchemaMember("CBasePlayerWeapon", "m_pReserveAmmo")]
public Span<Int32> ReserveAmmo => Schema.GetFixedArray<Int32>(this.Handle, "CBasePlayerWeapon", "m_pReserveAmmo", 2);
// m_OnPlayerUse
[SchemaMember("CBasePlayerWeapon", "m_OnPlayerUse")]
public CEntityIOOutput OnPlayerUse => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBasePlayerWeapon", "m_OnPlayerUse");
}

View File

@@ -1,89 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBasePlayerWeaponVData : CEntitySubclassVDataBase
{
public CBasePlayerWeaponVData (IntPtr pointer) : base(pointer) {}
// m_bBuiltRightHanded
[SchemaMember("CBasePlayerWeaponVData", "m_bBuiltRightHanded")]
public ref bool BuiltRightHanded => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerWeaponVData", "m_bBuiltRightHanded");
// m_bAllowFlipping
[SchemaMember("CBasePlayerWeaponVData", "m_bAllowFlipping")]
public ref bool AllowFlipping => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerWeaponVData", "m_bAllowFlipping");
// m_bLinkedCooldowns
[SchemaMember("CBasePlayerWeaponVData", "m_bLinkedCooldowns")]
public ref bool LinkedCooldowns => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerWeaponVData", "m_bLinkedCooldowns");
// m_iFlags
[SchemaMember("CBasePlayerWeaponVData", "m_iFlags")]
public ref ItemFlagTypes_t Flags => ref Schema.GetRef<ItemFlagTypes_t>(this.Handle, "CBasePlayerWeaponVData", "m_iFlags");
// m_nPrimaryAmmoType
[SchemaMember("CBasePlayerWeaponVData", "m_nPrimaryAmmoType")]
public ref byte PrimaryAmmoType => ref Schema.GetRef<byte>(this.Handle, "CBasePlayerWeaponVData", "m_nPrimaryAmmoType");
// m_nSecondaryAmmoType
[SchemaMember("CBasePlayerWeaponVData", "m_nSecondaryAmmoType")]
public ref byte SecondaryAmmoType => ref Schema.GetRef<byte>(this.Handle, "CBasePlayerWeaponVData", "m_nSecondaryAmmoType");
// m_iMaxClip1
[SchemaMember("CBasePlayerWeaponVData", "m_iMaxClip1")]
public ref Int32 MaxClip1 => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeaponVData", "m_iMaxClip1");
// m_iMaxClip2
[SchemaMember("CBasePlayerWeaponVData", "m_iMaxClip2")]
public ref Int32 MaxClip2 => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeaponVData", "m_iMaxClip2");
// m_iDefaultClip1
[SchemaMember("CBasePlayerWeaponVData", "m_iDefaultClip1")]
public ref Int32 DefaultClip1 => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeaponVData", "m_iDefaultClip1");
// m_iDefaultClip2
[SchemaMember("CBasePlayerWeaponVData", "m_iDefaultClip2")]
public ref Int32 DefaultClip2 => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeaponVData", "m_iDefaultClip2");
// m_bReserveAmmoAsClips
[SchemaMember("CBasePlayerWeaponVData", "m_bReserveAmmoAsClips")]
public ref bool ReserveAmmoAsClips => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerWeaponVData", "m_bReserveAmmoAsClips");
// m_iWeight
[SchemaMember("CBasePlayerWeaponVData", "m_iWeight")]
public ref Int32 Weight => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeaponVData", "m_iWeight");
// m_bAutoSwitchTo
[SchemaMember("CBasePlayerWeaponVData", "m_bAutoSwitchTo")]
public ref bool AutoSwitchTo => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerWeaponVData", "m_bAutoSwitchTo");
// m_bAutoSwitchFrom
[SchemaMember("CBasePlayerWeaponVData", "m_bAutoSwitchFrom")]
public ref bool AutoSwitchFrom => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerWeaponVData", "m_bAutoSwitchFrom");
// m_iRumbleEffect
[SchemaMember("CBasePlayerWeaponVData", "m_iRumbleEffect")]
public ref RumbleEffect_t RumbleEffect => ref Schema.GetRef<RumbleEffect_t>(this.Handle, "CBasePlayerWeaponVData", "m_iRumbleEffect");
// m_iSlot
[SchemaMember("CBasePlayerWeaponVData", "m_iSlot")]
public ref Int32 Slot => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeaponVData", "m_iSlot");
// m_iPosition
[SchemaMember("CBasePlayerWeaponVData", "m_iPosition")]
public ref Int32 Position => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerWeaponVData", "m_iPosition");
}

View File

@@ -1,37 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseProp : CBaseAnimGraph
{
public CBaseProp (IntPtr pointer) : base(pointer) {}
// m_bModelOverrodeBlockLOS
[SchemaMember("CBaseProp", "m_bModelOverrodeBlockLOS")]
public ref bool ModelOverrodeBlockLOS => ref Schema.GetRef<bool>(this.Handle, "CBaseProp", "m_bModelOverrodeBlockLOS");
// m_iShapeType
[SchemaMember("CBaseProp", "m_iShapeType")]
public ref Int32 ShapeType => ref Schema.GetRef<Int32>(this.Handle, "CBaseProp", "m_iShapeType");
// m_bConformToCollisionBounds
[SchemaMember("CBaseProp", "m_bConformToCollisionBounds")]
public ref bool ConformToCollisionBounds => ref Schema.GetRef<bool>(this.Handle, "CBaseProp", "m_bConformToCollisionBounds");
// m_mPreferredCatchTransform
[SchemaMember("CBaseProp", "m_mPreferredCatchTransform")]
public matrix3x4_t MPreferredCatchTransform => Schema.GetDeclaredClass<matrix3x4_t>(this.Handle, "CBaseProp", "m_mPreferredCatchTransform");
}

View File

@@ -1,209 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBasePropDoor : CDynamicProp
{
public CBasePropDoor (IntPtr pointer) : base(pointer) {}
// m_flAutoReturnDelay
[SchemaMember("CBasePropDoor", "m_flAutoReturnDelay")]
public ref float AutoReturnDelay => ref Schema.GetRef<float>(this.Handle, "CBasePropDoor", "m_flAutoReturnDelay");
// m_hDoorList
[SchemaMember("CBasePropDoor", "m_hDoorList")]
public NetworkedVector<CHandle<CBasePropDoor>> DoorList => Schema.GetDeclaredClass<NetworkedVector<CHandle<CBasePropDoor>>>(this.Handle, "CBasePropDoor", "m_hDoorList");
// m_nHardwareType
[SchemaMember("CBasePropDoor", "m_nHardwareType")]
public ref Int32 HardwareType => ref Schema.GetRef<Int32>(this.Handle, "CBasePropDoor", "m_nHardwareType");
// m_bNeedsHardware
[SchemaMember("CBasePropDoor", "m_bNeedsHardware")]
public ref bool NeedsHardware => ref Schema.GetRef<bool>(this.Handle, "CBasePropDoor", "m_bNeedsHardware");
// m_eDoorState
[SchemaMember("CBasePropDoor", "m_eDoorState")]
public ref DoorState_t DoorState => ref Schema.GetRef<DoorState_t>(this.Handle, "CBasePropDoor", "m_eDoorState");
// m_bLocked
[SchemaMember("CBasePropDoor", "m_bLocked")]
public ref bool Locked => ref Schema.GetRef<bool>(this.Handle, "CBasePropDoor", "m_bLocked");
// m_closedPosition
[SchemaMember("CBasePropDoor", "m_closedPosition")]
public Vector ClosedPosition => Schema.GetDeclaredClass<Vector>(this.Handle, "CBasePropDoor", "m_closedPosition");
// m_closedAngles
[SchemaMember("CBasePropDoor", "m_closedAngles")]
public QAngle ClosedAngles => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBasePropDoor", "m_closedAngles");
// m_hBlocker
[SchemaMember("CBasePropDoor", "m_hBlocker")]
public new CHandle<CBaseEntity> Blocker => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBasePropDoor", "m_hBlocker");
// m_bFirstBlocked
[SchemaMember("CBasePropDoor", "m_bFirstBlocked")]
public ref bool FirstBlocked => ref Schema.GetRef<bool>(this.Handle, "CBasePropDoor", "m_bFirstBlocked");
// m_ls
[SchemaMember("CBasePropDoor", "m_ls")]
public locksound_t Ls => Schema.GetDeclaredClass<locksound_t>(this.Handle, "CBasePropDoor", "m_ls");
// m_bForceClosed
[SchemaMember("CBasePropDoor", "m_bForceClosed")]
public ref bool ForceClosed => ref Schema.GetRef<bool>(this.Handle, "CBasePropDoor", "m_bForceClosed");
// m_vecLatchWorldPosition
[SchemaMember("CBasePropDoor", "m_vecLatchWorldPosition")]
public Vector LatchWorldPosition => Schema.GetDeclaredClass<Vector>(this.Handle, "CBasePropDoor", "m_vecLatchWorldPosition");
// m_hActivator
[SchemaMember("CBasePropDoor", "m_hActivator")]
public CHandle<CBaseEntity> Activator => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBasePropDoor", "m_hActivator");
// m_SoundMoving
[SchemaMember("CBasePropDoor", "m_SoundMoving")]
public string SoundMoving
{
get { return Schema.GetUtf8String(this.Handle, "CBasePropDoor", "m_SoundMoving"); }
set { Schema.SetString(this.Handle, "CBasePropDoor", "m_SoundMoving", value); }
}
// m_SoundOpen
[SchemaMember("CBasePropDoor", "m_SoundOpen")]
public string SoundOpen
{
get { return Schema.GetUtf8String(this.Handle, "CBasePropDoor", "m_SoundOpen"); }
set { Schema.SetString(this.Handle, "CBasePropDoor", "m_SoundOpen", value); }
}
// m_SoundClose
[SchemaMember("CBasePropDoor", "m_SoundClose")]
public string SoundClose
{
get { return Schema.GetUtf8String(this.Handle, "CBasePropDoor", "m_SoundClose"); }
set { Schema.SetString(this.Handle, "CBasePropDoor", "m_SoundClose", value); }
}
// m_SoundLock
[SchemaMember("CBasePropDoor", "m_SoundLock")]
public string SoundLock
{
get { return Schema.GetUtf8String(this.Handle, "CBasePropDoor", "m_SoundLock"); }
set { Schema.SetString(this.Handle, "CBasePropDoor", "m_SoundLock", value); }
}
// m_SoundUnlock
[SchemaMember("CBasePropDoor", "m_SoundUnlock")]
public string SoundUnlock
{
get { return Schema.GetUtf8String(this.Handle, "CBasePropDoor", "m_SoundUnlock"); }
set { Schema.SetString(this.Handle, "CBasePropDoor", "m_SoundUnlock", value); }
}
// m_SoundLatch
[SchemaMember("CBasePropDoor", "m_SoundLatch")]
public string SoundLatch
{
get { return Schema.GetUtf8String(this.Handle, "CBasePropDoor", "m_SoundLatch"); }
set { Schema.SetString(this.Handle, "CBasePropDoor", "m_SoundLatch", value); }
}
// m_SoundPound
[SchemaMember("CBasePropDoor", "m_SoundPound")]
public string SoundPound
{
get { return Schema.GetUtf8String(this.Handle, "CBasePropDoor", "m_SoundPound"); }
set { Schema.SetString(this.Handle, "CBasePropDoor", "m_SoundPound", value); }
}
// m_SoundJiggle
[SchemaMember("CBasePropDoor", "m_SoundJiggle")]
public string SoundJiggle
{
get { return Schema.GetUtf8String(this.Handle, "CBasePropDoor", "m_SoundJiggle"); }
set { Schema.SetString(this.Handle, "CBasePropDoor", "m_SoundJiggle", value); }
}
// m_SoundLockedAnim
[SchemaMember("CBasePropDoor", "m_SoundLockedAnim")]
public string SoundLockedAnim
{
get { return Schema.GetUtf8String(this.Handle, "CBasePropDoor", "m_SoundLockedAnim"); }
set { Schema.SetString(this.Handle, "CBasePropDoor", "m_SoundLockedAnim", value); }
}
// m_numCloseAttempts
[SchemaMember("CBasePropDoor", "m_numCloseAttempts")]
public ref Int32 NumCloseAttempts => ref Schema.GetRef<Int32>(this.Handle, "CBasePropDoor", "m_numCloseAttempts");
// m_nPhysicsMaterial
[SchemaMember("CBasePropDoor", "m_nPhysicsMaterial")]
public CUtlStringToken PhysicsMaterial => Schema.GetDeclaredClass<CUtlStringToken>(this.Handle, "CBasePropDoor", "m_nPhysicsMaterial");
// m_SlaveName
[SchemaMember("CBasePropDoor", "m_SlaveName")]
public string SlaveName
{
get { return Schema.GetUtf8String(this.Handle, "CBasePropDoor", "m_SlaveName"); }
set { Schema.SetString(this.Handle, "CBasePropDoor", "m_SlaveName", value); }
}
// m_hMaster
[SchemaMember("CBasePropDoor", "m_hMaster")]
public CHandle<CBasePropDoor> Master => Schema.GetDeclaredClass<CHandle<CBasePropDoor>>(this.Handle, "CBasePropDoor", "m_hMaster");
// m_OnBlockedClosing
[SchemaMember("CBasePropDoor", "m_OnBlockedClosing")]
public CEntityIOOutput OnBlockedClosing => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBasePropDoor", "m_OnBlockedClosing");
// m_OnBlockedOpening
[SchemaMember("CBasePropDoor", "m_OnBlockedOpening")]
public CEntityIOOutput OnBlockedOpening => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBasePropDoor", "m_OnBlockedOpening");
// m_OnUnblockedClosing
[SchemaMember("CBasePropDoor", "m_OnUnblockedClosing")]
public CEntityIOOutput OnUnblockedClosing => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBasePropDoor", "m_OnUnblockedClosing");
// m_OnUnblockedOpening
[SchemaMember("CBasePropDoor", "m_OnUnblockedOpening")]
public CEntityIOOutput OnUnblockedOpening => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBasePropDoor", "m_OnUnblockedOpening");
// m_OnFullyClosed
[SchemaMember("CBasePropDoor", "m_OnFullyClosed")]
public CEntityIOOutput OnFullyClosed => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBasePropDoor", "m_OnFullyClosed");
// m_OnFullyOpen
[SchemaMember("CBasePropDoor", "m_OnFullyOpen")]
public CEntityIOOutput OnFullyOpen => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBasePropDoor", "m_OnFullyOpen");
// m_OnClose
[SchemaMember("CBasePropDoor", "m_OnClose")]
public CEntityIOOutput OnClose => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBasePropDoor", "m_OnClose");
// m_OnOpen
[SchemaMember("CBasePropDoor", "m_OnOpen")]
public CEntityIOOutput OnOpen => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBasePropDoor", "m_OnOpen");
// m_OnLockedUse
[SchemaMember("CBasePropDoor", "m_OnLockedUse")]
public CEntityIOOutput OnLockedUse => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBasePropDoor", "m_OnLockedUse");
// m_OnAjarOpen
[SchemaMember("CBasePropDoor", "m_OnAjarOpen")]
public CEntityIOOutput OnAjarOpen => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBasePropDoor", "m_OnAjarOpen");
}

View File

@@ -1,89 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseToggle : CBaseModelEntity
{
public CBaseToggle (IntPtr pointer) : base(pointer) {}
// m_toggle_state
[SchemaMember("CBaseToggle", "m_toggle_state")]
public ref TOGGLE_STATE Toggle_state => ref Schema.GetRef<TOGGLE_STATE>(this.Handle, "CBaseToggle", "m_toggle_state");
// m_flMoveDistance
[SchemaMember("CBaseToggle", "m_flMoveDistance")]
public ref float MoveDistance => ref Schema.GetRef<float>(this.Handle, "CBaseToggle", "m_flMoveDistance");
// m_flWait
[SchemaMember("CBaseToggle", "m_flWait")]
public ref float Wait => ref Schema.GetRef<float>(this.Handle, "CBaseToggle", "m_flWait");
// m_flLip
[SchemaMember("CBaseToggle", "m_flLip")]
public ref float Lip => ref Schema.GetRef<float>(this.Handle, "CBaseToggle", "m_flLip");
// m_bAlwaysFireBlockedOutputs
[SchemaMember("CBaseToggle", "m_bAlwaysFireBlockedOutputs")]
public ref bool AlwaysFireBlockedOutputs => ref Schema.GetRef<bool>(this.Handle, "CBaseToggle", "m_bAlwaysFireBlockedOutputs");
// m_vecPosition1
[SchemaMember("CBaseToggle", "m_vecPosition1")]
public Vector Position1 => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseToggle", "m_vecPosition1");
// m_vecPosition2
[SchemaMember("CBaseToggle", "m_vecPosition2")]
public Vector Position2 => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseToggle", "m_vecPosition2");
// m_vecMoveAng
[SchemaMember("CBaseToggle", "m_vecMoveAng")]
public QAngle MoveAng => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBaseToggle", "m_vecMoveAng");
// m_vecAngle1
[SchemaMember("CBaseToggle", "m_vecAngle1")]
public QAngle Angle1 => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBaseToggle", "m_vecAngle1");
// m_vecAngle2
[SchemaMember("CBaseToggle", "m_vecAngle2")]
public QAngle Angle2 => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBaseToggle", "m_vecAngle2");
// m_flHeight
[SchemaMember("CBaseToggle", "m_flHeight")]
public ref float Height => ref Schema.GetRef<float>(this.Handle, "CBaseToggle", "m_flHeight");
// m_hActivator
[SchemaMember("CBaseToggle", "m_hActivator")]
public CHandle<CBaseEntity> Activator => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBaseToggle", "m_hActivator");
// m_vecFinalDest
[SchemaMember("CBaseToggle", "m_vecFinalDest")]
public Vector FinalDest => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseToggle", "m_vecFinalDest");
// m_vecFinalAngle
[SchemaMember("CBaseToggle", "m_vecFinalAngle")]
public QAngle FinalAngle => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBaseToggle", "m_vecFinalAngle");
// m_movementType
[SchemaMember("CBaseToggle", "m_movementType")]
public ref Int32 MovementType => ref Schema.GetRef<Int32>(this.Handle, "CBaseToggle", "m_movementType");
// m_sMaster
[SchemaMember("CBaseToggle", "m_sMaster")]
public string Master
{
get { return Schema.GetUtf8String(this.Handle, "CBaseToggle", "m_sMaster"); }
set { Schema.SetString(this.Handle, "CBaseToggle", "m_sMaster", value); }
}
}

View File

@@ -1,73 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseTrigger : CBaseToggle
{
public CBaseTrigger (IntPtr pointer) : base(pointer) {}
// m_bDisabled
[SchemaMember("CBaseTrigger", "m_bDisabled")]
public ref bool Disabled => ref Schema.GetRef<bool>(this.Handle, "CBaseTrigger", "m_bDisabled");
// m_iFilterName
[SchemaMember("CBaseTrigger", "m_iFilterName")]
public string FilterName
{
get { return Schema.GetUtf8String(this.Handle, "CBaseTrigger", "m_iFilterName"); }
set { Schema.SetString(this.Handle, "CBaseTrigger", "m_iFilterName", value); }
}
// m_hFilter
[SchemaMember("CBaseTrigger", "m_hFilter")]
public CHandle<CBaseFilter> Filter => Schema.GetDeclaredClass<CHandle<CBaseFilter>>(this.Handle, "CBaseTrigger", "m_hFilter");
// m_OnStartTouch
[SchemaMember("CBaseTrigger", "m_OnStartTouch")]
public CEntityIOOutput OnStartTouch => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseTrigger", "m_OnStartTouch");
// m_OnStartTouchAll
[SchemaMember("CBaseTrigger", "m_OnStartTouchAll")]
public CEntityIOOutput OnStartTouchAll => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseTrigger", "m_OnStartTouchAll");
// m_OnEndTouch
[SchemaMember("CBaseTrigger", "m_OnEndTouch")]
public CEntityIOOutput OnEndTouch => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseTrigger", "m_OnEndTouch");
// m_OnEndTouchAll
[SchemaMember("CBaseTrigger", "m_OnEndTouchAll")]
public CEntityIOOutput OnEndTouchAll => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseTrigger", "m_OnEndTouchAll");
// m_OnTouching
[SchemaMember("CBaseTrigger", "m_OnTouching")]
public CEntityIOOutput OnTouching => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseTrigger", "m_OnTouching");
// m_OnTouchingEachEntity
[SchemaMember("CBaseTrigger", "m_OnTouchingEachEntity")]
public CEntityIOOutput OnTouchingEachEntity => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseTrigger", "m_OnTouchingEachEntity");
// m_OnNotTouching
[SchemaMember("CBaseTrigger", "m_OnNotTouching")]
public CEntityIOOutput OnNotTouching => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseTrigger", "m_OnNotTouching");
// m_hTouchingEntities
[SchemaMember("CBaseTrigger", "m_hTouchingEntities")]
public NetworkedVector<CHandle<CBaseEntity>> TouchingEntities => Schema.GetDeclaredClass<NetworkedVector<CHandle<CBaseEntity>>>(this.Handle, "CBaseTrigger", "m_hTouchingEntities");
// m_bClientSidePredicted
[SchemaMember("CBaseTrigger", "m_bClientSidePredicted")]
public ref bool ClientSidePredicted => ref Schema.GetRef<bool>(this.Handle, "CBaseTrigger", "m_bClientSidePredicted");
}

View File

@@ -1,73 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBaseViewModel : CBaseAnimGraph
{
public CBaseViewModel (IntPtr pointer) : base(pointer) {}
// m_vecLastFacing
[SchemaMember("CBaseViewModel", "m_vecLastFacing")]
public Vector LastFacing => Schema.GetDeclaredClass<Vector>(this.Handle, "CBaseViewModel", "m_vecLastFacing");
// m_nViewModelIndex
[SchemaMember("CBaseViewModel", "m_nViewModelIndex")]
public ref UInt32 ViewModelIndex => ref Schema.GetRef<UInt32>(this.Handle, "CBaseViewModel", "m_nViewModelIndex");
// m_nAnimationParity
[SchemaMember("CBaseViewModel", "m_nAnimationParity")]
public ref UInt32 AnimationParity => ref Schema.GetRef<UInt32>(this.Handle, "CBaseViewModel", "m_nAnimationParity");
// m_flAnimationStartTime
[SchemaMember("CBaseViewModel", "m_flAnimationStartTime")]
public ref float AnimationStartTime => ref Schema.GetRef<float>(this.Handle, "CBaseViewModel", "m_flAnimationStartTime");
// m_hWeapon
[SchemaMember("CBaseViewModel", "m_hWeapon")]
public CHandle<CBasePlayerWeapon> Weapon => Schema.GetDeclaredClass<CHandle<CBasePlayerWeapon>>(this.Handle, "CBaseViewModel", "m_hWeapon");
// m_sVMName
[SchemaMember("CBaseViewModel", "m_sVMName")]
public string VMName
{
get { return Schema.GetUtf8String(this.Handle, "CBaseViewModel", "m_sVMName"); }
set { Schema.SetString(this.Handle, "CBaseViewModel", "m_sVMName", value); }
}
// m_sAnimationPrefix
[SchemaMember("CBaseViewModel", "m_sAnimationPrefix")]
public string AnimationPrefix
{
get { return Schema.GetUtf8String(this.Handle, "CBaseViewModel", "m_sAnimationPrefix"); }
set { Schema.SetString(this.Handle, "CBaseViewModel", "m_sAnimationPrefix", value); }
}
// m_hOldLayerSequence
[SchemaMember("CBaseViewModel", "m_hOldLayerSequence")]
public ref Int32 OldLayerSequence => ref Schema.GetRef<Int32>(this.Handle, "CBaseViewModel", "m_hOldLayerSequence");
// m_oldLayer
[SchemaMember("CBaseViewModel", "m_oldLayer")]
public ref Int32 OldLayer => ref Schema.GetRef<Int32>(this.Handle, "CBaseViewModel", "m_oldLayer");
// m_oldLayerStartTime
[SchemaMember("CBaseViewModel", "m_oldLayerStartTime")]
public ref float OldLayerStartTime => ref Schema.GetRef<float>(this.Handle, "CBaseViewModel", "m_oldLayerStartTime");
// m_hControlPanel
[SchemaMember("CBaseViewModel", "m_hControlPanel")]
public CHandle<CBaseEntity> ControlPanel => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBaseViewModel", "m_hControlPanel");
}

View File

@@ -1,117 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBeam : CBaseModelEntity
{
public CBeam (IntPtr pointer) : base(pointer) {}
// m_flFrameRate
[SchemaMember("CBeam", "m_flFrameRate")]
public ref float FrameRate => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_flFrameRate");
// m_flHDRColorScale
[SchemaMember("CBeam", "m_flHDRColorScale")]
public ref float HDRColorScale => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_flHDRColorScale");
// m_flFireTime
[SchemaMember("CBeam", "m_flFireTime")]
public ref float FireTime => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_flFireTime");
// m_flDamage
[SchemaMember("CBeam", "m_flDamage")]
public ref float Damage => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_flDamage");
// m_nNumBeamEnts
[SchemaMember("CBeam", "m_nNumBeamEnts")]
public ref byte NumBeamEnts => ref Schema.GetRef<byte>(this.Handle, "CBeam", "m_nNumBeamEnts");
// m_hBaseMaterial
[SchemaMember("CBeam", "m_hBaseMaterial")]
public CStrongHandle<InfoForResourceTypeIMaterial2> BaseMaterial => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeIMaterial2>>(this.Handle, "CBeam", "m_hBaseMaterial");
// m_nHaloIndex
[SchemaMember("CBeam", "m_nHaloIndex")]
public CStrongHandle<InfoForResourceTypeIMaterial2> HaloIndex => Schema.GetDeclaredClass<CStrongHandle<InfoForResourceTypeIMaterial2>>(this.Handle, "CBeam", "m_nHaloIndex");
// m_nBeamType
[SchemaMember("CBeam", "m_nBeamType")]
public ref BeamType_t BeamType => ref Schema.GetRef<BeamType_t>(this.Handle, "CBeam", "m_nBeamType");
// m_nBeamFlags
[SchemaMember("CBeam", "m_nBeamFlags")]
public ref UInt32 BeamFlags => ref Schema.GetRef<UInt32>(this.Handle, "CBeam", "m_nBeamFlags");
// m_hAttachEntity
[SchemaMember("CBeam", "m_hAttachEntity")]
public Span<CHandle<CBaseEntity>> AttachEntity => Schema.GetFixedArray<CHandle<CBaseEntity>>(this.Handle, "CBeam", "m_hAttachEntity", 10);
// m_nAttachIndex
[SchemaMember("CBeam", "m_nAttachIndex")]
public Span<AttachmentHandle_t> AttachIndex => Schema.GetFixedArray<AttachmentHandle_t>(this.Handle, "CBeam", "m_nAttachIndex", 10);
// m_fWidth
[SchemaMember("CBeam", "m_fWidth")]
public ref float Width => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_fWidth");
// m_fEndWidth
[SchemaMember("CBeam", "m_fEndWidth")]
public ref float EndWidth => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_fEndWidth");
// m_fFadeLength
[SchemaMember("CBeam", "m_fFadeLength")]
public ref float FadeLength => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_fFadeLength");
// m_fHaloScale
[SchemaMember("CBeam", "m_fHaloScale")]
public ref float HaloScale => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_fHaloScale");
// m_fAmplitude
[SchemaMember("CBeam", "m_fAmplitude")]
public ref float Amplitude => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_fAmplitude");
// m_fStartFrame
[SchemaMember("CBeam", "m_fStartFrame")]
public ref float StartFrame => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_fStartFrame");
// m_fSpeed
[SchemaMember("CBeam", "m_fSpeed")]
public new ref float Speed => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_fSpeed");
// m_flFrame
[SchemaMember("CBeam", "m_flFrame")]
public ref float Frame => ref Schema.GetRef<float>(this.Handle, "CBeam", "m_flFrame");
// m_nClipStyle
[SchemaMember("CBeam", "m_nClipStyle")]
public ref BeamClipStyle_t ClipStyle => ref Schema.GetRef<BeamClipStyle_t>(this.Handle, "CBeam", "m_nClipStyle");
// m_bTurnedOff
[SchemaMember("CBeam", "m_bTurnedOff")]
public ref bool TurnedOff => ref Schema.GetRef<bool>(this.Handle, "CBeam", "m_bTurnedOff");
// m_vecEndPos
[SchemaMember("CBeam", "m_vecEndPos")]
public Vector EndPos => Schema.GetDeclaredClass<Vector>(this.Handle, "CBeam", "m_vecEndPos");
// m_hEndEntity
[SchemaMember("CBeam", "m_hEndEntity")]
public CHandle<CBaseEntity> EndEntity => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBeam", "m_hEndEntity");
// m_nDissolveType
[SchemaMember("CBeam", "m_nDissolveType")]
public ref Int32 DissolveType => ref Schema.GetRef<Int32>(this.Handle, "CBeam", "m_nDissolveType");
}

View File

@@ -1,37 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBlood : CPointEntity
{
public CBlood (IntPtr pointer) : base(pointer) {}
// m_vecSprayAngles
[SchemaMember("CBlood", "m_vecSprayAngles")]
public QAngle SprayAngles => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBlood", "m_vecSprayAngles");
// m_vecSprayDir
[SchemaMember("CBlood", "m_vecSprayDir")]
public Vector SprayDir => Schema.GetDeclaredClass<Vector>(this.Handle, "CBlood", "m_vecSprayDir");
// m_flAmount
[SchemaMember("CBlood", "m_flAmount")]
public ref float Amount => ref Schema.GetRef<float>(this.Handle, "CBlood", "m_flAmount");
// m_Color
[SchemaMember("CBlood", "m_Color")]
public ref BloodType Color => ref Schema.GetRef<BloodType>(this.Handle, "CBlood", "m_Color");
}

View File

@@ -1,61 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBombTarget : CBaseTrigger
{
public CBombTarget (IntPtr pointer) : base(pointer) {}
// m_OnBombExplode
[SchemaMember("CBombTarget", "m_OnBombExplode")]
public CEntityIOOutput OnBombExplode => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBombTarget", "m_OnBombExplode");
// m_OnBombPlanted
[SchemaMember("CBombTarget", "m_OnBombPlanted")]
public CEntityIOOutput OnBombPlanted => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBombTarget", "m_OnBombPlanted");
// m_OnBombDefused
[SchemaMember("CBombTarget", "m_OnBombDefused")]
public CEntityIOOutput OnBombDefused => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBombTarget", "m_OnBombDefused");
// m_bIsBombSiteB
[SchemaMember("CBombTarget", "m_bIsBombSiteB")]
public ref bool IsBombSiteB => ref Schema.GetRef<bool>(this.Handle, "CBombTarget", "m_bIsBombSiteB");
// m_bIsHeistBombTarget
[SchemaMember("CBombTarget", "m_bIsHeistBombTarget")]
public ref bool IsHeistBombTarget => ref Schema.GetRef<bool>(this.Handle, "CBombTarget", "m_bIsHeistBombTarget");
// m_bBombPlantedHere
[SchemaMember("CBombTarget", "m_bBombPlantedHere")]
public ref bool BombPlantedHere => ref Schema.GetRef<bool>(this.Handle, "CBombTarget", "m_bBombPlantedHere");
// m_szMountTarget
[SchemaMember("CBombTarget", "m_szMountTarget")]
public string MountTarget
{
get { return Schema.GetUtf8String(this.Handle, "CBombTarget", "m_szMountTarget"); }
set { Schema.SetString(this.Handle, "CBombTarget", "m_szMountTarget", value); }
}
// m_hInstructorHint
[SchemaMember("CBombTarget", "m_hInstructorHint")]
public CHandle<CBaseEntity> InstructorHint => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBombTarget", "m_hInstructorHint");
// m_nBombSiteDesignation
[SchemaMember("CBombTarget", "m_nBombSiteDesignation")]
public ref Int32 BombSiteDesignation => ref Schema.GetRef<Int32>(this.Handle, "CBombTarget", "m_nBombSiteDesignation");
}

View File

@@ -1,73 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBot : NativeObject
{
public CBot (IntPtr pointer) : base(pointer) {}
// m_pController
[SchemaMember("CBot", "m_pController")]
public CCSPlayerController? Controller => Schema.GetPointer<CCSPlayerController>(this.Handle, "CBot", "m_pController");
// m_pPlayer
[SchemaMember("CBot", "m_pPlayer")]
public CCSPlayerPawn? Player => Schema.GetPointer<CCSPlayerPawn>(this.Handle, "CBot", "m_pPlayer");
// m_bHasSpawned
[SchemaMember("CBot", "m_bHasSpawned")]
public ref bool HasSpawned => ref Schema.GetRef<bool>(this.Handle, "CBot", "m_bHasSpawned");
// m_id
[SchemaMember("CBot", "m_id")]
public ref UInt32 Id => ref Schema.GetRef<UInt32>(this.Handle, "CBot", "m_id");
// m_isRunning
[SchemaMember("CBot", "m_isRunning")]
public ref bool IsRunning => ref Schema.GetRef<bool>(this.Handle, "CBot", "m_isRunning");
// m_isCrouching
[SchemaMember("CBot", "m_isCrouching")]
public ref bool IsCrouching => ref Schema.GetRef<bool>(this.Handle, "CBot", "m_isCrouching");
// m_forwardSpeed
[SchemaMember("CBot", "m_forwardSpeed")]
public ref float ForwardSpeed => ref Schema.GetRef<float>(this.Handle, "CBot", "m_forwardSpeed");
// m_leftSpeed
[SchemaMember("CBot", "m_leftSpeed")]
public ref float LeftSpeed => ref Schema.GetRef<float>(this.Handle, "CBot", "m_leftSpeed");
// m_verticalSpeed
[SchemaMember("CBot", "m_verticalSpeed")]
public ref float VerticalSpeed => ref Schema.GetRef<float>(this.Handle, "CBot", "m_verticalSpeed");
// m_buttonFlags
[SchemaMember("CBot", "m_buttonFlags")]
public ref UInt64 ButtonFlags => ref Schema.GetRef<UInt64>(this.Handle, "CBot", "m_buttonFlags");
// m_jumpTimestamp
[SchemaMember("CBot", "m_jumpTimestamp")]
public ref float JumpTimestamp => ref Schema.GetRef<float>(this.Handle, "CBot", "m_jumpTimestamp");
// m_viewForward
[SchemaMember("CBot", "m_viewForward")]
public Vector ViewForward => Schema.GetDeclaredClass<Vector>(this.Handle, "CBot", "m_viewForward");
// m_postureStackIndex
[SchemaMember("CBot", "m_postureStackIndex")]
public ref Int32 PostureStackIndex => ref Schema.GetRef<Int32>(this.Handle, "CBot", "m_postureStackIndex");
}

View File

@@ -1,85 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBreakable : CBaseModelEntity
{
public CBreakable (IntPtr pointer) : base(pointer) {}
// m_CPropDataComponent
[SchemaMember("CBreakable", "m_CPropDataComponent")]
public CPropDataComponent CPropDataComponent => Schema.GetDeclaredClass<CPropDataComponent>(this.Handle, "CBreakable", "m_CPropDataComponent");
// m_Material
[SchemaMember("CBreakable", "m_Material")]
public ref Materials Material => ref Schema.GetRef<Materials>(this.Handle, "CBreakable", "m_Material");
// m_hBreaker
[SchemaMember("CBreakable", "m_hBreaker")]
public CHandle<CBaseEntity> Breaker => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBreakable", "m_hBreaker");
// m_Explosion
[SchemaMember("CBreakable", "m_Explosion")]
public ref Explosions Explosion => ref Schema.GetRef<Explosions>(this.Handle, "CBreakable", "m_Explosion");
// m_iszSpawnObject
[SchemaMember("CBreakable", "m_iszSpawnObject")]
public string SpawnObject
{
get { return Schema.GetUtf8String(this.Handle, "CBreakable", "m_iszSpawnObject"); }
set { Schema.SetString(this.Handle, "CBreakable", "m_iszSpawnObject", value); }
}
// m_flPressureDelay
[SchemaMember("CBreakable", "m_flPressureDelay")]
public ref float PressureDelay => ref Schema.GetRef<float>(this.Handle, "CBreakable", "m_flPressureDelay");
// m_iMinHealthDmg
[SchemaMember("CBreakable", "m_iMinHealthDmg")]
public ref Int32 MinHealthDmg => ref Schema.GetRef<Int32>(this.Handle, "CBreakable", "m_iMinHealthDmg");
// m_iszPropData
[SchemaMember("CBreakable", "m_iszPropData")]
public string PropData
{
get { return Schema.GetUtf8String(this.Handle, "CBreakable", "m_iszPropData"); }
set { Schema.SetString(this.Handle, "CBreakable", "m_iszPropData", value); }
}
// m_impactEnergyScale
[SchemaMember("CBreakable", "m_impactEnergyScale")]
public ref float ImpactEnergyScale => ref Schema.GetRef<float>(this.Handle, "CBreakable", "m_impactEnergyScale");
// m_nOverrideBlockLOS
[SchemaMember("CBreakable", "m_nOverrideBlockLOS")]
public ref EOverrideBlockLOS_t OverrideBlockLOS => ref Schema.GetRef<EOverrideBlockLOS_t>(this.Handle, "CBreakable", "m_nOverrideBlockLOS");
// m_OnBreak
[SchemaMember("CBreakable", "m_OnBreak")]
public CEntityIOOutput OnBreak => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBreakable", "m_OnBreak");
// m_PerformanceMode
[SchemaMember("CBreakable", "m_PerformanceMode")]
public ref PerformanceMode_t PerformanceMode => ref Schema.GetRef<PerformanceMode_t>(this.Handle, "CBreakable", "m_PerformanceMode");
// m_hPhysicsAttacker
[SchemaMember("CBreakable", "m_hPhysicsAttacker")]
public CHandle<CBasePlayerPawn> PhysicsAttacker => Schema.GetDeclaredClass<CHandle<CBasePlayerPawn>>(this.Handle, "CBreakable", "m_hPhysicsAttacker");
// m_flLastPhysicsInfluenceTime
[SchemaMember("CBreakable", "m_flLastPhysicsInfluenceTime")]
public ref float LastPhysicsInfluenceTime => ref Schema.GetRef<float>(this.Handle, "CBreakable", "m_flLastPhysicsInfluenceTime");
}

View File

@@ -1,177 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBreakableProp : CBaseProp
{
public CBreakableProp (IntPtr pointer) : base(pointer) {}
// m_CPropDataComponent
[SchemaMember("CBreakableProp", "m_CPropDataComponent")]
public CPropDataComponent CPropDataComponent => Schema.GetDeclaredClass<CPropDataComponent>(this.Handle, "CBreakableProp", "m_CPropDataComponent");
// m_OnBreak
[SchemaMember("CBreakableProp", "m_OnBreak")]
public CEntityIOOutput OnBreak => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBreakableProp", "m_OnBreak");
// m_OnTakeDamage
[SchemaMember("CBreakableProp", "m_OnTakeDamage")]
public CEntityIOOutput OnTakeDamage => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBreakableProp", "m_OnTakeDamage");
// m_impactEnergyScale
[SchemaMember("CBreakableProp", "m_impactEnergyScale")]
public ref float ImpactEnergyScale => ref Schema.GetRef<float>(this.Handle, "CBreakableProp", "m_impactEnergyScale");
// m_iMinHealthDmg
[SchemaMember("CBreakableProp", "m_iMinHealthDmg")]
public ref Int32 MinHealthDmg => ref Schema.GetRef<Int32>(this.Handle, "CBreakableProp", "m_iMinHealthDmg");
// m_preferredCarryAngles
[SchemaMember("CBreakableProp", "m_preferredCarryAngles")]
public QAngle PreferredCarryAngles => Schema.GetDeclaredClass<QAngle>(this.Handle, "CBreakableProp", "m_preferredCarryAngles");
// m_flPressureDelay
[SchemaMember("CBreakableProp", "m_flPressureDelay")]
public ref float PressureDelay => ref Schema.GetRef<float>(this.Handle, "CBreakableProp", "m_flPressureDelay");
// m_flDefBurstScale
[SchemaMember("CBreakableProp", "m_flDefBurstScale")]
public ref float DefBurstScale => ref Schema.GetRef<float>(this.Handle, "CBreakableProp", "m_flDefBurstScale");
// m_vDefBurstOffset
[SchemaMember("CBreakableProp", "m_vDefBurstOffset")]
public Vector DefBurstOffset => Schema.GetDeclaredClass<Vector>(this.Handle, "CBreakableProp", "m_vDefBurstOffset");
// m_hBreaker
[SchemaMember("CBreakableProp", "m_hBreaker")]
public CHandle<CBaseEntity> Breaker => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBreakableProp", "m_hBreaker");
// m_PerformanceMode
[SchemaMember("CBreakableProp", "m_PerformanceMode")]
public ref PerformanceMode_t PerformanceMode => ref Schema.GetRef<PerformanceMode_t>(this.Handle, "CBreakableProp", "m_PerformanceMode");
// m_flPreventDamageBeforeTime
[SchemaMember("CBreakableProp", "m_flPreventDamageBeforeTime")]
public ref float PreventDamageBeforeTime => ref Schema.GetRef<float>(this.Handle, "CBreakableProp", "m_flPreventDamageBeforeTime");
// m_BreakableContentsType
[SchemaMember("CBreakableProp", "m_BreakableContentsType")]
public ref BreakableContentsType_t BreakableContentsType => ref Schema.GetRef<BreakableContentsType_t>(this.Handle, "CBreakableProp", "m_BreakableContentsType");
// m_strBreakableContentsPropGroupOverride
[SchemaMember("CBreakableProp", "m_strBreakableContentsPropGroupOverride")]
public string StrBreakableContentsPropGroupOverride
{
get { return Schema.GetUtf8String(this.Handle, "CBreakableProp", "m_strBreakableContentsPropGroupOverride"); }
set { Schema.SetString(this.Handle, "CBreakableProp", "m_strBreakableContentsPropGroupOverride", value); }
}
// m_strBreakableContentsParticleOverride
[SchemaMember("CBreakableProp", "m_strBreakableContentsParticleOverride")]
public string StrBreakableContentsParticleOverride
{
get { return Schema.GetUtf8String(this.Handle, "CBreakableProp", "m_strBreakableContentsParticleOverride"); }
set { Schema.SetString(this.Handle, "CBreakableProp", "m_strBreakableContentsParticleOverride", value); }
}
// m_bHasBreakPiecesOrCommands
[SchemaMember("CBreakableProp", "m_bHasBreakPiecesOrCommands")]
public ref bool HasBreakPiecesOrCommands => ref Schema.GetRef<bool>(this.Handle, "CBreakableProp", "m_bHasBreakPiecesOrCommands");
// m_explodeDamage
[SchemaMember("CBreakableProp", "m_explodeDamage")]
public ref float ExplodeDamage => ref Schema.GetRef<float>(this.Handle, "CBreakableProp", "m_explodeDamage");
// m_explodeRadius
[SchemaMember("CBreakableProp", "m_explodeRadius")]
public ref float ExplodeRadius => ref Schema.GetRef<float>(this.Handle, "CBreakableProp", "m_explodeRadius");
// m_explosionDelay
[SchemaMember("CBreakableProp", "m_explosionDelay")]
public ref float ExplosionDelay => ref Schema.GetRef<float>(this.Handle, "CBreakableProp", "m_explosionDelay");
// m_explosionBuildupSound
[SchemaMember("CBreakableProp", "m_explosionBuildupSound")]
public string ExplosionBuildupSound
{
get { return Schema.GetUtf8String(this.Handle, "CBreakableProp", "m_explosionBuildupSound"); }
set { Schema.SetString(this.Handle, "CBreakableProp", "m_explosionBuildupSound", value); }
}
// m_explosionCustomEffect
[SchemaMember("CBreakableProp", "m_explosionCustomEffect")]
public string ExplosionCustomEffect
{
get { return Schema.GetUtf8String(this.Handle, "CBreakableProp", "m_explosionCustomEffect"); }
set { Schema.SetString(this.Handle, "CBreakableProp", "m_explosionCustomEffect", value); }
}
// m_explosionCustomSound
[SchemaMember("CBreakableProp", "m_explosionCustomSound")]
public string ExplosionCustomSound
{
get { return Schema.GetUtf8String(this.Handle, "CBreakableProp", "m_explosionCustomSound"); }
set { Schema.SetString(this.Handle, "CBreakableProp", "m_explosionCustomSound", value); }
}
// m_explosionModifier
[SchemaMember("CBreakableProp", "m_explosionModifier")]
public string ExplosionModifier
{
get { return Schema.GetUtf8String(this.Handle, "CBreakableProp", "m_explosionModifier"); }
set { Schema.SetString(this.Handle, "CBreakableProp", "m_explosionModifier", value); }
}
// m_hPhysicsAttacker
[SchemaMember("CBreakableProp", "m_hPhysicsAttacker")]
public CHandle<CBasePlayerPawn> PhysicsAttacker => Schema.GetDeclaredClass<CHandle<CBasePlayerPawn>>(this.Handle, "CBreakableProp", "m_hPhysicsAttacker");
// m_flLastPhysicsInfluenceTime
[SchemaMember("CBreakableProp", "m_flLastPhysicsInfluenceTime")]
public ref float LastPhysicsInfluenceTime => ref Schema.GetRef<float>(this.Handle, "CBreakableProp", "m_flLastPhysicsInfluenceTime");
// m_bOriginalBlockLOS
[SchemaMember("CBreakableProp", "m_bOriginalBlockLOS")]
public ref bool OriginalBlockLOS => ref Schema.GetRef<bool>(this.Handle, "CBreakableProp", "m_bOriginalBlockLOS");
// m_flDefaultFadeScale
[SchemaMember("CBreakableProp", "m_flDefaultFadeScale")]
public ref float DefaultFadeScale => ref Schema.GetRef<float>(this.Handle, "CBreakableProp", "m_flDefaultFadeScale");
// m_hLastAttacker
[SchemaMember("CBreakableProp", "m_hLastAttacker")]
public CHandle<CBaseEntity> LastAttacker => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBreakableProp", "m_hLastAttacker");
// m_hFlareEnt
[SchemaMember("CBreakableProp", "m_hFlareEnt")]
public CHandle<CBaseEntity> FlareEnt => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CBreakableProp", "m_hFlareEnt");
// m_bUsePuntSound
[SchemaMember("CBreakableProp", "m_bUsePuntSound")]
public ref bool UsePuntSound => ref Schema.GetRef<bool>(this.Handle, "CBreakableProp", "m_bUsePuntSound");
// m_iszPuntSound
[SchemaMember("CBreakableProp", "m_iszPuntSound")]
public string PuntSound
{
get { return Schema.GetUtf8String(this.Handle, "CBreakableProp", "m_iszPuntSound"); }
set { Schema.SetString(this.Handle, "CBreakableProp", "m_iszPuntSound", value); }
}
// m_noGhostCollision
[SchemaMember("CBreakableProp", "m_noGhostCollision")]
public ref bool NoGhostCollision => ref Schema.GetRef<bool>(this.Handle, "CBreakableProp", "m_noGhostCollision");
}

View File

@@ -1,33 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBubbling : CBaseModelEntity
{
public CBubbling (IntPtr pointer) : base(pointer) {}
// m_density
[SchemaMember("CBubbling", "m_density")]
public ref Int32 Density => ref Schema.GetRef<Int32>(this.Handle, "CBubbling", "m_density");
// m_frequency
[SchemaMember("CBubbling", "m_frequency")]
public ref Int32 Frequency => ref Schema.GetRef<Int32>(this.Handle, "CBubbling", "m_frequency");
// m_state
[SchemaMember("CBubbling", "m_state")]
public ref Int32 State => ref Schema.GetRef<Int32>(this.Handle, "CBubbling", "m_state");
}

View File

@@ -1,45 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CBuoyancyHelper : NativeObject
{
public CBuoyancyHelper (IntPtr pointer) : base(pointer) {}
// m_nFluidType
[SchemaMember("CBuoyancyHelper", "m_nFluidType")]
public CUtlStringToken FluidType => Schema.GetDeclaredClass<CUtlStringToken>(this.Handle, "CBuoyancyHelper", "m_nFluidType");
// m_flFluidDensity
[SchemaMember("CBuoyancyHelper", "m_flFluidDensity")]
public ref float FluidDensity => ref Schema.GetRef<float>(this.Handle, "CBuoyancyHelper", "m_flFluidDensity");
// m_vecFractionOfWheelSubmergedForWheelFriction
[SchemaMember("CBuoyancyHelper", "m_vecFractionOfWheelSubmergedForWheelFriction")]
public NetworkedVector<float> FractionOfWheelSubmergedForWheelFriction => Schema.GetDeclaredClass<NetworkedVector<float>>(this.Handle, "CBuoyancyHelper", "m_vecFractionOfWheelSubmergedForWheelFriction");
// m_vecWheelFrictionScales
[SchemaMember("CBuoyancyHelper", "m_vecWheelFrictionScales")]
public NetworkedVector<float> WheelFrictionScales => Schema.GetDeclaredClass<NetworkedVector<float>>(this.Handle, "CBuoyancyHelper", "m_vecWheelFrictionScales");
// m_vecFractionOfWheelSubmergedForWheelDrag
[SchemaMember("CBuoyancyHelper", "m_vecFractionOfWheelSubmergedForWheelDrag")]
public NetworkedVector<float> FractionOfWheelSubmergedForWheelDrag => Schema.GetDeclaredClass<NetworkedVector<float>>(this.Handle, "CBuoyancyHelper", "m_vecFractionOfWheelSubmergedForWheelDrag");
// m_vecWheelDrag
[SchemaMember("CBuoyancyHelper", "m_vecWheelDrag")]
public NetworkedVector<float> WheelDrag => Schema.GetDeclaredClass<NetworkedVector<float>>(this.Handle, "CBuoyancyHelper", "m_vecWheelDrag");
}

View File

@@ -1,65 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CC4 : CCSWeaponBase
{
public CC4 (IntPtr pointer) : base(pointer) {}
// m_vecLastValidPlayerHeldPosition
[SchemaMember("CC4", "m_vecLastValidPlayerHeldPosition")]
public Vector LastValidPlayerHeldPosition => Schema.GetDeclaredClass<Vector>(this.Handle, "CC4", "m_vecLastValidPlayerHeldPosition");
// m_vecLastValidDroppedPosition
[SchemaMember("CC4", "m_vecLastValidDroppedPosition")]
public Vector LastValidDroppedPosition => Schema.GetDeclaredClass<Vector>(this.Handle, "CC4", "m_vecLastValidDroppedPosition");
// m_bDoValidDroppedPositionCheck
[SchemaMember("CC4", "m_bDoValidDroppedPositionCheck")]
public ref bool DoValidDroppedPositionCheck => ref Schema.GetRef<bool>(this.Handle, "CC4", "m_bDoValidDroppedPositionCheck");
// m_bStartedArming
[SchemaMember("CC4", "m_bStartedArming")]
public ref bool StartedArming => ref Schema.GetRef<bool>(this.Handle, "CC4", "m_bStartedArming");
// m_fArmedTime
[SchemaMember("CC4", "m_fArmedTime")]
public ref float ArmedTime => ref Schema.GetRef<float>(this.Handle, "CC4", "m_fArmedTime");
// m_bBombPlacedAnimation
[SchemaMember("CC4", "m_bBombPlacedAnimation")]
public ref bool BombPlacedAnimation => ref Schema.GetRef<bool>(this.Handle, "CC4", "m_bBombPlacedAnimation");
// m_bIsPlantingViaUse
[SchemaMember("CC4", "m_bIsPlantingViaUse")]
public ref bool IsPlantingViaUse => ref Schema.GetRef<bool>(this.Handle, "CC4", "m_bIsPlantingViaUse");
// m_entitySpottedState
[SchemaMember("CC4", "m_entitySpottedState")]
public EntitySpottedState_t EntitySpottedState => Schema.GetDeclaredClass<EntitySpottedState_t>(this.Handle, "CC4", "m_entitySpottedState");
// m_nSpotRules
[SchemaMember("CC4", "m_nSpotRules")]
public ref Int32 SpotRules => ref Schema.GetRef<Int32>(this.Handle, "CC4", "m_nSpotRules");
// m_bPlayedArmingBeeps
[SchemaMember("CC4", "m_bPlayedArmingBeeps")]
public Span<bool> PlayedArmingBeeps => Schema.GetFixedArray<bool>(this.Handle, "CC4", "m_bPlayedArmingBeeps", 7);
// m_bBombPlanted
[SchemaMember("CC4", "m_bBombPlanted")]
public ref bool BombPlanted => ref Schema.GetRef<bool>(this.Handle, "CC4", "m_bBombPlanted");
}

View File

@@ -1,585 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CCSBot : CBot
{
public CCSBot (IntPtr pointer) : base(pointer) {}
// m_eyePosition
[SchemaMember("CCSBot", "m_eyePosition")]
public Vector EyePosition => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSBot", "m_eyePosition");
// m_name
[SchemaMember("CCSBot", "m_name")]
public string Name
{
get { return Schema.GetString(this.Handle, "CCSBot", "m_name"); }
set { Schema.SetStringBytes(this.Handle, "CCSBot", "m_name", value, 64); }
}
// m_combatRange
[SchemaMember("CCSBot", "m_combatRange")]
public ref float CombatRange => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_combatRange");
// m_isRogue
[SchemaMember("CCSBot", "m_isRogue")]
public ref bool IsRogue => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_isRogue");
// m_rogueTimer
[SchemaMember("CCSBot", "m_rogueTimer")]
public CountdownTimer RogueTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_rogueTimer");
// m_diedLastRound
[SchemaMember("CCSBot", "m_diedLastRound")]
public ref bool DiedLastRound => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_diedLastRound");
// m_safeTime
[SchemaMember("CCSBot", "m_safeTime")]
public ref float SafeTime => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_safeTime");
// m_wasSafe
[SchemaMember("CCSBot", "m_wasSafe")]
public ref bool WasSafe => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_wasSafe");
// m_blindFire
[SchemaMember("CCSBot", "m_blindFire")]
public ref bool BlindFire => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_blindFire");
// m_surpriseTimer
[SchemaMember("CCSBot", "m_surpriseTimer")]
public CountdownTimer SurpriseTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_surpriseTimer");
// m_bAllowActive
[SchemaMember("CCSBot", "m_bAllowActive")]
public ref bool AllowActive => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_bAllowActive");
// m_isFollowing
[SchemaMember("CCSBot", "m_isFollowing")]
public ref bool IsFollowing => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_isFollowing");
// m_leader
[SchemaMember("CCSBot", "m_leader")]
public CHandle<CCSPlayerPawn> Leader => Schema.GetDeclaredClass<CHandle<CCSPlayerPawn>>(this.Handle, "CCSBot", "m_leader");
// m_followTimestamp
[SchemaMember("CCSBot", "m_followTimestamp")]
public ref float FollowTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_followTimestamp");
// m_allowAutoFollowTime
[SchemaMember("CCSBot", "m_allowAutoFollowTime")]
public ref float AllowAutoFollowTime => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_allowAutoFollowTime");
// m_hurryTimer
[SchemaMember("CCSBot", "m_hurryTimer")]
public CountdownTimer HurryTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_hurryTimer");
// m_alertTimer
[SchemaMember("CCSBot", "m_alertTimer")]
public CountdownTimer AlertTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_alertTimer");
// m_sneakTimer
[SchemaMember("CCSBot", "m_sneakTimer")]
public CountdownTimer SneakTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_sneakTimer");
// m_panicTimer
[SchemaMember("CCSBot", "m_panicTimer")]
public CountdownTimer PanicTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_panicTimer");
// m_stateTimestamp
[SchemaMember("CCSBot", "m_stateTimestamp")]
public ref float StateTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_stateTimestamp");
// m_isAttacking
[SchemaMember("CCSBot", "m_isAttacking")]
public ref bool IsAttacking => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_isAttacking");
// m_isOpeningDoor
[SchemaMember("CCSBot", "m_isOpeningDoor")]
public ref bool IsOpeningDoor => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_isOpeningDoor");
// m_taskEntity
[SchemaMember("CCSBot", "m_taskEntity")]
public CHandle<CBaseEntity> TaskEntity => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CCSBot", "m_taskEntity");
// m_goalPosition
[SchemaMember("CCSBot", "m_goalPosition")]
public Vector GoalPosition => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSBot", "m_goalPosition");
// m_goalEntity
[SchemaMember("CCSBot", "m_goalEntity")]
public CHandle<CBaseEntity> GoalEntity => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CCSBot", "m_goalEntity");
// m_avoid
[SchemaMember("CCSBot", "m_avoid")]
public CHandle<CBaseEntity> Avoid => Schema.GetDeclaredClass<CHandle<CBaseEntity>>(this.Handle, "CCSBot", "m_avoid");
// m_avoidTimestamp
[SchemaMember("CCSBot", "m_avoidTimestamp")]
public ref float AvoidTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_avoidTimestamp");
// m_isStopping
[SchemaMember("CCSBot", "m_isStopping")]
public ref bool IsStopping => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_isStopping");
// m_hasVisitedEnemySpawn
[SchemaMember("CCSBot", "m_hasVisitedEnemySpawn")]
public ref bool HasVisitedEnemySpawn => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_hasVisitedEnemySpawn");
// m_stillTimer
[SchemaMember("CCSBot", "m_stillTimer")]
public IntervalTimer StillTimer => Schema.GetDeclaredClass<IntervalTimer>(this.Handle, "CCSBot", "m_stillTimer");
// m_bEyeAnglesUnderPathFinderControl
[SchemaMember("CCSBot", "m_bEyeAnglesUnderPathFinderControl")]
public ref bool EyeAnglesUnderPathFinderControl => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_bEyeAnglesUnderPathFinderControl");
// m_pathIndex
[SchemaMember("CCSBot", "m_pathIndex")]
public ref Int32 PathIndex => ref Schema.GetRef<Int32>(this.Handle, "CCSBot", "m_pathIndex");
// m_areaEnteredTimestamp
[SchemaMember("CCSBot", "m_areaEnteredTimestamp")]
public ref float AreaEnteredTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_areaEnteredTimestamp");
// m_repathTimer
[SchemaMember("CCSBot", "m_repathTimer")]
public CountdownTimer RepathTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_repathTimer");
// m_avoidFriendTimer
[SchemaMember("CCSBot", "m_avoidFriendTimer")]
public CountdownTimer AvoidFriendTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_avoidFriendTimer");
// m_isFriendInTheWay
[SchemaMember("CCSBot", "m_isFriendInTheWay")]
public ref bool IsFriendInTheWay => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_isFriendInTheWay");
// m_politeTimer
[SchemaMember("CCSBot", "m_politeTimer")]
public CountdownTimer PoliteTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_politeTimer");
// m_isWaitingBehindFriend
[SchemaMember("CCSBot", "m_isWaitingBehindFriend")]
public ref bool IsWaitingBehindFriend => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_isWaitingBehindFriend");
// m_pathLadderEnd
[SchemaMember("CCSBot", "m_pathLadderEnd")]
public ref float PathLadderEnd => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_pathLadderEnd");
// m_mustRunTimer
[SchemaMember("CCSBot", "m_mustRunTimer")]
public CountdownTimer MustRunTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_mustRunTimer");
// m_waitTimer
[SchemaMember("CCSBot", "m_waitTimer")]
public CountdownTimer WaitTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_waitTimer");
// m_updateTravelDistanceTimer
[SchemaMember("CCSBot", "m_updateTravelDistanceTimer")]
public CountdownTimer UpdateTravelDistanceTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_updateTravelDistanceTimer");
// m_playerTravelDistance
[SchemaMember("CCSBot", "m_playerTravelDistance")]
public Span<float> PlayerTravelDistance => Schema.GetFixedArray<float>(this.Handle, "CCSBot", "m_playerTravelDistance", 64);
// m_travelDistancePhase
[SchemaMember("CCSBot", "m_travelDistancePhase")]
public ref byte TravelDistancePhase => ref Schema.GetRef<byte>(this.Handle, "CCSBot", "m_travelDistancePhase");
// m_hostageEscortCount
[SchemaMember("CCSBot", "m_hostageEscortCount")]
public ref byte HostageEscortCount => ref Schema.GetRef<byte>(this.Handle, "CCSBot", "m_hostageEscortCount");
// m_hostageEscortCountTimestamp
[SchemaMember("CCSBot", "m_hostageEscortCountTimestamp")]
public ref float HostageEscortCountTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_hostageEscortCountTimestamp");
// m_desiredTeam
[SchemaMember("CCSBot", "m_desiredTeam")]
public ref Int32 DesiredTeam => ref Schema.GetRef<Int32>(this.Handle, "CCSBot", "m_desiredTeam");
// m_hasJoined
[SchemaMember("CCSBot", "m_hasJoined")]
public ref bool HasJoined => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_hasJoined");
// m_isWaitingForHostage
[SchemaMember("CCSBot", "m_isWaitingForHostage")]
public ref bool IsWaitingForHostage => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_isWaitingForHostage");
// m_inhibitWaitingForHostageTimer
[SchemaMember("CCSBot", "m_inhibitWaitingForHostageTimer")]
public CountdownTimer InhibitWaitingForHostageTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_inhibitWaitingForHostageTimer");
// m_waitForHostageTimer
[SchemaMember("CCSBot", "m_waitForHostageTimer")]
public CountdownTimer WaitForHostageTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_waitForHostageTimer");
// m_noisePosition
[SchemaMember("CCSBot", "m_noisePosition")]
public Vector NoisePosition => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSBot", "m_noisePosition");
// m_noiseTravelDistance
[SchemaMember("CCSBot", "m_noiseTravelDistance")]
public ref float NoiseTravelDistance => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_noiseTravelDistance");
// m_noiseTimestamp
[SchemaMember("CCSBot", "m_noiseTimestamp")]
public ref float NoiseTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_noiseTimestamp");
// m_noiseSource
[SchemaMember("CCSBot", "m_noiseSource")]
public CCSPlayerPawn? NoiseSource => Schema.GetPointer<CCSPlayerPawn>(this.Handle, "CCSBot", "m_noiseSource");
// m_noiseBendTimer
[SchemaMember("CCSBot", "m_noiseBendTimer")]
public CountdownTimer NoiseBendTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_noiseBendTimer");
// m_bentNoisePosition
[SchemaMember("CCSBot", "m_bentNoisePosition")]
public Vector BentNoisePosition => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSBot", "m_bentNoisePosition");
// m_bendNoisePositionValid
[SchemaMember("CCSBot", "m_bendNoisePositionValid")]
public ref bool BendNoisePositionValid => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_bendNoisePositionValid");
// m_lookAroundStateTimestamp
[SchemaMember("CCSBot", "m_lookAroundStateTimestamp")]
public ref float LookAroundStateTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_lookAroundStateTimestamp");
// m_lookAheadAngle
[SchemaMember("CCSBot", "m_lookAheadAngle")]
public ref float LookAheadAngle => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_lookAheadAngle");
// m_forwardAngle
[SchemaMember("CCSBot", "m_forwardAngle")]
public ref float ForwardAngle => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_forwardAngle");
// m_inhibitLookAroundTimestamp
[SchemaMember("CCSBot", "m_inhibitLookAroundTimestamp")]
public ref float InhibitLookAroundTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_inhibitLookAroundTimestamp");
// m_lookAtSpot
[SchemaMember("CCSBot", "m_lookAtSpot")]
public Vector LookAtSpot => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSBot", "m_lookAtSpot");
// m_lookAtSpotDuration
[SchemaMember("CCSBot", "m_lookAtSpotDuration")]
public ref float LookAtSpotDuration => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_lookAtSpotDuration");
// m_lookAtSpotTimestamp
[SchemaMember("CCSBot", "m_lookAtSpotTimestamp")]
public ref float LookAtSpotTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_lookAtSpotTimestamp");
// m_lookAtSpotAngleTolerance
[SchemaMember("CCSBot", "m_lookAtSpotAngleTolerance")]
public ref float LookAtSpotAngleTolerance => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_lookAtSpotAngleTolerance");
// m_lookAtSpotClearIfClose
[SchemaMember("CCSBot", "m_lookAtSpotClearIfClose")]
public ref bool LookAtSpotClearIfClose => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_lookAtSpotClearIfClose");
// m_lookAtSpotAttack
[SchemaMember("CCSBot", "m_lookAtSpotAttack")]
public ref bool LookAtSpotAttack => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_lookAtSpotAttack");
// m_lookAtDesc
[SchemaMember("CCSBot", "m_lookAtDesc")]
public string LookAtDesc
{
get { return Schema.GetString(this.Handle, "CCSBot", "m_lookAtDesc"); }
set { Schema.SetString(this.Handle, "CCSBot", "m_lookAtDesc", value); }
}
// m_peripheralTimestamp
[SchemaMember("CCSBot", "m_peripheralTimestamp")]
public ref float PeripheralTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_peripheralTimestamp");
// m_approachPointCount
[SchemaMember("CCSBot", "m_approachPointCount")]
public ref byte ApproachPointCount => ref Schema.GetRef<byte>(this.Handle, "CCSBot", "m_approachPointCount");
// m_approachPointViewPosition
[SchemaMember("CCSBot", "m_approachPointViewPosition")]
public Vector ApproachPointViewPosition => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSBot", "m_approachPointViewPosition");
// m_viewSteadyTimer
[SchemaMember("CCSBot", "m_viewSteadyTimer")]
public IntervalTimer ViewSteadyTimer => Schema.GetDeclaredClass<IntervalTimer>(this.Handle, "CCSBot", "m_viewSteadyTimer");
// m_tossGrenadeTimer
[SchemaMember("CCSBot", "m_tossGrenadeTimer")]
public CountdownTimer TossGrenadeTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_tossGrenadeTimer");
// m_isAvoidingGrenade
[SchemaMember("CCSBot", "m_isAvoidingGrenade")]
public CountdownTimer IsAvoidingGrenade => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_isAvoidingGrenade");
// m_spotCheckTimestamp
[SchemaMember("CCSBot", "m_spotCheckTimestamp")]
public ref float SpotCheckTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_spotCheckTimestamp");
// m_checkedHidingSpotCount
[SchemaMember("CCSBot", "m_checkedHidingSpotCount")]
public ref Int32 CheckedHidingSpotCount => ref Schema.GetRef<Int32>(this.Handle, "CCSBot", "m_checkedHidingSpotCount");
// m_lookPitch
[SchemaMember("CCSBot", "m_lookPitch")]
public ref float LookPitch => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_lookPitch");
// m_lookPitchVel
[SchemaMember("CCSBot", "m_lookPitchVel")]
public ref float LookPitchVel => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_lookPitchVel");
// m_lookYaw
[SchemaMember("CCSBot", "m_lookYaw")]
public ref float LookYaw => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_lookYaw");
// m_lookYawVel
[SchemaMember("CCSBot", "m_lookYawVel")]
public ref float LookYawVel => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_lookYawVel");
// m_targetSpot
[SchemaMember("CCSBot", "m_targetSpot")]
public Vector TargetSpot => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSBot", "m_targetSpot");
// m_targetSpotVelocity
[SchemaMember("CCSBot", "m_targetSpotVelocity")]
public Vector TargetSpotVelocity => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSBot", "m_targetSpotVelocity");
// m_targetSpotPredicted
[SchemaMember("CCSBot", "m_targetSpotPredicted")]
public Vector TargetSpotPredicted => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSBot", "m_targetSpotPredicted");
// m_aimError
[SchemaMember("CCSBot", "m_aimError")]
public QAngle AimError => Schema.GetDeclaredClass<QAngle>(this.Handle, "CCSBot", "m_aimError");
// m_aimGoal
[SchemaMember("CCSBot", "m_aimGoal")]
public QAngle AimGoal => Schema.GetDeclaredClass<QAngle>(this.Handle, "CCSBot", "m_aimGoal");
// m_targetSpotTime
[SchemaMember("CCSBot", "m_targetSpotTime")]
public ref float TargetSpotTime => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_targetSpotTime");
// m_aimFocus
[SchemaMember("CCSBot", "m_aimFocus")]
public ref float AimFocus => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_aimFocus");
// m_aimFocusInterval
[SchemaMember("CCSBot", "m_aimFocusInterval")]
public ref float AimFocusInterval => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_aimFocusInterval");
// m_aimFocusNextUpdate
[SchemaMember("CCSBot", "m_aimFocusNextUpdate")]
public ref float AimFocusNextUpdate => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_aimFocusNextUpdate");
// m_ignoreEnemiesTimer
[SchemaMember("CCSBot", "m_ignoreEnemiesTimer")]
public CountdownTimer IgnoreEnemiesTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_ignoreEnemiesTimer");
// m_enemy
[SchemaMember("CCSBot", "m_enemy")]
public CHandle<CCSPlayerPawn> Enemy => Schema.GetDeclaredClass<CHandle<CCSPlayerPawn>>(this.Handle, "CCSBot", "m_enemy");
// m_isEnemyVisible
[SchemaMember("CCSBot", "m_isEnemyVisible")]
public ref bool IsEnemyVisible => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_isEnemyVisible");
// m_visibleEnemyParts
[SchemaMember("CCSBot", "m_visibleEnemyParts")]
public ref byte VisibleEnemyParts => ref Schema.GetRef<byte>(this.Handle, "CCSBot", "m_visibleEnemyParts");
// m_lastEnemyPosition
[SchemaMember("CCSBot", "m_lastEnemyPosition")]
public Vector LastEnemyPosition => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSBot", "m_lastEnemyPosition");
// m_lastSawEnemyTimestamp
[SchemaMember("CCSBot", "m_lastSawEnemyTimestamp")]
public ref float LastSawEnemyTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_lastSawEnemyTimestamp");
// m_firstSawEnemyTimestamp
[SchemaMember("CCSBot", "m_firstSawEnemyTimestamp")]
public ref float FirstSawEnemyTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_firstSawEnemyTimestamp");
// m_currentEnemyAcquireTimestamp
[SchemaMember("CCSBot", "m_currentEnemyAcquireTimestamp")]
public ref float CurrentEnemyAcquireTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_currentEnemyAcquireTimestamp");
// m_enemyDeathTimestamp
[SchemaMember("CCSBot", "m_enemyDeathTimestamp")]
public ref float EnemyDeathTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_enemyDeathTimestamp");
// m_friendDeathTimestamp
[SchemaMember("CCSBot", "m_friendDeathTimestamp")]
public ref float FriendDeathTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_friendDeathTimestamp");
// m_isLastEnemyDead
[SchemaMember("CCSBot", "m_isLastEnemyDead")]
public ref bool IsLastEnemyDead => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_isLastEnemyDead");
// m_nearbyEnemyCount
[SchemaMember("CCSBot", "m_nearbyEnemyCount")]
public ref Int32 NearbyEnemyCount => ref Schema.GetRef<Int32>(this.Handle, "CCSBot", "m_nearbyEnemyCount");
// m_bomber
[SchemaMember("CCSBot", "m_bomber")]
public CHandle<CCSPlayerPawn> Bomber => Schema.GetDeclaredClass<CHandle<CCSPlayerPawn>>(this.Handle, "CCSBot", "m_bomber");
// m_nearbyFriendCount
[SchemaMember("CCSBot", "m_nearbyFriendCount")]
public ref Int32 NearbyFriendCount => ref Schema.GetRef<Int32>(this.Handle, "CCSBot", "m_nearbyFriendCount");
// m_closestVisibleFriend
[SchemaMember("CCSBot", "m_closestVisibleFriend")]
public CHandle<CCSPlayerPawn> ClosestVisibleFriend => Schema.GetDeclaredClass<CHandle<CCSPlayerPawn>>(this.Handle, "CCSBot", "m_closestVisibleFriend");
// m_closestVisibleHumanFriend
[SchemaMember("CCSBot", "m_closestVisibleHumanFriend")]
public CHandle<CCSPlayerPawn> ClosestVisibleHumanFriend => Schema.GetDeclaredClass<CHandle<CCSPlayerPawn>>(this.Handle, "CCSBot", "m_closestVisibleHumanFriend");
// m_attentionInterval
[SchemaMember("CCSBot", "m_attentionInterval")]
public IntervalTimer AttentionInterval => Schema.GetDeclaredClass<IntervalTimer>(this.Handle, "CCSBot", "m_attentionInterval");
// m_attacker
[SchemaMember("CCSBot", "m_attacker")]
public CHandle<CCSPlayerPawn> Attacker => Schema.GetDeclaredClass<CHandle<CCSPlayerPawn>>(this.Handle, "CCSBot", "m_attacker");
// m_attackedTimestamp
[SchemaMember("CCSBot", "m_attackedTimestamp")]
public ref float AttackedTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_attackedTimestamp");
// m_burnedByFlamesTimer
[SchemaMember("CCSBot", "m_burnedByFlamesTimer")]
public IntervalTimer BurnedByFlamesTimer => Schema.GetDeclaredClass<IntervalTimer>(this.Handle, "CCSBot", "m_burnedByFlamesTimer");
// m_lastVictimID
[SchemaMember("CCSBot", "m_lastVictimID")]
public ref Int32 LastVictimID => ref Schema.GetRef<Int32>(this.Handle, "CCSBot", "m_lastVictimID");
// m_isAimingAtEnemy
[SchemaMember("CCSBot", "m_isAimingAtEnemy")]
public ref bool IsAimingAtEnemy => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_isAimingAtEnemy");
// m_isRapidFiring
[SchemaMember("CCSBot", "m_isRapidFiring")]
public ref bool IsRapidFiring => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_isRapidFiring");
// m_equipTimer
[SchemaMember("CCSBot", "m_equipTimer")]
public IntervalTimer EquipTimer => Schema.GetDeclaredClass<IntervalTimer>(this.Handle, "CCSBot", "m_equipTimer");
// m_zoomTimer
[SchemaMember("CCSBot", "m_zoomTimer")]
public CountdownTimer ZoomTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_zoomTimer");
// m_fireWeaponTimestamp
[SchemaMember("CCSBot", "m_fireWeaponTimestamp")]
public ref float FireWeaponTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_fireWeaponTimestamp");
// m_lookForWeaponsOnGroundTimer
[SchemaMember("CCSBot", "m_lookForWeaponsOnGroundTimer")]
public CountdownTimer LookForWeaponsOnGroundTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_lookForWeaponsOnGroundTimer");
// m_bIsSleeping
[SchemaMember("CCSBot", "m_bIsSleeping")]
public ref bool IsSleeping => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_bIsSleeping");
// m_isEnemySniperVisible
[SchemaMember("CCSBot", "m_isEnemySniperVisible")]
public ref bool IsEnemySniperVisible => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_isEnemySniperVisible");
// m_sawEnemySniperTimer
[SchemaMember("CCSBot", "m_sawEnemySniperTimer")]
public CountdownTimer SawEnemySniperTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_sawEnemySniperTimer");
// m_enemyQueueIndex
[SchemaMember("CCSBot", "m_enemyQueueIndex")]
public ref byte EnemyQueueIndex => ref Schema.GetRef<byte>(this.Handle, "CCSBot", "m_enemyQueueIndex");
// m_enemyQueueCount
[SchemaMember("CCSBot", "m_enemyQueueCount")]
public ref byte EnemyQueueCount => ref Schema.GetRef<byte>(this.Handle, "CCSBot", "m_enemyQueueCount");
// m_enemyQueueAttendIndex
[SchemaMember("CCSBot", "m_enemyQueueAttendIndex")]
public ref byte EnemyQueueAttendIndex => ref Schema.GetRef<byte>(this.Handle, "CCSBot", "m_enemyQueueAttendIndex");
// m_isStuck
[SchemaMember("CCSBot", "m_isStuck")]
public ref bool IsStuck => ref Schema.GetRef<bool>(this.Handle, "CCSBot", "m_isStuck");
// m_stuckTimestamp
[SchemaMember("CCSBot", "m_stuckTimestamp")]
public ref float StuckTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_stuckTimestamp");
// m_stuckSpot
[SchemaMember("CCSBot", "m_stuckSpot")]
public Vector StuckSpot => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSBot", "m_stuckSpot");
// m_wiggleTimer
[SchemaMember("CCSBot", "m_wiggleTimer")]
public CountdownTimer WiggleTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_wiggleTimer");
// m_stuckJumpTimer
[SchemaMember("CCSBot", "m_stuckJumpTimer")]
public CountdownTimer StuckJumpTimer => Schema.GetDeclaredClass<CountdownTimer>(this.Handle, "CCSBot", "m_stuckJumpTimer");
// m_nextCleanupCheckTimestamp
[SchemaMember("CCSBot", "m_nextCleanupCheckTimestamp")]
public ref float NextCleanupCheckTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_nextCleanupCheckTimestamp");
// m_avgVel
[SchemaMember("CCSBot", "m_avgVel")]
public Span<float> AvgVel => Schema.GetFixedArray<float>(this.Handle, "CCSBot", "m_avgVel", 10);
// m_avgVelIndex
[SchemaMember("CCSBot", "m_avgVelIndex")]
public ref Int32 AvgVelIndex => ref Schema.GetRef<Int32>(this.Handle, "CCSBot", "m_avgVelIndex");
// m_avgVelCount
[SchemaMember("CCSBot", "m_avgVelCount")]
public ref Int32 AvgVelCount => ref Schema.GetRef<Int32>(this.Handle, "CCSBot", "m_avgVelCount");
// m_lastOrigin
[SchemaMember("CCSBot", "m_lastOrigin")]
public Vector LastOrigin => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSBot", "m_lastOrigin");
// m_lastRadioRecievedTimestamp
[SchemaMember("CCSBot", "m_lastRadioRecievedTimestamp")]
public ref float LastRadioRecievedTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_lastRadioRecievedTimestamp");
// m_lastRadioSentTimestamp
[SchemaMember("CCSBot", "m_lastRadioSentTimestamp")]
public ref float LastRadioSentTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_lastRadioSentTimestamp");
// m_radioSubject
[SchemaMember("CCSBot", "m_radioSubject")]
public CHandle<CCSPlayerPawn> RadioSubject => Schema.GetDeclaredClass<CHandle<CCSPlayerPawn>>(this.Handle, "CCSBot", "m_radioSubject");
// m_radioPosition
[SchemaMember("CCSBot", "m_radioPosition")]
public Vector RadioPosition => Schema.GetDeclaredClass<Vector>(this.Handle, "CCSBot", "m_radioPosition");
// m_voiceEndTimestamp
[SchemaMember("CCSBot", "m_voiceEndTimestamp")]
public ref float VoiceEndTimestamp => ref Schema.GetRef<float>(this.Handle, "CCSBot", "m_voiceEndTimestamp");
// m_lastValidReactionQueueFrame
[SchemaMember("CCSBot", "m_lastValidReactionQueueFrame")]
public ref Int32 LastValidReactionQueueFrame => ref Schema.GetRef<Int32>(this.Handle, "CCSBot", "m_lastValidReactionQueueFrame");
}

View File

@@ -1,25 +0,0 @@
// <auto-generated />
#nullable enable
#pragma warning disable CS1591
using System;
using System.Diagnostics;
using System.Drawing;
using CounterStrikeSharp;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Core.Attributes;
namespace CounterStrikeSharp.API.Core;
public partial class CCSGOViewModel : CPredictedViewModel
{
public CCSGOViewModel (IntPtr pointer) : base(pointer) {}
// m_bShouldIgnoreOffsetAndAccuracy
[SchemaMember("CCSGOViewModel", "m_bShouldIgnoreOffsetAndAccuracy")]
public ref bool ShouldIgnoreOffsetAndAccuracy => ref Schema.GetRef<bool>(this.Handle, "CCSGOViewModel", "m_bShouldIgnoreOffsetAndAccuracy");
}

Some files were not shown because too many files have changed in this diff Show More