hawx2怎么解锁飞机?还有怎么弄皮肤?要下载什么补丁吗求下载地址?
首先,HAWX2里面为了制作管卡方便,程序内部提供了解锁飞机,皮肤,关卡的接口.而且是lua格式写的,这使得我们修改非常方便.
首先我们看Data\Content\planes.lua这个文件.
这个文件是UBI官方的关卡制作器生成的,他依赖于上层的文件:inicache.bin.所以不是所有的修改都会生效.
注意:planes.lua内的文件数据结构直接对应你的存档文件结构,所以修改planes.lua的数据结构必定会对你的存档造成影响,比如一些解锁的飞机消失了,一些解锁的皮肤消失了.此时,你的存档内需要有一定的PEC点数用于修改后再次解锁飞机.或者用存档清零的办法。
打开planes.lua,我们看到类似的代码:
01.
02.planes = {
03. {
04. Id = "MIRAGEIVP",
05. Maneuverability = 5,
06. Speed = 6,
07. Resistance = 6,
08. AARating = 3,
09. AGRating = 7,
10. Payload = 5,
11. Pic = 28,
12. Dem = "dem_Mirage_IV_P_player",
13. MaxPayload = 8000,
14. AircraftCountry = {AC_PERESTROIKA,AC_PRESENTDAY},
15. Models = {
16. {"Data/Models/plane_playable/Dassault_Mirage_IVP.xatg","Data/models/cockpits/dassault_mirage_2000_5_Cockpit.bing"}
17. },
18. WPacks = { "wp_rl2_ffb_cb" },
19. XPUnlockTable =
20. {
21. -- xp, unlock object type, unlock object id
22. { XP = 5, ObjType = UOT_UPGRADE, ObjId = "PM_MIV_1_RocketSpeed" },
23. { XP = 15, ObjType = UOT_WEAPON_PACK, ObjId = "wp_gp2_agm_pb" },
24. { XP = 22, ObjType = UOT_UPGRADE, ObjId = "PM_MIV_3_FFAoE" },
25. { XP = 30, ObjType = UOT_CUSTOM_WP, ObjId = "" }
26. }
27. },
复制代码
01. Id = "MIRAGEIVP",
复制代码
这个是内部飞机ID,不可修改.
01. Maneuverability = 5,
02.Speed = 6,
03.Resistance = 6,
04.AARating = 3,
05.AGRating = 7,
复制代码
这些是飞机的一些参数,只是负责显示数值,跟飞机实际性能无关.
01. Pic = 28,
02. Dem = "dem_Mirage_IV_P_player",
复制代码
内部参数,勿修改
01.
02.Models = {
复制代码
模型定义
01.
02.WPacks =
复制代码
默认武器包
01.
02. XPUnlockTable
复制代码
重点来了,这就是飞机的熟练度解锁表格.
XPUnlockTable原理上支持无限个Unlock,但是由于程序只支持显示5+1个,多余的内容虽然功能上不影响,但是会影响显示效果.
XPUnlockTable的内部功能函数:
UOT_UPGRADE(飞机技能)
UOT_WEAPON_PACK(飞机武器包)
UOT_CUSTOM_WP(自定义武器包)
UOT_SKIN(皮肤)
添加解锁表格的格式为:
01.{ XP = (经验值), ObjType = (功能函数), ObjId = ("物品ID") },
复制代码
举例:修改F-15经验值到达5的时候解锁SKIN2
01.{ XP = 5, ObjType = UOT_SKIN, ObjId = "Data/Models/plane_playable/skin2_F-15C_Eagle.xatg" }
复制代码
解锁DLC的皮肤和武器包可以用这个办法解锁.
但是如何解DLC的飞机和关卡呢?
不要着急,下面就有办法.
虽然使用常规的办法不能得到DLC的新飞机,因为没有相关的函数接口.但是UBI非常可爱的提供了一个Uplay奖励机制.
这个机制就在Data\Content\content.lua下面.
hawx2程序运行得时候,会先连接到服务器,查看你的帐号Uplay奖励内容,然后再读取常规存档内容.我们利用的就是这一点.
打开content.lua,移动到306行,
01.function Uplay_UnlockReward1()
02.-- first Uplay reward is actually a XBox360 theme
03.end
04.
05.function Uplay_UnlockReward2()
06.-- unlock weapon pack 3 for A-10
07.-- Uplay_UnlockSkin("A10", "Data/Models/plane_playable/A-10_Thunderbolt_II.xatg") -- make sure the plane is unlocked
复制代码
这里就是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(解锁关卡)
格式例子如下:
01.Content_AddWPackForPlane("FA-18E", "wp_F18_ULC")
02.Content_SetPlaneUnlocked("PAKFA")
03.Uplay_UnlockSkin("F15", "Data/Models/plane_playable/skin3_F-15C_Eagle.xatg")
04.Uplay_UnlockMission("MP14_White")
复制代码
其中,飞机名字/武器包的名字/皮肤的定义/关卡的名字,必须是内部ID。这些ID你可以在planes.lua和missions.lua找到。
Uplay的这个漏洞非常强大,但是也有限制,比如UBI想封的话也很简单,又比如,如果游戏本题的破解版出来了,用破解版的将不能使用这个漏洞。
最后祝大家游戏愉快。