posts - 29, comments - 16, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

继续~

 

在金山游侠中输入英雄的第一格生物的数量,进行第一次搜索,修改之后再进行第二次搜索,找到地址显示数据如下:

 

   FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
   FF FF FF 21 00 00 00 22 00 00 00 00 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   00 00 02 00 00 01 00 00 00 00 00
00 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00
   00 01 00 00 00 00 00
 02 00 00 00 00 00 00 00 CD
   CD CD CD 00 FF FF FF FF FF FF FF FF FF FF FF FF
   00 00 00 CD CD CD CD 01 00 00 00 00 00 00 00 FF

   FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

第二行的 21 00 00 00 为英雄的第一格生物数

每格生物占4个字节,7×4总共占28个字节。
试验发现生物数量的前面28个字节分别对应七格生物的种类

 

生物的种类是
00 00 00 00
代表"枪兵"
01 00 00 00
代表"戟兵"

依次类推,分别是:

 

"枪兵", "戟兵", "弓箭兵", "神射手", "狮鹫", "皇家狮鹫", "剑士",
"
十字军", "僧侣", "祭司", "骑兵", "骑士", "天使", "大天使",

"半人马", "半人马首领", "矮人", "战斗矮人", "木精灵", "大精灵", "飞马",
"
银飞马", "枯木卫士", "枯木战士", "独角兽", "独角神兽", "绿龙", "金龙",

"小妖精", "大妖精", "石像鬼", "石像怪", "石人", "铁人", "法师", 
"
大法师", "神怪", "神怪主", "蛇女", "蛇妖", "巨人", "泰坦巨人",

"小怪物", "怪物", "歌革", "玛各", "地狱猎犬", "三首猎犬", "恶鬼",
"
长角恶鬼", "邪神", "邪神王", "火精灵", "烈火精灵", "恶魔", "大恶魔",

"骷髅兵", "骷髅勇士", "行尸", "僵尸", "幽灵", "阴魂", "吸血鬼",
"
吸血鬼王", "尸巫", "尸巫王", "暗黑骑士", "恐怖骑士", "骨龙", "鬼龙",

"洞穴人", "地狱洞穴人", "鹰身女妖", "鹰身女巫", "斜眼", "毒眼", "美杜莎",
"
美杜莎女王", "牛头怪", "牛头王", "蝎狮", "毒蝎狮", "赤龙", "黑龙",

"大耳怪", "大耳怪王", "恶狼骑士", "恶狼斗士", "半兽人", "半兽人首领", "食人魔",
"
食人魔王", "大雕", "雷鸟", "独眼巨人", "独眼王", "比蒙", "比蒙巨兽",
"
狼人", "大狼人", "蜥蜴人", "蜥蜴勇士", "毒蝇", "龙蝇", "蜥蜴",
"
巨蜥", "野牛", "蛮牛", "飞龙", "飞龙王", "九头怪", "终极九头怪",

"气元素", "土元素", "火元素", "水元素", "金人", "钻石人", "小精灵",
"
精灵", "精神元素", "魔法元素", "()", "冰元素", "()", "石元素",

"()", "雷元素", "()", "烈火元素", "火鸟", "凤凰",

"圣龙", "水晶龙", "紫龙", "毒龙", "魔幻法师",
"
幻影射手", "投石矮人", "农民", "野猪", "木乃伊", "游牧民", "盗贼", "恶鬼",

 

生物接下来的28个字节就是英雄的技能等级,技能等级用 00 03 表示

0103分别表示初级、中级、高级。

 

28项技能依次为:

 

 "寻路术",   "箭术",     "后勤学",   "侦察术",
  "
外交术",   "航海术",   "领导术",   "智慧术",
  "
神秘术",   "幸运术",   "弹道术",   "鹰眼术",
  "
招魂术",   "理财术",   "火系魔法", "气系魔法",
  "
水系魔法", "土系魔法", "学术",     "战术",
  "
炮术",     "学习能力", "进攻术",   "防御术",
  "
智力",     "魔力",     "抵抗力",   "急救术",

再接着的28个字节是英雄的技能,用00 08表示,最多只能显示8项,填多了显示会有问题。

01表示第一项技能,08表示第八项技能

如你想将"高级土系魔法"放在第一位, "中级气系魔法"放在第二位,

你就在表示"土系魔法"的第18个字节处添上 01,并在技能等级的第18个字节处添上 03

在表示 "气系魔法"的第16个字节处添上 02,并在技能等级的第16个字节处添上 02

 

技能接下来的 02 表示显示两项技能

 

最后一行第三个字节开始的 FF FF FF FF FF FF FF FF 是英雄的装备

 

详情请见下回分解。

 

posted @ 2007-03-23 18:39 王勇良 阅读(527) | 评论 (0)编辑 收藏

现在步入正题:

 

1.准备好FPE或金山游侠,UltraEdit(没有就算了)

2.为方便调试,在窗口模式中运行英雄无敌:

   windows的显示设置中将颜色改为16位色。打开英雄无敌,按F4将英雄无敌切换成窗口模式。

 

 

在金山游侠中输入英雄的经验值进行搜索,搜索到不止一条记录,这就对了。

切换回游戏,等英雄的经验值改变后再切换到金山游侠,输入新的经验值,接着搜索,直到只剩下一条记录为止。

 

查看内存地址,显示如下所示的数据

 

   CD CD CD CD CD CD 07 00 05 00 00 00 01 07 E8 05
   00 CD 62 00 00 00 01 CD CD CD 00 00 00 00 0A 00

   57 00 00 00 00 00 00 00 00 C9 AF BF CB CC D8 00
   00 00 00 00 00 00 0A 00 00 00 57 FF FF FF FF FF
   FF FF FF CD CD 00 00 CD CD CD FF FF FF 02 02 5E
   06 00 00 5E 06 00 00 13 04 00 00 02 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

 

第六行正中间的 13 04就是该英雄的经验值

 

第一行 

    07 00 05 00 代表该英雄在地图上的坐标,接下来的 00 00 01 07 也是坐标值
第二行

    结尾处的 0A 00 是英雄当前的可用魔法值

第三行

    57代表该英雄的特长 C9 AF BF CB CC D8 00 00 00 00 00 00 是该英雄的名字,名字前面的 00 代表该英雄的颜色。

第四行

   0A代表该英雄的类别 ,接下来的 57 是该英雄的头像

第五行

   第一个 02 代表英雄朝向(0007分别代表8个方向)

第六行

   13 04 该英雄的经验值,接下来的 02 是该英雄的等级

 

 

 

待续……

 

posted @ 2007-03-23 18:37 王勇良 阅读(317) | 评论 (0)编辑 收藏

游戏修改器的基本工作原理
   
所谓游戏修改器,主要是通过修改游戏程序的内存数据或存盘文件来修改游戏中的相关数据,使之达到无敌等效果。

    游戏修改器主要分为两类:单一游戏的修改器和通用游戏修改器。前者只能修改特定的游戏,我接下来要写的就是只针对英雄无敌这款游戏的;而后者则可以修改大多数的游戏,比较著名的有金山游侠、FPE等。

 

如何访问游戏程序的内存
当我们的修改器运行于Windows时,首先遇到的问题便是如何访问游戏的内存。

 

. 首先,在访问游戏的内存前我们还必须获得游戏进程的句柄:

这可以通过ToolHelp函数获取系统中当前运行的所有进程的列表和各进程的ID,经由用户选择之后通过OpenProcess函数来获取游戏进程的句柄。

若您的修改器运行于后台,而前台是游戏的话,也可以使用GetForegroundWindow函数获取游戏窗口的HWND,再使用GetWindowThreadProcessId转换成游戏进程的ID,再使用OpenProcess函数获取游戏进程的句柄。

. 修改游戏内存:

有了游戏进程的句柄之后,便可以使用Windows提供的ReadProcessMemoryWriteProcessMemory这两个API来读写游戏的内存了。

 

posted @ 2007-03-23 18:36 王勇良 阅读(366) | 评论 (0)编辑 收藏

从接触英雄无敌至今也有好几年的时间了,差不多也算是这款游戏的铁杆粉丝了。

 

相信heroes3自带的pdf文档看过的人不多吧。

但是我相信存在必定有它存在的理由,所以我从头到尾看了一遍。

 

以下是我从中摘取的片断,感觉还是很有用的。

 

. 兵种数量范围对照:

 

Few 1-4 几个
Several 5-9 
一些
Pack 10-19 
一群
Lots 20-49 
许多
Horde 50-99 
很多
Throng 100-249 
大群
Swarm 250-499 
大量
Zounds 500-999 
大批
Legion 1000+ 
无数

 

.兵种速度对照:

 

Very Slow 3
Extra Slow 4
Slow  5
Swift  6
Very Swift 6
Extra Swift 7
Very Swift 8
Ultra Swift 9
Super Swift 10
Quick  11
Ultra Quick 11
Extra Quick 12
Very Quick 13
Ultra Quick 14
Super Quick 15
Fast  16
Extra Fast 17
Very Fast 18

 

. 城镇地形对照:

 

Castle Grass
Rampart Grass
Tower Snow
Inferno Lava
Mecroplis Dirt
Dungeon Subterranean
Stronghold Rough
Fortress Swamp

 

. 每轮作战造成的伤害计算公式:

 

设攻击方的攻击力为a1,防守方的防御力为d2

a1-d2>0

伤害为 damage×number×(1+ 5%~400% )

其中5%~400%表示a1-d21的时候为5%,以后每加一点增加5%,最大可增至400%

a1-d2<0

伤害为 damage×number×(1- 2%~30% )

其中2%~30%表示d2-a11的时候25%,以后每加一点增加2%,最大可增至30%

 

 

待续……

 

posted @ 2007-03-23 18:30 王勇良 阅读(332) | 评论 (0)编辑 收藏

仅列出标题
共6页: 1 2 3 4 5 6