DynamicMaps–3.11.3版本,
显示敌方坐标功能太变态了,玩着没什么意思,想把这个功能关闭,
不是在F12菜单里面关闭那种,是找到文件代码,直接从代码上面删除这个功能,但是看不懂代码,所以求助一下各位,
DynamicMaps3113版本MOD下载之后有两个文件夹,
SPTDynamicMaps 放user/mod里面的,
里面js后缀文件打开,看不懂模糊搜索翻译了一下好像没有类似关键词的地方,还有就是后缀map的文件 不知道干啥的
还有个放BepInEx里面的,里面打开好多坐标和地图文件,还有写dll
3.11.3
已配图
是
其他问题










不是,哥们,那我在F12里放个开关是干什么用的?
文件内容解析
文件名为
DynamicMaps.dll,这是一个动态链接库(DLL)文件的结构列表,包含以下模块和引用关系:1. 主命名空间与核心模块
DynamicMaps
主模块,负责动态地图的核心功能。
DynamicMaps.Config
配置管理模块,用于加载或保存地图相关的设置(如标记颜色、图标路径等)。
DynamicMaps.Data
数据处理模块,可能用于存储地图标记、坐标等数据。
DynamicMaps.DynamicMarkers
动态标记管理模块,负责实时生成或更新地图上的动态标记(如玩家位置、事件触发点)。
2. 第三方Mod支持模块
DynamicMaps.ExternalModSupport
用于支持其他第三方Mod的集成。
DynamicMaps.ExternalModSupport.SamSWATH
特定Mod(如 "SamSWATH")的兼容性模块。
HeliCrashMarketProvider @0200002E
一个与直升机坠毁事件相关的标记提供器,
@0200002E可能是该类的唯一标识符或版本号。3. 其他功能模块
DynamicMaps.Patches
代码补丁模块,用于修改或扩展游戏原有功能。
DynamicMaps.Ui
用户界面模块,包含地图控件的实现。
Components 和 Controls
具体UI组件(如按钮、图标)和控件的实现。
4. 外部依赖
Microsoft.CodeAnalysis
.NET代码分析库,可能用于动态编译或代码生成。
System.Runtime.CompilerServices
.NET运行时编译器服务,提供底层运行时支持。
RefSafetyRulesAttribute @02000003
引用安全性规则属性,用于确保代码的内存安全。
慢慢找一下,
Settings.ConfigEntries.Add(Settings.ShowFriendlyPlayerMarkersInRaid = config.Bind<bool>("2. Dynamic Markers", "Show Friendly Player Markers", true, new ConfigDescription("If friendly player markers should be shown in-raid", null, new object[]
{
new ConfigurationManagerAttributes
{
Category = "2. 动态标记",
DispName = "队友标记 显示",
Description = "在战局中是否显示队友标记"
}
})));
Settings.ConfigEntries.Add(Settings.ShowEnemyPlayerMarkersInRaid = config.Bind<bool>("2. Dynamic Markers", "Show Enemy Player Markers", false, new ConfigDescription("If enemy player markers should be shown in-raid (generally for debug)", null, new object[]
{
new ConfigurationManagerAttributes
{
Category = "2. 动态标记",
DispName = "敌方PMC标记 显示",
Description = "在战局中是否显示敌方PMC标记<color=#F08080>(破坏平衡警告)</color>"
}
})));
Settings.ConfigEntries.Add(Settings.ShowScavMarkersInRaid = config.Bind<bool>("2. Dynamic Markers", "Show Scav Markers", false, new ConfigDescription("If enemy scav markers should be shown in-raid (generally for debug)", null, new object[]
{
new ConfigurationManagerAttributes
{
Category = "2. 动态标记",
DispName = "Scav标记 显示",
Description = "在战局中是否显示 Scav 标记<color=#F08080>(破坏平衡警告)</color>"
}
})));找到线索了,,,不过不知道咋办,直接删除吗
你不需要这个mod可以直接删除
不建议直接删除代码的原因
配置项与功能逻辑分离
这些代码只是将配置选项绑定到Mod设置界面,实际功能逻辑可能在其他代码中通过
Settings.ShowXXXMarkersInRias.Value判断是否显示标记。直接删除会导致异常
若其他代码依赖这些配置项,删除绑定代码可能导致
NullReferenceException。正确操作步骤
方法1:通过配置文件关闭(推荐)
找到Mod配置文件
通常位于游戏目录的
BepInEx/config文件夹中,文件名类似DynamicMaps.cfg。修改配置项值为
false将以下配置项的值改为
false:没有这个cfg开关文件,有点麻烦
有个蠢办法,直接删除模糊搜索到的关键词代码,,但是这样怕出问题,,,如UI渲染、事件监听),彻底移除需要全面检查依赖关系。
就怕这种问题。。。。尴尬
删除配置绑定代码
移除用户提供的4段
Settings.ConfigEntries.Add(...)代码。搜索相关逻辑代码
全局搜索以下关键字,删除所有依赖代码:
一般来说,程序能运行就别动代码,不需要某个功能关掉就是了