爱的燃火
发表于 2014-10-20 18:50:02
贤知有您 发表于 2014-10-20 12:26
ERA的插件下有个 dismiss last stack.bin
可以让英雄解散最后的部队实现裸奔.不过裸奔的英雄仍然无法从城 ...
看起来是两个jmp啊,不知道3。1里能不能用。。。。
贤知有您
发表于 2014-10-20 21:08:37
爱的燃火 发表于 2014-10-20 18:50
看起来是两个jmp啊,不知道3。1里能不能用。。。。
就一个jmp,erm需要这样处理而已。
贤知有您
发表于 2014-10-25 12:25:09
改变宝物的加四维效果
!?PI;
!!FU9129:P宝物ID/攻击/防御/力量/知识;
!?GM0;
!!FU9129:P宝物ID/攻击/防御/力量/知识;
!?FU9129; [设置宝物加四维状态]ERA
!!VRy1:S8094552;
!!VRy2:Sx1*4+y1;
!!UN:Cy2/1/x2;
!!VRy2:+1;
!!UN:Cy2/1/x3;
!!VRy2:+1;
!!UN:Cy2/1/x4;
!!VRy2:+1;
!!UN:Cy2/1/x5;
例如:
!!FU9129:P169/1/2/3/4; [那么169宝物效果为+1攻2防3力量4知识]
贤知有您
发表于 2014-10-25 12:28:07
改变城镇的特殊额外资源
ZVSE
!?FU40078;
**x1 - 城镇类型, x2 - 资源类型(0-6), x3 - 数量
!!VRy1:Sx1*7+x2*4 +6852356;
!!UN:Cy1/4/x3;
*举例,人族的城镇将增加1宝石(非原来的矿石和木材)
!?PI;
!!FU40078:P0/0/0;[去掉原来加木头]
!!FU40078:P0/2/0;[去掉原来加石头]
!!FU40078:P0/5/1;[增加宝石]
!?GM0;
!!FU40078:P0/0/0;
!!FU40078:P0/2/0;
!!FU40078:P0/5/1;
贤知有您
发表于 2014-10-25 12:29:07
使四神使可以攻击生物(出自:OxFEA)
!!UN:C7696529/2/15083;
!!UN:C7718934/4/50000;
!!UN:C7718943/4/50001;
!!UN:C7727325/4/50000;
!!UN:C7727334/4/50001;
爱的燃火
发表于 2014-10-25 12:58:32
贤知有您 发表于 2014-10-25 12:28
改变城镇的特殊额外资源
ZVSE
!?FU40078;
额外资源能直接突破2样的限制吗?sod里超过2样就出错了,虽然能找到查询次数,但懒得追代码。。。。
沧海一粟
发表于 2014-10-25 13:19:46
作为封神基石帖,每天进来瞧瞧是必须的:good_job:
贤知有您
发表于 2014-10-28 08:47:44
解决WOG/ERA中部队只有小天使时,查看士气的文本BUG.
ZVSE
!?PI;
!!UN:C7735887/4/2425393296;
!!UN:C7735891/1/144;
!?GM0;
!!UN:C7735887/4/2425393296;
!!UN:C7735891/1/144;
贤知有您
发表于 2014-10-28 08:53:42
全局性修改重生的比例
原重生比例为20%,包括凤凰和经验特技重生.
可只改重生比例,最后两句可照搬,不考虑余数效应.
!!UN:C4624542/4/14456457;
!!UN:C4624546/4/3247112192;
!!UN:C4624550/1/187;
!!UN:C4624551/4/5;[修改为IDIV模式,第一次除以5](表示重生比例为1/5,改成2则为1/2)
!!UN:C4624555/1/153;
!!UN:C4624556/4/3633052663;
!!UN:C4624560/4/2425405835;
!!UN:C4624564/4/2425393296;
!!UN:C4624569/4/1;[原版第二个除以5的位置,计算是否有余数](改成1的话,就不考虑余数效应了)
!!UN:C4624593/4/5;[原版第三个除以5的位置,计算上面余数效应,通过一个随机数除以5整除时增加重生个数]
贤知有您
发表于 2014-10-28 08:56:01
零级或低级水系也能对敌我使用单体驱散魔法
原版只有中级水系可以对敌我使用单体驱散,零级和低级只能对己方使用.
!?PI;
!!UN:C5932168/2/8171 C5932170/1/144;
!?GM0;
!!UN:C5932168/2/8171 C5932170/1/144;
贤知有您
发表于 2014-10-28 08:59:12
屏蔽159龙之心和143怪物之力宝物功能
屏蔽:
!!UN:C7763913/2/59792;[屏蔽龙之心]
!!UN:C7736080/2/37008;[屏蔽 143怪物之力 功能(祈祷)]
还原:
!!UN:C7763913/2/33807;[还原 还原龙之心]
!!UN:C7736080/2/629;[还原 143怪物之力]
贤知有您
发表于 2014-10-28 09:20:17
各种显示对话框界面
1.调出城镇大地图右键暗示[贤知有您]
示例
!?CM0;
!!CM:I?y1 F?y2;
!!FU&y1<>1/y2<>14:E;[冒险界面右键点 小地图]
!!CM:R0;
!!FU9999949:P0/-1/-1/0;[屏幕中心,显示0#城镇的信息]
!?FU9999949;
*右键点击时调用,用于显示城镇暗示信息对话框.右键松开则自动释放.
*ByHawaiing 007
*x1=城镇编号(0-47)
*x2=对话框中心x坐标(像素)
*x3=对话框中心y坐标(像素)
*x4=0-1 (是否带阴影)
!!FU|x1<0/x1>47:E;
!!VRx4|x4<0/x4>1:S0;
!!UN:C6918840/4/?y1;
!!VRx2|x2<97/x2>703:S400;
!!VRx3|x3<93/x3>507:S300;[默认居中]
!!SN:E4286208/2/y1/x1/x2/x3/0;
2.战场调出生物经验特技界面(通过堆栈号)[贤知有您]
!?FU100625; [调出堆栈生物经验特技界面]
**x1=堆栈编号(0-41)**
!!FU|x1<0/x1>41:E;
!!BMx1:T?y1;
!!FU&y1<0:E;
!!UN:C6919200/4/?y2;
!!VRy3:Sx1 *1352 +21708 +y2;
!!SN:E7490260/1/y3;
3.战场调用生物属性界面(通过堆栈号)[贤知有您]
!?FU100619; [显示战场生物属性By007]
**x1=堆栈号(0-41)
**x2=0-1 (是否暗示形式)
!!FU|x1<0/x1>41:E;
!!UN:C6919200/4/?y1;
!!BMx1:T?y2 N?y3;
!!FU|y2<0:E;
!!VRy4:Sx1 *1352 +21708 +y1;
!!SN:E4621376/2/y1/y4/x2;
4.英雄界面中调出生物属性对话框
!?FU70003; OPEN CREATURE FROM HERO SLOT WINDOW
;Master Of Puppets
; Convention - thiscall
; x1 = 0 该函数使用0(作者设定)
; x2 - object number(?): HE:N 英雄编号
; x3 - slot 生物槽(0-6)
; x4 - Dismiss button: 1 - present, 0 - absent (是否有解雇部队按钮)
; x5 - close the dialog on mouse release: 1 - yep, 0 - nope (是否是暗示形式)
!!UN:C6933756/4/?y5;
!!OW:C?y2;
!!VRy1:Sy2*360;
!!VRy5:-y1;
!!UN:C6919480/4/?y10;4byte->82516904
!!if&x1=0;
!!HE-1&x2=-1:N?x2;
!!VRy1:Sx2*1170+y5+3041;
!!VRy3:Sx3*4+y1;
!!UN:Cy3/4/<0;
!!FU&1:E;
!!VRy3:Sy1-145;
!!SN:E5007632/2/y10/y1/x3/y3/0/119/20/x4/x5;
!!en;
5.大地图调出英雄界面
!!SN:E5118576/1/x1/x2;
x1=英雄编号
x2=释放鼠标关闭(是否暗示形式) 0,否;1,是.
6.显示普通生物经验特技 [贤知有您]
!?CM0;
!!CM:I?y1 F?y2;
!!FU&y1<>1/y2<>14:E;
!!CM:R0;
!!SN:E7489350/1/150/1/0/0;[显示150#生物经验特技,数量为1,经验为0,第四参数填0]
7.指挥官对话框
!?FU@FunctionNumber@;
; x1: 英雄编号
; x2: 0 - 正常对话框, 1 - 暗示对话框
; x3: 0 - 带OK按钮, 1 - 无
; x4: 返回
!!VRy1:Sv1;
!!VRx1:*296+42344640;
!!SN:E7775342/2/x1/x2/x3/0;
!!SN:E7812840/1/42337496;
!!VRx4:Sv1;
!!VRv1:Sy1;
8.战场调出堆栈生物经验特技界面[贤知有您]
!?FU100625; [战场调出堆栈生物经验特技界面By007]
**x1=堆栈编号(0-41)**
!!FU|x1<0/x1>41:E;
!!BMx1:T?y1;
!!FU&y1<0:E;
!!UN:C6919200/4/?y2;
!!VRy3:Sx1 *1352 +21708 +y2;
!!SN:E7490260/1/y3;
9.显示大地图英雄简洁界面对话框(类似右键点英雄出现的小对话框)[贤知有您]
!!UN:C6919480/4/?y1;
!!VRy2:S155;
!!SN:E4285680/2/y1/y2/400/300/0;
10.其它特殊对话框[作者未知]
查看冒险日志
!!SN:E5433616/1;
调出市场界面
!!SN:E6202336/1;
注:在游戏刚启动时会引致崩溃,需先进入城镇.
调用当前城镇的17号建筑(如宝物商店,逃逸之路,黑暗天幕等)
!!SN:E6201632/1;
(城镇界面下)触发点击地狱城的城堡大门
!?CM1;
!!CA-1:H1/<0; [是否有访问英雄]
!!FU&1:E;
!!UN:C6919500/4/?y1;
!!SN:E6129792/2/y1;
(城镇界面下)进入城镇大厅
!?CM1;
!!UN:C6919500/4/?y1;
!!SN:E6106032/2/y1;
贤知有您
发表于 2014-10-30 09:18:14
修正格挡降防BUG [贤知有您]
ZVSE
!?PI;[修正格挡降防BUG](不作还原处理)
!!UN:C7456392/4/3321954758;
!!UN:C7456396/4/2416181825;
!!UN:C7456400/4/2425393296;
!!UN:C7456404/4/2425393296;
!!UN:C7456408/4/2425393296;
!!UN:C7456412/1/144;
!?GM0;[修正格挡降防BUG](不作还原处理)
!!UN:C7456392/4/3321954758;
!!UN:C7456396/4/2416181825;
!!UN:C7456400/4/2425393296;
!!UN:C7456404/4/2425393296;
!!UN:C7456408/4/2425393296;
!!UN:C7456412/1/144;
贤知有您
发表于 2014-10-30 10:09:44
关于取消生物槽的亮框
一般在初次点击生物槽且生物槽有生物存在时,会在槽周边显示一个亮框.如果把该生物槽的生物类型清空(-1),此时亮框还在,鼠标点击此空生物槽会引发崩溃.这种情况最容易发生在类似快速交兵分兵的场合.
可以使用内存修改去掉这些亮框以避免崩溃
取消英雄界面的生物选择框亮框
!!UN:C6911880/4/-1; disable selection
!!UN:C6911880/4/[]; Selected slot id (-1..6), yellow border.
取消英雄交换界面的选择框
!!UN:C6962576/4/?v6;
!!VRv6:+72;
!!UN:Cv6/4/-1;
!!VRv9:Sv6+8;
!!UN:Cv9/4/-1;
!!VRv10:Sv9+8;
!!UN:Cv10/4/-1;
[或MOP方法]
!!UN:C6962576/4/?y71;
!!SN:E5957888/2/y71;
取消城镇界面生物槽选择框
!!UN:C6919500/4/?y71;
!!SN:E6117680/2/y71 E7415683/1;
贤知有您
发表于 2014-11-3 16:32:43
探讨无限移动力BUG的内部机制
无限移动力BUG存在于各个版本中,不管是SOD还是WOG/ERA.
一般操作方法是:
1.英雄需要有海洋之帽(自由上下船)以及增加陆地移动力的宝物(如神行靴或骑士手套).
2.下水前不能带"增加陆地移动力"的宝物,然后带上"增加陆地移动力"宝物后上岸,一般可以看到移动力比之前更多了.如此反复可不断递增到一个很大的数.
相信很多人都只知道这个效果,但不清楚内部机制.通过研究内存可以略知一二.
1.内部有个专门函数来判断英雄的基准移动力,分开陆地和海洋2个部分.比如轮到某颜色玩家操作时,系统会根据这个函数来给予该系列颜色英雄一个初始移动力(HE:G).
2.这个判断基准移动力的函数可以实时反应,由英雄的当前状态来决定.比如一些英雄陆地或海洋移动力的宝物,当英雄装备和卸载时,其计算的移动力都会不一样.
3.当英雄带有海洋之帽时,陆地和海洋间移动力的转换是一套简单机制:分别计算地形前后的英雄基准移动力作为一个除法比例再乘以当前移动力.
具体就是:
陆地到海洋后移动力=当前移动力*(海洋基准移动力/陆地基准移动力)
海洋到陆地后移动力=当前移动力*(陆地基准移动力/海洋基准移动力)
透明这个机制,你可以很容易想象到,下水之前脱下神行靴和骑士手套,则能获得最佳的航海移动力.(因为系统计算的陆地基准移动力将减少)
由于海洋基准移动力一般不变化(海洋之帽是前提),无限移动力的BUG就是因为陆地基准移动力的改变问题.另外需要了解的是,下水或上岸英雄都移动了一步,也就是移动力会先减少100.
下面来实际计算一下,一次下水上岸的过程,神行靴和骑士手套能增加多少移动力.
克里斯丁(6)大哥带了一队枪兵(速度=4).没有后勤术等其它因素影响移动力.
首先说明一下怎么获得内部系统的计算基准移动力.也就是调用内存函数.
!?FU9999953;
*计算当前英雄状态的基准移动力
*x1=英雄ID,x2=0陆地1海洋,返回变量
!!VRx3:S0;
!!FU|x1<0/x1>155/x2<0/x2>1:E;
!!UN:C6919480/4/?y1;
!!VRy2:Sx1 *1170 +136736 +y1;
!!SN:E5131264/2/y2/x2;
!!VRx3:Sv1;
!?CM0&1000; [大地图右键]
!!CM:F?y1 I?y2 S?y3;
!!FU|y1<>512/y2<>1/y3<>14:E; [右键小地图]
!!FU9999953:P6/0/?v2;
!!FU9999953:P6/1/?v3;
!!HE6:W?v4;
!!IF:M^6#英雄
陆地=%V2
海洋=%V3
当前移动力=%V4^;
我们分别在英雄"下水前/下水后/下水装备宝物后/上岸后"的4个阶段分别用ERM语句检测英雄的陆地基准移动力+海洋基准移动力和当前移动力.
然后可以对比上下船机制的算法,看看是否一致.
结果如下图.
可以看到,一个上下船的过程,英雄的移动力由1560上升至2231.
基本可以归纳为,只要上岸时的基准陆地移动力高于下水时的陆地基准移动力,就有机会增大英雄的移动力.
宝典中也提到,可以通过英雄交换高低速的兵来得到相似效果,不过操作略显麻烦而已.
数学方面:
假设
A=下水前基准陆地移动力
B=基准海洋移动力(上下船基本不会变)
C=下水前的当前移动力
D=上岸时基准陆地移动力的增幅(比如神行靴+600,骑士手套+300之类)
那么最终计算结果为:(数学公式)
((C-100)*B/A -100)*(A+D)/B
此时可以和原来的C比较.有数学基础的不妨推论一下各种情况.
要修复这个BUG,最有效的方法是:
让英雄上岸时系统计算的陆地基准移动力不再考虑"带兵速度影响和宝物影响",因为玩家能操控的增幅移动力无非就这2种情况.
具体一点可以这样:
1.用bersy的ERM_HOOK插件HOOK住英雄上岸时计算陆地基准移动力的过程.
2.由于手动计算英雄基准移动力非常繁琐(几乎不可能),可考虑先通过内存修改更改掉原计算基准移动力的内存函数,让它忽略带兵速度和宝物的影响,再调用这个函数获得一个修正后的基准移动力.
3.把修正后的基准移动力回调到原HOOK相关位置上.再还原一下修改过的内存函数即可.
(暂没有修复BUG的脚本放出,因为这是个繁琐的工作,有空我会跟进处理的)
贤知有您
发表于 2014-11-12 09:54:24
昨天看到的几个关于魔法的特殊数字内存地址.
流沙陷阱 的施放个数
依照(0-3)等级分别是:4,4,6,8
地址在 0x00642224 连续4个4字节.
(即UN:C 十进制的6562340/6562344/6562348/6562352)
埋设地雷 的施放个数
依照(0-3)等级分别是:4,4,6,8
地址在: 0x00642234 连续4个4字节.
(即UN:C 十进制的6562356/6562360/6562364/6562368)
连锁闪电 的目标个数
依照(0-3)等级分别是4,4,5,5
地址在:0x00642284 连续4个4字节区域
爱的燃火
发表于 2015-1-24 13:13:09
3。1内存地址表,可用于era的内存搜索参考。
开始地址 结束地址 说明
4CCD4 4CD4D 模式1
79AA6 79B36 箭矢
7D600 7D678 特技1
7E3CA 7E412 特技2
7FC93 7FCDA 死敌
861E7 86260 施法类型
8721E 87297 模式2
8A6BE 8A733 魔免
8BBF8 8BC59 魔防
CEBAD CEBE9 08
16D9DB 16DA0C 08
17CD70 17CDDC 招魂术
2DDBC5 2DDC55 08
3AE000 3AE0EE 秘籍加密码
3AE12C 3AE15C 冒险界面图标1
3AE16C 3AE1A5 解码表
3AE1E0 3AE2B8 冒险界面图标2
3AE540 3AE990 音效名称
3AE9A0 3AE9C0 未知
3AE9D0 3AE9E8 船只
3AE9F4 3AEBC8 冒险地图英雄旗帜
3AEBD4 3AECA0 英雄冒险地图形象
3AF29C 3AF75C 未知数值
3AF9F4 3B03D0 未明宝物属性
3B08A0 3B08DC 紫龙施法
3B0904 3B09E4 箭矢名称
3B09F4 3B0A64 生物音效后缀
3B0CD4 3B0D4C 未知
3B0DAC 3B0F74 地址转跳地址
3B0F84 3B1048 冒险界面右下角相关
3B1240 3B12A4 战役选择
3B1434 3B1518 战役地图背景
3B1524 3B9D94 战役关卡颜色名称
3B9DB4 3BA3E4 战役动画大缩略图名称
3BA404 3BA6C8 音乐名称
3BA6D8 3BA7D0 战役名称
3BA7DC 3BA90C 战役选择缩略图名称
3BAA28 3BAB44 战场英雄施法动画属性
3BABA8 3BB4AC 障碍地形属性
3BB4B0 3BBC60 障碍物体属性
3BBD90 3BBE00 战场初始坐标
3BC6BC 3BC73C 攻城背景(反向排列)
3BC74C 3BC7AC 魔法障碍名称
3BC7BC 3BCD5C 障碍物体名称
3BCD6C 3BCF6C 障碍地形名称
3BCF7C 3BDE8C 攻城建筑界面(反向排列)
3BDE9C 3BDF68 战场英雄动画名称(反向排列)
3BE5A4 3BE6E0 生物巢穴
3BE720 3BF470 生物动画声音(反向排列)
3BFBA8 3BFFA8 战役剧情动画声音名称
3BFFAC 3C141C 建筑缩略图名称(反向排列)
3C27C4 3C293C 音效名称
3C2B20 3C2CC0 城堡外观(反向排列)
3C33D8 3C3470 游戏模式
3C3574 3C37B0 宝物四维
3C37B4 3C38C0 辅助技能
3C3B3C 3C4F97 英雄头像名称(反向排列)
3C54BC 3C664C 建筑前置
3C70B8 3C7130 开始界面
3C81A0 3C824C 藏宝图属性
3C8C04 3C8C94 生物背景(反向排列)
3C9DD4 3CA014 骷髅转换场
3CB2D0 3CB910 动画名称(反向排列)
3CF1DC 3D0448 建筑def(反向排列)
3CE748 3CE764 未知
3CE768 3CE788 城镇铁匠铺(显示)
3CE78C 3CE917 建筑深度
3CE918 3CE938 城镇背景图像名称地址
3CE93C 3CEF68 建筑DEF名称地址
3D0454 3D0494 建筑背景(反向排列)
3D049C 3D13F8 建筑线条(反向排列)
3D1428 3D14A8 魔法行会背景(反向排列)
3D14B8 3D1548 招兵背景(反向排列)
3FBF24 3FE594 战役关卡颜色名称地址
3FEEE8 3FF210 战役大缩略图名称地址
3FF2B8 3FF440 音乐名称地址
3FF498 3FFAD5 战役选择界面
3FFADC 3FFB28 战役名称地址
3FFC80 3FFE7F 二进制值
3FFFC0 401670 攻城城堡界面
401B54 401C58 生物银行
401C98 40608C 生物属性08F08600
406090 406288 城镇生物
40708C 4076B8 建筑缩略图地址
4076BC 40784C 战役剧情动画声音名称地址
407B28 407B40 矿场产量
407CC8 407DDC 初始资源
407DE0 407DF8 矿场显示
407EA0 407F1C 汇率
408000 40985C 特长
40986A 40987E 经验值
409DA0 40D810 英雄属性
410BEC 4112AA 藏宝图坐标
4112AC 41160A 藏宝图去除顺序
411850 4119E0 未知数值
4119EC 411FC8 地图选择相关
412068 412B68 动画属性
412E44 415940 魔法属性
416260 416384 附加生长率
416388 416948 建筑排序(作用未知)
41694C 416978 未知
41697C 416A74 物资仓库
416CCC 4172F8 建筑线条地址
4172FC 417C40 建筑坐标
417F80
41AE20 41AF28 未知数值
41BFE0 41C22C 未知
41E000 41F18C 未知地址
41F1C4 420AE8 未知代码
42100C 42468C 未知
4246C0 42488C 未知
424890 427F04 未知
427F08 428974 版权说明
429000 4474F8 未知
猎影之狼
发表于 2015-1-25 17:44:48
知识贴!!学习了······
爱的燃火
发表于 2015-2-2 12:30:14
宝丽拱猪 发表于 2015-1-31 15:55
ce在封神里怎么用?只能找到金钱的地址,兵种数量第二次寻找找不到
要根据数量设置相应的字节数才行。
hdhhhz
发表于 2015-2-25 13:32:18
关于生物特技还有部分没有列出来啊。