mirror of
https://github.com/sp-tarkov/modules.git
synced 2025-02-12 22:10:45 -05:00
1) The called bot's enemy position is being passed to TryCall, instead of the calling bot's enemy position. This is both incorrect and can lead to an NRE if the called bot has no enemy. Fix by passing in the calling bot's enemy position 2) In the TryCall method, the caller's enemy is added to the called bot, however the code doesn't verify that it was added before accessing it in the `EnemyInfos` array. This can throw a missing key exception if the bot failed to add to the enemies list. Fix by making sure the enemy is added to the enemy list before executing TryCall 3) When a BotOwner is disposed, the CalledData is never properly cleaned up, resulting in a bot's OnEnemyAdd being triggered after the bot has been killed, this can throw an NRE. Fix by calling CalledData.SetOff before BotOwner.Dispose Co-authored-by: DrakiaXYZ <565558+TheDgtl@users.noreply.github.com> Reviewed-on: SPT-AKI/Modules#84 Co-authored-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com> Co-committed-by: DrakiaXYZ <drakiaxyz@noreply.dev.sp-tarkov.com>
Modules
BepInEx plugins to alter Escape From Tarkov's behaviour
Project | Function |
---|---|
Aki.Build | Build script |
Aki.Bundles | External bundle loader |
Aki.Common | Common utilities used across projects |
Aki.Core | Required patches to start the game |
Aki.Custom | SPT-AKI enhancements to EFT |
Aki.Debugging | Debug utilities (disabled in release builds) |
Aki.Reflection | Reflection utilities used across the project |
Aki.SinglePlayer | Simulating online game while offline |
Privacy
SPT is an open source project. Your commit credentials as author of a commit will be visible by anyone. Please make sure you understand this before submitting a PR. Feel free to use a "fake" username and email on your commits by using the following commands:
git config --local user.name "USERNAME"
git config --local user.email "USERNAME@SOMETHING.com"
Requirements
- Escape From Tarkov 28476
- Visual Studio Code -OR- Visual Studio 2022
- .NET 6 SDK
Project Setup
Copy-paste Live EFT's EscapeFromTarkov_Data/Managed/
folder to into this project's Project/Shared/Managed/
folder
Build (VS Code)
- File > Open Workspace > Modules.code-workspace
- Terminal > Run Build Task...
- Copy contents of
/Build
into SPT game folder and overwrite
Build (VS 2022)
- Open solution
- Restore nuget packages
- Build solution
- Copy contents of
/Build
into SPT game folder and overwrite
Game Setup
- Copy Live EFT files into a separate directory (from now on this will be referred to as the "SPT directory")
- Download BepInEx 5.4.22 x64 (BepInEx Releases - GitHub)
- Extract contents of the BepInEx zip into the root SPT directory
- Build Modules, Server and Launcher
- Copy the contents of each project's
Build
folder into the root SPT directory - (Optional, but recommended) Download the BepInEx5 version of ConfigurationManager (ConfigurationManager Releases - GitHub) and extract the contents of the zip into the root SPT directory. The default keybind for opening the menu will be
F1
- (Optional) Edit the BepInEx config (
\BepInEx\config\BepInEx.cfg
) and appendDebug
to theLogLevels
setting. Example:LogLevels = Fatal, Error, Warning, Message, Info, Debug
Description
Languages
C#
99.5%
PowerShell
0.5%