单位寻路数量限制被破解了!!!

原帖,
http://www.tauniverse.com/forum/showthread.php?p=689085#post689085

Pathfinding cycles limitation hack (tested only in skirimish):

Change TOTALA.exe using hex-editor with that values:

Quote:
[table=98%]
[tr][td]DF91: EBD190
DF64: B8D4140000EB28 [/td][/tr]
[/table]

DF91: EBD1 90 (jmp short newplace)

DF64: B8D4140000EB29 (mov eax,0x000014D4), where B8(move eax) EB29 to jump back, 14d4 is original value multipled by 4

Original value goes from memory [esi+48h], so I can’t find where’s it, that because I changed to jump.
Quote:
[table=98%]
[tr][td].text:0040EB7C mov esi, ecx ; adress
.text:0040EB7E xor ebx, ebx
.text:0040EB80 mov cx, [ebp+2A3Ch]
.text:0040EB87 push edi
.text:0040EB88 cmp cx, bx
.text:0040EB8B jz loc_40EF11
.text:0040EB91 mov eax, [esi+48h] ; 535 [/td][/tr]
[/table]

do not use very high value, during this code in original cycle launchs 1332 times for player1, and 666 for player2 .
CYCLE code - 40e91c-40ef0b

Quote:
[table=98%]
[tr][td].text:0040EF05 sub edx, eax
.text:0040EF07 cmp edi, ebx ; edi=$533 (1331)
.text:0040EF09 mov [ecx], edx
.text:0040EF0B jg loc_40EC91 [/td][/tr]
[/table]
Quote:
[table=98%]
[tr][td].text:0040EC82 cmp edx, 0Ah ; 10playersmax?
.text:0040EC85 jl short cycle2_plimit
.text:0040EC87 cmp [esp+28h+var_18], ebx
.text:0040EC8B jle loc_40EF11
.text:0040EC91
.text:0040EC91 cycle3_pathfind: ; CODE XREF: pathfind+39Bj
.text:0040EC91 mov eax, [esi+58h]
.text:0040EC94 mov [esi+4Ch], ebx
.text:0040EC97 cmp eax, ebx [/td][/tr]
[/table]

我依照Ti的成果,再分析了一点点,这个值是在Load Game时候设置的
0040EAD3 C746 48 35050000 MOV DWORD PTR DS:[ESI+48],535

寻路的限制值 535 在文件中的偏移位置是0x57046

附上OTA和TA33A、TACC的修改补丁
OTA, http://www.tauniverse.com/forum/attachment.php?attachmentid=25636&d=1328732955
寻路限制tTAAC.rar (481 KB)

寻路限制TA33A.rar (481 KB)

看不懂

他改exe ,改的是 啥,跳来跳去的,也不知道他改这些最后结果如何。问题是联机能正常吗

好像还有其它东西
例如有个方法可以强制AI制造反核弹,这个可是好消息,以后打AI更难了。

他的意思是,修改AI造的东西的比例,而不再是简单的看weight和limit来造单位,比方造5个战斗机,接着造一个轰炸机,这样的方式。不过现在的修改方式比较简陋

:6_307:应该放寻路破解的EXE出来供大家测试。

一大堆代码看不懂。

破解了寻路问题? 单位上限破解了?

破解了寻路的参数,可以通过调整参数,在现在的PC条件下更好地完成寻路任务。

这样交通就不会堵塞?

单机测试过 效果非常好

解决了交通堵塞???
单位上限也解除了吗?

简直是吃了“我擦嘞~闹得住菇”。。。。。。

被墙,求把该帖子所有信息都转到国内来

:7_349:测试结果不理想,300陆军以上同时移动,还是会有停滞。是不是我打补丁的方法不正确呢?

停滞是肯定会有的…只求流畅就行了

1.选TA主程序
2.点Patch

试试

用同一个存档做了对比测试,比没破解好得多,不过看来光是破解数量限制效果还是不够理想,最好还是要换寻路系统。TAK的寻路系统最合适,能移植过来就好了。


咱也要试试…
飞龙版的太坑爹了,AI船只明明可以到拐弯到敌方阵营但却居然还停在半路…-_-//

求详细

TA原设计是250人口上限,并对寻路数量有限制,具体数字不清楚,不过当移动的非空军单位超过300左右时,部分单位的移动就会停止,等到部分单位到达目的地以后这些停止的单位才会重新移动。这个破解主要是针对这个数量限制,破解以后所有单位始终处于移动状态。

似乎这个破解把上限增加到1500,这样会消耗更多的内存和CPU。