目前已收纳:
-
秒搜(及其他技能buff修改)
-
踹门
-
快捷使用安全箱、背包物品(扔雷、换弹)及可添加到快捷键栏位
-
无极变倍瞄准镜倍率急速切换(不用磨叽等动画)
如果有其他自改dll比较有用的功能,欢迎补充分享!
一些现成的mod,3.11可用:
使用任意位置物品,作者已停更,不知道3.11这个能不能用
github:UseItemsAnywhere
dnSpy下载:
dnSpy下载可以直接使用2020年6.1.8版本,github-dnSpy。原项目已停档,24年还在更新的在这里,dnSpyEx
如果上不去github,我传的618版本蓝奏云:6.1.8版本dnSpy
要改的dll位置:
EscapeFromTarkov_Data\Managed\Assembly-CSharp.dll
请提前备份这个文件。然后删除它旁边的同名备份文件(可能没有,是相同大小的.bak,不是同名-fill的)。
建议同时删除客户端校验它的文件,位于
SPT_Data\Launcher\Patches\SPT-core\EscapeFromTarkov_Data\Managed\同名.dll.delta
如何使用dnSpy修改:
文件-打开,选择Assembly-CSharp.dll。如果你想全局搜索一个关键词,不是ctrl+F(这个只能搜当前打开的文本框),而是ctrl+shift+K(可以搜所有程序集内容)
如果你的代码函数都是红色(=错误),或编译保存时出问题:
修改dll前请先运行一次塔科夫客户端!进入主界面就行,不需要进图。
额外用dnSpy打开managed文件夹内所有的dll文件,加载到左侧列表以供调用。
不要开着客户端服务端!
一、任意踹门修改
实现功能:对任意门都可以踹开。这个主要是对于没有钥匙的门也可以踹,例如本来不让进的房间。
如果还想开保险箱、某些带锁内容,请使用万能钥匙mod,例如mega-mod或open sename。
搜索 BreachSuccessRoll 找到对应段落,右键-编辑方法(C#),将代码修改为这样,然后编译、保存。
(如果搜不到,就搜canBeBreached)
public bool BreachSuccessRoll(Vector3 yourPosition) { bool canBeBreached = this.CanBeBreached; if (this.Operatable) { Vector3 vector = base.transform.TransformPoint(this.viewTarget1) - yourPosition; Vector3 a = base.GetDoorRotation(this.GetAngle(EDoorState.Shut)) * WorldInteractiveObject.GetRotationAxis(this.DoorForward, base.transform); Vector3 b = base.GetDoorRotation(this.GetAngle(EDoorState.Open)) * WorldInteractiveObject.GetRotationAxis(this.DoorForward, base.transform); Vector3 vector2 = a + b; Vector2.Dot(new Vector2(vector.x, vector.z).normalized, new Vector2(vector2.x, vector2.z).normalized); return true; } return false; }
二、秒搜,及其他技能buff
Ctrl+Shift+K 搜索 IntellectLearningSpeed 选择EFT.SkillManager的一项
(或者手动从左侧列表找Assembly-CSharp.dll\EFT\SkillManager,点击SkillManager本体)
找到位置后,里面好几段的代码都是控制各种技能buff幅度的。
可以Ctrl+F搜 PerLevel 关键词,依次找到各种技能的等级成长控制数值。
可参考坛内帖子,技能buff参数列表翻译,然后想改什么就自己改什么。
对于秒搜:
搜索 AttentionEliteLuckySearch 找到 带.Elite(0.5f).PerLevel(0.0f)的一段,然后右键、编辑方法,把它改成你喜欢的。精英秒搜就是Elite(1.0f),你想慢慢升级就Elite(1f).PerLevel(0.02f)逐渐从0到100%秒搜,或者无条件秒搜PerLevel(1.0f)。
某个技能.Elite(xx).PerLevel(yy).Max(zz)的含义:
精英时,优先使用Elite(xx)的指定数值。
非精英时,PerLevel(0.02f)是每级2%,或者Max(1.0f)是指定50级时100%,它会自动处理为每级2%。
不要同时使用Max和PerLevel。
三、修改快捷使用背包、安全箱物品
搜索 FastAccessSlots 找到对应代码,然后给
BindAvailableSlotsExtended
FastAccessSlots
上述两项的列表中都添加下面的内容,就是允许直接使用XXX内物品,且可以用0~9快捷键使用。
EquipmentSlot.SecuredContainer,安全箱
EquipmentSlot.Backpack,背包
四、瞄准镜倍率切换速度加快
搜索 ScopeZoomHandler 然后点击列表任意内容,此时会在这个名字的代码段里。
Ctrl+F 搜索 deltatime,找到这样一行
float maxDelta = this.Single_2 * Mathf.Abs(this.float_3) * Time.deltaTime * 10f;
在最后加上 * 10f,就是倍率动画速度10倍。改成你喜欢的就行。
暂时自用的内容就这些。欢迎分享其他的。
数值改完点编译会报错,不能退出保存,3.11开始就不行了,3.10还是可以改的
你不会出这个问题?
左侧列表全部加载后确实可以编译了,编译完了点保存又跳红了,怎么操作?
任意踹门
是修改哪个文件?没看明白,在哪里搜“BreachSuccessRoll”?