- UID
- 4949670
- 主题
- 12
- 阅读权限
- 30
- 帖子
- 294
- 精华
- 1
- 积分
- 453
- 金钱
- 4623
- 荣誉
- 10
- 人气
- 59
- 在线时间
- 4013 小时
- 评议
- 0
- 帖子
- 294
- 精华
- 1
- 积分
- 453
- 金钱
- 4623
- 荣誉
- 10
- 人气
- 59
- 评议
- 0
|
本帖最后由 wangzc2009 于 2016-6-10 23:30 编辑
bhima 发表于 2016-6-10 21:15 
谢谢了,其实3代的时候主角在成为城主前是可以让手下自己去修炼的,以后的两代都没有。主角在业余时间修炼 ...
不好意思,下午匆忙中又出了错!晚上验证时重新理顺了逻辑! 请到187楼重新下载最新更新的:我把相关代码注释如下!
newmem:
push eax
push ebx
push ecx
mov eax,[esi] //从插入点取esi的值(这个值是修炼NPC的武将编号)
mov bx,24 //npc武将占据的内存空间24(十六进制,十进制为36)
mul bx //乘法,把ax= ax*bx
add eax,0076429C //0076429C是编号为0的武将上司编号内存所在地;eax为修炼npc上司的编号内存地址
mov ebx,eax //临时保持当前检查的修炼NPC上司的编号内存地址
mov ax,[eax] //读取NPC上司的编号
cmp ax,[0075361A] //对比npc上司的编号 和0075361A(主角编号) 是否一致
je op
//jne originalcode
mov cl,[ebx-5] //把修炼npc的所属势力编号存入cl
mov eax,[0075361A] //读取主角编号
mov bx,24
mul bx
add eax,00764297 //eax就是主角所属势力编号
mov al,[eax]
cmp al,cl //比对2个势力编号是否一样
je op
jne originalcode
op:
pop ecx
pop ebx
pop eax
cmp eax,0
jb 004129D7
jmp exit
originalcode:
pop ecx
pop ebx
pop eax
cmp eax,32
jb 004129D7
exit:
jmp returnhere
00412963:
jmp newmem
returnhere:
newmem1:
push eax
push ebx
push ecx
mov eax,[ebp+8] //把修炼npc的武将编号读入eax
mov bx,24
mul bx
add eax,0076429C //eax里是修炼npc武将的上司的武将编号的内存地址
mov ebx,eax
mov ax,[eax] //ax里是修炼npc的上司的武将编号
cmp ax,[0075361A] //对比修炼npc的上司和主角编号是否一致
je op1
//jne originalcode1
mov cl,[ebx-5] //修炼npc的势力编号存入cl
mov eax,[0075361A] //主角武将编号
mov bx,24
mul bx
add eax,00764297 //主角的势力编号内存地址
mov al,[eax] //al里是主角势力的编号
cmp al,cl //对比修炼npc的势力编号和主角势力编号是否一致
je op1
jne originalcode1
op1:
pop ecx
pop ebx
pop eax
cmp eax,0
jb 004129D1
jmp exit1
originalcode1:
pop ecx
pop ebx
pop eax
cmp eax,32
jb 004129D1
exit1:
jmp returnhere1
004129C3:
jmp newmem1
returnhere1:
|
|