Compare commits

...

67 Commits

Author SHA1 Message Date
B3none
f336dec616 Update .gitmodules to use https references rather than git reference (#297)
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
2024-02-11 06:43:23 +00:00
Michael Wilson
2d8f7be84f Dev -> Main (Schema Updates) (#320) 2024-02-11 13:13:38 +10:00
roflmuffin
8967c40bed fix: update gamedata (thanks to xLeviNx) 2024-02-10 11:21:59 +10:00
Nexd
12c6f4d0a1 fix linux::CCSPlayerPawnBase_PostThink and windows::CEntityIOOutput_FireOutputInternal (#314) 2024-02-08 18:51:43 +10:00
ZoNiCaL
f2b8044b8c Update gamedata for Call To Arms Update (#311)
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
2024-02-08 06:03:15 +00:00
Michael Wilson
eb9f5667d8 [skip ci] Update README.md 2024-02-07 20:16:13 +10:00
Michael Wilson
b9ca63a603 fix: default base menu post select action to reset 2024-02-07 20:13:43 +10:00
B3none
8fc926eacf Improved menu closing (#294) 2024-02-05 07:26:08 -05:00
B3none
5695c3f922 Updated css_plugins sub command responses. (#289)
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
2024-01-26 06:14:56 +00:00
B3none
9071d51ecd Tidy CCSPlayerController (#287)
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
2024-01-26 06:04:57 +00:00
Michael Wilson
0a32962f4a fix: move discord notify into release pipeline 2024-01-26 15:51:39 +10:00
Michael Wilson
271705b377 Update discord-notify.yml 2024-01-26 15:28:58 +10:00
Michael Wilson
cdcddbb5f3 Update discord-notify.yml 2024-01-25 16:47:53 +10:00
Michael Wilson
91f51d0c5c Update discord-notify.yml 2024-01-25 16:47:45 +10:00
Dliix66
e97f804294 HTML Menu improvements (#284)
Co-authored-by: B3none <24966460+B3none@users.noreply.github.com>
2024-01-23 11:15:18 +10:00
Dliix66
4f805b18e2 Added canUse virtual method (#282) 2024-01-22 10:23:02 +10:00
roflmuffin
e1f9b5635e chore: update API compatibility version to 151 2024-01-21 21:07:02 +10:00
Michael Wilson
59bff4f500 feat: add discord notify through GH actions 2024-01-21 12:35:49 +10:00
Daniel Wiesendorf
a2581d8e91 Log exception if plugin load fails using the load command (#265) 2024-01-21 12:01:27 +10:00
Ravid-A
e7d190a6f7 Change TerroristsPlanned to TerroristsPlanted in RoundEndReason (#216)
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
Co-authored-by: B3none <24966460+B3none@users.noreply.github.com>
2024-01-21 12:01:27 +10:00
B3none
5513d5710a Menu system updates (#268)
Co-authored-by: Stimayk <51941742+Stimayk@users.noreply.github.com>
2024-01-21 12:01:27 +10:00
Michael Poutre
e5c223699c fix(Offsets/Win): CCSPlayer_ItemServices.RemoveWeapons() (#271) 2024-01-21 12:01:27 +10:00
ZoNiCaL
fa37c222d9 Admin manager improvements (#278)
Co-authored-by: B3none <24966460+B3none@users.noreply.github.com>
2024-01-21 12:01:27 +10:00
Michael Wilson
3b633fafc7 Create CODEOWNERS 2024-01-21 11:44:42 +10:00
Abner Santos
765c56a38a Fix css_plugins commands number of args check (#269) 2024-01-19 17:43:21 +00:00
B3none
204850fb55 Add casted property .Team to CCSPlayerController (#259)
Co-authored-by: Roflmuffin <shortguy014@gmail.com>
2024-01-15 15:49:05 +10:00
ZoNiCaL
bac31b9190 Purge disabled folder (#256) 2024-01-12 12:14:38 +10:00
B3none
289f95a6b7 Add DarkRed to ChatColors class to follow naming convention (#245) 2024-01-09 16:20:51 +10:00
roflmuffin
7b45a884d4 chore: remove schema::GetOffset warning message 2023-12-28 18:01:44 +10:00
Michael Wilson
6ea6d0a22d feat: add state changed and network state changed handler (#229) 2023-12-27 20:56:38 +10:00
roflmuffin
12523455c0 fix: bad max player count 2023-12-27 15:30:57 +10:00
Michael Wilson
db63fdc00c feat: add AcceptInput method to CEntityInstance (#228) 2023-12-27 14:32:37 +10:00
roflmuffin
57747f2e1c fix: update GetPlayers to use slot access 2023-12-27 14:00:11 +10:00
roflmuffin
66b5f77a2d feat: add GetMaxClients native, fixes #184 2023-12-27 13:40:06 +10:00
Michael Wilson
8dbcb6d531 chore: update hl2sdk (#227) 2023-12-27 13:26:59 +10:00
roflmuffin
2f0d34b271 chore: disable compat suppression file by default 2023-12-26 17:36:55 +10:00
roflmuffin
2a59544fbc feat: add ApiCompat checker to determine breaking API changes 2023-12-26 17:30:17 +10:00
pedrotski
f80f2ae949 Fix getting started image (#220) 2023-12-26 17:09:32 +10:00
roflmuffin
f68a0abc61 fix: ignore null designer names in FindAllEntitiesByDesignerName Fixes #212 2023-12-26 17:00:58 +10:00
Sürat ÜNLÜGÜN
a07dd9d7d4 Fix CanPlayerTarget Immu (#222) 2023-12-25 23:26:34 +10:00
B3none
d527038fba Added a parameter for people to optionally remove the entity when calling RemoveItemByDesignerName (#214) 2023-12-24 19:40:23 +10:00
pedrotski
ca85922270 Update Getting Started Guide (#217) 2023-12-24 10:02:41 +10:00
B3none
b837479f98 Added links to referenced projects in the credits for the README.md (#210) 2023-12-19 11:15:30 +10:00
Hackmastr
1e42f72655 Docs: Using DOTNET_SYSTEM_GLOBALIZATION_INVARIANT is no longer valid. (#209)
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
2023-12-19 11:14:31 +10:00
Michael Wilson
1ad1828e30 feat: Add SchemaMember attribute to schema objects` (#208) 2023-12-17 13:12:26 +10:00
Charles_
563a5d7b3a feat: Added RemovePlayerItem() to CBasePlayerPawn. (#200)
Co-authored-by: roflmuffin <shortguy014@gmail.com>
2023-12-16 14:24:08 +10:00
Charlie Thomson
983b673b4c feat: Add OnClientVoice listener (#204)
Co-authored-by: roflmuffin <shortguy014@gmail.com>
2023-12-16 14:18:40 +10:00
Roflmuffin
74fd0e0832 fix: offsets for CBaseEntity derived classes
Also adds test commands to test plugin for future validation
2023-12-14 15:14:34 +10:00
Michael Wilson
44e3f2240c chore: license updates (#199) 2023-12-14 11:03:18 +10:00
BuSheeZy
8af219e7a8 CHANGE: visual adjustments (#198) 2023-12-14 10:44:48 +10:00
Poggu
bff04e7795 Add voice manager (ability to override voice chat / mute players) (#179)
Co-authored-by: Michael Wilson <roflmuffin@users.noreply.github.com>
Co-authored-by: roflmuffin <shortguy014@gmail.com>
2023-12-12 17:46:45 +10:00
Michael Wilson
d495ac6230 chore: bump version 2023-12-12 10:55:55 +10:00
roflmuffin
f78abf0c81 fix: fallback to en language files for invariant mode 2023-12-12 10:51:38 +10:00
Charles_
bcacc42d0e feat: Added support for custom gamedata files. (#194) 2023-12-12 09:44:28 +10:00
HerrMagiic
8235d5e728 Update docs link in README.md (#193) 2023-12-11 23:11:03 +10:00
Michael Wilson
56739356d5 Plugin Translations (#146) 2023-12-11 16:19:50 +10:00
ZoNiCaL
aaba87551d Admin improvements round 2! (this time it's personal) (#143)
Co-authored-by: Roflmuffin <shortguy014@gmail.com>
2023-12-11 13:24:14 +10:00
Roflmuffin
a3466dd5d1 chore: cleanup null reference warnings in virtual funcs 2023-12-11 11:48:55 +10:00
johnoclockdk
c8604760f2 Update docs (#176) 2023-12-11 10:41:10 +10:00
Michael Wilson
d50a945317 feat: defers calls to HookEvent until after game loop mode init (#187) 2023-12-10 22:13:03 +10:00
Michael Wilson
55396e005c fix: discord links (#190) 2023-12-09 14:11:27 +10:00
Roflmuffin
98b2b01992 Merge branch 'FixSteamIdOnWindowsServer' into main 2023-12-08 12:34:52 +10:00
Roflmuffin
a537be89e4 tests: update tests, throw out of range exception <= 0 2023-12-08 12:32:46 +10:00
Roflmuffin
c07d5d2aa9 Merge remote-tracking branch 'origin/main' into FixSteamIdOnWindowsServer 2023-12-08 12:25:50 +10:00
Michael Wilson
1cc95555fe feat: add basic tests project with SteamID tests (#186) 2023-12-08 12:24:35 +10:00
Roflmuffin
378c28dfd0 chore: bump hl2sdk version 2023-12-08 12:22:54 +10:00
TheR00st3r
c7343c3b7a Fix SteamId on Windows Server #182 2023-12-07 21:19:07 +01:00
1144 changed files with 147582 additions and 125950 deletions

View File

@@ -4,9 +4,9 @@ on:
push:
paths-ignore:
- 'docfx/**'
branches: [ "main" ]
branches: [ "main", "dev" ]
pull_request:
branches: [ "main" ]
branches: [ "main", "dev" ]
env:
BUILD_TYPE: Release
@@ -98,7 +98,7 @@ jobs:
run: echo "GITHUB_SHA_SHORT=${GITHUB_SHA::7}" >> $GITHUB_ENV
- name: Fallback build number
if: github.event_name == 'pull_request'
if: ${{ github.event_name == 'pull_request' || github.ref != 'refs/heads/main' }}
shell: bash
run: echo "BUILD_NUMBER=0" >> $GITHUB_ENV
@@ -106,7 +106,7 @@ jobs:
- uses: actions/checkout@v3
- name: Generate build number
if: github.event_name == 'push'
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
id: buildnumber
uses: onyxmueller/build-tag-number@v1
with:
@@ -117,7 +117,21 @@ jobs:
with:
dotnet-version: '7.0.x'
- run: |
- name: Install dependencies
run: dotnet restore managed/CounterStrikeSharp.sln
- name: Run tests
run: dotnet test --logger trx --results-directory "TestResults-${{ env.GITHUB_SHA_SHORT }}" managed/CounterStrikeSharp.API.Tests/CounterStrikeSharp.API.Tests.csproj
- name: Upload dotnet test results
uses: actions/upload-artifact@v3
with:
name: test-results-${{ env.GITHUB_SHA_SHORT }}
path: TestResults-${{ env.GITHUB_SHA_SHORT }}
if: ${{ always() }}
- name: Publish artifacts
run: |
dotnet publish -c Release /p:Version=1.0.${{ env.BUILD_NUMBER }} managed/CounterStrikeSharp.API
dotnet pack -c Release /p:Version=1.0.${{ env.BUILD_NUMBER }} managed/CounterStrikeSharp.API
@@ -127,7 +141,7 @@ jobs:
path: managed/CounterStrikeSharp.API/bin/Release
publish:
if: github.event_name == 'push'
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
permissions:
contents: write
needs: [ "build_linux", "build_windows", "build_managed" ]
@@ -182,6 +196,7 @@ jobs:
(cd build/windows && zip -qq -r ../../counterstrikesharp-with-runtime-build-${{ needs.build_managed.outputs.buildnumber }}-windows-${{ env.GITHUB_SHA_SHORT }}.zip *)
- name: Release
id: release
uses: softprops/action-gh-release@v1
with:
tag_name: v${{ needs.build_managed.outputs.buildnumber }}
@@ -194,4 +209,11 @@ jobs:
- name: Publish NuGet package
run: |
dotnet nuget push build/api/CounterStrikeSharp.API.1.0.${{ needs.build_managed.outputs.buildnumber }}.nupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
dotnet nuget push build/api/CounterStrikeSharp.API.1.0.${{ needs.build_managed.outputs.buildnumber }}.snupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
dotnet nuget push build/api/CounterStrikeSharp.API.1.0.${{ needs.build_managed.outputs.buildnumber }}.snupkg --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json --skip-duplicate
- name: Send Notification to Discord
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
uses: Ilshidur/action-discord@0.3.2
with:
args: "A new release of CS# has been tagged (v${{ needs.build_managed.outputs.buildnumber }}) at ${{ steps.release.outputs.url }}"

4
.gitmodules vendored
View File

@@ -19,7 +19,7 @@
url = https://github.com/SteamDatabase/GameTracking-CS2
[submodule "libraries/DynoHook"]
path = libraries/DynoHook
url = git@github.com:qubka/DynoHook.git
url = https://github.com/qubka/DynoHook
[submodule "libraries/asmjit"]
path = libraries/asmjit
url = git@github.com:asmjit/asmjit.git
url = https://github.com/asmjit/asmjit

View File

@@ -22,6 +22,22 @@ saul/demofile-net, https://github.com/saul/demofile-net/blob/main/LICENSE:
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
neverlosecc/source2gen, https://github.com/neverlosecc/source2gen
source2gen - Source2 games SDK generator
Copyright 2023 neverlosecc
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Source2ZE/CS2Fixes:
alliedmodders/sourcemod:
Source-Python-Dev-Team/Source.Python:

View File

@@ -18,6 +18,7 @@ SET(SOURCE_FILES
src/mm_plugin.h
libraries/hl2sdk-cs2/tier1/convar.cpp
libraries/hl2sdk-cs2/tier1/generichash.cpp
libraries/hl2sdk-cs2/entity2/entityidentity.cpp
libraries/hl2sdk-cs2/entity2/entitysystem.cpp
libraries/dotnet/hostfxr.h
libraries/dotnet/coreclr_delegates.h
@@ -75,6 +76,7 @@ SET(SOURCE_FILES
src/scripting/natives/natives_memory.cpp
src/scripting/natives/natives_schema.cpp
src/scripting/natives/natives_entities.cpp
src/scripting/natives/natives_voice.cpp
src/core/managers/entity_manager.cpp
src/core/managers/entity_manager.h
src/core/managers/chat_manager.cpp
@@ -83,6 +85,8 @@ SET(SOURCE_FILES
src/core/managers/server_manager.h
src/scripting/natives/natives_server.cpp
libraries/nlohmann/json.hpp
src/core/managers/voice_manager.cpp
src/core/managers/voice_manager.h
src/scripting/natives/natives_dynamichooks.cpp
)

1
CODEOWNERS Normal file
View File

@@ -0,0 +1 @@
* @roflmuffin

View File

@@ -2,7 +2,7 @@
CounterStrikeSharp is a server side modding framework for Counter-Strike: Global Offensive. This project attempts to implement a .NET Core scripting layer on top of a Metamod Source Plugin, allowing developers to create plugins that interact with the game server in a modern language (C#) to facilitate the creation of maintainable and testable code.
[Come and join our Discord](https://discord.gg/X7r3PmuYKq)
[Come and join our Discord](https://discord.gg/eAZU3guKWU)
## History
@@ -14,7 +14,7 @@ Due to the architectural changes of CS2, the plugin is being rebuilt on the grou
Download the latest build from [here](https://github.com/roflmuffin/CounterStrikeSharp/releases). (Download the with runtime version if this is your first time installing).
Detailed installation instructions can be found in the [docs](https://docs.cssharp.dev/guides/getting-started/).
Detailed installation instructions can be found in the [docs](https://docs.cssharp.dev/docs/guides/getting-started.html).
## What works?
@@ -39,11 +39,11 @@ These features are the core of the platform and work pretty well/have a low risk
## Links
- [Join the Discord](https://discord.gg/X7r3PmuYKq): Ask questions, provide suggestions
- [Join the Discord](https://discord.gg/eAZU3guKWU): Ask questions, provide suggestions
- [Read the docs](https://docs.cssharp.dev/): Getting started guide, hello world plugin example
- [Issue tracker](https://github.com/roflmuffin/CounterStrikeSharp/issues): Raise any issues here
- [Builds](https://github.com/roflmuffin/CounterStrikeSharp/actions): Download latest unstable dev snapshot
- [Install Docs](https://docs.cssharp.dev/guides/getting-started/): Installation instructions
- [Install Docs](https://docs.cssharp.dev/docs/guides/getting-started.html): Installation instructions
- [Example Plugin](managed/TestPlugin/TestPlugin.cs): Test plugin with basic functionality
## Examples
@@ -91,8 +91,8 @@ public class HelloWorldPlugin : BasePlugin
## Credits
A lot of code has been borrowed from SourceMod as well as Source.Python, two pioneering source engine plugin frameworks which this project lends a lot of its credit to.
I've also used the scripting context & native system that is implemented in FiveM for GTA5. Also shoutout to the [CS2Fixes](https://github.com/Source2ZE/CS2Fixes) project for providing good reverse-engineering information so shortly after CS2 release.
A lot of code has been borrowed from [SourceMod](https://github.com/alliedmodders/sourcemod) as well as [Source.Python](https://github.com/Source-Python-Dev-Team/Source.Python), two pioneering source engine plugin frameworks which this project lends a lot of its credit to.
I've also used the scripting context & native system that is implemented in [FiveM](https://github.com/citizenfx/fivem) for GTA5. Also shoutout to the [CS2Fixes](https://github.com/Source2ZE/CS2Fixes) project for providing good reverse-engineering information so shortly after CS2 release.
## How to Build
@@ -128,3 +128,4 @@ Build
```bash
cmake --build . --config Debug
```
<img src="https://repobeats.axiom.co/api/embed/a96f228b8fa98c032070fa8dd831c967334ee553.svg" width="100%" />

View File

@@ -2,5 +2,6 @@
"PublicChatTrigger": [ "!" ],
"SilentChatTrigger": [ "/" ],
"FollowCS2ServerGuidelines": true,
"PluginHotReloadEnabled": true
"PluginHotReloadEnabled": true,
"ServerLanguage": "en"
}

View File

@@ -22,28 +22,28 @@
},
"CCSPlayerController_ChangeTeam": {
"offsets": {
"windows": 90,
"linux": 89
"windows": 93,
"linux": 92
}
},
"CCSPlayerController_Respawn": {
"offsets": {
"windows": 241,
"linux": 243
"windows": 245,
"linux": 247
}
},
"CCSPlayerPawn_Respawn": {
"CBasePlayerController_SetPawn": {
"signatures": {
"library": "server",
"windows": "\\x40\\x53\\x48\\x83\\xEC\\x20\\x8B\\x91\\x38\\x0B\\x00\\x00\\x48\\x8B\\xD9",
"linux": "\\x8B\\x8F\\x40\\x0E\\x00\\x00\\x83\\xF9\\xFF\\x0F\\x84\\xD9\\x01"
"library": "server",
"windows": "\\x44\\x88\\x4C\\x24\\x20\\x55\\x57\\x41\\x54\\x41\\x56\\x41\\x57\\x48\\x8D\\x6C\\x24\\x2A\\x48\\x81\\xEC\\x2A",
"linux": "\\x55\\x48\\x89\\xE5\\x41\\x57\\x41\\x56\\x41\\x55\\x41\\x54\\x49\\x89\\xFC\\x53\\x48\\x89\\xF3\\x48\\x81\\xEC\\xC8\\x00\\x00\\x00"
}
},
"CCSPlayerPawnBase_PostThink": {
"signatures": {
"library": "server",
"windows": "\\x48\\x8B\\xC4\\x48\\x89\\x48\\x08\\x55\\x53\\x56\\x57\\x41\\x56\\x48\\x8D\\xA8\\xD8\\xFE\\xFF\\xFF",
"linux": "\\x55\\x48\\x89\\xE5\\x41\\x57\\x49\\x89\\xFF\\x41\\x56\\x41\\x55\\x41\\x54\\x53\\x48\\x81\\xEC\\x2A\\x2A\\x2A\\x2A\\xE8\\x2A\\x2A\\x2A\\x2A\\x4C"
"linux": "\\x55\\x48\\x89\\xE5\\x41\\x57\\x41\\x56\\x41\\x55\\x41\\x54\\x53\\x48\\x89\\xFB\\x48\\x81\\xEC\\x2A\\x2A\\x2A\\x2A\\xE8\\x2A\\x2A\\x2A\\x2A\\x48\\x89\\xDF"
}
},
"GiveNamedItem": {
@@ -70,8 +70,15 @@
"CBaseModelEntity_SetModel": {
"signatures": {
"library": "server",
"windows": "\\x48\\x89\\x5C\\x24\\x10\\x48\\x89\\x7C\\x24\\x20\\x55\\x48\\x8B\\xEC\\x48\\x83\\xEC\\x50",
"linux": "\\x55\\x48\\x89\\xF2\\x48\\x89\\xE5\\x41\\x54\\x49\\x89\\xFC\\x48\\x8D\\x2A\\x2A\\x48\\x83\\x2A\\x2A\\x2A\\x8D\\x05\\x2A\\x2A\\x2A\\x00\\x48\\x8B\\x30\\x48\\x8B\\x06\\xFF\\x2A\\x2A\\x48\\x8B\\x45\\x2A\\x48\\x8D\\x2A\\x2A\\x4C\\x89\\x2A\\x48\\x89\\x45\\x2A\\x2A\\x68\\xFC"
"windows": "\\x48\\x89\\x5C\\x24\\x2A\\x48\\x89\\x7C\\x24\\x2A\\x55\\x48\\x8B\\xEC\\x48\\x83\\xEC\\x50\\x48\\x8B\\xF9\\x4C\\x8B\\xC2",
"linux": "\\x55\\x48\\x89\\xF2\\x48\\x89\\xE5\\x41\\x54\\x49\\x89\\xFC\\x48\\x8D\\x7D\\xE0\\x48\\x83\\xEC\\x2A\\x48\\x8D\\x05\\x2A\\x2A\\x2A\\x2A\\x48\\x8B\\x30\\x48\\x8B\\x06"
}
},
"CCSPlayer_WeaponServices_CanUse": {
"signatures": {
"library": "server",
"windows": "\\x48\\x89\\x5C\\x24\\x10\\x48\\x89\\x6C\\x24\\x18\\x56\\x57\\x41\\x56\\x48\\x83\\xEC\\x30\\x80\\xB9\\xA0\\x00\\x00\\x00\\x00",
"linux": "\\x48\\x85\\xF6\\x0F\\x84\\x2A\\x2A\\x2A\\x2A\\x55\\x31\\xC9\\x48\\x89\\xE5\\x41\\x55\\x49\\x89\\xFD"
}
},
"CCSPlayer_ItemServices_DropActivePlayerWeapon": {
@@ -82,7 +89,7 @@
},
"CCSPlayer_ItemServices_RemoveWeapons": {
"offsets": {
"windows": 21,
"windows": 19,
"linux": 20
}
},
@@ -95,14 +102,14 @@
"CCSGameRules_TerminateRound": {
"signatures": {
"library": "server",
"windows": "\\x48\\x8B\\xC4\\x4C\\x89\\x48\\x20\\x55\\x56",
"linux": "\\x55\\x48\\x89\\xE5\\x41\\x57\\x41\\x56\\x41\\x55\\x49\\x89\\xFD\\x41\\x54\\x53\\x48\\x81\\xEC\\xE8"
"windows": "\\x48\\x8B\\xC4\\x4C\\x89\\x48\\x20\\x55\\x57",
"linux": "\\x55\\x48\\x89\\xE5\\x41\\x57\\x41\\x56\\x41\\x55\\x41\\x54\\x49\\x89\\xFC\\x53\\x48\\x81\\xEC\\xE8\\x01\\x00\\x00\\x48\\x8D\\x05\\x2A\\x2A\\x2A\\x2A"
}
},
"UTIL_CreateEntityByName": {
"signatures": {
"library": "server",
"windows": "\\x48\\x83\\xEC\\x48\\xC6\\x44\\x24\\x30\\x00\\x4C\\x8B\\xC1",
"windows": "\\x48\\x83\\xEC\\x48\\xC6\\x44\\x24\\x30\\x00",
"linux": "\\x48\\x8D\\x05\\x2A\\x2A\\x2A\\x2A\\x55\\x48\\x89\\xFA"
}
},
@@ -110,9 +117,16 @@
"signatures": {
"library": "server",
"windows": "\\x48\\x89\\x5C\\x24\\x10\\x57\\x48\\x83\\xEC\\x30\\x48\\x8B\\xDA\\x48\\x8B\\xF9\\x48\\x85\\xC9",
"linux": "\\x48\\x85\\xFF\\x74\\x4B\\x55\\x48\\x89\\xE5\\x41\\x56"
"linux": "\\x48\\x85\\xFF\\x74\\x2A\\x55\\x48\\x89\\xE5\\x41\\x56"
}
},
"CEntityInstance_AcceptInput": {
"signatures": {
"library": "server",
"windows": "\\x48\\x89\\x5C\\x24\\x10\\x48\\x89\\x74\\x24\\x18\\x57\\x48\\x83\\xEC\\x40\\x49\\x8B\\xF0",
"linux": "\\x55\\x48\\x89\\xE5\\x41\\x57\\x49\\x89\\xFF\\x41\\x56\\x48\\x8D\\x7D\\xC0"
}
},
"LegacyGameEventListener": {
"signatures": {
"library": "server",
@@ -122,14 +136,21 @@
},
"CBasePlayerPawn_CommitSuicide": {
"offsets": {
"windows": 356,
"linux": 356
"windows": 360,
"linux": 360
}
},
"CBasePlayerPawn_RemovePlayerItem": {
"signatures": {
"library": "server",
"linux": "\\x55\\x48\\x89\\x2A\\x41\\x2A\\x49\\x89\\x2A\\x41\\x2A\\x49\\x89\\x2A\\xE8\\x2A\\x2A\\x2A\\x2A\\x49\\x39",
"windows": "\\x48\\x85\\xD2\\x0F\\x84\\x2A\\x2A\\x2A\\x2A\\x48\\x89\\x5C\\x24\\x08\\x57\\x48\\x83\\xEC\\x30\\x48\\x8B\\xDA"
}
},
"CBaseEntity_Teleport": {
"offsets": {
"windows": 148,
"linux": 147
"windows": 149,
"linux": 148
}
},
"CBaseEntity_TakeDamageOld": {
@@ -150,7 +171,21 @@
"signatures": {
"library": "server",
"windows": "\\x40\\x53\\x57\\x41\\x55\\x48\\x83\\xEC\\x40",
"linux": "\\x55\\xBA\\xFF\\xFF\\xFF\\xFF\\x48\\x89\\xE5\\x41\\x57\\x41\\x56\\x41\\x55\\x49"
"linux": "\\x55\\xBA\\xFF\\xFF\\xFF\\xFF\\x48\\x89\\xE5\\x41\\x57\\x41\\x56\\x41\\x55\\x49\\x89\\xF5\\x41"
}
},
"StateChanged": {
"signatures": {
"library": "server",
"windows": "\\x40\\x55\\x53\\x56\\x41\\x55\\x41\\x57\\x48\\x8D\\x6C\\x24\\xB0",
"linux": "\\x55\\x48\\x89\\xE5\\x41\\x57\\x41\\x56\\x41\\x55\\x41\\x54\\x53\\x89\\xD3"
}
},
"NetworkStateChanged": {
"signatures": {
"library": "server",
"windows": "\\x4C\\x8B\\xC9\\x48\\x8B\\x09\\x48\\x85\\xC9\\x74\\x2A\\x48\\x8B\\x41\\x10",
"linux": "\\x4C\\x8B\\x07\\x4D\\x85\\xC0\\x74\\x2A\\x49\\x8B\\x40\\x10"
}
},
"GameEntitySystem": {
@@ -161,15 +196,15 @@
},
"GameEventManager": {
"offsets": {
"windows": 91,
"linux": 91
"windows": 93,
"linux": 93
}
},
"CEntityIOOutput_FireOutputInternal": {
"signatures": {
"library": "server",
"windows": "\\x48\\x8B\\xC4\\x4C\\x89\\x48\\x20\\x55\\x57\\x41\\x54\\x41\\x56",
"linux": "\\x55\\x48\\x89\\xE5\\x41\\x57\\x41\\x56\\x41\\x55\\x41\\x54\\x53\\x48\\x83\\xEC\\x58\\x4C\\x8B\\x6F\\x08"
"windows": "\\x4C\\x89\\x4C\\x24\\x20\\x53\\x55\\x57\\x41\\x54\\x41\\x56\\x48\\x81\\xEC",
"linux": "\\x55\\x48\\x89\\xE5\\x41\\x57\\x41\\x56\\x41\\x55\\x41\\x54\\x49\\x89\\xD4\\x53\\x48\\x89\\xF3\\x48\\x83\\xEC\\x58"
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,305 +1,320 @@
ActionType_t
AimMatrixBlendMode
AmmoFlags_t
AmmoPosition_t
AnimLoopMode_t
AnimNodeNetworkMode
AnimParamButton_t
AnimParamNetworkSetting
AnimParamType_t
AnimPoseControl
AnimScriptType
AnimVRFinger_t
AnimVRHandMotionRange_t
AnimVRHand_t
AnimValueSource
AnimVectorSource
AnimVrBoneTransformSource_t
AnimVrFingerSplay_t
AnimationProcessingType_t
AnimationSnapshotType_t
AnimationType_t
BBoxVolumeType_t
BaseExplosionTypes_t
BeamClipStyle_t
BeamType_t
BeginDeathLifeStateTransition_t
BinaryNodeChildOption
BinaryNodeTiming
Blend2DMode
BlendKeyType
BloomBlendMode_t
BlurFilterType_t
BoneMaskBlendSpace
BoneTransformSpace_t
BrushSolidities_e
CAnimationGraphVisualizerPrimitiveType
CLogicBranchList__LogicBranchListenerLastState_t
CRR_Response__ResponseEnum_t
CSPlayerBlockingUseAction_t
CSPlayerState
CSWeaponCategory
CSWeaponMode
CSWeaponSilencerType
CSWeaponState_t
CSWeaponType
CanPlaySequence_t
ChatIgnoreType_t
ChickenActivity
ChoiceBlendMethod
ChoiceChangeMethod
ChoiceMethod
Class_T
ClosestPointTestType_t
CommandEntitySpecType_t
CommandExecMode_t
CompMatPropertyMutatorConditionType_t
CompMatPropertyMutatorType_t
CompositeMaterialInputContainerSourceType_t
CompositeMaterialInputLooseVariableType_t
CompositeMaterialInputTextureType_t
CompositeMaterialMatchFilterType_t
CompositeMaterialVarSystemVar_t
DamageTypes_t
DampingSpeedFunction
DebugOverlayBits_t
Detail2Combo_t
DetailCombo_t
DisableShadows_t
Disposition_t
DoorState_t
EDemoBoneSelectionMode
EGrenadeThrowState
EInButtonState
EKillTypes_t
ELayoutNodeType
EOverrideBlockLOS_t
EStyleNodeType
EntFinderMethod_t
EntityDisolveType_t
EntityDormancyType_t
EntityIOTargetType_t
EntitySubclassScope_t
Explosions
FacingMode
FieldNetworkOption
FixAngleSet_t
FlexOpCode_t
FootFallTagFoot_t
FootLockSubVisualization
FootPinningTimingSource
FootstepLandedFootSoundType_t
ForcedCrouchState_t
FuncDoorSpawnPos_t
FuseVariableAccess_t
FuseVariableType_t
GameAnimEventIndex_t
GrenadeType_t
HierarchyType_t
HitGroup_t
HitboxLerpType_t
HorizJustification_e
Hull_t
IChoreoServices__ChoreoState_t
IChoreoServices__ScriptState_t
IKChannelMode
IKSolverType
IKTargetCoordinateSystem
IKTargetSource
IkEndEffectorType
IkTargetType
InheritableBoolType_t
InputBitMask_t
InputLayoutVariation_t
ItemFlagTypes_t
JiggleBoneSimSpace
JointAxis_t
JointMotion_t
JumpCorrectionMethod
LatchDirtyPermission_t
LayoutPositionType_e
LessonPanelLayoutFileTypes_t
LifeState_t
MaterialProxyType_t
Materials
MatterialAttributeTagType_t
MedalRank_t
MeshDrawPrimitiveFlags_t
MissingParentInheritBehavior_t
ModelBoneFlexComponent_t
ModelConfigAttachmentType_t
ModelSkeletonData_t__BoneFlags_t
ModifyDamageReturn_t
MoodType_t
MorphBundleType_t
MorphFlexControllerRemapType_t
MoveCollide_t
MoveLinearAuthoredPos_t
MoveMountingAmount_t
MoveType_t
NavAttributeEnum
NavDirType
ObjectTypeFlags_t
ObserverInterpState_t
ObserverMode_t
OnFrame
PFNoiseModifier_t
PFNoiseTurbulence_t
PFNoiseType_t
PFuncVisualizationType_t
ParticleAlphaReferenceType_t
ParticleAttachment_t
ParticleCollisionMode_t
ParticleColorBlendMode_t
ParticleColorBlendType_t
ParticleControlPointAxis_t
ParticleDepthFeatheringMode_t
ParticleDetailLevel_t
ParticleDirectionNoiseType_t
ParticleEndcapMode_t
ParticleFalloffFunction_t
ParticleFloatBiasType_t
ParticleFloatInputMode_t
ParticleFloatMapType_t
ParticleFloatRandomMode_t
ParticleFloatType_t
ParticleFogType_t
ParticleHitboxBiasType_t
ParticleHitboxDataSelection_t
ParticleImpulseType_t
ParticleLightBehaviorChoiceList_t
ParticleLightFogLightingMode_t
ParticleLightTypeChoiceList_t
ParticleLightUnitChoiceList_t
ParticleLightingQuality_t
ParticleLightnintBranchBehavior_t
ParticleModelType_t
ParticleOmni2LightTypeChoiceList_t
ParticleOrientationChoiceList_t
ParticleOrientationSetMode_t
ParticleOutputBlendMode_t
ParticleParentSetMode_t
ParticlePinDistance_t
ParticlePostProcessPriorityGroup_t
ParticleRotationLockType_t
ParticleSelection_t
ParticleSequenceCropOverride_t
ParticleSetMethod_t
ParticleSortingChoiceList_t
ParticleTextureLayerBlendType_t
ParticleTopology_t
ParticleTraceMissBehavior_t
ParticleTraceSet_t
ParticleTransformType_t
ParticleVRHandChoiceList_t
ParticleVecType_t
PerformanceMode_t
PermModelInfo_t__FlagEnum
PetGroundType_t
PlayerAnimEvent_t
PlayerConnectedState
PointTemplateClientOnlyEntityBehavior_t
PointTemplateOwnerSpawnGroupType_t
PointWorldTextJustifyHorizontal_t
PointWorldTextJustifyVertical_t
PointWorldTextReorientMode_t
PoseType_t
PropDoorRotatingOpenDirection_e
PropDoorRotatingSpawnPos_t
PulseInstructionCode_t
PulseMethodCallMode_t
PulseValueType_t
QuestProgress__Reason
RagdollPoseControl
RenderBufferFlags_t
RenderFx_t
RenderMode_t
RenderMultisampleType_t
RenderPrimitiveType_t
RenderSlotType_t
ResetCycleOption
RumbleEffect_t
ScalarExpressionType_t
SceneOnPlayerDeath_t
ScriptedConflictResponse_t
ScriptedMoveTo_t
ScriptedMoveType_t
ScriptedOnDeath_t
SelectorTagBehavior_t
SeqCmd_t
SeqPoseSetting_t
ShadowType_t
ShakeCommand_t
ShardSolid_t
ShatterDamageCause
ShatterGlassStressType
ShatterPanelMode
SimpleConstraintSoundProfile__SimpleConstraintsSoundProfileKeypoints_t
SolidType_t
SolveIKChainAnimNodeDebugSetting
SosActionSortType_t
SosActionStopType_t
SosEditItemType_t
SosGroupType_t
SoundEventStartType_t
SoundFlags_t
SpawnDebugOverrideState_t
SpawnDebugRestrictionOverrideState_t
SpawnPointCoopEnemy__BotDefaultBehavior_t
SpriteCardPerParticleScale_t
SpriteCardShaderType_t
SpriteCardTextureChannel_t
SpriteCardTextureType_t
StanceOverrideMode
StanceType_t
StandardLightingAttenuationStyle_t
StateActionBehavior
StepPhase
SubclassVDataChangeType_t
SurroundingBoundsType_t
TOGGLE_STATE
TRAIN_CODE
TakeDamageFlags_t
TextureRepetitionMode_t
ThreeState_t
TimelineCompression_t
Touch_t
TrackOrientationType_t
TrainOrientationType_t
TrainVelocityType_t
VMixChannelOperation_t
VMixFilterSlope_t
VMixFilterType_t
VMixLFOShape_t
VMixPannerType_t
VMixProcessorType_t
VMixSubgraphSwitchInterpolationType_t
VPhysXAggregateData_t__VPhysXFlagEnum_t
VPhysXBodyPart_t__VPhysXFlagEnum_t
VPhysXConstraintParams_t__EnumFlags0_t
VPhysXJoint_t__Flags_t
ValueRemapperHapticsType_t
ValueRemapperInputType_t
ValueRemapperMomentumType_t
ValueRemapperOutputType_t
ValueRemapperRatchetType_t
VectorExpressionType_t
VectorFloatExpressionType_t
VelocityMetricMode
VertJustification_e
ViewFadeMode_t
WaterLevel_t
WeaponAttackType_t
WeaponSound_t
WorldTextPanelHorizontalAlign_t
WorldTextPanelOrientation_t
WorldTextPanelVerticalAlign_t
attributeprovidertypes_t
doorCheck_e
fieldtype_t
filter_t
gear_slot_t
loadout_slot_t
navproperties_t
soundlevel_t
vote_create_failed_t
ActionType_t
AimMatrixBlendMode
AmmoFlags_t
AmmoPosition_t
AnimationProcessingType_t
AnimationSnapshotType_t
AnimationType_t
AnimLoopMode_t
AnimNodeNetworkMode
AnimParamButton_t
AnimParamNetworkSetting
AnimParamType_t
AnimPoseControl
AnimScriptType
AnimValueSource
AnimVectorSource
attributeprovidertypes_t
BaseExplosionTypes_t
BBoxVolumeType_t
BeamClipStyle_t
BeamType_t
BeginDeathLifeStateTransition_t
BinaryNodeChildOption
BinaryNodeTiming
Blend2DMode
BlendKeyType
BloomBlendMode_t
BlurFilterType_t
BoneMaskBlendSpace
BoneTransformSpace_t
BrushSolidities_e
C4LightEffect_t
CAnimationGraphVisualizerPrimitiveType
CanPlaySequence_t
ChatIgnoreType_t
ChickenActivity
ChoiceBlendMethod
ChoiceChangeMethod
ChoiceMethod
Class_T
CLogicBranchList__LogicBranchListenerLastState_t
ClosestPointTestType_t
CNmBoneMask__WeightInfo_t
CommandEntitySpecType_t
CommandExecMode_t
CompMatPropertyMutatorConditionType_t
CompMatPropertyMutatorType_t
CompositeMaterialInputContainerSourceType_t
CompositeMaterialInputLooseVariableType_t
CompositeMaterialInputTextureType_t
CompositeMaterialMatchFilterType_t
CompositeMaterialVarSystemVar_t
CRR_Response__ResponseEnum_t
CSPlayerBlockingUseAction_t
CSPlayerState
CSWeaponCategory
CSWeaponMode
CSWeaponSilencerType
CSWeaponState_t
CSWeaponType
DamageTypes_t
DampingSpeedFunction
DebugOverlayBits_t
Detail2Combo_t
DetailCombo_t
DisableShadows_t
Disposition_t
doorCheck_e
DoorState_t
EDemoBoneSelectionMode
EInButtonState
EKillTypes_t
ELayoutNodeType
EntFinderMethod_t
EntityDisolveType_t
EntityDormancyType_t
EntityIOTargetType_t
EntitySubclassScope_t
EOverrideBlockLOS_t
EStyleNodeType
Explosions
FacingMode
FieldNetworkOption
fieldtype_t
filter_t
FixAngleSet_t
FlexOpCode_t
FootFallTagFoot_t
FootLockSubVisualization
FootPinningTimingSource
FootstepLandedFootSoundType_t
ForcedCrouchState_t
FuncDoorSpawnPos_t
FuseVariableAccess_t
FuseVariableType_t
GameAnimEventIndex_t
gear_slot_t
GrenadeType_t
HierarchyType_t
HitboxLerpType_t
HitGroup_t
HorizJustification_e
Hull_t
IChoreoServices__ChoreoState_t
IChoreoServices__ScriptState_t
IKChannelMode
IkEndEffectorType
IKSolverType
IKTargetCoordinateSystem
IKTargetSource
IkTargetType
InheritableBoolType_t
InputBitMask_t
InputLayoutVariation_t
ItemFlagTypes_t
JiggleBoneSimSpace
JointAxis_t
JointMotion_t
JumpCorrectionMethod
LatchDirtyPermission_t
LayoutPositionType_e
LessonPanelLayoutFileTypes_t
LifeState_t
loadout_slot_t
MaterialProxyType_t
Materials
MatterialAttributeTagType_t
MedalRank_t
MeshDrawPrimitiveFlags_t
MissingParentInheritBehavior_t
ModelBoneFlexComponent_t
ModelConfigAttachmentType_t
ModelSkeletonData_t__BoneFlags_t
ModifyDamageReturn_t
MoodType_t
MorphBundleType_t
MorphFlexControllerRemapType_t
MoveCollide_t
MoveLinearAuthoredPos_t
MovementGait_t
MoveMountingAmount_t
MoveType_t
NavAttributeEnum
NavDirType
navproperties_t
NmFootPhase_t
NmFootPhaseCondition_t
NmFrameSnapEventMode_t
NmTransitionRule_t
NmTransitionRuleCondition_t
NPCFollowFormation_t
NPCLookType_t
ObjectTypeFlags_t
ObserverInterpState_t
ObserverMode_t
OnFrame
ParticleAlphaReferenceType_t
ParticleAttachment_t
ParticleAttrBoxFlags_t
ParticleCollisionMode_t
ParticleColorBlendMode_t
ParticleColorBlendType_t
ParticleControlPointAxis_t
ParticleDepthFeatheringMode_t
ParticleDetailLevel_t
ParticleDirectionNoiseType_t
ParticleEndcapMode_t
ParticleFalloffFunction_t
ParticleFloatBiasType_t
ParticleFloatInputMode_t
ParticleFloatMapType_t
ParticleFloatRandomMode_t
ParticleFloatType_t
ParticleFogType_t
ParticleHitboxBiasType_t
ParticleHitboxDataSelection_t
ParticleImpulseType_t
ParticleLightBehaviorChoiceList_t
ParticleLightFogLightingMode_t
ParticleLightingQuality_t
ParticleLightnintBranchBehavior_t
ParticleLightTypeChoiceList_t
ParticleLightUnitChoiceList_t
ParticleModelType_t
ParticleOmni2LightTypeChoiceList_t
ParticleOrientationChoiceList_t
ParticleOrientationSetMode_t
ParticleOutputBlendMode_t
ParticleParentSetMode_t
ParticlePinDistance_t
ParticlePostProcessPriorityGroup_t
ParticleRotationLockType_t
ParticleSelection_t
ParticleSequenceCropOverride_t
ParticleSetMethod_t
ParticleSortingChoiceList_t
ParticleTextureLayerBlendType_t
ParticleTopology_t
ParticleTraceMissBehavior_t
ParticleTraceSet_t
ParticleTransformType_t
ParticleVecType_t
ParticleVRHandChoiceList_t
PerformanceMode_t
PermModelInfo_t__FlagEnum
PetGroundType_t
PFNoiseModifier_t
PFNoiseTurbulence_t
PFNoiseType_t
PFuncVisualizationType_t
PlayerAnimEvent_t
PlayerConnectedState
PointTemplateClientOnlyEntityBehavior_t
PointTemplateOwnerSpawnGroupType_t
PointWorldTextJustifyHorizontal_t
PointWorldTextJustifyVertical_t
PointWorldTextReorientMode_t
PoseType_t
PreviewCharacterMode
PreviewEOMCelebration
PreviewWeaponState
PropDoorRotatingOpenDirection_e
PropDoorRotatingSpawnPos_t
PulseCursorCancelPriority_t
PulseCursorExecResult_t
PulseInstructionCode_t
PulseMethodCallMode_t
PulseTestEnumColor_t
PulseTestEnumShape_t
PulseValueType_t
QuestProgress__Reason
RagdollPoseControl
RenderBufferFlags_t
RenderFx_t
RenderMode_t
RenderMultisampleType_t
RenderPrimitiveType_t
RenderSlotType_t
ResetCycleOption
RumbleEffect_t
ScalarExpressionType_t
SceneOnPlayerDeath_t
ScriptedConflictResponse_t
ScriptedMoveTo_t
ScriptedMoveType_t
ScriptedOnDeath_t
SelectorTagBehavior_t
SeqCmd_t
SeqPoseSetting_t
SequenceFinishNotifyState_t
ShadowType_t
ShakeCommand_t
ShardSolid_t
ShatterDamageCause
ShatterGlassStressType
ShatterPanelMode
SimpleConstraintSoundProfile__SimpleConstraintsSoundProfileKeypoints_t
SnapshotIndexType_t
SolidType_t
SolveIKChainAnimNodeDebugSetting
SosActionSortType_t
SosActionStopType_t
SosEditItemType_t
SosGroupType_t
SoundEventStartType_t
SoundFlags_t
soundlevel_t
SpawnDebugOverrideState_t
SpawnDebugRestrictionOverrideState_t
SpawnPointCoopEnemy__BotDefaultBehavior_t
SpriteCardPerParticleScale_t
SpriteCardShaderType_t
SpriteCardTextureChannel_t
SpriteCardTextureType_t
StanceOverrideMode
StanceType_t
StandardLightingAttenuationStyle_t
StateActionBehavior
StepPhase
SubclassVDataChangeType_t
SurroundingBoundsType_t
TakeDamageFlags_t
TextureRepetitionMode_t
ThreeState_t
TimelineCompression_t
TOGGLE_STATE
Touch_t
TrackOrientationType_t
TRAIN_CODE
TrainOrientationType_t
TrainVelocityType_t
ValueRemapperHapticsType_t
ValueRemapperInputType_t
ValueRemapperMomentumType_t
ValueRemapperOutputType_t
ValueRemapperRatchetType_t
VectorExpressionType_t
VectorFloatExpressionType_t
VelocityMetricMode
VertJustification_e
ViewFadeMode_t
VMixChannelOperation_t
VMixFilterSlope_t
VMixFilterType_t
VMixLFOShape_t
VMixPannerType_t
VMixProcessorType_t
VMixSubgraphSwitchInterpolationType_t
vote_create_failed_t
VPhysXAggregateData_t__VPhysXFlagEnum_t
VPhysXBodyPart_t__VPhysXFlagEnum_t
VPhysXConstraintParams_t__EnumFlags0_t
VPhysXJoint_t__Flags_t
WaterLevel_t
WeaponAttackType_t
WeaponSound_t
WeaponSwitchReason_t
WorldTextPanelHorizontalAlign_t
WorldTextPanelOrientation_t
WorldTextPanelVerticalAlign_t

View File

@@ -5,31 +5,52 @@ description: How to get started installing & using CounterStrikeSharp.
# Getting Started
How to get started installing & using CounterStrikeSharp.
In this guide you will learn how to install CounterStrikeSharp onto your vanilla Counter-Strike 2 server. `CounterStrikeSharp` uses `Metamod:Source` as its main way of communicating with the game server, so both frameworks will need to be installed.
If you're more of a visual person, here is a <a href="https://www.youtube.com/watch?v=FlsKzStHJuY" target="_blank">Youtube video</a> that covers everything.
## Prerequisites
- <a href="https://www.sourcemm.net/downloads.php/?branch=master" target="_blank">Metamod: Source 2.X Dev Build</a>
- <a href="https://github.com/roflmuffin/CounterStrikeSharp/releases" target="_blank">CounterStrikeSharp With Runtime</a>
## Installing Metamod
`CounterStrikeSharp` uses `Metamod:Source` as its main way of communicating with the game server. To install it, you can follow the detailed instructions found <a href="https://cs2.poggu.me/metamod/installation/" target="_blank">here</a>.
1. Extract Metamod and copy the `/addons/` directory to `/game/csgo/`.
2. Inside `/game/csgo/`, locate `gameinfo.gi`.
3. Create a new line underneath `Game_LowViolence csgo_lv` and add `Game csgo/addons/metamod`.
4. Restart your game server.
Your `gameinfo.gi` should look like <a href="../../images/gameinfogi-example.png" target="_blank">this</a>. Type `meta list` in your server console to see if Metamod is loaded.
## Installing CounterStrikeSharp
Download the latest release of CounterStrikeSharp from <a href="https://github.com/roflmuffin/CounterStrikeSharp/actions/workflows/cmake-single-platform.yml" target="_blank">GitHub actions build pages</a> (just choose the latest development snapshot). **You may need to be logged into GitHub to gain access to the downloads**.
1. Extract CounterStrikeSharp and copy the `/addons/` directory to `/game/csgo/`.
2. Restart your game server.
Running the command `meta list` in the console should show 1 plugin loaded 🎉
```shell
meta list
Listing 1 plugin:
[01] CounterStrikeSharp (0.1.0) by Roflmuffin
```
> [!CAUTION]
> If this is your first time installing, you will need to download the `with-runtime` version. This includes a copy of the .NET runtime, which is required to run the plugin.
> Depending on the os you might also either need to install `libicu` / `icu-libs` / `libicu-dev` using your package manager for .NET to run or setting `DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=true` in your servers environment variables. You can find more infos about that <a href="https://github.com/dotnet/runtime/blob/main/docs/design/features/globalization-invariant-mode.md#enabling-the-invariant-mode" target="_blank">here</a>
>
> Subsequent upgrades will not require the runtime, unless a version bump of the .NET runtime is required (i.e. from 7.0.x to 8.0.x). We will inform you when this occurs.
> For Windows servers, you must have <a href="https://aka.ms/vs/17/release/vc_redist.x64.exe" target="_blank">Visual Studio Redistributables</a> installed otherwise CounterStrikeSharp will not work.
> [!CAUTION]
> For Windows users, you must ensure that you have installed **Visual Studio Redistributables**.
> If not, you can download it here: <a href="https://aka.ms/vs/17/release/vc_redist.x64.exe" target="_blank">Download</a>
> > This link will download VC Redistributable directly.
>
> You must install it before starting the server, otherwise CSS will not work!
## Upgrading CounterStrikeSharp
To upgrade CounterStrikeSharp you simply need to download the latest release and copy it to your server, the same as the original installation.
Extract the `addons` folder to the `/csgo/` directory of the dedicated server. The contents of your addons folder should contain both the `counterstrikesharp` folder and the `metamod` folder as seen below.
CounterStrikeSharp is designed in a way where your configuration files will not be overwritten if you do this. As CounterStrikeSharp is already installed, you may download the non `with-runtime` build, but you will need to ensure your .NET runtime is up-to-date yourself.
## Troubleshooting
- If this is your first time installing, you **MUST** download the `with-runtime` version. This includes a copy of the .NET runtime, which is required to run the plugin.
- Depending on your OS you might also either need to install `libicu` / `icu-libs` / `libicu-dev` using your package manager for .NET to run.
- If you get `Unknown Command` when typing `meta list` into your console, double-check the folders are copied over correctly and that your `gameinfo.gi` file is correctly modified.
Your folder structure should look like this:
```shell
<server_path>/game/csgo/addons > tree -L 2
@@ -49,15 +70,3 @@ addons
├── metamod.vdf
└── metamod_x64.vdf
```
## Start the Server
Launch your CS2 dedicated server as normal. If everything is working correctly, you should see a message in the console that says `CSSharp: CounterStrikeSharp.API Loaded Successfully.`.
Running the command `meta list` in the console should show 1 plugin loaded 🎉
```shell
meta list
Listing 1 plugin:
[01] CounterStrikeSharp (0.1.0) by Roflmuffin
```

View File

@@ -32,3 +32,7 @@ receive a ban.
## PluginHotReloadEnabled
When enabled, plugins are automatically reloaded when their .dll file is updated.
## ServerLanguage
Configures the default language to use for server commands & messages. The format for the culture name based on RFC 4646 is `languagecode2-country`/`regioncode2`, where `languagecode2` is the two-letter language code and `country/regioncode2` is the two-letter subculture code. Examples include `ja-JP` for Japanese (Japan) and `en-US` for English (United States). Defaults to "en".

View File

@@ -0,0 +1,5 @@
[!INCLUDE [WithTranslations](../../examples/WithTranslations/README.md)]
<a href="https://github.com/roflmuffin/CounterStrikeSharp/tree/main/examples/WithTranslations" class="btn btn-secondary">View project on Github <i class="bi bi-github"></i></a>
[!code-csharp[](../../examples/WithTranslations/WithTranslationsPlugin.cs)]

View File

@@ -0,0 +1,5 @@
[!INCLUDE [WithVoiceOverrides](../../examples/WithVoiceOverrides/README.md)]
<a href="https://github.com/roflmuffin/CounterStrikeSharp/tree/main/examples/WithVoiceOverrides" class="btn btn-secondary">View project on Github <i class="bi bi-github"></i></a>
[!code-csharp[](../../examples/WithVoiceOverrides/WithVoiceOverridesPlugin.cs)]

View File

@@ -13,5 +13,9 @@ items:
href: WithGameEventHandlers.md
- name: Database (Dapper)
href: WithDatabase.md
- name: Translations
href: WithTranslations.md
- name: Voice Overrides
href: WithVoiceOverrides.md
- name: Warcraft Plugin
href: WarcraftPlugin.md

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

View File

@@ -14,6 +14,7 @@ description: Write Counter-Strike 2 server plugins in C#.
<span>CounterStrikeSharp is a simpler way to write CS2 server plugins.</span>
<div>
<a href="docs/guides/getting-started.md" class="btn btn-primary btn-lg fw-bold my-5">Get Started <i class="bi bi-arrow-right"></a>
<a href="https://github.com/roflmuffin/CounterStrikeSharp/releases/latest" class="btn btn-secondary btn-lg fw-bold my-5">Download <i class="bi bi-download"></a>
</div>
</div>

View File

@@ -7,7 +7,7 @@ export default {
},
{
icon: "discord",
href: "https://discord.gg/X7r3PmuYKq",
href: "https://discord.gg/eAZU3guKWU",
title: "Discord",
},
],

View File

@@ -0,0 +1,8 @@
# With Translations
This example shows how to use an `IStringLocalizer` and language `json` files to provide localization for your plugins.
## How to use
1. Add the `IStringLocalizer` to your services with dependency injection, or use the `Localizer` provided on the plugin instance.
2. Add a `lang` folder to your plugin, and add a `json` file for each language you want to support. The name of the file should be a locale code, like `en.json` or `fr.json` etc.
3. Ensure that the `lang` folder is shipped with your plugin, see the example `.csproj` file for an example to auto-copy to the output folder.
4. Use the `IStringLocalizer` to localize your strings.

View File

@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\managed\CounterStrikeSharp.API\CounterStrikeSharp.API.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="lang\**\*.*" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,52 @@
using System.Globalization;
using CounterStrikeSharp.API;
using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Core.Attributes;
using CounterStrikeSharp.API.Core.Attributes.Registration;
using CounterStrikeSharp.API.Core.Translations;
using CounterStrikeSharp.API.Modules.Commands;
using Microsoft.Extensions.Logging;
namespace WithTranslations;
[MinimumApiVersion(80)]
public class WithTranslationsPlugin : BasePlugin
{
public override string ModuleName => "Example: With Translations";
public override string ModuleVersion => "1.0.0";
public override string ModuleAuthor => "CounterStrikeSharp & Contributors";
public override string ModuleDescription => "A simple plugin that provides translations";
public override void Load(bool hotReload)
{
// A global `Localizer` is provided on the plugin instance.
// You can also use dependency injection to inject `IStringLocalizer` in your own services.
Logger.LogInformation("This message is in the server language: {Message}", Localizer["test.translation"]);
// IStringLocalizer can accept standard string format arguments.
// "This number has 2 decimal places {0:n2}" -> "This number has 2 decimal places 123.55"
Logger.LogInformation(Localizer["test.format", 123.551]);
// This message has colour codes
Server.PrintToChatAll(Localizer["test.colors"]);
// This message has colour codes and formatted values
Server.PrintToChatAll(Localizer["test.colors.withformat", 123.551]);
}
[ConsoleCommand("css_replylanguage", "Test Translations")]
public void OnCommandReplyLanguage(CCSPlayerController? player, CommandInfo command)
{
// Commands are executed in a players provided culture (or fallback to server culture).
// Players can configure their language using the `!lang` or `css_lang` command.
Logger.LogInformation("Current Culture is {Culture}", CultureInfo.CurrentCulture);
command.ReplyToCommand(Localizer["test.translation"]);
if (player != null)
{
// You can also get the players language using the `GetLanguage` extension method.
// This will always return a culture, defaulting to the server culture if the user has not configured it.
var language = player.GetLanguage();
}
}
}

View File

@@ -0,0 +1,3 @@
{
"test.translation": "This is the english (GB) translation"
}

View File

@@ -0,0 +1,6 @@
{
"test.translation": "This is the english translation",
"test.format": "This number has 2 decimal places {0:n2}",
"test.colors": "{orange}This{default} text has {green}green{default} text",
"test.colors.withformat": "{orange}{0:n2}{default}"
}

View File

@@ -0,0 +1,3 @@
{
"test.translation": "This is the french translation"
}

View File

@@ -0,0 +1,2 @@
# With Voice Overrides
Provides examples how to manipulate player voice flags & listening overrides to prevent certain players from hearing others.

View File

@@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<CopyLocalLockFileAssemblies>false</CopyLocalLockFileAssemblies>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\managed\CounterStrikeSharp.API\CounterStrikeSharp.API.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,79 @@
using CounterStrikeSharp.API;
using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Core.Attributes;
using CounterStrikeSharp.API.Core.Attributes.Registration;
using CounterStrikeSharp.API.Modules.Commands;
using Microsoft.Extensions.Logging;
namespace WithVoiceOverrides;
[MinimumApiVersion(80)]
public class WithVoiceOverridesPlugin : BasePlugin
{
public override string ModuleName => "Example: With Voice Overrides";
public override string ModuleVersion => "1.0.0";
public override string ModuleAuthor => "CounterStrikeSharp & Contributors";
public override string ModuleDescription => "A plugin that manipulates voice flags";
[ConsoleCommand("css_hearall")]
public void OnHearAllCommand(CCSPlayerController? caller, CommandInfo command)
{
if (caller is null) return;
if (caller.VoiceFlags.HasFlag(VoiceFlags.ListenAll))
{
caller.VoiceFlags = VoiceFlags.Normal;
command.ReplyToCommand("Voice set back to default");
}
else
{
caller.VoiceFlags = VoiceFlags.ListenAll;
command.ReplyToCommand("Can hear both teams");
}
}
[ConsoleCommand("css_muteself")]
public void OnMuteSelfCommand(CCSPlayerController? caller, CommandInfo command)
{
if (caller is null) return;
if (caller.VoiceFlags.HasFlag(VoiceFlags.Muted))
{
caller.VoiceFlags = VoiceFlags.Normal;
command.ReplyToCommand("Unmuted yourself");
}
else
{
caller.VoiceFlags = VoiceFlags.Muted;
command.ReplyToCommand("Muted yourself");
}
}
[ConsoleCommand("css_muteothers")]
[CommandHelper(minArgs: 1, usage: "[target]")]
public void OnMuteOthersCommand(CCSPlayerController? caller, CommandInfo command)
{
if (caller is null) return;
var targetResult = command.GetArgTargetResult(1);
foreach (var player in targetResult.Players)
{
if (player == caller) continue;
var existingOverride = caller.GetListenOverride(player);
if (existingOverride == ListenOverride.Mute)
{
caller.SetListenOverride(player, ListenOverride.Default);
command.ReplyToCommand($"Now hearing {player.PlayerName}");
}
else
{
caller.SetListenOverride(player, ListenOverride.Mute);
command.ReplyToCommand($"Muted {player.PlayerName}");
}
}
}
}

View File

@@ -14,8 +14,11 @@ set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING
# TODO: Use C++20 instead.
set(CMAKE_CXX_STANDARD 17)
Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
Set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
if (LINUX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
endif()
set(CMAKE_STATIC_LIBRARY_PREFIX "")
set(SOURCESDK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/libraries/hl2sdk-cs2)
@@ -51,8 +54,4 @@ include_directories(
libraries
)
include(${CMAKE_CURRENT_LIST_DIR}/metamod/configure_metamod.cmake)
if (LINUX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
endif()
include(${CMAKE_CURRENT_LIST_DIR}/metamod/configure_metamod.cmake)

View File

@@ -0,0 +1,110 @@
using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.Entities;
namespace CounterStrikeSharp.API.Tests;
[Collection("Logging collection")]
public class AdminTests
{
public AdminTests()
{
AdminManager.LoadAdminData(TestUtils.GetTestPath("admins.json"));
AdminManager.LoadAdminGroups(TestUtils.GetTestPath("admin_groups.json"));
AdminManager.LoadCommandOverrides(TestUtils.GetTestPath("admin_overrides.json"));
AdminManager.MergeGroupPermsIntoAdmins();
}
[Fact]
public void ShouldReturnValidAdminData()
{
var adminData = AdminManager.GetPlayerAdminData((SteamID)76561197960265731);
Assert.NotNull(adminData);
Assert.Equal("#css/admin", adminData.Groups.Single());
}
[Fact]
public void ShouldUseGroupImmunity()
{
var adminData = AdminManager.GetPlayerAdminData((SteamID)76561197960265731);
Assert.NotNull(adminData);
Assert.Equal(125u, AdminManager.GetPlayerImmunity((SteamID)76561197960265731)); // Group immunity is 125, Admin immunity is 100
AdminManager.SetPlayerImmunity((SteamID)76561197960265731, 150u);
Assert.Equal(150u, AdminManager.GetPlayerImmunity((SteamID)76561197960265731)); // Group immunity is 125, Admin immunity is 100
}
[Fact]
public void ShouldReturnNullAdminData()
{
var adminData = AdminManager.GetPlayerAdminData((SteamID)76561197960265732);
Assert.Null(adminData);
}
[Fact]
public void ShouldReturnValidCommandOverrides()
{
var adminData = AdminManager.GetPlayerAdminData((SteamID)76561197960265731);
Assert.NotNull(adminData);
Assert.True(adminData.CommandOverrides["fake_command"]);
Assert.False(adminData.CommandOverrides["css"]);
}
[Fact]
public void ShouldHandleWildcardDomainFlags()
{
// User has @mycustomplugin/* so should have the admin subflag despite it not being in their group.
Assert.True(AdminManager.PlayerHasPermissions((SteamID)76561197960265731, "@mycustomplugin/admin"));
// User has @mycustomplugin/* so should have the admin subflag despite it not existing anywhere else.
Assert.True(AdminManager.PlayerHasPermissions((SteamID)76561197960265731, "@mycustomplugin/fake"));
// User has @css/root so should have the slay subflag despite it not being in their group.
Assert.True(AdminManager.PlayerHasPermissions((SteamID)76561197960265731, "@css/slay"));
// Flag provided explicitly in the admins.json file
Assert.True(AdminManager.PlayerHasPermissions((SteamID)76561197960265731, "@css/custom-flag-2"));
}
[Fact]
public void ShouldAddFlagsAtRuntime()
{
// Existing player
Assert.False(AdminManager.PlayerHasPermissions((SteamID)76561197960265731, "@runtime/flag1"));
AdminManager.AddPlayerPermissions((SteamID)76561197960265731, "@runtime/flag1");
Assert.True(AdminManager.PlayerHasPermissions((SteamID)76561197960265731, "@runtime/flag1"));
// Non-existent player
Assert.False(AdminManager.PlayerHasPermissions((SteamID)76561197960265730, "@runtime/flag1"));
AdminManager.AddPlayerPermissions((SteamID)76561197960265730, "@runtime/flag1");
Assert.True(AdminManager.PlayerHasPermissions((SteamID)76561197960265730, "@runtime/flag1"));
AdminManager.ClearPlayerPermissions((SteamID)76561197960265730);
Assert.False(AdminManager.PlayerHasPermissions((SteamID)76561197960265730, "@runtime/flag1"));
Assert.Empty(AdminManager.GetPlayerAdminData((SteamID)76561197960265730)!.GetAllFlags());
}
[Fact]
public void ShouldAddPlayerToGroup()
{
AdminManager.AddPlayerToGroup(new SteamID("STEAM_0:1:3"), "#css/root");
var adminData = AdminManager.GetPlayerAdminData(new SteamID("STEAM_0:1:3"));
Assert.NotNull(adminData);
Assert.Equal("#css/root", adminData.Groups.Single());
}
[Fact]
public void ShouldAddPlayerPermissionOverridesAtRuntime()
{
Assert.False(AdminManager.PlayerHasCommandOverride((SteamID)76561197960265731, "runtime_command"));
AdminManager.SetPlayerCommandOverride((SteamID)76561197960265731, "runtime_command", true);
Assert.True(AdminManager.PlayerHasCommandOverride((SteamID)76561197960265731, "runtime_command"));
}
[Fact]
public void ShouldAddCommandPermissionOverridesAtRuntime()
{
Assert.False(AdminManager.CommandIsOverriden("runtime_command"));
AdminManager.AddPermissionOverride("runtime_command", "@runtime/override");
Assert.True(AdminManager.CommandIsOverriden("runtime_command"));
Assert.Equal("@runtime/override", AdminManager.GetPermissionOverrides("runtime_command").Single());
}
}

View File

@@ -0,0 +1,45 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2"/>
<PackageReference Include="Moq" Version="4.20.70" />
<PackageReference Include="xunit" Version="2.4.2"/>
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="3.1.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<None Update="Resources\**\*.*" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CounterStrikeSharp.API\CounterStrikeSharp.API.csproj" />
</ItemGroup>
<ItemGroup>
<Content Update="lang\en.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Update="lang\en-GB.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Update="lang\fr.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,23 @@
using CounterStrikeSharp.API.Core.Logging;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace CounterStrikeSharp.API.Tests.Fixtures;
public class CoreLoggingFixture : IDisposable
{
public CoreLoggingFixture()
{
var serviceProvider = new ServiceCollection()
.AddLogging(builder =>
{
builder.ClearProviders();
builder.AddCoreLogging(TestUtils.GetTestPath(""));
})
.BuildServiceProvider();
}
public void Dispose()
{
// TODO release managed resources here
}
}

View File

@@ -0,0 +1,6 @@
namespace CounterStrikeSharp.API.Tests.Fixtures;
[CollectionDefinition("Logging collection")]
public class LoggingCollection : ICollectionFixture<CoreLoggingFixture>
{
}

View File

@@ -0,0 +1,22 @@
{
"#css/admin": {
"flags": [
"@css/reservation",
"@css/generic",
"@css/kick",
"@css/ban",
"@css/unban",
"@css/vip",
"@css/changemap",
"@css/cvar",
"@css/config",
"@css/chat",
"@css/vote",
"@css/password",
"@css/rcon",
"@css/cheats",
"@css/root"
],
"immunity": 125
}
}

View File

@@ -0,0 +1,9 @@
{
"example_command": {
"flags": [
"@css/custom-permission"
],
"check_type": "all",
"enabled": true
}
}

View File

@@ -0,0 +1,23 @@
{
"Erikj": {
"identity": "76561197960265731",
"immunity": 100,
"flags": [
"@css/custom-flag-1",
"@css/custom-flag-2",
"@mycustomplugin/*"
],
"groups": [
"#css/admin"
],
"command_overrides": {
"css_plugins": true,
"css": false,
"fake_command": true
}
},
"Another erikj": {
"identity": "STEAM_0:1:1",
"flags": ["@mycustomplugin/admin"]
}
}

View File

@@ -0,0 +1,3 @@
{
"test.translation": "This is the english (GB) translation"
}

View File

@@ -0,0 +1,6 @@
{
"test.translation": "This is the english translation",
"test.format": "This number has 2 decimal places {0:n2}",
"test.colors": "{orange}This{default} text has {green}green{default} text",
"test.colors.withformat": "{orange}{0:n2}{default}"
}

View File

@@ -0,0 +1,3 @@
{
"test.translation": "This is the french translation"
}

View File

@@ -0,0 +1,52 @@
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Entities.Constants;
namespace CounterStrikeSharp.API.Tests;
public class SteamIdTests
{
[Theory]
[InlineData(76561197960524373ul, 76561197960524373ul, "STEAM_0:1:129322", "[U:1:258645]", 258645, SteamAccountType.Individual, SteamAccountInstance.Desktop, SteamAccountUniverse.Public, true)]
[InlineData(258645, 76561197960524373ul, "STEAM_0:1:129322", "[U:1:258645]", 258645, SteamAccountType.Individual, SteamAccountInstance.Desktop, SteamAccountUniverse.Public, true)]
[InlineData(76561197960265728ul, 76561197960265728ul, "STEAM_0:0:0", "[U:1:0]", 0, SteamAccountType.Individual, SteamAccountInstance.Desktop, SteamAccountUniverse.Public, false)]
[InlineData(103582791429521412ul, 103582791429521412ul, "STEAM_0:0:13510796734627842", "[g:1:27021593469255684]", 4, SteamAccountType.Clan, SteamAccountInstance.All, SteamAccountUniverse.Public, true)]
public void ValidateSteamId(ulong parseValue, ulong steamId64, string steamId2, string steamId3, int steamId32, SteamAccountType accountType, SteamAccountInstance accountInstance, SteamAccountUniverse accountUniverse, bool valid)
{
var steamId = new SteamID(parseValue);
Assert.Equal(steamId64, steamId.SteamId64);
Assert.Equal(steamId2, steamId.SteamId2);
Assert.Equal(steamId3, steamId.SteamId3);
Assert.Equal(steamId32, steamId.SteamId32);
Assert.Equal(accountType, steamId.AccountType);
Assert.Equal(accountInstance, steamId.AccountInstance);
Assert.Equal(accountUniverse, steamId.AccountUniverse);
Assert.Equal(valid, steamId.IsValid());
}
[Theory]
[InlineData(76561197960524373ul, 76561197960524373ul)]
[InlineData("STEAM_0:1:129322", 76561197960524373ul)]
[InlineData("[U:1:258645]", 76561197960524373ul)]
public void CanCastLongToString(dynamic parseable, ulong longValue)
{
Assert.Equal(longValue, ((SteamID)parseable).SteamId64);
}
[Fact]
public void CanUseValueEquality()
{
var steamId1 = new SteamID(76561197960524373ul);
var steamId2 = new SteamID(76561197960524373ul);
var steamId3 = new SteamID(76561197960265728ul);
Assert.True(steamId1 == steamId2);
Assert.True(steamId1 != steamId3);
}
[Fact]
public void ThrowsOutOfRangeException()
{
Assert.Throws<ArgumentOutOfRangeException>(() => new SteamID(0));
}
}

View File

@@ -0,0 +1,14 @@
using System.Reflection;
namespace CounterStrikeSharp.API.Tests;
public static class TestUtils
{
public static string GetTestPath(string relativePath)
{
var codeBaseUrl = new Uri(Assembly.GetExecutingAssembly().Location);
var codeBasePath = Uri.UnescapeDataString(codeBaseUrl.AbsolutePath);
var dirPath = Path.GetDirectoryName(codeBasePath);
return Path.Combine(dirPath, "Resources", relativePath);
}
}

View File

@@ -0,0 +1,92 @@
using System.Globalization;
using CounterStrikeSharp.API.Core;
using CounterStrikeSharp.API.Core.Plugin;
using CounterStrikeSharp.API.Core.Translations;
using Microsoft.Extensions.Localization;
using Moq;
namespace CounterStrikeSharp.API.Tests;
public class TranslationTests
{
private readonly JsonStringLocalizerFactory _factory;
private readonly IStringLocalizer _localizer;
public TranslationTests()
{
var pluginContextMock = new Mock<IPluginContext>();
pluginContextMock.SetupGet(x => x.FilePath).Returns(TestUtils.GetTestPath("test_plugin.dll"));
_factory = new JsonStringLocalizerFactory(pluginContextMock.Object);
_localizer = _factory.Create(this.GetType());
// This is generally derived from the core config, but for the sake of these tests we default to `en`.
var serverCulture = CultureInfo.GetCultureInfo("en");
CultureInfo.DefaultThreadCurrentUICulture = serverCulture;
CultureInfo.DefaultThreadCurrentCulture = serverCulture;
CultureInfo.CurrentUICulture = serverCulture;
CultureInfo.CurrentCulture = serverCulture;
}
[Fact]
public void TranslatesLanguagesCorrectly()
{
using (new WithTemporaryCulture(CultureInfo.GetCultureInfo("en")))
{
Assert.Equal("This is the english translation", _localizer["test.translation"]);
}
using (new WithTemporaryCulture(CultureInfo.InvariantCulture))
{
Assert.Equal("This is the english translation", _localizer["test.translation"]);
}
using (new WithTemporaryCulture(CultureInfo.GetCultureInfo("en-US")))
{
Assert.Equal("This is the english translation", _localizer["test.translation"]);
}
using (new WithTemporaryCulture(CultureInfo.GetCultureInfo("en-GB")))
{
Assert.Equal("This is the english (GB) translation", _localizer["test.translation"]);
}
using (new WithTemporaryCulture(CultureInfo.GetCultureInfo("fr")))
{
Assert.Equal("This is the french translation", _localizer["test.translation"]);
}
using (new WithTemporaryCulture(CultureInfo.GetCultureInfo("fr-FR")))
{
Assert.Equal("This is the french translation", _localizer["test.translation"]);
}
}
[Fact]
public void ShouldFallbackToServerLanguage()
{
using (new WithTemporaryCulture(CultureInfo.GetCultureInfo("de")))
{
Assert.Equal("This is the english translation", _localizer["test.translation"]);
}
}
[Fact]
public void ShouldReturnKeyIfNotFound()
{
Assert.Equal("test.notfound", _localizer["test.notfound"]);
}
[Fact]
public void ShouldHandleFormatStrings()
{
Assert.Equal("This number has 2 decimal places 0.25", _localizer["test.format", 0.251]);
}
[Fact]
public void HandlesColorFormatting()
{
// Sets invisible pre-color if there is a color code in the string.
Assert.Equal(" \x10This\x01 text has \x04green\x01 text", _localizer["test.colors"]);
Assert.Equal($" {'\x10'}1.25\x01", _localizer["test.colors.withformat", 1.25]);
}
}

View File

@@ -0,0 +1 @@
global using Xunit;

Binary file not shown.

View File

@@ -1,4 +1,5 @@
using System;
using System.Globalization;
using System.IO;
using System.Reflection;
using System.Runtime.InteropServices;
@@ -7,6 +8,7 @@ using CounterStrikeSharp.API.Core.Hosting;
using CounterStrikeSharp.API.Core.Logging;
using CounterStrikeSharp.API.Core.Plugin;
using CounterStrikeSharp.API.Core.Plugin.Host;
using CounterStrikeSharp.API.Core.Translations;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
@@ -38,6 +40,7 @@ public static class Bootstrap
services.AddSingleton<IScriptHostConfiguration, ScriptHostConfiguration>();
services.AddScoped<Application>();
services.AddSingleton<IPluginManager, PluginManager>();
services.AddSingleton<IPlayerLanguageManager, PlayerLanguageManager>();
services.AddScoped<IPluginContextQueryHandler, PluginContextQueryHandler>();
services.Scan(i => i.FromCallingAssembly()

File diff suppressed because it is too large Load Diff

View File

@@ -312,6 +312,16 @@ namespace CounterStrikeSharp.API.Core
}
}
public static int GetMaxClients(){
lock (ScriptContext.GlobalScriptContext.Lock) {
ScriptContext.GlobalScriptContext.Reset();
ScriptContext.GlobalScriptContext.SetIdentifier(0x5DF2E20D);
ScriptContext.GlobalScriptContext.Invoke();
ScriptContext.GlobalScriptContext.CheckErrors();
return (int)ScriptContext.GlobalScriptContext.GetResult(typeof(int));
}
}
public static void IssueServerCommand(string command){
lock (ScriptContext.GlobalScriptContext.Lock) {
ScriptContext.GlobalScriptContext.Reset();
@@ -1064,6 +1074,18 @@ namespace CounterStrikeSharp.API.Core
}
}
public static bool IsSchemaFieldNetworked(string classname, string propname){
lock (ScriptContext.GlobalScriptContext.Lock) {
ScriptContext.GlobalScriptContext.Reset();
ScriptContext.GlobalScriptContext.Push(classname);
ScriptContext.GlobalScriptContext.Push(propname);
ScriptContext.GlobalScriptContext.SetIdentifier(0xFE413B0C);
ScriptContext.GlobalScriptContext.Invoke();
ScriptContext.GlobalScriptContext.CheckErrors();
return (bool)ScriptContext.GlobalScriptContext.GetResult(typeof(bool));
}
}
public static T GetSchemaValueByName<T>(IntPtr instance, int returntype, string classname, string propname){
lock (ScriptContext.GlobalScriptContext.Lock) {
ScriptContext.GlobalScriptContext.Reset();
@@ -1311,5 +1333,51 @@ namespace CounterStrikeSharp.API.Core
return (bool)ScriptContext.GlobalScriptContext.GetResult(typeof(bool));
}
}
public static void SetClientListening(IntPtr receiver, IntPtr sender, uint listen){
lock (ScriptContext.GlobalScriptContext.Lock) {
ScriptContext.GlobalScriptContext.Reset();
ScriptContext.GlobalScriptContext.Push(receiver);
ScriptContext.GlobalScriptContext.Push(sender);
ScriptContext.GlobalScriptContext.Push(listen);
ScriptContext.GlobalScriptContext.SetIdentifier(0xD38BEE77);
ScriptContext.GlobalScriptContext.Invoke();
ScriptContext.GlobalScriptContext.CheckErrors();
}
}
public static ListenOverride GetClientListening(IntPtr receiver, IntPtr sender){
lock (ScriptContext.GlobalScriptContext.Lock) {
ScriptContext.GlobalScriptContext.Reset();
ScriptContext.GlobalScriptContext.Push(receiver);
ScriptContext.GlobalScriptContext.Push(sender);
ScriptContext.GlobalScriptContext.SetIdentifier(0xE95644E3);
ScriptContext.GlobalScriptContext.Invoke();
ScriptContext.GlobalScriptContext.CheckErrors();
return (ListenOverride)ScriptContext.GlobalScriptContext.GetResult(typeof(ListenOverride));
}
}
public static void SetClientVoiceFlags(IntPtr client, uint flags){
lock (ScriptContext.GlobalScriptContext.Lock) {
ScriptContext.GlobalScriptContext.Reset();
ScriptContext.GlobalScriptContext.Push(client);
ScriptContext.GlobalScriptContext.Push(flags);
ScriptContext.GlobalScriptContext.SetIdentifier(0x48EB2FC8);
ScriptContext.GlobalScriptContext.Invoke();
ScriptContext.GlobalScriptContext.CheckErrors();
}
}
public static uint GetClientVoiceFlags(IntPtr client){
lock (ScriptContext.GlobalScriptContext.Lock) {
ScriptContext.GlobalScriptContext.Reset();
ScriptContext.GlobalScriptContext.Push(client);
ScriptContext.GlobalScriptContext.SetIdentifier(0x9685205C);
ScriptContext.GlobalScriptContext.Invoke();
ScriptContext.GlobalScriptContext.CheckErrors();
return (uint)ScriptContext.GlobalScriptContext.GetResult(typeof(uint));
}
}
}
}

View File

@@ -14,13 +14,16 @@
* along with CounterStrikeSharp. If not, see <https://www.gnu.org/licenses/>. *
*/
using System.Globalization;
using System.Linq;
using System.Text;
using CounterStrikeSharp.API.Core.Hosting;
using CounterStrikeSharp.API.Core.Plugin;
using CounterStrikeSharp.API.Core.Plugin.Host;
using CounterStrikeSharp.API.Core.Translations;
using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.Commands;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Menu;
using CounterStrikeSharp.API.Modules.Utils;
using Microsoft.Extensions.Logging;
@@ -40,10 +43,11 @@ namespace CounterStrikeSharp.API.Core
private readonly CoreConfig _coreConfig;
private readonly IPluginManager _pluginManager;
private readonly IPluginContextQueryHandler _pluginContextQueryHandler;
private readonly IPlayerLanguageManager _playerLanguageManager;
public Application(ILoggerFactory loggerFactory, IScriptHostConfiguration scriptHostConfiguration,
GameDataProvider gameDataProvider, CoreConfig coreConfig, IPluginManager pluginManager,
IPluginContextQueryHandler pluginContextQueryHandler)
IPluginContextQueryHandler pluginContextQueryHandler, IPlayerLanguageManager playerLanguageManager)
{
Logger = loggerFactory.CreateLogger("Core");
_scriptHostConfiguration = scriptHostConfiguration;
@@ -51,6 +55,7 @@ namespace CounterStrikeSharp.API.Core
_coreConfig = coreConfig;
_pluginManager = pluginManager;
_pluginContextQueryHandler = pluginContextQueryHandler;
_playerLanguageManager = playerLanguageManager;
_instance = this;
}
@@ -61,29 +66,31 @@ namespace CounterStrikeSharp.API.Core
_coreConfig.Load();
_gameDataProvider.Load();
var adminGroupsPath = Path.Combine(_scriptHostConfiguration.RootPath, "configs", "admin_groups.json");
Logger.LogInformation("Loading Admin Groups from {Path}", adminGroupsPath);
AdminManager.LoadAdminGroups(adminGroupsPath);
var adminPath = Path.Combine(_scriptHostConfiguration.RootPath, "configs", "admins.json");
Logger.LogInformation("Loading Admins from {Path}", adminPath);
AdminManager.LoadAdminData(adminPath);
var adminGroupsPath = Path.Combine(_scriptHostConfiguration.RootPath, "configs", "admin_groups.json");
Logger.LogInformation("Loading Admin Groups from {Path}", adminGroupsPath);
AdminManager.LoadAdminGroups(adminGroupsPath);
var overridePath = Path.Combine(_scriptHostConfiguration.RootPath, "configs", "admin_overrides.json");
Logger.LogInformation("Loading Admin Command Overrides from {Path}", overridePath);
AdminManager.LoadCommandOverrides(overridePath);
AdminManager.MergeGroupPermsIntoAdmins();
AdminManager.AddCommands();
_pluginManager.Load();
for (var i = 1; i <= 9; i++)
{
CommandUtils.AddStandaloneCommand("css_" + i, "Command Key Handler", (player, info) =>
CommandUtils.AddStandaloneCommand($"css_{i}", "Command Key Handler", (player, info) =>
{
if (player == null) return;
var key = Convert.ToInt32(info.GetArg(0).Split("_")[1]);
ChatMenus.OnKeyPress(player, key);
MenuManager.OnKeyPress(player, key);
});
}
@@ -98,7 +105,7 @@ namespace CounterStrikeSharp.API.Core
info.ReplyToCommand(
" CounterStrikeSharp was created and is maintained by Michael \"roflmuffin\" Wilson.\n" +
" Counter-Strike Sharp uses code borrowed from SourceMod, Source.Python, FiveM, Saul Rennison and CS2Fixes.\n" +
" Counter-Strike Sharp uses code borrowed from SourceMod, Source.Python, FiveM, Saul Rennison, source2gen and CS2Fixes.\n" +
" See ACKNOWLEDGEMENTS.md for more information.\n" +
" Current API Version: " + currentVersion, true);
return;
@@ -145,14 +152,14 @@ namespace CounterStrikeSharp.API.Core
case "start":
case "load":
{
if (info.ArgCount < 2)
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",
true);
break;
}
// If our arugment 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);
@@ -172,23 +179,25 @@ namespace CounterStrikeSharp.API.Core
try
{
_pluginManager.LoadPlugin(path);
} catch (Exception e)
}
catch (Exception e)
{
info.ReplyToCommand($"Could not load plugin \"{path}\")", true);
info.ReplyToCommand($"Could not load plugin \"{path}\"", true);
Logger.LogError(e, "Could not load plugin \"{Path}\"", path);
}
}
else
{
plugin.Load(false);
}
break;
}
case "stop":
case "unload":
{
if (info.ArgCount < 2)
if (info.ArgCount < 3)
{
info.ReplyToCommand(
"Valid usage: css_plugins stop/unload [plugin name || #plugin id] (e.g \"TestPlugin\", \"1\")\n",
@@ -200,7 +209,7 @@ namespace CounterStrikeSharp.API.Core
IPluginContext? plugin = _pluginContextQueryHandler.FindPluginByIdOrName(pluginIdentifier);
if (plugin == null)
{
info.ReplyToCommand($"Could not unload plugin \"{pluginIdentifier}\")", true);
info.ReplyToCommand($"Could not unload plugin \"{pluginIdentifier}\"", true);
break;
}
@@ -211,7 +220,7 @@ namespace CounterStrikeSharp.API.Core
case "restart":
case "reload":
{
if (info.ArgCount < 2)
if (info.ArgCount < 3)
{
info.ReplyToCommand(
"Valid usage: css_plugins restart/reload [plugin name || #plugin id] (e.g \"TestPlugin\", \"#1\")\n",
@@ -224,7 +233,7 @@ namespace CounterStrikeSharp.API.Core
if (plugin == null)
{
info.ReplyToCommand($"Could not reload plugin \"{pluginIdentifier}\")", true);
info.ReplyToCommand($"Could not reload plugin \"{pluginIdentifier}\"", true);
break;
}
@@ -244,11 +253,44 @@ namespace CounterStrikeSharp.API.Core
}
}
[CommandHelper(usage: "[language code, e.g. \"de\", \"pl\", \"en\"]", whoCanExecute: CommandUsage.CLIENT_AND_SERVER)]
private void OnLangCommand(CCSPlayerController? player, CommandInfo command)
{
if (player == null) return;
SteamID steamId = (SteamID)player.SteamID;
if (command.ArgCount == 1)
{
var language = _playerLanguageManager.GetLanguage(steamId);
command.ReplyToCommand(string.Format("Current language is \"{0}\" ({1})", language.Name, language.NativeName));
return;
}
if (command.ArgCount != 2)
{
return;
}
try
{
var language = command.GetArg(1);
var cultureInfo = CultureInfo.GetCultures(CultureTypes.AllCultures).Single(x => x.Name == language);
_playerLanguageManager.SetLanguage(steamId, cultureInfo);
command.ReplyToCommand($"Language set to {cultureInfo.NativeName}");
}
catch (InvalidOperationException)
{
command.ReplyToCommand("Language not found.");
}
}
private void RegisterPluginCommands()
{
CommandUtils.AddStandaloneCommand("css", "Counter-Strike Sharp options.", OnCSSCommand);
CommandUtils.AddStandaloneCommand("css_plugins", "Counter-Strike Sharp plugin options.",
OnCSSPluginCommand);
CommandUtils.AddStandaloneCommand("css_lang", "Set Counter-Strike Sharp language.", OnLangCommand);
}
}
}

View File

@@ -0,0 +1,14 @@
namespace CounterStrikeSharp.API.Core.Attributes;
[AttributeUsage(AttributeTargets.Property)]
public class SchemaMemberAttribute : Attribute
{
public string ClassName { get; }
public string MemberName { get; }
public SchemaMemberAttribute(string className, string memberName)
{
ClassName = className;
MemberName = memberName;
}
}

View File

@@ -21,12 +21,14 @@ using System.Linq;
using System.Reflection;
using CounterStrikeSharp.API.Core.Attributes;
using CounterStrikeSharp.API.Core.Attributes.Registration;
using CounterStrikeSharp.API.Core.Translations;
using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.Commands;
using CounterStrikeSharp.API.Modules.Events;
using CounterStrikeSharp.API.Modules.Timers;
using CounterStrikeSharp.API.Modules.Config;
using CounterStrikeSharp.API.Modules.Entities;
using Microsoft.Extensions.Localization;
using Microsoft.Extensions.Logging;
namespace CounterStrikeSharp.API.Core
@@ -58,6 +60,8 @@ namespace CounterStrikeSharp.API.Core
public string ModuleDirectory => Path.GetDirectoryName(ModulePath);
public ILogger Logger { get; set; }
public IStringLocalizer Localizer { get; set; }
public virtual void Load(bool hotReload)
{
}
@@ -170,39 +174,53 @@ namespace CounterStrikeSharp.API.Core
{
var caller = (i != -1) ? new CCSPlayerController(NativeAPI.GetEntityFromIndex(i + 1)) : null;
var command = new CommandInfo(ptr, caller);
using var temporaryCulture = new WithTemporaryCulture(caller.GetLanguage());
var methodInfo = handler?.GetMethodInfo();
if (!AdminManager.CommandIsOverriden(name))
// 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)
{
// Do not execute command if we do not have the correct permissions.
var permissions = methodInfo?.GetCustomAttributes<BaseRequiresPermissions>();
if (permissions != null)
var adminData = AdminManager.GetPlayerAdminData(caller!.AuthorizedSteamID);
var permissionsToCheck = new List<BaseRequiresPermissions>();
// If our command is overriden, we dynamically create a new permissions attribute
// based on the data that is stored in admin_overrides.json.
if (AdminManager.CommandIsOverriden(name))
{
foreach (var attr in permissions)
var data = AdminManager.GetCommandOverrideData(name);
if (data != null)
{
attr.Command = name;
if (!attr.CanExecuteCommand(caller))
{
command.ReplyToCommand("[CSS] You do not have the correct permissions to execute this command.");
return;
}
var attrType = (data.CheckType == "all") ? typeof(RequiresPermissions) : typeof(RequiresPermissionsOr);
var attr = (BaseRequiresPermissions)Activator.CreateInstance(attrType, args: AdminManager.GetPermissionOverrides(name));
if (attr != null) permissionsToCheck.Add(attr);
}
}
}
// If this command has it's permissions overriden, we will do an AND check for all permissions.
else
{
// I don't know if this is the most sane implementation of this, can be edited in code review.
var data = AdminManager.GetCommandOverrideData(name);
if (data != null)
// The permissions for this command are not being overriden here, so we
// grab the permissions to check straight from the attribute.
else
{
var permissions = methodInfo?.GetCustomAttributes<BaseRequiresPermissions>();
if (permissions != null) permissionsToCheck.AddRange(permissions);
}
foreach (var attr in permissionsToCheck)
{
var attrType = (data.CheckType == "all") ? typeof(RequiresPermissions) : typeof(RequiresPermissionsOr);
var attr = (BaseRequiresPermissions)Activator.CreateInstance(attrType, args: AdminManager.GetPermissionOverrides(name));
attr.Command = name;
if (!attr.CanExecuteCommand(caller))
{
command.ReplyToCommand("[CSS] You do not have the correct permissions to execute this command.");
var responseStr = (attr.GetType() == typeof(RequiresPermissions)) ?
"You are missing the correct permissions" : "You do not have one of the correct permissions";
var flags = attr.Permissions.Except(adminData?.GetAllFlags() ?? new HashSet<string>());
flags = flags.Except(adminData?.Groups ?? new HashSet<string>());
command.ReplyToCommand($"[CSS] {responseStr} ({string.Join(", ", flags)}) to execute this command.");
return;
}
}
@@ -210,15 +228,17 @@ namespace CounterStrikeSharp.API.Core
// Do not execute if we shouldn't be calling this command.
var helperAttribute = methodInfo?.GetCustomAttribute<CommandHelperAttribute>();
if (helperAttribute != null)
if (helperAttribute != null)
{
switch (helperAttribute.WhoCanExcecute)
{
case CommandUsage.CLIENT_AND_SERVER: break; // Allow command through.
case CommandUsage.CLIENT_ONLY:
if (caller == null || !caller.IsValid) { command.ReplyToCommand("[CSS] This command can only be executed by clients."); return; } break;
if (caller == null || !caller.IsValid) { command.ReplyToCommand("[CSS] This command can only be executed by clients."); return; }
break;
case CommandUsage.SERVER_ONLY:
if (caller != null && caller.IsValid) { command.ReplyToCommand("[CSS] This command can only be executed by the server."); return; } break;
if (caller != null && caller.IsValid) { command.ReplyToCommand("[CSS] This command can only be executed by the server."); return; }
break;
default: throw new ArgumentException("Unrecognised CommandUsage value passed in CommandHelperAttribute.");
}
@@ -226,7 +246,12 @@ namespace CounterStrikeSharp.API.Core
// but we'll just ignore that for this check.
if (helperAttribute.MinArgs != 0 && command.ArgCount - 1 < helperAttribute.MinArgs)
{
command.ReplyToCommand($"[CSS] Expected usage: \"!{command.ArgByIndex(0)} {helperAttribute.Usage}\".");
// Remove the "css_" from the beginning of the command name if it's present.
// Most of the time, users will be calling commands from chat.
var commandCalled = command.ArgByIndex(0);
var properCommandName = (commandCalled.StartsWith("css_")) ? commandCalled.Replace("css_", "") : commandCalled;
command.ReplyToCommand($"[CSS] Expected usage: \"!{properCommandName} {helperAttribute.Usage}\".");
return;
}
}

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
@@ -23,6 +23,8 @@ using CounterStrikeSharp.API.Modules.Utils;
using CounterStrikeSharp.API.Modules.Admin;
using CounterStrikeSharp.API.Modules.Commands;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using CounterStrikeSharp.API.Core.Hosting;
using CounterStrikeSharp.API.Core.Logging;
using Microsoft.Extensions.Hosting;
@@ -46,6 +48,9 @@ namespace CounterStrikeSharp.API.Core
[JsonPropertyName("PluginHotReloadEnabled")]
public bool PluginHotReloadEnabled { get; set; } = true;
[JsonPropertyName("ServerLanguage")]
public string ServerLanguage { get; set; } = "en";
}
/// <summary>
@@ -88,6 +93,8 @@ namespace CounterStrikeSharp.API.Core
/// When enabled, plugins are automatically reloaded when their .dll file is updated.
/// </summary>
public static bool PluginHotReloadEnabled => _coreConfig.PluginHotReloadEnabled;
public static string ServerLanguage => _coreConfig.ServerLanguage;
}
public partial class CoreConfig : IStartupService
@@ -138,6 +145,29 @@ namespace CounterStrikeSharp.API.Core
{
_logger.LogWarning(ex, "Failed to load core configuration, fallback values will be used");
}
var serverCulture = CultureInfo.GetCultures(CultureTypes.AllCultures)
.FirstOrDefault(x => x.Name == ServerLanguage);
if (serverCulture == null)
{
try
{
_logger.LogWarning("Server Language \"{ServerLanguage}\" is not supported, falling back to \"en\"",
ServerLanguage);
_coreConfig.ServerLanguage = "en";
serverCulture = new CultureInfo("en");
}
catch (Exception)
{
_logger.LogWarning("Server is running in invariant mode, translations will not be available.");
serverCulture = CultureInfo.InvariantCulture;
}
}
CultureInfo.DefaultThreadCurrentUICulture = serverCulture;
CultureInfo.DefaultThreadCurrentCulture = serverCulture;
CultureInfo.CurrentUICulture = serverCulture;
CultureInfo.CurrentCulture = serverCulture;
_logger.LogInformation("Successfully loaded core configuration");
}

View File

@@ -34,34 +34,58 @@ public class Offsets
public sealed class GameDataProvider : IStartupService
{
private readonly string _gameDataFilePath;
private readonly string _gameDataDirectoryPath;
public Dictionary<string,LoadedGameData> Methods;
private readonly ILogger<GameDataProvider> _logger;
public GameDataProvider(IScriptHostConfiguration scriptHostConfiguration, ILogger<GameDataProvider> logger)
{
_logger = logger;
_gameDataFilePath = Path.Join(scriptHostConfiguration.GameDataPath, "gamedata.json");
_gameDataDirectoryPath = scriptHostConfiguration.GameDataPath;
}
public void Load()
{
try
{
Methods = JsonSerializer.Deserialize<Dictionary<string, LoadedGameData>>(File.ReadAllText(_gameDataFilePath))!;
Methods = new Dictionary<string, LoadedGameData>();
foreach (string filePath in Directory.EnumerateFiles(_gameDataDirectoryPath, "*.json"))
{
string jsonContent = File.ReadAllText(filePath);
Dictionary<string, LoadedGameData> loadedMethods = JsonSerializer.Deserialize<Dictionary<string, LoadedGameData>>(jsonContent)!;
foreach (KeyValuePair<string, LoadedGameData> loadedMethod in loadedMethods)
{
if (Methods.ContainsKey(loadedMethod.Key))
{
_logger.LogWarning("GameData Method \"{Key}\" loaded a duplicate entry from {filePath}.", loadedMethod.Key, filePath);
}
Methods[loadedMethod.Key] = loadedMethod.Value;
}
if (loadedMethods != null)
{
_logger.LogInformation("Successfully loaded {Count} game data entries from {Path}", loadedMethods.Count, filePath);
}
else
{
_logger.LogWarning("Unable to load game data entries from {Path}, game data file is empty", filePath);
}
}
}
catch (Exception ex)
{
_logger.LogError(ex, "Failed to load game data");
}
_logger.LogInformation("Successfully loaded {Count} game data entries from {Path}", Methods.Count, _gameDataFilePath);
}
}
public static class GameData
{
internal static GameDataProvider GameDataProvider { get; set; } = null!;
public static string GetSignature(string key)
{
Application.Instance.Logger.LogDebug("Getting signature: {Key}", key);

View File

@@ -16,6 +16,7 @@
using System;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Localization;
using Microsoft.Extensions.Logging;
namespace CounterStrikeSharp.API.Core
@@ -54,6 +55,8 @@ namespace CounterStrikeSharp.API.Core
string ModulePath { get; internal set; }
ILogger Logger { get; set; }
IStringLocalizer Localizer { get; set; }
void RegisterAllAttributes(object instance);

View File

@@ -93,6 +93,13 @@ namespace CounterStrikeSharp.API.Core
[ListenerName("OnClientDisconnectPost")]
public delegate void OnClientDisconnectPost(int playerSlot);
/// <summary>
/// Called when a client transmits voice data
/// </summary>
/// <param name="playerSlot">The player slot of the client.</param>
[ListenerName("OnClientVoice")]
public delegate void OnClientVoice(int playerSlot);
/// <summary>
/// Called when a client has been authorized by Steam.
/// </summary>

View File

@@ -27,5 +27,5 @@ public partial class CBaseEntity
/// </summary>
public QAngle? AbsRotation => CBodyComponent?.SceneNode?.AbsRotation;
public T? GetVData<T>() where T : CEntitySubclassVDataBase => (T)Activator.CreateInstance(typeof(T), Marshal.ReadIntPtr(SubclassID.Handle + 8));
public T? GetVData<T>() where T : CEntitySubclassVDataBase => (T)Activator.CreateInstance(typeof(T), Marshal.ReadIntPtr(SubclassID.Handle + 4));
}

View File

@@ -0,0 +1,19 @@
using System;
using CounterStrikeSharp.API.Modules.Cvars;
using CounterStrikeSharp.API.Modules.Entities;
using CounterStrikeSharp.API.Modules.Entities.Constants;
using CounterStrikeSharp.API.Modules.Memory;
using CounterStrikeSharp.API.Modules.Utils;
namespace CounterStrikeSharp.API.Core;
public partial class CBasePlayerController
{
public void SetPawn(CBasePlayerPawn? pawn)
{
if (pawn is null) return;
if (!pawn.IsValid) return;
VirtualFunctions.CBasePlayerController_SetPawnFunc.Invoke(this, pawn, true, false);
}
}

View File

@@ -14,4 +14,13 @@ public partial class CBasePlayerPawn
{
VirtualFunction.CreateVoid<IntPtr, bool, bool>(Handle, GameData.GetOffset("CBasePlayerPawn_CommitSuicide"))(Handle, explode, force);
}
/// <summary>
/// Remove Player Item
/// </summary>
/// <param name="weapon"></param>
public void RemovePlayerItem(CBasePlayerWeapon weapon)
{
VirtualFunctions.RemovePlayerItemVirtual(Handle, weapon.Handle);
}
}

View File

@@ -10,17 +10,13 @@ namespace CounterStrikeSharp.API.Core;
public partial class CCSPlayerController
{
public int? UserId
{
get
{
return NativeAPI.GetUseridFromIndex((int)this.Index);
}
}
public int? UserId => NativeAPI.GetUseridFromIndex((int)Index);
public CsTeam Team => (CsTeam)TeamNum;
public IntPtr GiveNamedItem(string item)
{
if (!PlayerPawn.IsValid) return 0;
if (PlayerPawn.Value == null) return 0;
if (!PlayerPawn.Value.IsValid) return 0;
if (PlayerPawn.Value.ItemServices == null) return 0;
@@ -35,7 +31,7 @@ public partial class CCSPlayerController
return IntPtr.Zero;
}
return this.GiveNamedItem(itemString);
return GiveNamedItem(itemString);
}
public void PrintToConsole(string message)
@@ -45,12 +41,12 @@ public partial class CCSPlayerController
public void PrintToChat(string message)
{
VirtualFunctions.ClientPrint(this.Handle, HudDestination.Chat, message, 0, 0, 0, 0);
VirtualFunctions.ClientPrint(Handle, HudDestination.Chat, message, 0, 0, 0, 0);
}
public void PrintToCenter(string message)
{
VirtualFunctions.ClientPrint(this.Handle, HudDestination.Center, message, 0, 0, 0, 0);
VirtualFunctions.ClientPrint(Handle, HudDestination.Center, message, 0, 0, 0, 0);
}
public void PrintToCenterHtml(string message) => PrintToCenterHtml(message, 5);
@@ -72,14 +68,16 @@ public partial class CCSPlayerController
public void DropActiveWeapon()
{
if (!PlayerPawn.IsValid) return;
if (PlayerPawn.Value == null) return;
if (!PlayerPawn.Value.IsValid) return;
if (PlayerPawn.Value.ItemServices == null) return;
if (PlayerPawn.Value.WeaponServices == null) return;
if (!PlayerPawn.Value.WeaponServices.ActiveWeapon.IsValid) return;
CCSPlayer_ItemServices itemServices = new CCSPlayer_ItemServices(PlayerPawn.Value.ItemServices.Handle);
CCSPlayer_WeaponServices weponServices = new CCSPlayer_WeaponServices(PlayerPawn.Value.WeaponServices.Handle);
itemServices.DropActivePlayerWeapon(weponServices.ActiveWeapon.Value);
CCSPlayer_WeaponServices weaponServices = new CCSPlayer_WeaponServices(PlayerPawn.Value.WeaponServices.Handle);
itemServices.DropActivePlayerWeapon(weaponServices.ActiveWeapon.Value);
}
/// <summary>
@@ -88,6 +86,7 @@ public partial class CCSPlayerController
public void RemoveWeapons()
{
if (!PlayerPawn.IsValid) return;
if (PlayerPawn.Value == null) return;
if (!PlayerPawn.Value.IsValid) return;
if (PlayerPawn.Value.ItemServices == null) return;
@@ -103,6 +102,7 @@ public partial class CCSPlayerController
public void CommitSuicide(bool explode, bool force)
{
if (!PlayerPawn.IsValid) return;
if (PlayerPawn.Value == null) return;
if (!PlayerPawn.Value.IsValid) return;
PlayerPawn.Value.CommitSuicide(explode, force);
@@ -114,9 +114,11 @@ public partial class CCSPlayerController
public void Respawn()
{
if (!PlayerPawn.IsValid) return;
if (PlayerPawn.Value == null) return;
if (!PlayerPawn.Value.IsValid) return;
VirtualFunctions.CCSPlayerPawn_Respawn(PlayerPawn.Value.Handle);
// The Call To Arms update appears to have invalidated the need for CCSPlayerPawn_Respawn.
SetPawn(PlayerPawn.Value);
VirtualFunction.CreateVoid<IntPtr>(Handle, GameData.GetOffset("CCSPlayerController_Respawn"))(Handle);
}
@@ -128,7 +130,7 @@ public partial class CCSPlayerController
/// <param name="team">The team to switch to</param>
public void SwitchTeam(CsTeam team)
{
VirtualFunctions.SwitchTeam(this.Handle, (byte)team);
VirtualFunctions.SwitchTeam(Handle, (byte)team);
}
/// <summary>
@@ -151,7 +153,7 @@ public partial class CCSPlayerController
/// <returns>ConVar string value</returns>
public string GetConVarValue(string conVar)
{
return NativeAPI.GetClientConvarValue(this.Slot, conVar);
return NativeAPI.GetClientConvarValue(Slot, conVar);
}
public string GetConVarValue(ConVar? conVar)
@@ -177,7 +179,7 @@ public partial class CCSPlayerController
throw new InvalidOperationException("'SetFakeClientConVar' can only be called for fake clients (bots)");
}
NativeAPI.SetFakeClientConvarValue(this.Slot, conVar, value);
NativeAPI.SetFakeClientConvarValue(Slot, conVar, value);
}
/// <summary>
@@ -202,6 +204,21 @@ public partial class CCSPlayerController
public void ExecuteClientCommand(string command) => NativeAPI.IssueClientCommand(Slot, command);
/// <summary>
/// Overrides who a player can hear in voice chat.
/// </summary>
/// <param name="sender">Player talking in the voice chat</param>
/// <param name="override">Whether the talker should be heard</param>
public void SetListenOverride(CCSPlayerController sender, ListenOverride @override)
{
NativeAPI.SetClientListening(Handle, sender.Handle, (Byte)@override);
}
public ListenOverride GetListenOverride(CCSPlayerController sender)
{
return NativeAPI.GetClientListening(Handle, sender.Handle);
}
public int Slot => (int)Index - 1;
/// <summary>
@@ -211,8 +228,8 @@ public partial class CCSPlayerController
{
get
{
if (!this.IsValid) return null;
var authorizedSteamId = NativeAPI.GetPlayerAuthorizedSteamid(this.Slot);
if (!IsValid) return null;
var authorizedSteamId = NativeAPI.GetPlayerAuthorizedSteamid(Slot);
if ((long)authorizedSteamId == -1) return null;
return (SteamID)authorizedSteamId;
@@ -227,11 +244,20 @@ public partial class CCSPlayerController
{
get
{
if (!this.IsValid) return null;
var ipAddress = NativeAPI.GetPlayerIpAddress(this.Slot);
if (!IsValid) return null;
var ipAddress = NativeAPI.GetPlayerIpAddress(Slot);
if (string.IsNullOrWhiteSpace(ipAddress)) return null;
return ipAddress;
}
}
}
/// <summary>
/// Determines how the player interacts with voice chat.
/// </summary>
public VoiceFlags VoiceFlags
{
get => (VoiceFlags)NativeAPI.GetClientVoiceFlags(Handle);
set => NativeAPI.SetClientVoiceFlags(Handle, (Byte)value);
}
}

View File

@@ -1,19 +1,21 @@
using System;
using CounterStrikeSharp.API.Modules.Memory;
using Microsoft.Extensions.Logging;
namespace CounterStrikeSharp.API.Core;
public partial class CCSPlayerPawn
{
/// <summary>
/// Respawn player
/// </summary>
public void Respawn()
{
if (!Controller.IsValid) return;
if (!Controller.Value.IsValid) return;
/// <summary>
/// Respawn player
/// </summary>
VirtualFunctions.CCSPlayerPawn_Respawn(Handle);
VirtualFunction.CreateVoid<IntPtr>(Controller.Value.Handle, GameData.GetOffset("CCSPlayerController_Respawn"))(Controller.Value.Handle);
}
}
[Obsolete("Use CCSPlayerController.Respawn() instead")]
public void Respawn()
{
if (!Controller.IsValid) return;
if (!Controller.Value.IsValid) return;
Application.Instance.Logger.LogWarning("CCSPawn.Respawn is deprecated and does nothing, use CCSPlayerController.Respawn instead");
}
}

View File

@@ -58,6 +58,24 @@ public partial class CEntityInstance : IEquatable<CEntityInstance>
{
return !Equals(left, right);
}
/// <summary>
/// Calls a named input method on an entity.
/// <example>
/// <code>
/// entity.AcceptInput("Break");
/// </code>
/// </example>
/// </summary>
/// <param name="inputName">Input action name</param>
/// <param name="activator">Entity which initiated the action, <see langword="null"/> for no entity</param>
/// <param name="caller">Entity that is sending the event, <see langword="null"/> for no entity</param>
/// <param name="value">String variant value to send with the event</param>
/// <param name="outputId">Unknown, defaults to 0</param>
public void AcceptInput(string inputName, CEntityInstance? activator = null, CEntityInstance? caller = null, string value = "", int outputId = 0)
{
VirtualFunctions.AcceptInput(Handle, inputName, activator?.Handle ?? IntPtr.Zero, caller?.Handle ?? IntPtr.Zero, value, 0);
}
}
public partial class CEntityIdentity

File diff suppressed because it is too large Load Diff

View File

@@ -6,6 +6,7 @@ public interface IPluginContext
IPlugin Plugin { get; }
int PluginId { get; }
string FilePath { get; }
void Load(bool hotReload);
void Unload(bool hotReload);
}

View File

@@ -20,8 +20,11 @@ using System.Threading.Tasks;
using CounterStrikeSharp.API.Core.Attributes;
using CounterStrikeSharp.API.Core.Hosting;
using CounterStrikeSharp.API.Core.Logging;
using CounterStrikeSharp.API.Core.Translations;
using McMaster.NETCore.Plugins;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Localization;
using Microsoft.Extensions.Logging;
using Serilog;
using ILogger = Microsoft.Extensions.Logging.ILogger;
@@ -43,6 +46,8 @@ namespace CounterStrikeSharp.API.Core.Plugin
private readonly string _path;
private readonly FileSystemWatcher _fileWatcher;
private readonly IServiceProvider _applicationServiceProvider;
public string FilePath => _path;
// TOOD: ServiceCollection
private ILogger _logger = CoreLogging.Factory.CreateLogger<PluginContext>();
@@ -163,8 +168,12 @@ namespace CounterStrikeSharp.API.Core.Plugin
method?.Invoke(pluginServiceCollection, new object[] { serviceCollection });
}
}
serviceCollection.AddSingleton<IPluginContext>(this);
serviceCollection.TryAddSingleton<IStringLocalizerFactory, JsonStringLocalizerFactory>();
serviceCollection.TryAddTransient(typeof(IStringLocalizer<>), typeof(StringLocalizer<>));
serviceCollection.TryAddTransient(typeof(IStringLocalizer), typeof(StringLocalizer));
serviceCollection.AddSingleton(this);
ServiceProvider = serviceCollection.BuildServiceProvider();
var minimumApiVersion = pluginType.GetCustomAttribute<MinimumApiVersion>()?.Version;
@@ -185,6 +194,7 @@ namespace CounterStrikeSharp.API.Core.Plugin
Plugin.ModulePath = _path;
Plugin.RegisterAllAttributes(Plugin);
Plugin.Localizer = ServiceProvider.GetRequiredService<IStringLocalizer>();
Plugin.Logger = ServiceProvider.GetRequiredService<ILoggerFactory>().CreateLogger(pluginType);
Plugin.InitializeConfig(Plugin, pluginType);

View File

@@ -0,0 +1,49 @@
// <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 Int32 SoundType => ref Schema.GetRef<Int32>(this.Handle, "CAISound", "m_iSoundType");
// m_iSoundContext
[SchemaMember("CAISound", "m_iSoundContext")]
public ref Int32 SoundContext => ref Schema.GetRef<Int32>(this.Handle, "CAISound", "m_iSoundContext");
// 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

@@ -0,0 +1,45 @@
// <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_ChangeHintGroup : CBaseEntity
{
public CAI_ChangeHintGroup (IntPtr pointer) : base(pointer) {}
// m_iSearchType
[SchemaMember("CAI_ChangeHintGroup", "m_iSearchType")]
public ref Int32 SearchType => ref Schema.GetRef<Int32>(this.Handle, "CAI_ChangeHintGroup", "m_iSearchType");
// m_strSearchName
[SchemaMember("CAI_ChangeHintGroup", "m_strSearchName")]
public string StrSearchName
{
get { return Schema.GetUtf8String(this.Handle, "CAI_ChangeHintGroup", "m_strSearchName"); }
set { Schema.SetString(this.Handle, "CAI_ChangeHintGroup", "m_strSearchName", value); }
}
// m_strNewHintGroup
[SchemaMember("CAI_ChangeHintGroup", "m_strNewHintGroup")]
public string StrNewHintGroup
{
get { return Schema.GetUtf8String(this.Handle, "CAI_ChangeHintGroup", "m_strNewHintGroup"); }
set { Schema.SetString(this.Handle, "CAI_ChangeHintGroup", "m_strNewHintGroup", value); }
}
// m_flRadius
[SchemaMember("CAI_ChangeHintGroup", "m_flRadius")]
public ref float Radius => ref Schema.GetRef<float>(this.Handle, "CAI_ChangeHintGroup", "m_flRadius");
}

View File

@@ -0,0 +1,57 @@
// <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_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

@@ -0,0 +1,25 @@
// <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_ExpresserWithFollowup : CAI_Expresser
{
public CAI_ExpresserWithFollowup (IntPtr pointer) : base(pointer) {}
// m_pPostponedFollowup
[SchemaMember("CAI_ExpresserWithFollowup", "m_pPostponedFollowup")]
public ResponseFollowup? PostponedFollowup => Schema.GetPointer<ResponseFollowup>(this.Handle, "CAI_ExpresserWithFollowup", "m_pPostponedFollowup");
}

View File

@@ -0,0 +1,21 @@
// <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 CAK47 : CCSWeaponBaseGun
{
public CAK47 (IntPtr pointer) : base(pointer) {}
}

View File

@@ -0,0 +1,69 @@
// <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

@@ -0,0 +1,117 @@
// <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

@@ -0,0 +1,25 @@
// <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 CAttributeContainer : CAttributeManager
{
public CAttributeContainer (IntPtr pointer) : base(pointer) {}
// m_Item
[SchemaMember("CAttributeContainer", "m_Item")]
public CEconItemView Item => Schema.GetDeclaredClass<CEconItemView>(this.Handle, "CAttributeContainer", "m_Item");
}

View File

@@ -0,0 +1,29 @@
// <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 CAttributeList : NativeObject
{
public CAttributeList (IntPtr pointer) : base(pointer) {}
// m_Attributes
[SchemaMember("CAttributeList", "m_Attributes")]
public NetworkedVector<CEconItemAttribute> Attributes => Schema.GetDeclaredClass<NetworkedVector<CEconItemAttribute>>(this.Handle, "CAttributeList", "m_Attributes");
// m_pManager
[SchemaMember("CAttributeList", "m_pManager")]
public CAttributeManager? Manager => Schema.GetPointer<CAttributeManager>(this.Handle, "CAttributeList", "m_pManager");
}

View File

@@ -0,0 +1,41 @@
// <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

@@ -0,0 +1,237 @@
// <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_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_bPvsModifyEntity
[SchemaMember("CBarnLight", "m_bPvsModifyEntity")]
public ref bool PvsModifyEntity => ref Schema.GetRef<bool>(this.Handle, "CBarnLight", "m_bPvsModifyEntity");
}

View File

@@ -0,0 +1,61 @@
// <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_pRagdollPose
[SchemaMember("CBaseAnimGraph", "m_pRagdollPose")]
public PhysicsRagdollPose_t? RagdollPose => Schema.GetPointer<PhysicsRagdollPose_t>(this.Handle, "CBaseAnimGraph", "m_pRagdollPose");
// m_bClientRagdoll
[SchemaMember("CBaseAnimGraph", "m_bClientRagdoll")]
public ref bool ClientRagdoll => ref Schema.GetRef<bool>(this.Handle, "CBaseAnimGraph", "m_bClientRagdoll");
}

View File

@@ -0,0 +1,73 @@
// <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_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 float PlaybackRate => Schema.GetDeclaredClass<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

@@ -0,0 +1,137 @@
// <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_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

@@ -0,0 +1,73 @@
// <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_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

@@ -0,0 +1,93 @@
// <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_flDetonateTime
[SchemaMember("CBaseCSGrenadeProjectile", "m_flDetonateTime")]
public ref float DetonateTime => ref Schema.GetRef<float>(this.Handle, "CBaseCSGrenadeProjectile", "m_flDetonateTime");
// 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_bHasEverHitPlayer
[SchemaMember("CBaseCSGrenadeProjectile", "m_bHasEverHitPlayer")]
public ref bool HasEverHitPlayer => ref Schema.GetRef<bool>(this.Handle, "CBaseCSGrenadeProjectile", "m_bHasEverHitPlayer");
// m_bClearFromPlayers
[SchemaMember("CBaseCSGrenadeProjectile", "m_bClearFromPlayers")]
public ref bool ClearFromPlayers => ref Schema.GetRef<bool>(this.Handle, "CBaseCSGrenadeProjectile", "m_bClearFromPlayers");
}

View File

@@ -0,0 +1,89 @@
// <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

@@ -0,0 +1,69 @@
// <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_flFieldOfView
[SchemaMember("CBaseCombatCharacter", "m_flFieldOfView")]
public ref float FieldOfView => ref Schema.GetRef<float>(this.Handle, "CBaseCombatCharacter", "m_flFieldOfView");
// m_impactEnergyScale
[SchemaMember("CBaseCombatCharacter", "m_impactEnergyScale")]
public ref float ImpactEnergyScale => ref Schema.GetRef<float>(this.Handle, "CBaseCombatCharacter", "m_impactEnergyScale");
// m_LastHitGroup
[SchemaMember("CBaseCombatCharacter", "m_LastHitGroup")]
public ref HitGroup_t LastHitGroup => ref Schema.GetRef<HitGroup_t>(this.Handle, "CBaseCombatCharacter", "m_LastHitGroup");
// m_bApplyStressDamage
[SchemaMember("CBaseCombatCharacter", "m_bApplyStressDamage")]
public ref bool ApplyStressDamage => ref Schema.GetRef<bool>(this.Handle, "CBaseCombatCharacter", "m_bApplyStressDamage");
// m_bloodColor
[SchemaMember("CBaseCombatCharacter", "m_bloodColor")]
public ref Int32 BloodColor => ref Schema.GetRef<Int32>(this.Handle, "CBaseCombatCharacter", "m_bloodColor");
// 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

@@ -0,0 +1,29 @@
// <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 CBaseDMStart : CPointEntity
{
public CBaseDMStart (IntPtr pointer) : base(pointer) {}
// m_Master
[SchemaMember("CBaseDMStart", "m_Master")]
public string Master
{
get { return Schema.GetUtf8String(this.Handle, "CBaseDMStart", "m_Master"); }
set { Schema.SetString(this.Handle, "CBaseDMStart", "m_Master", value); }
}
}

View File

@@ -0,0 +1,149 @@
// <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

@@ -0,0 +1,341 @@
// <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_nDisableContextThinkStartTick
[SchemaMember("CBaseEntity", "m_nDisableContextThinkStartTick")]
public ref Int32 DisableContextThinkStartTick => ref Schema.GetRef<Int32>(this.Handle, "CBaseEntity", "m_nDisableContextThinkStartTick");
// 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_bIsPlatform
[SchemaMember("CBaseEntity", "m_bIsPlatform")]
public ref bool IsPlatform => ref Schema.GetRef<bool>(this.Handle, "CBaseEntity", "m_bIsPlatform");
// 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_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");
}

View File

@@ -0,0 +1,33 @@
// <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 CBaseFilter : CLogicalEntity
{
public CBaseFilter (IntPtr pointer) : base(pointer) {}
// m_bNegated
[SchemaMember("CBaseFilter", "m_bNegated")]
public ref bool Negated => ref Schema.GetRef<bool>(this.Handle, "CBaseFilter", "m_bNegated");
// m_OnPass
[SchemaMember("CBaseFilter", "m_OnPass")]
public CEntityIOOutput OnPass => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseFilter", "m_OnPass");
// m_OnFail
[SchemaMember("CBaseFilter", "m_OnFail")]
public CEntityIOOutput OnFail => Schema.GetDeclaredClass<CEntityIOOutput>(this.Handle, "CBaseFilter", "m_OnFail");
}

View File

@@ -0,0 +1,37 @@
// <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

@@ -0,0 +1,49 @@
// <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 ref UInt32 NextSceneEventId => ref Schema.GetRef<UInt32>(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

@@ -0,0 +1,21 @@
// <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 CBaseFlexAlias_funCBaseFlex : CBaseFlex
{
public CBaseFlexAlias_funCBaseFlex (IntPtr pointer) : base(pointer) {}
}

View File

@@ -0,0 +1,85 @@
// <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

@@ -0,0 +1,53 @@
// <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 CBaseIssue : NativeObject
{
public CBaseIssue (IntPtr pointer) : base(pointer) {}
// m_szTypeString
[SchemaMember("CBaseIssue", "m_szTypeString")]
public string TypeString
{
get { return Schema.GetString(this.Handle, "CBaseIssue", "m_szTypeString"); }
set { Schema.SetString(this.Handle, "CBaseIssue", "m_szTypeString", value); }
}
// m_szDetailsString
[SchemaMember("CBaseIssue", "m_szDetailsString")]
public string DetailsString
{
get { return Schema.GetString(this.Handle, "CBaseIssue", "m_szDetailsString"); }
set { Schema.SetString(this.Handle, "CBaseIssue", "m_szDetailsString", value); }
}
// m_iNumYesVotes
[SchemaMember("CBaseIssue", "m_iNumYesVotes")]
public ref Int32 NumYesVotes => ref Schema.GetRef<Int32>(this.Handle, "CBaseIssue", "m_iNumYesVotes");
// m_iNumNoVotes
[SchemaMember("CBaseIssue", "m_iNumNoVotes")]
public ref Int32 NumNoVotes => ref Schema.GetRef<Int32>(this.Handle, "CBaseIssue", "m_iNumNoVotes");
// m_iNumPotentialVotes
[SchemaMember("CBaseIssue", "m_iNumPotentialVotes")]
public ref Int32 NumPotentialVotes => ref Schema.GetRef<Int32>(this.Handle, "CBaseIssue", "m_iNumPotentialVotes");
// m_pVoteController
[SchemaMember("CBaseIssue", "m_pVoteController")]
public CVoteController? VoteController => Schema.GetPointer<CVoteController>(this.Handle, "CBaseIssue", "m_pVoteController");
}

View File

@@ -0,0 +1,125 @@
// <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_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_Collision
[SchemaMember("CBaseModelEntity", "m_Collision")]
public 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

@@ -0,0 +1,65 @@
// <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

@@ -0,0 +1,49 @@
// <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 CBasePlatTrain : CBaseToggle
{
public CBasePlatTrain (IntPtr pointer) : base(pointer) {}
// m_NoiseMoving
[SchemaMember("CBasePlatTrain", "m_NoiseMoving")]
public string NoiseMoving
{
get { return Schema.GetUtf8String(this.Handle, "CBasePlatTrain", "m_NoiseMoving"); }
set { Schema.SetString(this.Handle, "CBasePlatTrain", "m_NoiseMoving", value); }
}
// m_NoiseArrived
[SchemaMember("CBasePlatTrain", "m_NoiseArrived")]
public string NoiseArrived
{
get { return Schema.GetUtf8String(this.Handle, "CBasePlatTrain", "m_NoiseArrived"); }
set { Schema.SetString(this.Handle, "CBasePlatTrain", "m_NoiseArrived", value); }
}
// m_volume
[SchemaMember("CBasePlatTrain", "m_volume")]
public ref float Volume => ref Schema.GetRef<float>(this.Handle, "CBasePlatTrain", "m_volume");
// m_flTWidth
[SchemaMember("CBasePlatTrain", "m_flTWidth")]
public ref float TWidth => ref Schema.GetRef<float>(this.Handle, "CBasePlatTrain", "m_flTWidth");
// m_flTLength
[SchemaMember("CBasePlatTrain", "m_flTLength")]
public ref float TLength => ref Schema.GetRef<float>(this.Handle, "CBasePlatTrain", "m_flTLength");
}

View File

@@ -0,0 +1,129 @@
// <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_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.SetString(this.Handle, "CBasePlayerController", "m_iszPlayerName", value); }
}
// 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_bAutoKickDisabled
[SchemaMember("CBasePlayerController", "m_bAutoKickDisabled")]
public ref bool AutoKickDisabled => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerController", "m_bAutoKickDisabled");
// 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_nLastRealCommandNumberExecuted
[SchemaMember("CBasePlayerController", "m_nLastRealCommandNumberExecuted")]
public ref Int32 LastRealCommandNumberExecuted => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerController", "m_nLastRealCommandNumberExecuted");
// m_nLastLateCommandExecuted
[SchemaMember("CBasePlayerController", "m_nLastLateCommandExecuted")]
public ref Int32 LastLateCommandExecuted => ref Schema.GetRef<Int32>(this.Handle, "CBasePlayerController", "m_nLastLateCommandExecuted");
// 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

@@ -0,0 +1,121 @@
// <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

@@ -0,0 +1,73 @@
// <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

@@ -0,0 +1,53 @@
// <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

@@ -0,0 +1,93 @@
// <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_sMuzzleAttachment
[SchemaMember("CBasePlayerWeaponVData", "m_sMuzzleAttachment")]
public string MuzzleAttachment
{
get { return Schema.GetUtf8String(this.Handle, "CBasePlayerWeaponVData", "m_sMuzzleAttachment"); }
set { Schema.SetString(this.Handle, "CBasePlayerWeaponVData", "m_sMuzzleAttachment", value); }
}
// 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_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_bLinkedCooldowns
[SchemaMember("CBasePlayerWeaponVData", "m_bLinkedCooldowns")]
public ref bool LinkedCooldowns => ref Schema.GetRef<bool>(this.Handle, "CBasePlayerWeaponVData", "m_bLinkedCooldowns");
// 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

@@ -0,0 +1,37 @@
// <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

@@ -0,0 +1,209 @@
// <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 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");
}

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