TA4.dll及一些说明

ta4.dll是一个TA插件。提供的功能被一些mod使用。有时会需要它。
+更高于10的速度
用16进制编辑器打开TA主程序。(别忘了备份!!):
查找 (这些是16进制串):
730E25FFFF00006A014050E822A8FFFF
替换为:
909025FFFF00006A014050E822A8FFFF
查找 (同上):
7E05BB1400000083
替换为:
EB05BB1400000083
这样便没有速度限制了,可以一路++++++到想要的速度。
一路按照如下的步骤来:

  1. 复制一份主程序到另外的地方防止出错
  2. 使用你最钟情的16进制编辑器。
  3. 选择编辑TA主程序。
  4. 打开查找功能。(多半快捷键是ctrl+F)
  5. 在查找目标框输入"730E25FFFF00006A014050E822A8FFFF" (使用hex格式的输入,而非text字符格式).
    6.找到了之后,修改 “730E” 为 “9090” (730e这opcode翻译为asm是一个跳转,9090翻译后是没有任何作用的nop空指令).
  6. 再次搜索,这次搜索目标换为"7E05BB1400000083" (一样需要是16进制hex模式)
    8.找到后修改"7E" 为"EB"(7e是一个有可能不成功的跳转,eb是一个一定会的跳转).
  7. 保存你的修改成果。打开TA试试!
    使+atm增加更多钱
    “+atm” 这作弊码每次只能增加1000的金属和能量。目标是每次+atm得到100000的资源。但这儿只会使它小小增加到10000。 乘个10倍。
    如你所知的第一步,备份TA主程序。
    修改的整个过程:
    对照着做!
    方法:
    用你的爱器(16进制编辑器)打开TA主程序:
    查找16进制串:
    00 00 7A C4 CD CC CC 3D 00 00 00 00 00 00 00 00 00 00 80 3F
    找到后替换它为:
    00 40 1C C6 CD CC CC 3D 00 00 00 00 00 00 00 00 00 00 80 3F
    这串数据在TA3.1.0.0远离文件头的距离是:
    0x000FBA7C
    现在+atm每次增加的资源就是10000了。

TA模拟对战数量按罗马数字确定,1对9即10家,用*+X,1对3即4家,用*+IV,其余情况分别为:2家II,3家III,5家V,6家VI,7家VII,8家VIII,9家IX。这里用的都是罗马数字符号。
在TA中,每个金属提炼机的金属产出量取决于以下5个相互关联的要素:
矿点金属品位值(富矿最高值可达255)。
矿点尺寸(通常为33)。
地表外露金属品位值(通常在1-20之间,金属世界地图上最高值可达255)。
金属提炼机占地尺寸(普通提炼机占地33,高级提炼机占地5
5)。
金属提炼效率(普通提炼机为0.001,高级提炼机为0.003)。
以上5有如下关系式:
矿点金属产量=(提炼效率)
[矿点尺寸
金属品位值+(提炼机占地尺寸-矿点尺寸)地表外露金属品位值]
以金属世界地图为例,如果使用高级深地层提炼机,则每个提炼机产量即为:
0.003
[(0)*(0)+(25-0)*255]=19.1金属单位/秒
Core的大炮要杀10人之后才能达到Arm族大炮的初始精度
Krogoth数量达到3个就无敌了。

GUI编辑里面有个:
quickkey=0;
这个是定义快捷键的。
比如ARMAAPI.GUI中的 [list=1][*]

 

[GADGET4]

{

[COMMON]

  {

  id=1;

  assoc=1;

  name=ARMMOVE;

  xpos=5;

  ypos=247;

  width=55;

  height=31;

  attribs=64;

  colorf=15;

  colorb=0;

  texturenumber=0;

  fontnumber=0;

  active=1;

  commonattribs=0;

  }

status=0;

text=;

quickkey=77;

}

[/list]快捷键是77,按照virtual key code翻译即为"M"。
[
快捷键是通过GUI实现对应quickkey虚拟键码和快捷键
具体的实现找找现有GUI中实现选择命令的那些属性。
Switeck的bugfix中有很多好例子。他的scripor也很有用。
之后要在单位的fbi文件里面设定对应的快捷键。
可以用这些来声明隶属特定快捷键。
Category=CTRL_V;

但主要还是在脚本中根据单位的属性:是否陆地、是否海洋、是否空中、是否可攻击、是否工程、是否40、是否当前屏幕、是否已选中来判断。

那个作弊器可以用金山游侠做。原名是 joe什的

0041D793 B0 01 mov al,1
0041D7A3 B0 01 mov al,1
TA的CD验证部分返回时的值固定为 有CD
另外一个部分是读取文件,成功则可继续。如此则若强制返回值会使很多地方出现错误。幸好只有一个此类验证,故直接修改它
00425E42 90 nop; nop

旧版的免CD
41D4CD nop; nop; nop; nop; nop; nop
502894 1h
5028E8 ‘TOTALA.ID’
502A34 Totala4.HPI (CD-2) required to play missions’
5030C0 ‘Totala2.hpi (CD-1) required to play multi-player games’

moverate1,moverate2,moverate3这几个个参数是用来衡量速度的参数,根据这个来控制某些部件的运动,例如根据汽车的实际移动速度来调整轮子的转速。
也就是说,只有存在这种可能的单位这个参数才有效。

武器参数
cruise=1;
是用来控制长距离导弹或火箭的飞行方式,0是倾斜飞向目标,1是水平飞行到接近目标时突然斜向下。

TA界面改造快捷键对应数字

97-a
98-b
99-c
100-d
101-e
102-f
103-g
104-h
105-i
106-j
107-k
108-l
109-m
110-n
111-o
112-p
113-q
114-r
115-s
116-t
117-u
118-v
119-w
120-x
121-y
122-z

PS:粘贴到这儿我不禁非常的佩服这位fonter456。
他从0开始,默不作声的给TA做了很多很多的事情。这个基本上可以说计算机编程常识的键对应表,他甚至都是从不知道的程度,为TA而自己一点点试出来的。
这位fonter456,真是一位非常值得尊重的TA玩家。
最少我在这儿表达一下我的敬意,非常敬佩。

原作者: bLoBbY, [email protected]

for more info:
http://www.tauniverse.com/forum/showthread.php?p=524652

如下所示:用16进制编辑器修改TA主程序,将下面这行中的84改为85,+shootall就是默认的了
不过改了就没办法不攻击的了,就算输入+shootall也没有用

@ 0x0000ACF5
0F 84 3A 01 00 00 8B 97 92 00 00 00 →
0F 85 3A 01 00 00 8B 97 92 00 00 00

真专业,希望能给MOD爱好者提供很好的参考。

使联机模式中只添加AI但可以开始游戏的方法 -from fonter
http://bbs.taclub.net/taclub/newta/thread-12185-1-1.html