3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 26700|回复: 32
打印 上一主题 下一主题

[原创] HAWX2内部命令原理和研究心得.可用于万一UBI开始查封非法DLC.或者制作自己的解锁文件

  [复制链接]

8

主题

751

帖子

1615

积分

游戏狂人

Rank: 6Rank: 6

贡献度
210
金元
7554
积分
1615
精华
2
注册时间
2006-4-19
跳转到指定楼层
主题
发表于 2010-12-21 16:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 terryzxc 于 2010-12-21 17:30 编辑

首先,HAWX2里面为了制作关卡方便,程序内部提供了解锁飞机,皮肤,关卡的接口.而且是lua格式写的,这使得我们修改非常方便.

首先我们看Data\Content\planes.lua这个文件.

这个文件是UBI官方的关卡制作器生成的,他依赖于上层的文件:inicache.bin.所以不是所有的修改都会生效.

注意:planes.lua内的文件数据结构直接对应你的存档文件结构,所以修改planes.lua的数据结构必定会对你的存档造成影响,比如一些解锁的飞机消失了,一些解锁的皮肤消失了.此时,你的存档内需要有一定的PEC点数用于修改后再次解锁飞机.或者用存档清零的办法。

打开planes.lua,我们看到类似的代码:
<
<
这个是内部飞机ID,不可修改.

<
这些是飞机的一些参数,只是负责显示数值,跟飞机实际性能无关.

<
内部参数,勿修改

<

模型定义

<

默认武器包

<

重点来了,这就是飞机的熟练度解锁表格.
XPUnlockTable原理上支持无限个Unlock,但是由于程序只支持显示5+1个,多余的内容虽然功能上不影响,但是会影响显示效果.

XPUnlockTable的内部功能函数:
UOT_UPGRADE(飞机技能)
UOT_WEAPON_PACK(飞机武器包)
UOT_CUSTOM_WP(自定义武器包)
UOT_SKIN(皮肤)

添加解锁表格的格式为:
<

举例:修改F-15经验值到达5的时候解锁SKIN2
<

解锁DLC的皮肤和武器包可以用这个办法解锁.

但是如何解DLC的飞机和关卡呢?

不要着急,下面就有办法.

虽然使用常规的办法不能得到DLC的新飞机,因为没有相关的函数接口.但是UBI非常可爱的提供了一个Uplay奖励机制.
这个机制就在Data\Content\content.lua下面.

hawx2程序运行得时候,会先连接到服务器,查看你的帐号Uplay奖励内容,然后再读取常规存档内容.我们利用的就是这一点.

打开content.lua,移动到306行,
<

这里就是Uplay奖励的功能函数部分.

我们可以看到Uplay解锁有4个功能段:

Uplay_UnlockReward1
Uplay_UnlockReward2
Uplay_UnlockReward3
Uplay_UnlockReward4

这四个分别对应你在Uplay官网的奖励,我们选择需要Uplay点数最低的A-10 FULLY loaded来修改.

我们可以用的函数有以下几个:
Content_AddWPackForPlane(添加飞机武器包)
Content_SetPlaneUnlocked(解锁飞机)
Uplay_UnlockSkin(解锁皮肤)
Uplay_UnlockMission(解锁关卡)

格式例子如下:
<

其中,飞机名字/武器包的名字/皮肤的定义/关卡的名字,必须是内部ID。这些ID你可以在planes.lua和missions.lua找到。

Uplay的这个漏洞非常强大,但是也有限制,比如UBI想封的话也很简单,又比如,如果游戏本题的破解版出来了,用破解版的将不能使用这个漏洞。

最后祝大家游戏愉快。

评分

2

查看全部评分

回复

使用道具 举报

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

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-5-19 21:53 , Processed in 0.031381 second(s), 18 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表