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

注册 登录

QQ登录

只需一步,快速开始

查看: 11011|回复: 29
打印 上一主题 下一主题

[求助] 【MOD】双持任意武器mod的制作问题【高手们请进!!】---------------新手发帖标题似乎要长--------------

  [复制链接]

21

主题

2196

帖子

3805

积分

游戏精英

Rank: 8Rank: 8

贡献度
499
金元
17986
积分
3805
精华
1
注册时间
2011-10-27
跳转到指定楼层
主题
发表于 2012-10-6 23:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 dragon_prince 于 2012-10-7 10:23 编辑

作为一个没有一点技术功底的玩家,最近却莫名其妙地喜欢上做mod,可能是受了论坛里各位mod高手的教程帖的影响吧~所以首先感谢他们付出的努力啦~

RT,最近尝试了很多,先是做了一个掉率mod,一个宝石mod,然后做了一个召唤boss的卷轴mod,当然这些都有高手发表了,所以我也不敢冒昧发出自己不完善的mod。今天在玩T2的时候突然想到以前玩泰坦之旅是有一个双持任何武器(包括双手武器)的补丁的,所以想着自己做一个火炬之光2的双持mod,结果却遇到了各种各样的问题。。。

P.S.内容有点长,希望大家能耐心看完哦~希望各位mod的高手们能百忙之中帮一下我这个入门级的小弟啊!感激不尽!



由于没有任何技术基础,所以只能胡乱尝试了一番。我尝试做双持任意武器的mod的思路如下:

1、由于游戏本身就支持双持单手武器了,所以做双持任意武器mod的关键在于双持双手武器。一开始我以为决定武器是否可以双持的因素应该是在武器的DAT文件里,于是我以双手斧作为尝试,随便打开MEDIA\UNITS\ITEMS\2HAXE目录下,找到双手斧的基础文件BASE_2HAXE.DAT。可是转换成txt文件后我却发现,里面好像没有什么决定武器使用方式(单手/双手)的信息哦(难道是UNITTYPE?txt文件截图在下面:

我又打开其他的双手武器例如2HMACE(法杖)、2HSWORD(双手剑)、BOWS(弓箭)、CANNON(加农炮)等,都找不到需要的信息?
2、既然不是在武器里规定武器的单双手使用方式,那会不会是在装备栏里规定了呢?于是我在MEDIA\INVENTORY\CONTAINERS目录下找到INVENTORYSLOTS.DAT,转换成txt后可以找到四段分别描述RIGHTHAND、LEFTHAND、RIGHTHAND_HIDDEN、LEFTHAND_HIDDEN。这四个的格式相似,LEFTHAND为例,我发现了一段话可能与武器是占单手还是双手有关(先附图):

[UNITTYPES_ALLOWED](允许的物品类型)
<STRING>UNITTYPE:WEAPON(物品类型:装备)
<STRING>UNITTYPE:SHIELD(物品类型:盾)
[/UNITTYPES_ALLOWED]
[UNITTYPES_NOT_ALLOWED](不允许的物品类型)
<STRING>UNITTYPE:RIGHT HANDED(物品类型:右手装备)
[/UNITTYPES_NOT_ALLOWED]
[EQUIPLOCATIONS](装备位置)
[LOCATION]
<STRING>UNITTYPE:WEAPON(物品类型:武器)
<STRING>LOCATIONEFT HAND(位置:左手)
[/LOCATION]
[LOCATION]
<STRING>UNITTYPE:SHIELD(物品类型:盾)
<STRING>LOCATION:SHIELD(位置:盾)
[/LOCATION]
[/EQUIPLOCATIONS]
再看看RIGHTHAND,也有类似的段落,但是内容不一样(附下图):

[UNITTYPES_ALLOWED](允许的物品类型)
<STRING>UNITTYPE:WEAPON(物品类型:武器)
[/UNITTYPES_ALLOWED]
[UNITTYPES_NOT_ALLOWED](不允许的物品类型)
<STRING>UNITTYPE:BOW(物品类型:弓箭)
<STRING>UNITTYPEEFT HANDED(物品类型:左手装备)
[/UNITTYPES_NOT_ALLOWED]
[EQUIPLOCATIONS](装备位置)
[LOCATION]
<STRING>UNITTYPE:Any(物品类型:任意)
<STRING>LOCATION:RIGHT HAND(装备位置:右手)
[/LOCATION]
[/EQUIPLOCATIONS]


分析上面的LEFTHAND和RIGHTHAND的这两段话的区别,我是否能推断出:
(1)盾和弓箭只能装备在左手里;
(2)武器(WEAPON)有分“左手(LEFTHAND)”和“右手(RIGHTHAND)”的区别;
(3)武器的装备方式有三种:左手、右手和盾(LOCATION:SHIELD)?


可是这样就有两个问题:第一,单手武器既然可以双持,那还会有所谓的LEFTHAND和RIGHTHAND的区别吗(和第二点推论相悖)?第二,双手武器会被定义为LEFTHAND还是RIGHTHAND呢?那我们装备双手武器的时候会被放到左手武器栏还是右手的武器栏呢?



于是我在没有任何修改的前提下进游戏尝试了一番,果然发现,不同的双手武器会被定义到不同的装备栏:
(1)法杖被装备到了右手:

(2)加农炮/弓箭被装备到了左手:

于是,基于上面的推论,我大胆尝试把LEFTHAND和RIGHTHAND两段的代码给结合起来(以RIGHTHAND为例):
[SLOT]
<STRING>NAME:RIGHTHAND
<UNSIGNED INT>UNIQUEID:774
<BOOL>HIDDEN:false
<BOOL>EQUIPABLE:true
<BOOL>0x6a3e9fe4:false
<BOOL>TRADESLOT:false
<STRING>ITEMCOMPAREFILE:MEDIA/UI/PIECES/EQUIPMENT_COMPARE.LAYOUT
[UNITTYPES_ALLOWED]
<STRING>UNITTYPE:WEAPON
<STRING>UNITTYPE:BOW
<STRING>UNITTYPEEFT HANDED
<STRING>UNITTYPE:SHIELD
[/UNITTYPES_ALLOWED]
[EQUIPLOCATIONS]
[LOCATION]
<STRING>UNITTYPE:WEAPON
<STRING>LOCATION:RIGHT HAND
[/LOCATION]
[LOCATION]
<STRING>UNITTYPE:SHIELD
<STRING>LOCATION:SHIELD
[/LOCATION]
[/EQUIPLOCATIONS]
[/SLOT]
[SLOT]
然后,做成mod,再进入游戏看看,果然有效果(很怪异):

(1)法杖本来只能装备到右手,现在可以装备到左手了:

(2)加农炮/弓箭则反之,现在可以放在右手了:

(3)盾和魔杖居然可以同一只手:


但是,现在的问题就是很明显也很严重:
(1)虽然可以把法杖放到左手,把加农炮/弓箭放到右手,但是点击左键却不能普通攻击(左键如果设成技能则依然有效,由此推断应该是普通攻击无效了);
(2)依然无法双持双手武器,把第二个法杖放上去时第一个法杖会被自动取下,甚至会出现游戏崩溃的现象。

现在的问题就是:除了INVENTORYSLOTS.DAT和武器本身,以我的技术水平实在想不到还有哪里有可能会规定一件武器的单双手使用原则了。虽然本来按照常理来讲,INVENTORYSLOTS.DAT本身就不应该存在这样的约束性规则,所以我修改了LEFTHAND和RIGHTHAND本身就注定只能让武器装上去,却不能正常攻击,这点我很清楚。

于是我怀疑,是不是游戏本身在对武器的持有或攻击动作3D建模时就已经限死了双手武器时不能单持的呢?如果是这样的话,那是不是就不可能做出一个双持任意武器的mod了呢?新手求解答!

唉,但毕竟完全没学过编程,而且接触mod的制作也是几天前的事,完全是靠自己的推测来摸索...虽然不知道各位能否有时间看到我这位新手发的帖,但还是很想有人能够做出双持双手武器的mod啦!

希望各位mod高手们能够帮我解决这个问题哦!总感觉我的分析思路有点问题,毕竟初学做mod...
希望大家能够给我指点一二,小弟在此感激不尽啊!!!


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-10 15:03 , Processed in 0.033161 second(s), 17 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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