Board logo

标题: 关于MOD教程中一些问题的补充 [打印本页]

作者: 光龙剑    时间: 2007-5-5 16:59     标题: 关于MOD教程中一些问题的补充

  轩辕论坛果然是人才辈出,看了这么多位高手写的MOD教程,使本来对于CCZ的内部结构一窍不通的我也得到了不同程度的理解与深化,可谓受益良多,在此向各位高手们致敬!让我禁不住也有打造自己的MOD的打算呢,呵呵。
  不过,万事没有十全十美,现在我提出几点问题似乎教程中没有提及,也有可能我并没有看清楚,欢迎指正。

1、道具效果的文字表述,尤其是宝物的特殊效果的文字表述。注意,是文字表述,虽然DATA修改器可以修改,但都是在默认的情况下的文字表述,就如你把百姓改了其他兵种的名字,但在修改器显示的还是百姓一样。如果我把青龙刀“无反击攻击”这几个字改为“防御特殊攻击”,要怎样改呢?而ES似乎也没有这个功能啊。

2、怎样扩展所有兵种关于“奋起”到底是加攻击还是精神的问题。在教程中,只提及了策士到仙人这13个兵种奋起类型的修改,但如果我想亲卫队学会奋起,又或者把百姓改为其他兵种,而这个兵种也能学会奋起,那如何知道这些兵种(策士到仙人以外的兵种)学会的奋起到底是加攻击还是精神呢?虽然雪芸解决了此问题,并在论坛里提供了修改后的EXE的下载(第二次修改),但我还是想知道其修改过程。

3、如何让兵种拥有特殊技能。例如75的《杨家将》里的杨宗英,可以优先攻击,假若我想把某个兵种可以主动连击,那到底要怎样修改呢?虽然教程里提供了主动连击的修改方法,但其量主要是修改主动连击效果的代码而已,教程中有这样一句话“只须这样简单的修改,就可以保证某个兵种在主动攻击时必定双击了”  那究竟怎样把这个主动攻击的效果导入某个兵种却没有提及。

问题暂时这些了,欢迎各位老师们的解答,小弟不胜感激。
作者: 落叶    时间: 2007-5-5 17:12



QUOTE:
原帖由 光龙剑 于 2007-5-5 16:59 发表
  轩辕论坛果然是人才辈出,看了这么多位高手写的MOD教程,使本来对于CCZ的内部结构一窍不通的我也得到了不同程度的理解与深化,可谓受益良多,在此向各位高手们致敬!让我禁不住也有打造自己的 ...

这个......由于本人也是只小菜鸟,所以不能全部回答楼主的问题,即使回答的也不一定就是正确的.就当作参考吧.

第一个.和修改兵种名称一样的改法就行了.比如把青龙刀的无反击攻击改为防特殊攻击.那就在UE下搜索到~无反击攻击~,把它改为~防特殊攻击~这几个汉字就行了,

第二个.由3F421起N个字节,控制所有职业气合时加攻击还是精神,00表示都加,01表示加精神,02表示加攻击.至于修改过程,那就的达人来回答了.

第三个.咳咳......
作者: 司徒苍月    时间: 2007-5-5 17:27

以下是过去雪公主轩辕传里的dd,地址可能和目前流通的exe不同,但可供参考

QUOTE:
主动必双击的特殊效果和兵种特征

(未整理过,是从偶EXE直接COPY出来的,要自行改跳转,空闲的置也要自己找。PS:利用战场形象那一块也是可以的。)

00405D15   . /E9 E8330000   JMP Ekd5.00409102
00405D1A     |90            NOP


00409102   > 8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
00409105   .  6A 3A         PUSH 3A    ;宝物特征
00409107   .  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]
0040910A   .  8B48 08       MOV ECX,DWORD PTR DS:[EAX+8]  
0040910D   .  E8 F7E8FFFF   CALL Ekd5.00407A09  
00409112   .  85C0          TEST EAX,EAX
00409114   .  74 07         JE SHORT Ekd5.0040911D
00409116   >  B0 64         MOV AL,64 ;双击几率
00409118   .^ E9 48CCFFFF   JMP Ekd5.00405D65
0040911D   >  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]
00409120   .  8B4A 08       MOV ECX,DWORD PTR DS:[EDX+8]
00409123   .  E8 E8D4FFFF   CALL Ekd5.00406610
00409128   .  25 FF000000   AND EAX,0FF
0040912D   .  83F8 31       CMP EAX,31   ;兵种
00409130   .  75 02         JNZ SHORT Ekd5.00409134
00409132   .^ EB E2         JMP SHORT Ekd5.00409116
00409134   >  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
00409137   .^ E9 DFCBFFFF   JMP Ekd5.00405D1B

以上设置3A(防御两次攻击)的特殊效果为主动双击,设置兵种31(原木人、偶EXE中的大将军)主动必双击,宝物优先于兵种。

绝对暴击部份类似于主动连击,不同的是一个是改405CE6这函数,一个是改405D69这个函数,计算方式是一样的,所不同的是一个是爆发力,一个是士气而已(参见步步为营VAN解出来的结果)。



QUOTE:
上一次就有人提过要增加效果攻击的兵种了,昨晚花了一点时间写了一下,有兴趣的就看一下,这个是完全仿照曹操传写的,加了少许注释,让不懂的朋友也能明白少许。


004059DD   > \E9 EF120000   JMP 00406CD1   ;跳转到406CD1处

00406CD1   > \8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]
00406CD4   .  8B4A 08       MOV ECX,DWORD PTR DS:[EDX+8]  
00406CD7   .  E8 34F9FFFF   CALL 00406610   ;调用兵种判断函数
00406CDC   .  25 FF000000   AND EAX,0FF
00406CE1   .  83F8 00       CMP EAX,28         ;判断是否第28个兵种(原黄巾军)
00406CE4   .  75 26         JNZ SHORT 00406D0C    ;否测的话跳转到406D0C处
00406CE6   .  6A 3C         PUSH 3C            ;设置效果为60%机率
00406CE8   .  E8 458E0700   CALL 0047FB32
00406CED   .  83C4 04       ADD ESP,4
00406CF0   .  85C0          TEST EAX,EAX
00406CF2   .  74 18         JE SHORT 00406D0C
00406CF4   .  6A 04         PUSH 4             ;附带封策效果
00406CF6   .  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]
00406CF9   .  33C9          XOR ECX,ECX
00406CFB   .  8A48 01       MOV CL,BYTE PTR DS:[EAX+1]
00406CFE   .  6BC9 24       IMUL ECX,ECX,24
00406D01   .  81C1 502C4B00 ADD ECX,004B2C50   ;压入内存
00406D07   .  E8 B4F9FFFF   CALL 004066C0
00406D0C   >  6A 25         PUSH 25                     ;检测是否装备特殊效果25
00406D0E   .  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]
00406D11   .^ E9 CCECFFFF   JMP 004059E2       ;跳转到4059E2处继续执行其它指令


可自行变动位置:
00406CE1   .  83F8 00       CMP EAX,28    ;兵种
00406CE6   .  6A 3C         PUSH 3C        ;机率
00406CF4   .  6A 04         PUSH 4          ;附带效果 (02麻痹,04禁咒,08混乱,10中毒)

[ 本帖最后由 司徒苍月 于 2007-5-5 17:37 编辑 ]
作者: 光龙剑    时间: 2007-5-5 22:37

谢谢各位的回答。
原来是利用反汇编,至于地址,其实可以用EXE最后面的,一般都空闲的吧,这个问题不大,关键就是兵种,有问题想问一问LS:那个兵种31(原木人……)是什么意思?CCZ只有27个兵种啊,那就是说31就不是兵种代码,而木人的兵种代码应该是24才对,难道新加兵种要用更后的代码代替??(即27之后)
作者: 司徒苍月    时间: 2007-5-5 22:38



QUOTE:
原帖由 光龙剑 于 2007-5-5 22:37 发表
谢谢各位的回答。
原来是利用反汇编,至于地址,其实可以用EXE最后面的,一般都空闲的吧,这个问题不大,关键就是兵种,有问题想问一问LS:那个兵种31(原木人……)是什么意思?CCZ只有27个兵种啊,那就是说3 ...

27个兵种,但是前几个兵种都有3转对不,像君主类(群雄/英雄/霸王)就霸占了00-02,3个位置
作者: 光龙剑    时间: 2007-5-6 23:26

明白,感谢司徒老师的指点,现在我继续有问题要发掘了,也是教程没有的呢,就请原谅在下不耻下问吧
怎样让每个人都拥有特殊形象,例如徐晃与于禁都是弓兵,一般战斗形象都是相同的,但如果我想他们都同时拥有不同的特殊形象呢,而且无论是二转还是三转,该形象都是一样的,就好比如《三国后传》的五虎将兵种一样(不过那里的五虎将没有三转问题,因为是用百姓、木人之类的兵种改的)叶落的形象指定器里形象指定值似乎是固定的,即使你按了“确认修改”也是无济于事。
作者: 司徒苍月    时间: 2007-5-6 23:56



QUOTE:
原帖由 光龙剑 于 2007-5-6 23:26 发表
明白,感谢司徒老师的指点,现在我继续有问题要发掘了,也是教程没有的呢,就请原谅在下不耻下问吧
怎样让每个人都拥有特殊形象,例如徐晃与于禁都是弓兵,一般战斗形象都是相同的,但如果我想他们都同时拥有不同 ...

用指定器即可,先是用功能菜单中的第一第二项扩展造型,接着指定即可,指定完了记得点菜单上文件-->保存,否则是白做
作者: 光龙剑    时间: 2007-6-16 23:30

制定主动双击的新兵种已经自主解决,十分感谢司徒仓月的指导,不过在下要提一点,在反汇编的时候不能输入“Ekd5”的字样,否则会说你无标签而不能成功加入语句。
    另外在下还有一问想请教,如何扩展修改部队攻击声音,教程里只提供了由群雄到都督这19个部队的攻击声音修改,假如我想修改木人或木偶的攻击声音,把它们变成跟骑兵一样的攻击声音,那要怎样做呢?
作者: 57979511    时间: 2007-6-17 00:46

可是关于叶落的战场指定器里没有扩展这选项啊?
作者: 光龙剑    时间: 2007-6-17 20:14

ls,看来你误会了,扩展部队声音跟战场形象指定器有关的吗??




欢迎光临 轩辕春秋文化论坛 (http://xycq.org.cn/forum/) Powered by Discuz! 5.0.0