注册 | 登录

游侠NETSHOW论坛





游侠NETSHOW论坛 游侠NETSHOW论坛 逃离塔科夫 12.3.5985 版本游戏修改
查看: 17043|回复: 72
打印 上一主题 下一主题

[分享] 12.3.5985 版本游戏修改 [复制链接]

帖子
447
精华
0
积分
255
金钱
8471
荣誉
3
人气
12
评议
0
跳转到指定楼层
楼主
发表于 2020-3-27 21:33:25 |只看该作者 |倒序浏览
本帖最后由 zzz3265 于 2020-3-29 09:52 编辑

dll文件全部已修改的可下载

链接: https://pan.baidu.com/s/1PiCpOPH30bHeEmZAKUf-sg 提取码: dcyt

注意备份原来的文件, 如果版本不对肯定是不行的




1. 商人等级刷到最高级, 每次刷新就变成3级

修改EmuTarkov-Server文件, 然后重启,
文件: EmuTarkov-Server\src\classes\trader.js  在62行左右

修改后如下:
        // level up traders
        let targetLevel = 1;
        
        for (let level in loyaltyLevels) {
            // level reached
            if ((loyaltyLevels[level].minLevel <= pmcData.Info.Level
            && loyaltyLevels[level].minSalesSum <= pmcData.TraderStandings[id].currentSalesSum
            && loyaltyLevels[level].minStanding <= pmcData.TraderStandings[id].currentStanding)
            && targetLevel < 4) {
                targetLevel++;
                continue;
            }
            break;
        }
        pmcData.TraderStandings[id].currentLevel = targetLevel;

使用道具 举报

帖子
447
精华
0
积分
255
金钱
8471
荣誉
3
人气
12
评议
0
沙发
发表于 2020-3-27 21:33:49 |只看该作者
本帖最后由 zzz3265 于 2020-4-4 09:51 编辑

2020-04-04 更新

链接: https://pan.baidu.com/s/1iISllw9KCHgQPHNSHo5Njw 提取码: pzpk



使用道具 举报

帖子
447
精华
0
积分
255
金钱
8471
荣誉
3
人气
12
评议
0
板凳
发表于 2020-3-27 21:34:00 |只看该作者
本帖最后由 zzz3265 于 2020-4-4 09:52 编辑

游戏有bot在附近时, 每几秒就卡顿一下, 可以从日志看到错误

GClass150::MaxBulletCount
修改如下
        public int MaxBulletCount
        {
                get
                {
                        if (this.ShootController == null)
                        {
                                return 0;
                        }
                        Weapon item = this.ShootController.Item;
                        if (item.ReloadMode == Weapon.EReloadMode.OnlyBarrel)
                        {
                                return item.Chambers.Length;
                        }
                        return 2;
                }
        }


当发电机放上燃料, 然后玩过一段时间后, 燃料消耗完成, 这时进入游戏时会提示错误:  Object reference not set to an instance of an object

原因是在燃料消耗完成后删除物品时没删除干净, 简单的办法是把存档文件自己添加上这个物品
为了防止这个问题, 可以修改成燃料无限, 不去执行消耗部分的代码
文件 EmuTarkov-Server\src\classes\keepalive.js            113行左右
修改后如下:
function updateFuel(generatorArea,solarPower)
{
        return generatorArea;


也可以修改dll文件, 用dnyspy
修改后如下
                public override void Init(AreaData area, AreaInfo profileInfo)
                {
                        base.Init(area, profileInfo);
                        this.method_10();
                        GClass1430[] array = new GClass1430[base.Slots.NumberOfSlots];
                        for (int i = 0; i < profileInfo.slots.Length; i++)
                        {
                                GClass1144 gclass = profileInfo.slots;
                                if (((gclass != null) ? gclass.Items : null) != null && gclass.Items.Length != 0)
                                {
                                        try
                                        {
                                                Dictionary<string, Item> items = Singleton<GClass877>.Instance.FlatItemsToTree(gclass.Items, false, null).Items;
                                                array = (items.FirstOrDefault<KeyValuePair<string, Item>>().Value as GClass1440);
                                        }
                                        catch (Exception message)
                                        {
                                                Debug.LogError(message);
                                        }
                                }
                        }


钥匙太麻烦? 有大力神腿, 所有门都可以用脚踹开

door.BreachSuccessRoll
修改后如下
                public bool BreachSuccessRoll(Vector3 yourPosition)
                {
                        if (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;
                }


任务物品有几率不刷新出来, 导致游戏找不到
添加代码可把物品显示到日志, 可确定是否有刷新
GameWorld.method_13

                                        LootItem lootItem = this.method_11(gclass, true, player, null);
                                        Debug.LogError("spawned lootItem:{0} netId:{1}" + gclass.Item.ShortName.Localized());
                                        if (lootItem != null && this.World_0 != null)
                                        {
                                                this.World_0.AddSpawnQuestLootPacket(SimpleZlib.CompressToBytes(this.SerializeLootItem(lootItem).ToJson(Array.Empty<JsonConverter>()), 9, null));
                                        }

使用道具 举报

帖子
447
精华
0
积分
255
金钱
8471
荣誉
3
人气
12
评议
0
地板
发表于 2020-3-27 21:34:12 |只看该作者
本帖最后由 zzz3265 于 2020-3-27 21:49 编辑

激光瞄准点大小修改
LaserBeam.LateUpdate
修改后如下:
                        float num = (float)(-(float)2) / (raycastHit.distance + (float)8) + 0.8f;
                        this.materialPropertyBlock_0.SetFloat(LaserBeam.int_0, raycastHit.distance + this.RayStart);
                        this.materialPropertyBlock_0.SetFloat(LaserBeam.int_1, num);
                        this.materialPropertyBlock_1.SetFloat(LaserBeam.int_1, num);
                        this.materialPropertyBlock_1.SetFloat(LaserBeam.int_2, num - 0.5f);

使用道具 举报

帖子
447
精华
0
积分
255
金钱
8471
荣誉
3
人气
12
评议
0
5#
发表于 2020-3-27 21:34:24 |只看该作者
本帖最后由 zzz3265 于 2020-3-27 21:54 编辑

钥匙太麻烦? 有大力神腿, 所有门都可以用脚踹开

door.BreachSuccessRoll
修改后如下
                public bool BreachSuccessRoll(Vector3 yourPosition)
                {
                        if (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;
                }

使用道具 举报

帖子
447
精华
0
积分
255
金钱
8471
荣誉
3
人气
12
评议
0
6#
发表于 2020-3-27 21:43:10 |只看该作者
本帖最后由 zzz3265 于 2020-3-29 10:06 编辑

任务物品有几率不刷新出来, 导致游戏找不到
添加代码可把物品显示到日志, 可确定是否有刷新
GameWorld.method_13

                                        LootItem lootItem = this.method_11(gclass, true, player, null);
                                        Debug.LogError("spawned lootItem:{0} netId:{1}" + gclass.Item.ShortName.Localized());
                                        if (lootItem != null && this.World_0 != null)
                                        {
                                                this.World_0.AddSpawnQuestLootPacket(SimpleZlib.CompressToBytes(this.SerializeLootItem(lootItem).ToJson(Array.Empty<JsonConverter>()), 9, null));
                                        }

使用道具 举报

帖子
447
精华
0
积分
255
金钱
8471
荣誉
3
人气
12
评议
0
7#
发表于 2020-3-27 21:55:45 |只看该作者
另外还有些其他功能
FileName = G:\\Game\\Client.0.12.3.5985\\EscapeFromTarkov_Data\\Managed\\Assembly-CSharp.dll
PathList\0000\Descrip = get_MaxWeight
PathList\0000\NewHex = 220000A042
PathList\0000\Offset = 000D2235;
PathList\0000\OldHex = 22000020422200002042027BD4500004285C0B000A5A582A
PathList\0000\Path = 1
PathList\0001\Descrip = get_MaxOverweight
PathList\0001\NewHex = 2200002043
PathList\0001\Offset = 000D224E;
PathList\0001\OldHex = 2200008C422200008C42027BD4500004285C0B000A
PathList\0001\Path = 1
PathList\0002\Descrip = SkillProgressRate
PathList\0002\NewHex = 03220000C84300000000005A2B0C03220000C8430000000000
PathList\0002\Offset = 000D2680;
PathList\0002\OldHex = 03281A03000A7B4D4400045A2B0C03281A03000A7B45440004
PathList\0002\Path = 1
PathList\0003\Descrip = TOD_Sky
PathList\0003\NewHex = 0372743400706FB202000A03728A3400706FB102000A02167DF103000402167DF2030004027BFD030004167D7B0300040000000000000000000000002A
PathList\0003\Offset = 0011F9F8;
PathList\0003\OldHex = 027BF00300040A062C1C06172E012A0372743400706FB202000A03728A3400706FB102000A2A0372743400706FB102000A03728A3400706FB202000A2A
PathList\0003\Path = 1
PathList\0004\Descrip = get_MaxBulletCount-bug
PathList\0004\NewHex = 00000000000000000000182A
PathList\0004\Offset = 00156E2C;
PathList\0004\OldHex = 066F677600066F367700062A
PathList\0004\Path = 1
PathList\0005\Descrip = Sprinting.Capacity
PathList\0005\NewHex = 252200007A447DFB170004252200007A4400000000000000000000
PathList\0005\Offset = 00172F95;
PathList\0005\OldHex = 25281A03000A7B574400047B9C4400047DFB17000425220000C842
PathList\0005\Path = 1
PathList\0006\Descrip = LaserBeam_Intensity
PathList\0006\NewHex = 18656B1201288D04000A1E6B585B22CDCC4C3F580D
PathList\0006\Offset = 001B677A;
PathList\0006\OldHex = 220000803F1201288D04000A027B782B00045B590D
PathList\0006\Path = 1
PathList\0007\Descrip = LaserBeam_Size
PathList\0007\NewHex = 027B892B00047E8E2B000409220000003F596F7612000A000000000000000000000000000000
PathList\0007\Offset = 001B67CF;
PathList\0007\OldHex = 027B892B00047E8E2B0004027B7F2B0004027B7E2B0004027B7F2B000459095A586F7612000A
PathList\0007\Path = 1
PathList\0008\Descrip = GClass877.method_4-bug
PathList\0008\NewHex = 030000000000A2
PathList\0008\Offset = 0022998D;
PathList\0008\OldHex = 037BAF400004A2
PathList\0008\Path = 1
PathList\0009\Descrip = TraderStanding
PathList\0009\NewHex = 041E6B5A100206256F0E52000604586F0F52000600000000000000000000002A
PathList\0009\Offset = 00251C59;
PathList\0009\OldHex = 06256F0E52000604586F0F52000606027B045000046F605200066F105200062A
PathList\0009\Path = 1
PathList\0010\Descrip = ChangeShadowsVisibility
PathList\0010\NewHex = 160A00000000000000000000000000000000
PathList\0010\Offset = 0025E340;
PathList\0010\OldHex = 027BE853000403282B07002B286C03000A0A
PathList\0010\Path = 1
PathList\0011\Descrip = escape_time_limit-1
PathList\0011\NewHex = 1F78
PathList\0011\Offset = 00264473;
PathList\0011\OldHex = 1F3C067B7D5600047B4F4100045A
PathList\0011\Path = 1
PathList\0012\Descrip = IsRandomTime
PathList\0012\NewHex = 7BCA4600042C000220E00700001A1F1E061E1F0A6F0809000A
PathList\0012\Offset = 00277FAF;
PathList\0012\OldHex = 7BCA4600042C290220E00700001A1F1E06171F186F0809000A06171F3B6F0809000A161773791D000A
PathList\0012\Path = 1
PathList\0013\Descrip = escape_time_limit-2
PathList\0013\NewHex = 7B4F4100041F785A
PathList\0013\Offset = 002784C2;
PathList\0013\OldHex = 7B4F4100041F3C5A
PathList\0013\Path = 1
PathList\0014\Descrip = GeneratorBehaviour.Init - Exception
PathList\0014\NewHex = 4C00317D00077700
PathList\0014\Offset = 0029A82A;0029AF86;
PathList\0014\OldHex = 6400197D0007C902
PathList\0014\Path = 1
PathList\0015\Descrip = TraderLoyaltyRequirement
PathList\0015\NewHex = 020228AA6800066F6C6A00067B5A2000046F0C5200061728A168000600000000002A
PathList\0015\Offset = 002A1207;
PathList\0015\OldHex = 020228AA6800066F6C6A00067B5A2000046F0C520006027B5B63000428A16800062A
PathList\0015\Path = 1
PathList\0016\Descrip = GClass1212::Rain
PathList\0016\NewHex = 26166B0000
PathList\0016\Offset = 002A949B;002A9763;002A9770;002A978D;002A97BC;002A97F7;002A983A;002A98D1;002A98FB;002A9918;002A9942;002A995F;002A9C1F;002A9FCC;
PathList\0016\OldHex = 7BFB650004
PathList\0016\Path = 1
PathList\0017\Descrip = GClass1212::Wind
PathList\0017\NewHex = 26166B0000
PathList\0017\Offset = 002A94B3;002A9756;002A9780;002A97AF;002A97EA;002A982D;002A9935;002A9952;002A9BDA;002A9FA8;
PathList\0017\OldHex = 7BF8650004
PathList\0017\Path = 1
PathList\0018\Descrip = GClass1212::ScaterringFogDensity
PathList\0018\NewHex = 26166B0000
PathList\0018\Offset = 002A95A9;002A97C9;002A9804;002A9847;002A9863;002A9870;002A987F;002A98A8;002A9C4F;002A9FE4;
PathList\0018\OldHex = 7BFD650004
PathList\0018\Path = 1
PathList\0019\Descrip = GClass1212::Cloudness
PathList\0019\NewHex = 2617656B00
PathList\0019\Offset = 002A95C7;002A9749;002A979D;002A97D8;002A9813;002A9820;002A9856;002A988E;002A989B;002A98B7;002A98C4;002A98E1;002A98EE;002A990B;002A9928;002A9BC4;002A9F9C;
PathList\0019\OldHex = 7BF7650004
PathList\0019\Path = 1
PathList\0020\Descrip = AttentionEliteLuckySearch
PathList\0020\NewHex = 2200000000226F12833A
PathList\0020\Offset = 002D6B85;
PathList\0020\OldHex = 2200000000220000803F289B01000A027BB87300046F7D7900067B0B5000047BF8500004
PathList\0020\Path = 1
PathList\0021\Descrip = GetNextDiscoveryTime
PathList\0021\NewHex = 172D19
PathList\0021\Offset = 002D6BE0;
PathList\0021\OldHex = 032D19281D03000A
PathList\0021\Path = 1
PathList\0022\Descrip = isInstant-SearchedState
PathList\0022\NewHex = 7BC07300042D3F02289E03000A22CDCCCC3D
PathList\0022\Offset = 002D6C62;
PathList\0022\OldHex = 7BC07300042D3F02289E03000A2200000040587DC3730004
PathList\0022\Path = 1
PathList\0023\Descrip = BreachSuccessRoll
PathList\0023\NewHex = 3900000000
PathList\0023\Offset = 002E1FAE;
PathList\0023\OldHex = 39B0000000027B8478000439A500000002
PathList\0023\Path = 1
PathList\0024\Descrip = BreachSuccessRoll-result
PathList\0024\NewHex = 28D511000A260000000000172A
PathList\0024\Offset = 002E2056;
PathList\0024\OldHex = 28D511000A2200000000FE022A
PathList\0024\Path = 1
PathList\0025\Descrip = Door::KickOpen
PathList\0025\NewHex = 02280983000600
PathList\0025\Offset = 002E20ED;002E28AF;
PathList\0025\OldHex = 0216285D810006
PathList\0025\Path = 1
PathList\Count = 26

使用道具 举报

帖子
25
精华
0
积分
13
金钱
305
荣誉
0
人气
0
评议
0
8#
发表于 2020-3-27 23:17:37 |只看该作者
商人等级和踹门那个我找不到文件   

使用道具 举报

帖子
83
精华
0
积分
42
金钱
2138
荣誉
0
人气
0
评议
0
9#
发表于 2020-3-28 09:00:09 |只看该作者
感謝辛苦分享,去試試!!

使用道具 举报

帖子
83
精华
0
积分
42
金钱
2138
荣誉
0
人气
0
评议
0
10#
发表于 2020-3-28 09:08:29 |只看该作者
大佬你發布修改的版本號是一樣沒錯,但就是沒找到相關資料夾喔!還是感謝分享....

使用道具 举报

帖子
70
精华
0
积分
35
金钱
1114
荣誉
0
人气
0
评议
0
11#
发表于 2020-3-28 09:26:02 |只看该作者
有人机会卡的在哪个文件夹

使用道具 举报

帖子
351
精华
0
积分
176
金钱
3212
荣誉
0
人气
0
评议
0
12#
发表于 2020-3-28 12:22:22 |只看该作者
zzz3265 发表于 2020-3-27 21:34
游戏有bot在附近时, 每几秒就卡顿一下, 可以从日志看到错误

GClass150::MaxBulletCount

这个情况很严重,请问下这是修改哪个文件?Assembly-CSharp.dll

使用道具 举报

帖子
351
精华
0
积分
176
金钱
3212
荣誉
0
人气
0
评议
0
13#
发表于 2020-3-28 12:49:22 |只看该作者
谢谢楼主分享,已经修改好了。

使用道具 举报

帖子
70
精华
0
积分
35
金钱
1114
荣誉
0
人气
0
评议
0
14#
发表于 2020-3-28 16:14:18 |只看该作者
jamiewhite 发表于 2020-3-28 12:49
谢谢楼主分享,已经修改好了。

怎么修改的,我没找到这个文件夹

使用道具 举报

帖子
13
精华
0
积分
7
金钱
117
荣誉
0
人气
0
评议
0
15#
发表于 2020-3-28 18:08:27 |只看该作者
不管有没有用 辛苦了

使用道具 举报

帖子
351
精华
0
积分
176
金钱
3212
荣誉
0
人气
0
评议
0
16#
发表于 2020-3-28 18:27:32 |只看该作者
是大仨A 发表于 2020-3-28 16:14
怎么修改的,我没找到这个文件夹

用dnSpy反编译修改Assembly-CSharp.dll文件。

使用道具 举报

帖子
98
精华
0
积分
49
金钱
1056
荣誉
0
人气
0
评议
0
17#
发表于 2020-3-28 19:52:18 |只看该作者
jamiewhite 发表于 2020-3-28 18:27
用dnSpy反编译修改Assembly-CSharp.dll文件。

能不能分享一下dll文件

使用道具 举报

帖子
69
精华
0
积分
35
金钱
720
荣誉
0
人气
0
评议
0
18#
发表于 2020-3-29 00:40:50 |只看该作者
当发电机放上燃料, 然后玩过一段时间后, 燃料消耗完成, 这时进入游戏时会提示错误:  Object reference not set to an instance of an object

原因是在燃料消耗完成后删除物品时没删除干净, 简单的办法是把存档文件自己添加上这个物品
怎么添加?

使用道具 举报

帖子
30
精华
0
积分
15
金钱
322
荣誉
0
人气
0
评议
0
19#
发表于 2020-3-29 09:11:35 |只看该作者
zzz3265 发表于 2020-3-27 21:33
当发电机放上燃料, 然后玩过一段时间后, 燃料消耗完成, 这时进入游戏时会提示错误:  Object reference not  ...

这个DLL文件在哪里????

使用道具 举报

帖子
447
精华
0
积分
255
金钱
8471
荣誉
3
人气
12
评议
0
20#
发表于 2020-3-29 09:54:29 |只看该作者
dll文件已修改好上传了

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2024-4-19 18:30 , Processed in 0.350317 second(s), 11 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到