注册 | 登录

游侠NETSHOW论坛





游侠NETSHOW论坛 游侠NETSHOW论坛 火炬之光2+火炬之光 火炬之光 存档 物品修改
查看: 46430|回复: 42
打印 上一主题 下一主题

火炬之光 存档 物品修改 [复制链接]

帖子
339
精华
1
积分
520
金钱
3512
荣誉
15
人气
0
评议
0
跳转到指定楼层
楼主
发表于 2009-10-28 17:08:42 |只看该作者 |正序浏览
先买个有几项属性的物品,存档最初。

用hex编辑器打开存档,找物品名字。例如截图里面,找到"A Leather Mantle Brainy",第一个03 00 00 00是Armor,它前面一个四字节好像是武器伤害相关,之后才是属性加成。第一个属性,前面一堆bla bla,"OF Flame damage bouns",无视,看那个05,代表加生命,下面有个CE 4F 84 40,这是个float的40844FCE=4.13474f,游戏里面显示round成5了。依次类推,下面的06代表第二属性Mana Recovery per sec.,值是1.84906f,显示为2。07代表第三个属性Health Recovery per sec.,值为2.45149,显示为3。

其他属性还有很多,大家自己试吧。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
已有 1 人评分金钱 收起 理由
eason001 + 15 + 1 感谢分享!

总评分: 金钱 + 15  + 1   查看全部评分

使用道具 举报

游侠之星资深水手勋章

帖子
22525
精华
0
积分
12403
金钱
266436
荣誉
108
人气
606
评议
0
43#
发表于 2013-2-8 16:55:16 |只看该作者
楼主辛苦了,谢谢楼主分享~
放棄過去的等待。 2110~ 32629~ 72~160~

使用道具 举报

帖子
151
精华
0
积分
76
金钱
431
荣誉
0
人气
0
评议
0
42#
发表于 2012-11-23 21:06:30 |只看该作者
感谢分享!!

使用道具 举报

特尔维级魔兵

帖子
963
精华
0
积分
734
金钱
3660
荣誉
22
人气
317
评议
0
41#
发表于 2012-11-9 11:39:11 |只看该作者
这是个好东西{:7:}

使用道具 举报

帖子
46
精华
0
积分
23
金钱
92
荣誉
0
人气
0
评议
0
40#
发表于 2012-11-9 11:19:04 |只看该作者
高人

使用道具 举报

帖子
31
精华
0
积分
16
金钱
180
荣誉
0
人气
0
评议
0
39#
发表于 2012-9-23 20:43:50 |只看该作者
楼主高手!

使用道具 举报

帖子
13
精华
0
积分
7
金钱
77
荣誉
0
人气
0
评议
0
38#
发表于 2011-4-16 11:31:13 |只看该作者
噶地方噶的地方

使用道具 举报

帖子
6
精华
0
积分
3
金钱
60
荣誉
0
人气
0
评议
0
37#
发表于 2010-2-17 21:43:37 |只看该作者
好深奥的数字  看得我头痛= =
    不过  技术贴  支持  哈哈

使用道具 举报

帖子
48
精华
0
积分
24
金钱
223
荣誉
0
人气
0
评议
0
36#
发表于 2010-1-11 13:59:24 |只看该作者
完全迷糊中
!!!!

使用道具 举报

帖子
439
精华
0
积分
220
金钱
2552
荣誉
0
人气
5
评议
0
35#
发表于 2010-1-7 21:59:35 |只看该作者
为何我下载了 hex编辑器  出来得都是乱码 找不到名字呢……楼主用哪个编辑器  请共享下吧!

使用道具 举报

帖子
64
精华
0
积分
32
金钱
399
荣誉
0
人气
0
评议
0
34#
发表于 2009-12-27 13:01:05 |只看该作者
人才啊   
留个记号                     以后再看

使用道具 举报

帖子
38
精华
0
积分
19
金钱
93
荣誉
0
人气
0
评议
0
33#
发表于 2009-12-23 19:40:33 |只看该作者
好东西 ,,,,,,,,,

使用道具 举报

帖子
559
精华
0
积分
280
金钱
2414
荣誉
0
人气
0
评议
0
32#
发表于 2009-12-2 15:52:10 |只看该作者
果然很邪恶,佩服楼主大大
技术帖要支持!!!!

使用道具 举报

帖子
157
精华
0
积分
79
金钱
379
荣誉
0
人气
0
评议
0
31#
发表于 2009-11-20 15:04:21 |只看该作者
请教下如何换算HEX Float>>>>DEX

使用道具 举报

帖子
21
精华
0
积分
11
金钱
91
荣誉
0
人气
0
评议
0
30#
发表于 2009-11-8 18:18:41 |只看该作者
人才啊 没看明白 继续研究···

使用道具 举报

帖子
169
精华
0
积分
85
金钱
306
荣誉
0
人气
0
评议
0
29#
发表于 2009-11-5 17:14:29 |只看该作者
果然很邪恶,佩服楼主大大

使用道具 举报

帖子
36
精华
0
积分
18
金钱
347
荣誉
0
人气
0
评议
0
28#
发表于 2009-11-3 22:28:26 |只看该作者
顶啊 好东西 [谢谢]

使用道具 举报

帖子
18
精华
0
积分
9
金钱
61
荣誉
0
人气
0
评议
0
27#
发表于 2009-11-3 06:03:20 |只看该作者
最新补充
我猜错了,刚刚仔细观察了下pak下面的资源文件,属性应该是直接存放于外部文件的。
果然需要一个无罪声明……

使用道具 举报

帖子
18
精华
0
积分
9
金钱
61
荣誉
0
人气
0
评议
0
26#
发表于 2009-11-3 05:32:08 |只看该作者
木有发完……就当分割线了。
-----------------无罪声明的分割线-------------------
以上内容纯属猜测~
以下提供修改思路~
1.改存档文件只能实现部分功能,而且很可能不会令人满意,得到完整的item列表才是关键,这种方法走下去结果可能就像D2时代的万套装备库一样。
2.所谓item列表在哪里?游戏的可执行文件里。外置的文件都是资源型文件,那么基本的参数只能存在于10MB的主程序中。
3.如何修改?跟踪主程序,对于编译过的文件没有什么好的办法。静态反编译也有可能。考虑到游戏文件的结构如此清晰,猜测本身不会存在什么人为阻碍的因素。
4.搜索到了所谓的常数和所谓的列表有什么用?修改……改成你想要的值以达到不可告人的目的。更大的作用是,高级MOD。
ps,游戏是用vc+orge引擎开发的,优化非常好。

使用道具 举报

帖子
18
精华
0
积分
9
金钱
61
荣誉
0
人气
0
评议
0
25#
发表于 2009-11-3 05:19:41 |只看该作者
看样子和D2的存储方法有些相像了,这里修改的是显示内容的可能性大一些。

游戏本身应该有一个基础item的列表,比如:
leather mantle
brainy leather mantle
brainy leather mantle of protection
然后每个装备有对应的初始属性值,比如(伤害):
50
100
200
至于Enchant的过程,是在原始属性的基础上的附加值或者修正值,比如:
10
20
30
那么最后的实际效果可能就是
leather mantle damage 50 +physical damage 10
brainy leather mantle 100 damage 100 +physical damage 20
brainy leather mantle of protection 200 damage +physical damage 30

这就是为什么反复洗白之后初始属性都一样的原因,白板item的属性是初始化好的。

-----------------------------专业的分割线-------------------------

下面从开发人员的角度来解释。

问:曾经修改过D2装备的玩家有没有过疑问,为什么不能自己创造一个装备?修改器是怎么创建一个玩家想要的装备的?
答:事实上,修改器以某一件已经存在的物品为原型,修改了所对应的附加属性。很有可能,附加的属性会在游戏中没有实际效果。这很大可能是由于原始的模板道具不支持所附加的属性,尽管显示上它已经改动了(就像修改道具名称一样)。
ps,内置item列表是个很重要的东西,为什么只有暴雪的更新才可能给D2添加新的宝石和配方,因为这也是内置的。

问:为什么改了MF的附加属性没有明显效果呢?
答:很有可能,就像宇宙存在物理常数一样,c=10^8m/s,MF也存在一个所谓上限。对于这种类型的游戏,MF%是个非常重要的参数,它很大程度上影响了游戏的耐玩度,或者说可重复度。

问:为什么存档文件是以浮点数表示附加值的?
答:首先开发人员要定义一个存档文件的基本结构,99.9999%可能是二进制读写,而不会是纯文本格式。在开发文档里会注明,存档文件某个offset偏移所对应的实际属性是xx。最终以二进制方式写入存档文件,再以hex的方式查看,就像截图里面的内容一样。考虑到游戏中存在Enchant这样的功能,那么每次enchant需要生成一个
随机的附加值,作为开发人员来讲,整个游戏可能仅仅需要一个随机函数就足够了,针对不同的情况取不同的精度的随机值缩放到对应的数据范围里就ok。那么附加值以浮点的方式存储也不奇怪了。对于某些很显然的数据,比如英雄的属性点,就是整数型表示。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

手机版|Archiver|游侠NETSHOW论坛 ( 苏ICP备2023007791号 )

GMT+8, 2025-8-26 19:24 , Processed in 0.370019 second(s), 13 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

分享到