【原创】内存修改器物品分类文件ItemClass.xml的修改与创建 - 铁资网TBSGAME论坛-铁血联盟资讯网|铁血联盟中文第一论坛

访客需注册方可查看全部版块内容 请您花费一分钟时间完成注册过程 ( 登录 | 注册 )

 
Reply to this topicStart new topic
> 【原创】内存修改器物品分类文件ItemClass.xml的修改与创建, 可使我写的“铁血联盟2内存修改器”支持游戏不同MOD的物品及自增物品
会飞的猪
post 2018.02.17, 15:25
楼层 #1





编号: 42,910
帖数: 33
美刀: 117
组别: 列兵 R_18正式成员
注册: 2010.12.14, 11:36
物品: 查看
头衔: 土鳖山 匪众一级




以下内容已做成DOC文档放在修改器下载链接中:https://pan.baidu.com/s/1htIAqXY,若图床已挂可下载DOC文档查看。

方法一(适用于添加少量物品):
以IoV物品为例,首先打开修改器自带的“ItemClass.xml”文件,在“ItemClassList”节点下添加一个新的“ItemClass”节点,“ItemClassID”随意,这里就写100000吧,“ItemClassName”就叫IoV,然后随意复制一条“Item”物品节点,粘贴到这条新建的“ItemClass”节点下,如图所示:


然后打开游戏文件夹下的“Chinese.Items.xml”文件(IoV的该文件在“Jagged Alliance 2\Data-TBS_zh_CN\Data-IOV\Data-1.13\TableData\Items”下),找到想添加的物品,比如“战术弹道计算器”:


把对应节点的值复制粘贴到前面第1步中新“Item”节点的对应属性上。

注意:在“ItemClass.xml”文件的“Item”节点属性中,除“uiIndex”值必须与游戏文件描述相同外,“szLongItemName”、“szItemDesc”的值可自由定义,不要求与游戏文件描述一样,这两个属性值只影响修改器上的显示,对游戏和修改效果均无任何影响。“usItemClass”会影响修改器对该物品的特别处理(枪类能修改子弹类型和弹药量,钱类能修改钱的数值),所以最好与游戏文件中的描述一样,不一样也没太大关系。“FingerPrintID”值会影响到有指纹校验的物品,若新加的物品有指纹校验功能,该属性值必须与游戏文件中的描述相同。
在意细节的朋友想“usItemClass”与“FingerPrintID”保持与游戏文件描述相同的话,IoV物品对应描述在路径“Jagged Alliance 2\Mod\Data-IoV\TableData\Items”下的Items.xml文件中。“FingerPrintID”很多物品描述没有,所以保留空值即可,有此描述的物品则为1。

另外,后面方法二也会用到“Items.xml”与“Chinese.Items.xml”文件,所以记一下路径较好。

以上操作完成后保存,打开修改器即可看到效果,给佣兵添加物品测试一下:


游戏中的效果:



方法二(适用于批量添加物品):
为方便使用修改器的朋友能快速添加不同MOD中新增的物品,我做了一个小工具,可根据游戏文件快速生成修改器能识别的物品分类文件“ItemClass.xml”。点击游戏主界面右下角的按钮即可启动(启动该工具需要安装.net4.0):


小工具界面:

点击两个按钮分别选择对应的游戏文件,这里仍以IoV物品MOD为例。

IoV物品“Items.xml”文件路径:
Jagged Alliance 2\Mod\Data-IoV\TableData\Items


IoV物品“Chinese.Items.xml” 文件路径:
Jagged Alliance 2\Data-TBS_zh_CN\Data-IOV\Data-1.13\TableData\Items

注:如果玩的是英文版,“2、”按钮也选择“Items.xml”即可。

两个文件选择完毕后,“生成物品分类文件”按钮变为可用状态:

点击选择文件保存位置,覆盖修改器原文件,打开修改器载入游戏即可看到效果。


如果喜欢原文件已做好的分类,只想把新物品添加到原ItemClass.xml文件中,可按如下步骤进行。
将对应的游戏文件“Items.xml”与“Chinese.Items.xml”复制到一个单独的文件夹中。


在该文件夹中打开“Items.xml”,删除所有对应“ItemClass.xml”中已有的“<ITEM>”节点(修改器自带的是标准版uiIndex值为1-1709的物品,IoV物品在该范围内的物品基本都是物品名称略有改变),但一定要保留uiIndex值为0的那个“<ITEM>”节点。以“铁血联盟2---2017.11.25---稳定全版本”为例,IoV物品uiIndex值为0-4387,即删除完毕后“Items.xml”中应保留有“<ITEM>”节点中uiIndex值为0与uiIndex值为1710-4387的数据。注:“Chinese.Items.xml”文件无需删除对应节点。

在物品分类文件生成工具中“1”和“2”两个按钮均选择该文件夹下的两个对应文件,生成的“ItemClass.xml”另选保存位置不要覆盖修改器中的文件。打开新生成的“ItemClass.xml”文件,复制所有“ItemClass”节点(不要复制“ItemClassList”节点,此处我将节点都折叠方便看清)


打开修改器中的“ItemClass.xml”文件,按方法一的方式添加一个IoV分类节点,将复制的数据粘贴到该分类节点下即可。


打开修改器看效果:

注:
1、我这里只是演示,在游戏中“空”这个节点下的物品修改出来可能会使游戏崩溃,所以复制前请删除该分类节点下的所有数据。
2、使用工具生成的分类只是简单分类,想按原物品分类那样的话还是需要手动将对应物品节点移到对应分类节点下。当然,有新的分类也需要自建对应分类节点。

本主题由 会飞的猪 于 2018.02.17, 15:37 修改
Go to the top of the page
 
+Quote Post
huyanjie6321
post 2018.02.17, 20:39
楼层 #2





编号: 54,377
帖数: 378
美刀: 625
组别: 中士 R_16士官二级
注册: 2013.10.30, 00:32
物品: 查看
头衔: 土鳖山 匪众四级




访客需注册方可查看全部版块内容 请您花费一分钟时间完成注册过程 [注册|登录]
Go to the top of the page
 
+Quote Post
1 位会员正在查看此主题 (1 位访客和 0 位隐身会员)
0 位注册会员:
Reply to this topicStart new topic
 



[ 沪ICP备11048272号 ] 当前时间: Jul 19th 2018 - 01:55 AM