2005-7-9 14:50
东方无翼
EXE补充研究及修改
[quote]原帖由[i]van[/i]于2005-07-08, 23:51:39发表
6、人物上限
基本上不可能,因为内存里所有数据是连续存放的,武将数据在中间,扩展的话必然需要将其移至其它地址。这样就算未扩展,光修改偏移就有240多处,工程量太大 [/quote]
汗,费了几天时间才改出个端倪来。牵扯范围巨大。
[[i] 本帖最后由 东方无翼 于 2006-8-24 14:47 编辑 [/i]]
2005-7-9 19:30
东方无翼
原曹操传只有512个人物(包括武将、小兵等等),其实不少了,但还是不够用 与是设法增大一倍。
因为在内存中,人物数据前后都有其他数据,所以只能重新开辟一块内存用以存放属性。
[color=blue]第一步、分配内存空间[/color]
在游戏启动之初,使用virtualalloc在0x00c60000位置分配长度为0x12000的一段内存。
修改位置:
1、利用0x481583 - - 0x48166d之间的4段约50字节的空间完成内存分配。
2、修改0x481891 位置为 CALL 004815FA。(这个是我随便找的一个比较早的位置 )
[color=blue]第二步、修改偏移[/color]
就是让原来访问内存0x4a1b68的全部转向访问0xc60000
修改位置:太多了。我基本上是替换的,碰上拿不准的再跟一下。
[color=blue]第三步、修改循环次数[/color]
让原本遍历0x200的程序遍历0x400次。
修改位置:同样很多。典型的就是0x41b6a2位置,这里是从data.e5载入数据。
[color=blue]第四步、修改Data.e5[/color]
增加第一个段的内容为原来的两倍。
修改位置:data.e5前端的段信息,从110h到18ch。同时在第一个段的最后增加与第一个段等长的一段内容(长度为0x4000字节)。
[color=blue]第五步、存档、读档[/color]
如果修改好了第三步,存档的时候自然会将多出来的512人保存到sv0?d.e5s存档的最后。只是还读不出来。问题在于读存档的时候指定了文件大小。
修改位置:0x41aebd,修改为PUSH 0A8DC。
[color=blue]扩充修改:[/color]
以上的修改应能保证512-1023号武将可以作为敌人出现。(未经测试,纯属猜测 )下面主要是为了完善新加入的512名武将的功能。
因为游戏本身设定前174人为“特殊武将”,所以在修改的时候也破除了这174人的部分特殊性。
[color=blue]第六步、列传[/color]
原来仅有前174人有列传,现在扩展到所有1024人。需同时修改imsg.e5。
其实是将人物列传的位置移动到imsg.e5的最后,并且补齐1024个。
修改位置:代码中,0x0040bfeb位置,修改为CMP DWORD PTR SS:[EBP+C],400 (循环次数)
0x0040bff9位置修改为ADD EAX,39A (39a指定文件中列传的起始位置)
[color=blue]第七步、上一武将 - - 下一武将[/color]
对于174号以上的武将,上一武将、下一武将按钮不是灰色的就是按了没效果。
修改位置:地址0x4786e8,修改为CMP DWORD PTR DS:[EAX*4+4B6CF0],400
地址0x479372,修改为CMP DWORD PTR DS:[ECX*4+4B6CF0],400
[color=blue]第八步、武将列表[/color]
点击查看武将列表图标,显示武将列表。
修改位置:0x469dd4 ,改为CMP DWORD PTR SS:[EBP-2C],400
[color=blue]第九步:出战选择[/color]
原来出战时,512以后武将不显示。
修改位置:0x4186d9,改为CMP DWORD PTR SS:[EBP-18],400
[color=blue]第十步:查看装备列表[/color]
点击上方查看装备列表图标,显示所有装备。原来不显示174以后的武将的装备。
修改位置:0x466D7F,改为CMP DWORD PTR SS:[EBP-8],400
但是这最后一个修改后又bug。如果你的队伍中有380号以上的武将,用装备列表查看装备的时候会异常退出。
所以建议不要在我方使用380号以上的武将。或者使用下方的装备按钮,这个不会出错。
[color=blue]2006年2月14日更新[/color]
猜测上述BUG可由http://www.xycq.net/index.php?showtopic=66698&view=findpost&p=1186057
此帖中的方法修正。
2005-7-9 19:31
东方无翼
以上说说方法。exe测试中,稍后发布。
2005-7-10 16:34
东方无翼
剧本的指令中,有两个改变人物属性的。
一个是0x38号代码,改变人物基本属性的。
一个是0x4d号代码,就是所谓的站力削弱,改变人物战场属性的。
其中战力削弱,对于战场上的人物,只能减少其hp,而不能增加或者设定hp等于某值,以下修改是增加此功能的。
修改位置:
0x45ac10-0x45accb 这段代码本来是实现减少hp功能的,但是其中冗余代码(至少我感觉是冗余的 ),与是就改变了这段代码。
0045AC10 MOV ECX,DWORD PTR SS:[EBP-4]
0045AC13 AND ECX,0FF
0045AC19 IMUL ECX,ECX,24
0045AC1C ADD ECX,EKD5_507.004B2C50
0045AC22 CALL EKD5_507.00472C90
0045AC27 MOV EDX,DWORD PTR SS:[EBP+10]
0045AC2A AND EDX,0FF
0045AC30 PUSH ECX
0045AC31 MOV ECX,DWORD PTR SS:[EBP+24]
0045AC34 AND ECX,0FF
0045AC3A CMP CL,2
0045AC3D JNZ SHORT EKD5_507.0045AC43
0045AC3F ADD EAX,EDX
0045AC41 JMP SHORT EKD5_507.0045AC63
0045AC43 CMP CL,1
0045AC46 JNZ SHORT EKD5_507.0045AC56
0045AC48 CMP EDX,0
0045AC4B JG SHORT EKD5_507.0045AC52
0045AC4D MOV EDX,1
0045AC52 MOV EAX,EDX
0045AC54 JMP SHORT EKD5_507.0045AC63
0045AC56 CMP EAX,EDX
0045AC58 JGE SHORT EKD5_507.0045AC61
0045AC5A MOV EAX,1
0045AC5F JMP SHORT EKD5_507.0045AC63
0045AC61 SUB EAX,EDX
0045AC63 POP ECX
0045AC64 PUSH EAX
0045AC65 CALL EKD5_507.0043F6CD
0045AC6A JMP EKD5_507.0045AD84
之后空余下0x5C字节。
[color=blue]使用方法:剧本中,4d号指令后面,“1800 xxxx 00下降,01设定,02上升”,这段原本在hp改变的情况下是没有用处的。现在设为01则为设定hp,设为02是增加hp,其他为减少hp。(已修正)[/color]
注:还需进一步测试。
2005-7-10 18:59
东方无翼
[color=blue]兵种等级控制[/color]
在剧情代码 0x46友军出场设定 和 0x47敌军出场设定 中,有一段是控制兵种级别的
4500 XXXX,其中XXXX部分指明级别。
也就是让敌人出现60级的小步兵这样的情况。只是据张生说不定什么时候好用
后来发现又是可恶的174人限制
修改代码:0x004428B8 CMP DWORD PTR DS:[EDX],400
这就可以让此代码对所有1024人有效。
注:同样没有经过周密测试
2005-7-11 12:53
东方无翼
界个界个,据称我拿到的资料太早,对4d代码的控制不对,应该00是减少,01是设定,02是增加,先修正之。
其实把比较1和比较2地方互换即可。
2005-7-13 02:31
幽人独往来
教主的1024DATA也出来了,太守也终于出手了,处于暂时失去可靠的周大的悲痛中的我们,终于又看到了光明
看到光明之后,就开始贪心了 尤其是太守“两个上限”的解决和教主“一个当前、一个限制”的修正。
下面说说我关于事件代码的贪心建议(用张生的话说叫“近乎无理的要求” )
1、6我军出场限制(用于R)/4a我军强制出场(用于S)——现在只有五个位置,而如果多一些的话,就可以实现奇袭队、分兵等剧情,那么,这些位置能否扩充?或者使得多个6/4a连用也能分别起作用?(需求度:高)
2、20武将头像状态设置——现在只能选择有限的几张脸,而且只有对固定的人有效,那么能否改成任意制定face号,且对任意人有效?(需求度:低)
3、36武将状态测试——既然能测试动态的HPCur,那么能不能测试Lv呢?甚至于测试当前MP?(需求度:LV—极其迫切/MPCur—低)
4、39武将等级提升——能否变成武将等级“变化”?即加入降低等级的功能。(需求度:一般)
5、4d武将状态变更——既然教主加上了HPCur的+=功能,那么是否还有位置加入MPCur的+=功能呢?(需求度:一般)
2005-7-13 10:05
周瑜
物理伤害公式的修改牵涉太多,务必瞻前顾后、慎之又慎。原代码中的空间基本还是足够,重写也不困难,难的是制定一个各方面兼顾的合理公式。
其实:如以英杰传攻-防/2,加以改进,便是一个不错的选择。
教主的这项修改比我当时增加基本属性上限难多了。当时我只需要给每人增加5个字节,占用了内存中姓名的4个字节和后面1个无用的字节,不需增加内存块大小。存档中增加了5个字节之后,仅仅更改了读档文件大小就OK了。其余就是在每次读取参数、每个公式中,把8位扩展为16位。
如果游戏异常退出,这时点击调试按钮,就能看见执行到哪条代码时异常跳出的。如果正好在刚修改的代码附近,一般都能找到原因。
其余各位的存档修改器、imsg修改器、data修改器要跟上啊。
2005-7-13 18:06
东方无翼
[color=blue]关于物理伤害公式的调整[/color]
因为以后可能调整很多,所以搞了一个通用公式。
[color=blue][(地形修正过的攻击-地形修正过的防御)+等级*等级修正+常数]*总修正*(1+兵种修正)[/color]
这样设定便于调整(不修改代码,只需修改几个字节值),也便于节省代码
0043BD39 IMUL EAX,EAX,1B ;[color=red]可变动点1,1字节。文件中位置:0x3b13b。[/color]
0043BD3C SHR EAX,3 ;[color=red]可变动点2,1字节。文件中位置:0x3b13e。(可变动点1 / 2^可变动点2) 即为等级修正值[/color]
0043BD3F ADD EAX,43 ;[color=red]可变动点3,常数,1字节。文件中位置:0x3b141[/color]
0043BD42 MOV ECX,DWORD PTR SS:[EBP-20]
0043BD45 CMP ECX,DWORD PTR SS:[EBP-10]
0043BD48 JB SHORT 0043BD51
0043BD4A SUB ECX,DWORD PTR SS:[EBP-10]
0043BD4D ADD EAX,ECX
0043BD4F JMP SHORT 0043BD61
0043BD51 MOV ECX,DWORD PTR SS:[EBP-10]
0043BD54 SUB ECX,DWORD PTR SS:[EBP-20]
0043BD57 PUSH ECX
0043BD58 PUSH EAX
0043BD59 CALL 0047FA9E
0043BD5E ADD ESP,8
0043BD61 IMUL EAX,EAX,3 ;[color=red]可变动点4,1字节。文件中位置:0x3b163。[/color]
0043BD64 SHR EAX,3 ;[color=red]可变动点5,1字节。文件中位置:0x3b166。与等级修正参数类似原理[/color]
0043BD67 CMP EAX,0
0043BD6A JNZ SHORT 0043BD71
0043BD6C MOV EAX,1
0043BD71 MOV DWORD PTR SS:[EBP-4],EAX
0043BD74 JMP SHORT 0043BD7E
0043BD76 NOP
0043BD77 NOP
0043BD78 NOP
0043BD79 NOP
0043BD7A NOP
0043BD7B NOP
0043BD7C NOP
0043BD7D NOP
目前的公式就是
[(地形修正过的攻击-地形修正过的防御)+等级*27/8+67]*3/8*(1+兵种修正)
也就是周大提出的那个。
2005-7-13 21:39
东方无翼
修正神仙教学部分
跟据说岳的情况,将配合的教学的人员改为156号武将,同时压缩了教学的空间。
修改处1
这是上面扩展到1024人物缺漏的部分。
0003438A MOV DWORD PTR SS:[EBP-10],0C62C28 ;教学中的老师的数据,157号武将
00034391 MOV DWORD PTR SS:[EBP-8],0C60000 ;学生的数据,0号武将
00034398 MOV DWORD PTR SS:[EBP-4],0C62BE0 ;陪读的数据,156号武将
修改处2
00433614 CMP DWORD PTR SS:[EBP-4],4 ; 光标向下移动四格
修改处3
00433DEC CMP DWORD PTR SS:[EBP-4],4 ;光标向上移动四格
2005-7-14 21:27
东方无翼
苦力活1:[color=blue]检测状态时测试等级[/color]
修改点1、
004113EF CMP ECX,7
004113F2 JE SHORT EKD5.00411414
修改点2、
改写读取人物属性的函数
00406D87 PUSH EBP
00406D88 MOV EBP,ESP
00406D8A SUB ESP,8
00406D8D MOV DWORD PTR SS:[EBP-4],ECX
00406D90 MOV EAX,DWORD PTR SS:[EBP+8]
00406D93 AND EAX,0FF
00406D98 CMP EAX,7
00406D9B JE SHORT EKD5_900.00406DD6
00406D9D JMP DWORD PTR DS:[EAX*4+406DDE]
00406DA5 MOV AX,WORD PTR DS:[ECX+11]
00406DA9 JMP SHORT EKD5_900.00406DD8
00406DAB MOV AX,WORD PTR DS:[ECX+13]
00406DAF JMP SHORT EKD5_900.00406DD8
00406DB1 MOV AX,WORD PTR DS:[ECX+15]
00406DB5 JMP SHORT EKD5_900.00406DD8
00406DB7 MOV AX,WORD PTR DS:[ECX+17]
00406DBB JMP SHORT EKD5_900.00406DD8
00406DBD MOV AX,WORD PTR DS:[ECX+19]
00406DC1 JMP SHORT EKD5_900.00406DD8
00406DC3 MOV EAX,DWORD PTR DS:[ECX+1C]
00406DC6 JMP SHORT EKD5_900.00406DD8
00406DC8 XOR EAX,EAX
00406DCA MOV AL,BYTE PTR DS:[ECX+20]
00406DCD JMP SHORT EKD5_900.00406DD8
00406DCF XOR EAX,EAX
00406DD1 MOV AL,BYTE PTR DS:[ECX+2C]
00406DD4 JMP SHORT EKD5_900.00406DD8
00406DD6 XOR EAX,EAX
00406DD8 MOV ESP,EBP
00406DDA POP EBP
00406DDB RETN 4
00406DDE DD EKD5_900.00406DA5 ; Switch table used at 00406D9D
00406DE2 DD EKD5_900.00406DAB
00406DE6 DD EKD5_900.00406DB1
00406DEA DD EKD5_900.00406DB7
00406DEE DD EKD5_900.00406DBD
00406DF2 DD EKD5_900.00406DC3
00406DF6 DD EKD5_900.00406DCA
00406DFA DD EKD5_900.00406DD6
00406DFE DD EKD5_900.00406DD1
00406E02 NOP
00406E03 NOP
00406E04 NOP
00406E05 NOP
00406E06 NOP
00406E07 NOP
00406E08 NOP
00406E09 NOP
00406E0A NOP
00406E0B NOP
00406E0C NOP
00406E0D NOP
00406E0E NOP
00406E0F NOP
00406E10 NOP
00406E11 NOP
00406E12 NOP
00406E13 NOP
00406E14 NOP
00406E15 NOP
00406E16 NOP
8 为检测等级
苦力活2
[color=blue]事件控制MP+=[/color]
与上面的hp极其相似
0045ACCC MOV ECX,DWORD PTR SS:[EBP-4]
0045ACCF AND ECX,0FF
0045ACD5 IMUL ECX,ECX,24
0045ACD8 ADD ECX,EKD5_901.004B2C50
0045ACDE CALL EKD5_901.00472840
0045ACE3 MOV EDX,DWORD PTR SS:[EBP+10]
0045ACE6 AND EDX,0FF
0045ACEC PUSH ECX
0045ACED MOV ECX,DWORD PTR SS:[EBP+74]
0045ACF0 AND ECX,0FF
0045ACF6 CMP CL,2
0045ACF9 JNZ SHORT EKD5_901.0045ACFF
0045ACFB ADD EAX,EDX
0045ACFD JMP SHORT EKD5_901.0045AD1F
0045ACFF CMP CL,1
0045AD02 JNZ SHORT EKD5_901.0045AD12
0045AD04 CMP EDX,0
0045AD07 JG SHORT EKD5_901.0045AD0E
0045AD09 MOV EDX,1
0045AD0E MOV EAX,EDX
0045AD10 JMP SHORT EKD5_901.0045AD1F
0045AD12 CMP EAX,EDX
0045AD14 JGE SHORT EKD5_901.0045AD1D
0045AD16 MOV EAX,0
0045AD1B JMP SHORT EKD5_901.0045AD1F
0045AD1D SUB EAX,EDX
0045AD1F POP ECX
0045AD20 PUSH EAX
0045AD21 CALL EKD5_901.0043F70E
0045AD26 JMP SHORT EKD5_901.0045AD84
以下空余N字节直到0x0045AD83
2005-7-16 12:26
东方无翼
修正新增512名武将对话显示问题。
主要是将几处原来与0x200相比较的改为与0x400相比较。
R剧本人物说话
0042D603 CMP DWORD PTR SS:[EBP+C],400
0042D65A CMP DWORD PTR SS:[EBP+C],400
0042D6C8 CMP DWORD PTR SS:[EBP+C],400
S剧本人物说话
0042CB7F CMP DWORD PTR SS:[EBP+C],400
单挑出场
00417591 CMP EDX,400
004175A1 CMP EAX,400
2005-7-16 16:46
东方无翼
[color=blue]修正S战场上新增512人转向和动作[/color]
修改两处。使新增512人战场转向、动作事件有效。
0045743F CMP DWORD PTR SS:[EBP+8],400
004577D8 CMP DWORD PTR SS:[EBP+8],400
[color=blue]扩展动画为128个[/color]
1、在exe文件最后加入一个段,长0x2000字节。目前仅使用前0x0a00字节,余下的备用。
2、从exe文件偏移9ee00h起到9efffh为动画文件名索引,每四个字节为一个索引,内容为动画文件名在内存中的位置。
exe文件中9f000h到9f800h为动画文件名,每个最多15字节。相对内存位置为4ce200h到4cea00h。
3、修改exe
0041F4F2 CMP ECX,7F
0041F4F5 JLE SHORT 0041F4FE
0041F522 MOV EAX,DWORD PTR DS:[EDX*4+4CE000]
0042F7C7 837D 08 7F CMP DWORD PTR SS:[EBP+8],7F
0042F7CB 7F 15 JG SHORT 复件_EKD.0042F7E2
2005-7-17 10:58
幽人独往来
苦力活汇总
剧本事件:
[color=blue]1、4a和6,连续使用生效,或扩展至15人(急)[/color]
2、39等级提升,能否实现降低等级(缓)
3、能不能创造一个事件,对人物的基础值进行运算?(即通过事件,达到吃果子的效果。讨论)
4、能否创造一个事件,来判断玩家是否打通三个结局和集齐全宝物?(讨论)
[color=red]5、8菜单处置,能不能设置其true的时候就使工具栏可用,false的时候屏蔽工具栏(即屏蔽SL)?(一般)
6、36武将状态测试,既然其他的都有了,那么不妨加入一个MPCur的测试吧,加在HPCur和Lv之间。[/color]
DATA:
[color=blue]1、每关商店里出售的商品和喊出的人,只有0~57关,需要扩展(急)[/color]
2、法术后面有五个“终端”,可否利用(缓)
exe其他:
1、玄武、八阵图这两个法术的多重效果是怎么实现的?(讨论)
2005-7-17 13:03
东方无翼
[color=blue]加入武将的兵种等级[/color]
上次周大漏改了,只修改了转职的级别,新加入武将的兵种级别没改。修改两处
0040C493 CMP DWORD PTR SS:[EBP-4],28 ;40级2转
0040C4A2 CMP DWORD PTR SS:[EBP-4],14 ;20级1转
[color=blue]s剧本中,武将强制出场、不出场人数增加为15人[/color]
为防止影响内存中其他数据,将存储强制出场武将的内存移动到4cea00h处,强制不出场的移动到4CEA40h处。
剧本命令4a的格式也发生变化,38和39条目的个数各增加为15个。
注:利用了[color=blue]扩展动画为128个[/color]中增加的那个数据段。
0040CE0D CMP DWORD PTR SS:[EBP-8],0F
0040CE4A MOV DWORD PTR DS:[EDX*4+4CEA00],ECX
0040CE65 CMP DWORD PTR SS:[EBP-8],0F
0040CEA2 MOV DWORD PTR DS:[ECX*4+4CEA40],EAX
[quote]
[color=red]此部分代码已修改,见下一帖。[/color]
00415BAA    CMP EDX,0F
00415BC2    MOV DWORD PTR DS:[ECX*4+4CEA00],EAX
00415BE2    CMP EAX,0F
00415BFA    MOV DWORD PTR DS:[ECX*4+4CEA40],EAX
[/quote]
00415DD4 CMP DWORD PTR SS:[EBP-8],0F
00415DE7 MOV DWORD PTR DS:[ECX*4+4CEA00],EAX
00415E02 CMP DWORD PTR SS:[EBP-8],0F
00415E15 MOV DWORD PTR DS:[ECX*4+4CEA40],EAX
0041858E CMP ECX,0F
0041859C CMP DWORD PTR DS:[EDX*4+4CEA40],0
004185B2 CMP EAX,0F
004185EB CMP ECX,0F
004185F9 CMP DWORD PTR DS:[EDX*4+4CEA00],0
0041860B CMP DWORD PTR DS:[EAX*4+4CEA00],0FFFF
00418621 MOV EDX,DWORD PTR DS:[ECX*4+4CEA00]
0041863D MOV ECX,DWORD PTR DS:[EAX*4+4CEA00]
00418766 CMP ECX,0F
00418774 MOV EAX,DWORD PTR DS:[EDX*4+4CEA40]
[color=blue]R剧本里强制出场、不出场15人的限制。[/color]
接着上面S剧本的修改,再改一处即可
0041878D CMP ECX,0F
2005-7-17 17:59
东方无翼
[color=blue]R、S剧本中,06、4a连续起作用[/color]
在上一帖的修改中,修改了原剧本中06、4a指令的结构。造成了编辑上的不便。
还是修改为多个06、4a连续起作用比较方便。
以下修改后,须在R、S剧本中同时使用三个连续的06或4a。
06的修改
为了减少字节数并加入新功能,重写了从0x00415b59到0x00415c02的代码。
00415B59 CMP AX,8000
00415B5D JNZ SHORT EKD5_916.00415B69
00415B5F MOV EAX,5
00415B64 JMP EKD5_916.00415C42
00415B69 PUSH 4
00415B6B MOV ECX,DWORD PTR SS:[EBP+8]
00415B6E CALL EKD5_916.004183F7
00415B73 MOV DWORD PTR SS:[EBP-8],EAX
00415B76 CMP EAX,80000000
00415B7B JNZ SHORT EKD5_916.00415B87
00415B7D MOV EAX,5
00415B82 JMP EKD5_916.00415C42
00415B87 MOV CL,0
00415B89 CMP CL,5
00415B8C JGE SHORT EKD5_916.00415BB2
00415B8E MOV BYTE PTR SS:[EBP-C],CL
00415B91 Arg1 = 00000038
00415B93 MOV ECX,DWORD PTR SS:[EBP+8]
00415B96 CALL EKD5_916.004183F7
00415B9B MOV CL,BYTE PTR SS:[EBP-C]
00415B9E MOV EDX,DWORD PTR DS:[4CEA3C]
00415BA4 ADD DL,CL
00415BA6 MOV DWORD PTR DS:[EDX*4+4CEA00],EAX
00415BAD ADD CL,1
00415BB0 JMP SHORT EKD5_916.00415B89
00415BB2 ADD DL,1
00415BB5 CMP DL,0F
00415BB8 JNZ SHORT EKD5_916.00415BBC
00415BBA MOV DL,0
00415BBC MOV BYTE PTR DS:[4CEA3C],DL
00415BC2 MOV CL,0
00415BC4 CMP CL,5
00415BC7 JGE SHORT EKD5_916.00415BED
00415BC9 MOV BYTE PTR SS:[EBP-C],CL
00415BCC PUSH 39
00415BCE MOV ECX,DWORD PTR SS:[EBP+8]
00415BD1 CALL EKD5_916.004183F7
00415BD6 MOV CL,BYTE PTR SS:[EBP-C]
00415BD9 MOV EDX,DWORD PTR DS:[4CEA7C]
00415BDF ADD DL,CL
00415BE1 MOV DWORD PTR DS:[EDX*4+4CEA40],EAX
00415BE8 ADD CL,1
00415BEB JMP SHORT EKD5_916.00415BC4
00415BED ADD DL,1
00415BF0 CMP DL,0F
00415BF3 JNZ SHORT EKD5_916.00415BF7
00415BF5 MOV DL,0
00415BF7 MOV BYTE PTR DS:[4CEA7C],DL
00415BFD NOP
00415BFE NOP
00415BFF NOP
00415C00 NOP
00415C01 NOP
00415C02 NOP
4a的修改
4a原本代码比较精简,费了好半天劲也没有实现不占用其他字节数。最后还是恢复了老版本,占用了409102开始的部分字节。
00409102 JNZ SHORT EKD5_918.00409106
00409104 XOR EDX,EDX
00409106 MOV DWORD PTR DS:[4CEA7C],EDX
0040910C MOV ECX,EKD5_918.00492F90
00409111 CALL EKD5_918.0041856A
00409116 JMP EKD5_918.00415E28
00415DA5 CMP EAX,80000000
00415DAA JNZ SHORT EKD5_918.00415DB2
00415DAC XOR EAX,EAX
00415DAE MOV AL,5
00415DB0 JMP SHORT EKD5_918.00415E2D
00415DB2 TEST EAX,EAX
00415DB4 JNZ SHORT EKD5_918.00415DB7
00415DB6 INC EAX
00415DB7 MOV DWORD PTR SS:[EBP-4],EAX
00415DBA NOP
00415DBB NOP
00415DBC XOR ECX,ECX
00415DBE CMP ECX,5
00415DC1 JGE SHORT EKD5_918.00415DE5
00415DC3 MOV DWORD PTR SS:[EBP-8],ECX
00415DC6 PUSH 38
00415DC8 MOV ECX,DWORD PTR SS:[EBP+8]
00415DCB CALL EKD5_918.004183F7
00415DD0 MOV ECX,DWORD PTR SS:[EBP-8]
00415DD3 MOV EDX,DWORD PTR DS:[4CEA3C]
00415DD9 ADD EDX,ECX
00415DDB MOV DWORD PTR DS:[EDX*4+4CEA00],EAX
00415DE2 INC ECX
00415DE3 JMP SHORT EKD5_918.00415DBE
00415DE5 INC EDX
00415DE6 CMP EDX,0F
00415DE9 JNZ SHORT EKD5_918.00415DED
00415DEB XOR EDX,EDX
00415DED MOV DWORD PTR DS:[4CEA3C],EDX
00415DF3 XOR ECX,ECX
00415DF5 CMP ECX,5
00415DF8 JGE SHORT EKD5_918.00415E1C
00415DFA MOV DWORD PTR SS:[EBP-8],ECX
00415DFD PUSH 39
00415DFF MOV ECX,DWORD PTR SS:[EBP+8]
00415E02 CALL EKD5_918.004183F7
00415E07 MOV ECX,DWORD PTR SS:[EBP-8]
00415E0A MOV EDX,DWORD PTR DS:[4CEA7C]
00415E10 ADD EDX,ECX
00415E12 MOV DWORD PTR DS:[EDX*4+4CEA40],EAX
00415E19 INC ECX
00415E1A JMP SHORT EKD5_918.00415DF5
00415E1C INC EDX
00415E1D CMP EDX,0F
00415E20 NOP
00415E21 NOP
00415E22 NOP
00415E23 JMP EKD5_918.00409102
2005-7-17 20:20
东方无翼
[color=blue]扩充商店到127个[/color]
原来data中只有58个商店,看来是不够用了。增加到127个。
修改1、利用扩充人物到1024分配的那段内存。当然原来只有0x12000字节,早就知道不够用了。现改为0x20000字节。
00481642 PUSH 20000
修改2、修改一些偏移和循环标识。
改后的商店信息从0x0c72000开始。
004197EB ADD ECX,0C72000
00419878 ADD ECX,0C72000
00419905 ADD ECX,0C72000
0041B82B CMP DWORD PTR SS:[EBP-8],7F
0041B83B ADD ECX,0C72000
0042B27F PUSH 7f
0042B283 PUSH 0C72000
0042B2A9 PUSH 7f
0042B2AD PUSH 0C72000
00466B7C ADD ECX,0C72000
00466CD0 ADD ECX,0C72000
004684A9 ADD ECX,0C72000
0046857F ADD ECX,0C72000
0046860E ADD ECX,0C72000
0046B13A ADD ECX,0C72000
0046B26C ADD ECX,0C72000
0046DC43 ADD ECX,0C72000
修改3、相应的data文件中的信息。
商店信息是第三段。
注:还是未经全面测试滴。
2005-7-18 09:12
周瑜
如果控制只能每回合初存档提档,可以实现。
点击SL按钮后,检查是否当前所有人均未行动,如某人已行动,则提示“只能在回合初存档取档”,不执行存取操作。
不足之处:若已行动武将被反击致死,会被认为没有行动。
检测当前回合数是否是多少的倍数,可以实现每隔几回合允许存一次档。(如第n章每隔5-n回合允许存取一次档)
至于剧本中使用全局变量控制能否随时存档,几回合才能存一次档,或者触发事件之后才能存档,还是请教主来吧。
2005-7-18 17:02
东方无翼
[color=blue]增加战场名称到99个[/color]
原来的imsg里面就可以写99条,也懒的扩充了。99个就99个吧
0040BFA7 CMP DWORD PTR SS:[EBP+C],63
00449E6B CMP ECX,63
另:上面有关R、S剧本06、4a指令的修改修正了一下。
2005-7-19 22:53
东方无翼
[color=blue]06、4a连续起作用的补充[/color]
修改存读存档时,写入的内容和偏移、大小。
修改后存档文件SV??D.e5的大小改变,增加20字节。
0040D103 CMP DWORD PTR SS:[EBP-4],0F
0040D10F MOV ECX,DWORD PTR DS:[EDX*4+4CEA00]
0040D130 MOV EAX,DWORD PTR DS:[ECX*4+4CEA00]
0040D15C CMP DWORD PTR SS:[EBP-4],0F
0040D168 MOV EAX,DWORD PTR DS:[ECX*4+4CEA40]
0040D188 MOV EDX,DWORD PTR DS:[EAX*4+4CEA40]
0041AF58 ADD EAX,2EE
0041AFD7 ADD ECX,14F0
0041B2F7 ADD ECX,2EE
0041B36A ADD EAX,14F0
2005-8-19 14:27
东方无翼
[color=blue]改一个增加能力上限的后遗症[/color]
就是个单\双字节的问题.
00408CD0 MOV ECX,DWORD PTR SS:[EBP-18]
00408CD3 MOV EDX,DWORD PTR SS:[EBP+C]
00408CD6 XOR EAX,EAX
00408CD8 MOV AL,BYTE PTR DS:[EDX]
00408CDA MOV WORD PTR DS:[ECX+11],AX
00408CDE INC EDX
00408CDF MOV DWORD PTR SS:[EBP+C],EDX
00408CE2 NOP
00408CE3 NOP
00408CE4 MOV EDX,DWORD PTR SS:[EBP-18]
00408CE7 MOV EAX,DWORD PTR SS:[EBP+C]
00408CEA XOR ECX,ECX
00408CEC MOV CL,BYTE PTR DS:[EAX]
00408CEE MOV WORD PTR DS:[EDX+13],CX
00408CF2 INC EAX
00408CF3 MOV DWORD PTR SS:[EBP+C],EAX
00408CF6 NOP
00408CF7 NOP
00408CF8 MOV EAX,DWORD PTR SS:[EBP-18]
00408CFB MOV ECX,DWORD PTR SS:[EBP+C]
00408CFE XOR EDX,EDX
00408D00 MOV DL,BYTE PTR DS:[ECX]
00408D02 MOV WORD PTR DS:[EAX+15],DX
00408D06 INC ECX
00408D07 MOV DWORD PTR SS:[EBP+C],ECX
00408D0A NOP
00408D0B NOP
00408D0C MOV ECX,DWORD PTR SS:[EBP-18]
00408D0F MOV EDX,DWORD PTR SS:[EBP+C]
00408D12 XOR EAX,EAX
00408D14 MOV AL,BYTE PTR DS:[EDX]
00408D16 MOV WORD PTR DS:[ECX+17],AX
00408D1A INC EDX
00408D1B MOV DWORD PTR SS:[EBP+C],EDX
00408D1E NOP
00408D1F NOP
00408D20 MOV EDX,DWORD PTR SS:[EBP-18]
00408D23 MOV EAX,DWORD PTR SS:[EBP+C]
00408D26 XOR ECX,ECX
00408D28 MOV CL,BYTE PTR DS:[EAX]
00408D2A MOV WORD PTR DS:[EDX+19],CX
00408D2E INC EAX
00408D2F MOV DWORD PTR SS:[EBP+C],EAX
00408D32 NOP
00408D33 NOP
2005-8-20 01:51
btzhang02
[quote]原帖由[i]东方无翼[/i]于2005-08-19, 14:27:58发表
[color=blue]改一个增加能力上限的后遗症[/color]
就是个单\双字节的问题.
00408CD0 MOV ECX,DWORD PTR SS:[EBP-18]
00408CD3 MOV EDX,DWORD PTR SS:[EBP+C]
00408CD6 XOR EAX,EAX
00408CD8 MOV AL,BYTE PTR DS:[EDX]
00408CDA MOV WORD PTR DS:[ECX+11],AX
00408CDE INC EDX
00408CDF MOV DWORD PTR SS:[EBP+C],EDX
00408CE2 NOP
00408CE3 NOP
00408CE4 MOV EDX,DWORD PTR SS:[EBP-18]
00408CE7 MOV EAX,DWORD PTR SS:[EBP+C]
00408CEA XOR ECX,ECX
00408CEC MOV CL,BYTE PTR DS:[EAX]
00408CEE MOV WORD PTR DS:[EDX+13],CX
00408CF2 INC EAX
00408CF3 MOV DWORD PTR SS:[EBP+C],EAX
00408CF6 NOP
00408CF7 NOP
00408CF8 MOV EAX,DWORD PTR SS:[EBP-18]
00408CFB MOV ECX,DWORD PTR SS:[EBP+C]
00408CFE XOR EDX,EDX
00408D00 MOV DL,BYTE PTR DS:[ECX]
00408D02 MOV WORD PTR DS:[EAX+15],DX
00408D06 INC ECX
00408D07 MOV DWORD PTR SS:[EBP+C],ECX
00408D0A NOP
00408D0B NOP
00408D0C MOV ECX,DWORD PTR SS:[EBP-18]
00408D0F MOV EDX,DWORD PTR SS:[EBP+C]
00408D12 XOR EAX,EAX
00408D14 MOV AL,BYTE PTR DS:[EDX]
00408D16 MOV WORD PTR DS:[ECX+17],AX
00408D1A INC EDX
00408D1B MOV DWORD PTR SS:[EBP+C],EDX
00408D1E NOP
00408D1F NOP
00408D20 MOV EDX,DWORD PTR SS:[EBP-18]
00408D23 MOV EAX,DWORD PTR SS:[EBP+C]
00408D26 XOR ECX,ECX
00408D28 MOV CL,BYTE PTR DS:[EAX]
00408D2A MOV WORD PTR DS:[EDX+19],CX
00408D2E INC EAX
00408D2F MOV DWORD PTR SS:[EBP+C],EAX
00408D32 NOP
00408D33 NOP [/quote]
我没有学过Vc+反编译,不知道可不可以用UltraEdit编辑:
用UltraEdit读取Ekd5.exe,直接用以上代码减去00400C00偏移量就等于Ekd5.exe对应地址,只是Vc+所应用的代码执行诸如MOV ECX,DWORD PTR SS:[EBP-18],MOV EDX,DWORD PTR SS:[EBP+C],XOR EAX,EAX,MOV AL,BYTE PTR DS:[EDX]看不懂什么意思 ,教主能否简单说明下,相信对很多人都有帮助的.....
以下是教主的 改能力上限的后遗症的代码 在Ekd5.exe所对应的位置.
000080D0 MOV ECX,DWORD PTR SS:[EBP-18]
000080D3 MOV EDX,DWORD PTR SS:[EBP+C]
000080D6 XOR EAX,EAX
000080D8 MOV AL,BYTE PTR DS:[EDX]
000080DA MOV WORD PTR DS:[ECX+11],AX
000080DE INC EDX
000080DF MOV DWORD PTR SS:[EBP+C],EDX
000080E2 NOP
000080E3 NOP
000080E4 MOV EDX,DWORD PTR SS:[EBP-18]
000080E7 MOV EAX,DWORD PTR SS:[EBP+C]
000080EA XOR ECX,ECX
000080EC MOV CL,BYTE PTR DS:[EAX]
000080EE MOV WORD PTR DS:[EDX+13],CX
000080F2 INC EAX
000080F3 MOV DWORD PTR SS:[EBP+C],EAX
000080F6 NOP
000080F7 NOP
000080F8 MOV EAX,DWORD PTR SS:[EBP-18]
000080FB MOV ECX,DWORD PTR SS:[EBP+C]
000080FE XOR EDX,EDX
00008100 MOV DL,BYTE PTR DS:[ECX]
00008102 MOV WORD PTR DS:[EAX+15],DX
00008106 INC ECX
00008107 MOV DWORD PTR SS:[EBP+C],ECX
0000810A NOP
0000810B NOP
0000810C MOV ECX,DWORD PTR SS:[EBP-18]
0000810F MOV EDX,DWORD PTR SS:[EBP+C]
00008112 XOR EAX,EAX
00008114 MOV AL,BYTE PTR DS:[EDX]
00008116 MOV WORD PTR DS:[ECX+17],AX
0000811A INC EDX
0000811B MOV DWORD PTR SS:[EBP+C],EDX
0000811E NOP
0000811F NOP
00008120 MOV EDX,DWORD PTR SS:[EBP-18]
00008123 MOV EAX,DWORD PTR SS:[EBP+C]
00008126 XOR ECX,ECX
00008128 MOV CL,BYTE PTR DS:[EAX]
0000812A MOV WORD PTR DS:[EDX+19],CX
0000812E INC EAX
0000812F MOV DWORD PTR SS:[EBP+C],EAX
00008132 NOP
00008133 NOP
2005-8-20 08:31
东方无翼
因为UE没有反汇编功能,所以你能看到的就是16进制的机器码。
建议适用某种反汇编调试工具,我用的是OllyDbg,有时也用softice,到网上搜一就能找到。这些工具可以即时调试、检测内存,也可以将机器码反汇编成汇编代码,如
[quote]MOV ECX,DWORD PTR SS:[EBP-18]
MOV EDX,DWORD PTR SS:[EBP+C]
XOR EAX,EAX
MOV AL,BYTE PTR DS:[EDX][/quote]
这样的一些内容,更便于你阅读并理解程序。
关于汇编语言的语法,可以去网上搜
另外看雪学院(www.pediy.com)有很多关于破解修改的知识, 会帮上你的。
2005-8-20 08:41
东方无翼
[color=blue]98下无法运行的修正[/color]
98/ME下用使用原版--仅从音轨播放音乐的koeicda.dll(31k版本)可以开始游戏,但使用硬盘版--可以播放本地mp3的koeicda.dll(44k)却无法运行。
原来是人物信息的内存跟此版本dll试用的内存的相冲突。遂将原0x00c60000位置分配的内存後移至0x00d60000。
相关修改有
1、将exe中所有0x00c60000改为0x00d60000
2、神仙教学部分,修改神仙和弟子的数据偏移。
3、扩充商店到127个中,将0x00c72000 改为 0x00d72000。
2005-11-30 21:37
东方无翼
[color=blue]敌军、友军移动时,AI计算错误的BUG[/color]
具体的问题我也描述不清 大约就是前面的AI正好占住了后面AI[color=red]最[/color]想要移动到的位置,而后面的AI不去寻找次优解反而停住不走了。
这个BUG很奇怪,原以为是逻辑上的错误。但是最终发现是栈空间出了问题。猜测是编译器的bug吧,不过光荣这段代码写的也不咋地,效率真的不高。
[color=red]修改一处:[/color]
0043817B SUB ESP,14
原来是 SUB ESP,10,但是程序在EBP-10位置存储了一个关键变量(想要移动到的位置),结果在调用其它函数(实际上是递归调用自身)的时候被参数冲掉了。显然在递归进去的函数里获得的是一个错误的值。 而这个递归也就失效了。
找了将近两天,才改了一个字节。。。真是不平衡。。。
2005-12-4 13:45
lxillidan
虽然不大懂,但还是要说你们太厉害了!
2005-12-9 21:37
轩辕一狼
神啊,我都看晕了啊,我只想知道怎么改兵种名称、替换人物头像(非曹操传的自带头像)以及如何修改战场的形象。
战场形象只会拿小江东的修改器的程序修改来替换,至于怎么把两转前的人物形象空起来替换还是不会……
2005-12-19 13:00
慕容雪芸
[quote]原帖由[i]东方无翼[/i]于2005-07-17, 14:03:46发表
00415DD4 CMP DWORD PTR SS:[EBP-8],0F
00415DE7 MOV DWORD PTR DS:[ECX*4+4CEA00],EAX
00415E02 CMP DWORD PTR SS:[EBP-8],0F
00415E15 MOV DWORD PTR DS:[ECX*4+4CEA40],EAX[/quote]这个,有点疑问,好像写了下面的代码,这一段也不用写了,不知道是否
2006-1-21 11:13
周瑜
[quote]原帖由[i]东方无翼[/i]于2005-07-10, 3:34:30发表
剧本的指令中,有两个改变人物属性的。
一个是0x38号代码,改变人物基本属性的。
一个是0x4d号代码,就是所谓的站力削弱,改变人物战场属性的。
其中战力削弱,对于战场上的人物,只能减少其hp,而不能增加或者设定hp等于某值,以下修改是增加此功能的。 [/quote]
许多人反映,指令38中加减设定当前HP无效。而4d只能减血,东方看看能不能实现加血的指令。
2006-1-21 12:09
博雅张生
[quote]0045AC10 MOV ECX,DWORD PTR SS:[EBP-4]
0045AC13 AND ECX,0FF
0045AC19 IMUL ECX,ECX,24
0045AC1C ADD ECX,EKD5_507.004B2C50
0045AC22 CALL EKD5_507.00472C90
0045AC27 MOV EDX,DWORD PTR SS:[EBP+10]
0045AC2A AND EDX,0FF
0045AC30 PUSH ECX
0045AC31 MOV ECX,DWORD PTR SS:[EBP+24]
0045AC34 AND ECX,0FF
0045AC3A CMP CL,2
0045AC3D JNZ SHORT EKD5_507.0045AC43
0045AC3F ADD EAX,EDX
0045AC41 JMP SHORT EKD5_507.0045AC63
0045AC43 CMP CL,1
0045AC46 JNZ SHORT EKD5_507.0045AC56
0045AC48 CMP EDX,0
0045AC4B JG SHORT EKD5_507.0045AC52
0045AC4D MOV EDX,1
0045AC52 MOV EAX,EDX
0045AC54 JMP SHORT EKD5_507.0045AC63
0045AC56 CMP EAX,EDX
0045AC58 JGE SHORT EKD5_507.0045AC61
0045AC5A MOV EAX,1
0045AC5F JMP SHORT EKD5_507.0045AC63
0045AC61 SUB EAX,EDX
0045AC63 POP ECX
0045AC64 PUSH EAX
0045AC65 CALL EKD5_507.0043F6CD
0045AC6A JMP EKD5_507.0045AD84[/quote]
这个不就是增加4D中加Hpcur和直接设定Hpcur的改动么?
在岳飞传中工作正常啊。
2006-1-24 10:43
慕容雪芸
强制15个人出场的改后总有问题……原因没去查,所正不是进不了游戏,就是读档不显示R剧本中的人物
2006-2-14 21:56
东方无翼
修正一个应该是曹操传本身的BUG,其直接效果是导致在说岳中(其他MOD中也有可能),当武将装备的武器、防具数量总和超过36个时(对其他MOD,这个数字可能不同),点击“持有道具一览”会错误退出。
00466E1B 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00466E2E 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
00466E43 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
PS:错误在于一个循环中有两个递增量,误用为另外一个了。
2006-2-14 22:00
东方无翼
[quote]原帖由[i]雪芸[/i]于2006-01-24, 10:43:54发表
强制15个人出场的改后总有问题……原因没去查,所正不是进不了游戏,就是读档不显示R剧本中的人物 [/quote]
可能是我漏写什么了吧。因此也一直拖欠了奉先和村夫二位的exe好久,实在不好意思。
2006-2-19 10:20
慕容雪芸
[quote]原帖由[i]东方无翼[/i]于2006-02-14, 23:00:06发表
可能是我漏写什么了吧。因此也一直拖欠了奉先和村夫二位的exe好久,实在不好意思。 [/quote]
好像奉先没向教主要EXE……下面两个写漏的地方就是他找出来 偶没那个心情去找,丢给他了,最后发现是东方哥哥少写了几句,导致R剧本读档时,人物都消失不见了。
0042A0CE 68 F0020000 PUSH 2F0
0042A136 68 F0020000 PUSH 2F0
2006-2-21 00:16
appletong
[quote]原帖由[i]东方无翼[/i]于2006-02-14, 21:56:46发表
修正一个应该是曹操传本身的BUG,其直接效果是导致在说岳中(其他MOD中也有可能),当武将装备的武器、防具数量总和超过36个时(对其他MOD,这个数字可能不同),点击“持有道具一览”会错误退出。
00466E1B 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00466E2E 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
00466E43 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
PS:错误在于一个循环中有两个递增量,误用为另外一个了。 [/quote]
这个好像还是不行 (我用的是原版ccz 加了 叶落得形象补丁,其余都是UE替换没伤筋动骨), 28个武将 武器装备都有时还没事,把装备都带满(包括宝物)一点还是跳出。
附存档(测试用的,胡乱改了一个)
不会发附件 老大还是自己改一个吧
2006-2-21 17:54
van
原版的至多可以支持200(未装备)+78(装备),否则会缓冲区溢出
2006-2-22 23:14
appletong
那在原版中改了这个之后有什么副作用。
该的时候没看“导致在说岳中”
2006-2-23 10:05
van
没有副作用,东方修正的是原版的bug
2006-2-23 20:33
appletong
[quote]原帖由[i]van[/i]于2006-02-23, 10:05:44发表
没有副作用,东方修正的是原版的bug [/quote]
我比较笨,原版不就是78跳出吗,用这个后还跳,那修正什么了
请老大指教
2006-2-23 21:00
van
原版的那个bug和78的上限没有关系。只允许78个不属于bug的,hehe
2006-2-26 18:13
博雅张生
[quote]原帖由[i]van[/i]于2006-02-23, 21:00:33发表
原版的那个bug和78的上限没有关系。只允许78个不属于bug的,hehe [/quote]
这78个是在哪个函数里限制的?容易修改么?
2006-2-26 19:25
van
“78”就是在CListCtrl的派生类里申明了一个 int[78]的成员数组。要改的话地方很多~
PS:张生还在忙说岳啊,要网络与现实兼顾哦~
2006-8-24 14:29
岱瀛
挖墓挖到这个帖子,只是我方最多26人,每个人装备就最多就3个,26*3=78正好,张生为什么要改这个78呢:qoo+
2006-8-24 14:55
博雅张生
[quote]原帖由 [i]岱瀛[/i] 于 2006-8-24 14:29 发表
挖墓挖到这个帖子,只是我方最多26人,每个人装备就最多就3个,26*3=78正好,张生为什么要改这个78呢:qoo+ [/quote]
因为我方可能超过26人啊。
2006-8-24 15:05
司徒苍月
[quote]原帖由 [i]岱瀛[/i] 于 2006-8-24 14:29 发表
挖墓挖到这个帖子,只是我方最多26人,每个人装备就最多就3个,26*3=78正好,张生为什么要改这个78呢:qoo+ [/quote]
26人以上是可以的,只是出兵显示不了后面的人物,必须重新排序才可看见
2006-8-24 15:39
岱瀛
[quote]原帖由 [i]司徒苍月[/i] 于 2006-8-24 15:05 发表
26人以上是可以的,只是出兵显示不了后面的人物,必须重新排序才可看见 [/quote]
这样做出来,肯定会被定性为BUG的。除非把那个框做大,能多放几个人进去,或者给个翻页按钮出个翻页功能:()
2006-8-24 15:55
司徒苍月
[quote]原帖由 [i]岱瀛[/i] 于 2006-8-24 15:39 发表
这样做出来,肯定会被定性为BUG的。除非把那个框做大,能多放几个人进去,或者给个翻页按钮出个翻页功能:() [/quote]
这个与拙作无关,拙作全部凑齐才15人:lol:
2006-8-25 13:12
WWYWW
[quote]原帖由 [i]岱瀛[/i] 于 2006-8-24 15:39 发表
这样做出来,肯定会被定性为BUG的。除非把那个框做大,能多放几个人进去,或者给个翻页按钮出个翻页功能:() [/quote]
不要忘了强制出场和强制不出场:lol:
2007-7-22 12:52
鸣人之子
有没有修改好的EXE啊?如果有给一个下载地址
2007-8-13 12:41
佐裹义师
谢谢111
2007-8-14 03:01
神的儿子
请问教主说的"virtualalloc" 是一个什么软件?
2007-8-17 16:39
gyjyxj
楼主能不能帮忙把三国志5中的游戏主程序中武将数据提取出来,参看这个帖子[url]http://www.langya.org/bbs/showthread.php?t=59259[/url]
2007-12-7 14:17
paro
关于这点
第六步、列传
原来仅有前174人有列传,现在扩展到所有1024人。需同时修改imsg.e5。
其实是将人物列传的位置移动到imsg.e5的最后,并且补齐1024个。
修改位置:代码中,0x0040bfeb位置,修改为CMP DWORD PTR SS:[EBP+C],400 (循环次数)
0x0040bff9位置修改为ADD EAX,39A (39a指定文件中列传的起始位置)
到底是怎么改的啊~!新的引擎支持这个不:qoo+
谁来回答下!:Th
2008-12-26 19:09
酷儿008
这个是要用UltraEdit来修改吗???
2008-12-26 20:00
酷儿008
谁能帮我解释一下楼主在16楼的帖子呀,我怎么看不懂呢????
2008-12-30 16:55
酷儿008
太深奥了。
2009-1-2 23:03
今天心情好
可以请教一下各位大侠
如何把无法转职的兵种合并呢??
比如说
(驯熊师,驯虎狮,都督)合并成一个职业
(咒术师,仙人,辎重队)合并成一个职业
(粮秣队,木人,土偶)合并成一个职业
可以告知小编这些之间UE相对应的位置吗??
2009-3-6 14:56
酷儿008
请问virtualalloc是个什么东西?从哪里下载呢?
2009-10-16 06:31
ryanley
[quote]原帖由 [i]慕容雪芸[/i] 于 2006-1-24 10:43 发表
强制15个人出场的改后总有问题……原因没去查,所正不是进不了游戏,就是读档不显示R剧本中的人物 [/quote]
请问这个问题要怎么解决…………
2009-10-17 02:09
ryanley
-_-,看来大家已经不关心这个古老的话题了……
连续3个出场设置的美梦泡汤了:wacko:
页:
[1]
2
Powered by Discuz! Archiver 5.0.0
© 2001-2006 Comsenz Inc.