游侠NETSHOW论坛
标题:
发帖庆祝!脚本编译成功啦!
[打印本页]
作者:
crazy97
时间:
2011-2-8 15:21:16
标题:
发帖庆祝!脚本编译成功啦!
前几天想修改一个mod,是一个随机掉落物品的mod,该mod被修改后掉落弯刀概率太高,导致我和尚单镰相当悲剧,气愤之余拿起NWN2Toolset修改之.
现在总结如下,希望新手学修改mod有点帮助:
0;无冬的脚本是类C言语的,这个你不用去管,看下面你基本可以知道是怎么回事;
1;无冬2的mod脚本是*.nss,这个可以笔记本直接打开修改,但是保存后是不会起作用的,要编译成*.ncs才可以.
2;不是所有的*.nss都会编译成ncs文件,像有的文件名是*_inc_*.nss是不会编译成ncs文件的,这些文件一般都是其他脚本调用的,你可以在其他脚本看得
#include "*_inc_*"类似的语句,起到引用的作用,简单的说就是相当在别的脚本把这个*_inc_*.nss文件的内容拷进去再编译.
3;假如现在有一个mod,以我要修改的随机掉落物品为例,这个是已经弄成可以放在C:\Documents and Settings\我的用户名字\My Documents\Neverwinter Nights 2\override下的,随便弄个文件夹比如名字为"
AAA
"吧,丢进去,有nss,ncs,UTI好几种文件,我们需要修改nss文件,再编译就好,当然如果你得到的是一个*.mod文件,想修改也可以用NWN2Toolset打开,会生成一个临时文件夹,拷贝出来修改nss文件再编译也就行了;
4;这么多nss,你要修改和编译的是那些呢?建议把.nss文件打开拷贝内容出来用
http://www.google.com.hk/language_tools?hl=zh-CN
,翻译试试,很多在文件前面有说明该文件作用的,基本能看懂了吧,修改后保存,
5接下来要编译我们的nss文件了,
下面是最重要的,没有编译成ncs是不起作用的
,
a:打开NWN2Toolset,会自动生成一个空的mod,
保存
为abc.mod吧
b
再打开
刚才保存
的abc.mod,会生成一个临时文件夹,类似为temp_WAEskoI3rUGjbx(KdbUARQ==_abc的文件夹名字,进去里面大概就3个文件吧
c把第4步你修改好.nss文件,
包括要修改的mod的其他文件
,全部拷贝到临时文件夹 temp_WAEskoI3rUGjbx(KdbUARQ==_abc,
保存
我们打开的abc.mod,这个时候就会把我们修改的mod的所有脚本
打入压缩到abc.mod中了,但是还要编译
d
再重新打开
abc.mod,这时候我们就可以在NWN2Toolset看到我们要修改的mod的所有脚本了,我们要做的是选择NWN2Toolset菜单的
文件--编译--编译组模中的所有脚本,
对所有脚本重新编译,这个主 要目的是对有的脚本中有#include "*_inc_*"语句的再编译
e不要关闭NWN2Toolset,我们需要d步骤生成的临时文件,如果你的mod是像我的随机掉落物品mod是很多文件,丢在\override\AAA下的,就在d步骤重新生成的临时文件夹下把所有文件(除了b步骤看到的3个文件)拷贝出来丢\override\
AAA
下,如果是一个mod就保存成一个mod文件吧.
虽然我这样编译比较繁琐,但是因为不知道mod那些nss文件会相互调用,还是按照我的方法,当然,如果你的mod就一两个nss,直接NWN2Toolset打开编译所有打开的脚本就行了
附件是我修改过的mod,解压后放在C:\Documents and Settings\我的用户名字\My Documents\Neverwinter Nights 2\override就行了
这个只是试验品,面具打个小怪都可能掉几个极品装备,装备属性个数也增加到20个,这个你可以试试效果,学着修改
另外该mod掉落物品随机名字是在mod的两个.2da文件中,我不知道这么弄中文,将就吧,2da好像不支持中文,不知道谁可以弄中文,我在2da翻译后丢进去出来的物品名字是乱码的
2月10号
重新对生成物品名字进行修正,已经是按照中文方式命名,并且查阅了无冬怪物的名称进行了翻译,没有翻译的地方都是神的名称,有的可能翻译有点怪,将就吧,
先放高概率的,随后进行调整,建议下载我调整后的,这个概率太高会失去游戏可玩性.
建议使用小概率就好了
[
本帖最后由 crazy97 于 2011-2-11 18:54 编辑
]
作者:
zhuangdiablo
时间:
2011-2-8 17:20:39
恭喜楼主,终于成功了,支持…
技术帖,留名收录。
作者:
crazy97
时间:
2011-2-8 23:17:50
上面经过小修改的mod
修改的思路就是利用打开一个空mod生成临时文件夹,把文件拷贝入临时文件夹保存mod,保存mod时就会把文件压进mod,再编译就得到我们想要的了
作者:
crazy97
时间:
2011-2-9 01:21:30
再发上一个随机名字中文的,因为是乱翻译的,英文水平有限
有高手可以自己弄
作者:
shitoudedaye
时间:
2011-2-9 12:40:45
像楼主这样的人基本都被我视为高人
恭喜楼主成功
作者:
舞灵
时间:
2011-2-9 18:56:51
哟西,前来顶贴~~
作者:
Fatestaynight2
时间:
2011-2-9 21:07:44
支持楼主.........
作者:
昌幸
时间:
2011-2-10 15:32:02
随机掉落物品要支持的...
参考大菠萝也是不错的 不然每个地方掉落贵重品都是固定的有点不爽
作者:
bona_li
时间:
2011-2-11 12:59:52
先顶礼膜拜一个,
烦请楼主大人能不能帮我更该一个随机掉落物品文件:中等几率,每次掉落2、3件物品,每件物品额外属性不超过5个,以3个左右最好,如果楼主有时间的话,谢谢了。
作者:
crazy97
时间:
2011-2-11 15:09:04
好的
我晚上改好发到这个帖子给你
以后自己改可以修改下面文件,然后对所以文件重新编译就行了
fw_inc_probability_tables_misc.NSS
fw_inc_probability_tables_races.NSS
第一个文件
前面3大项(分一般的,boss,体别的)怪物挑战等级可能掉落物品概念,比如const int FW_PROB_BOSS_LOOT_CR_1 = 75,就是等级1的有75%掉落,这个应该是最先做是否掉落的检测,只有这个出现掉落,下面才有进行计算。
文件接下来是当出现掉落后,掉落物品数量和物品属性个数。
比如const int FW_PROB_2_ITEMS_DROPPED = xxx就是普通怪物掉落2件装备的概率
const int FW_PROB_3_ITEM_PROPERTYS = xxx就是普通怪物掉落的物品出现3个属性的概率
算法是每种控制总项各个项总和做分母,单个项做分子
金币会算做一种物品,当掉落时最少要掉一种装备,等号两边留空格。
再后面就是物品材料出现的概率;
第二个文件控制某种怪物掉落物品种类出现的概率,算法也是按(单项)除(各个单项值的和)
比如const int FW_PROB_VERMIN_TREAS_CAT_MISC_GOLD就是金币出现的概率
可以通过把金币的掉落概率调高,相对其他的物品就会少出现。
文件最后是没有在上面定义到的怪物物品掉落概率,比如面具的休偷袭息出现幽灵狼。
[
本帖最后由 crazy97 于 2011-2-11 15:21 编辑
]
作者:
crazy97
时间:
2011-2-11 15:36:52
boss也是在这两个文件做概率定义的,一个怪物如果是boss,是要特别定义的,文件中有如何定义的说明,
面具和风暴中的boss我不知道那些有定义为boss的,暂时没有测试。反正我定义了boss有体别掉落的概率,玩到了再看吧。
还有就是某种属性可能出现的大小定义在
fw_inc_cr_scaling_formulas.NSS
算法是等于怪物等级*最小系数到怪物等级*最大系数之间的随机数
某种属性是否出现的可以在
fw_inc_loot_switches.NSS
定义,比如你不想出现攻击惩罚可以定义为const int FW_ALLOW_ATTACK_PENALTY = FALSE
至于某种属性出现的概率我没有找到,比如我要攻击增强加值的属性出现概率为99%,就没有找到地方可以调整的。有找到的说下。
作者:
crazy97
时间:
2011-2-11 16:26:33
自己找到了,在
fw_random_loot.NSS
有定义,当出现某种装备出现某种属性的地方
作者:
bona_li
时间:
2011-2-11 16:33:40
厉害啊, 要是可以杀怪物掉怪物就好了, 那可就类似刷怪, 记得有一个文件是用来提取原始物品MOD用来生成物品的,如果可以指向天堂I I 的装备MOD, 那么就更好了
作者:
crazy97
时间:
2011-2-11 16:52:53
最简单的办法是打开原来的随机掉落物品mod,里面有30个UTI格式的物品,mod就是定义从这些物品中读取物品模板生成物品的模型的,然后再生成随机属性。
UTI物品修改就很简单了,随便建个mod,引入后把天堂2的mod装备弄进去就行,缺点是就30个装备可以加进去
作者:
crazy97
时间:
2011-2-11 18:56:49
改好了
你试试效果
20202020
作者:
bona_li
时间:
2011-2-12 15:18:37
辛苦楼主了, 真是好人啊, 为了不辜负楼主, 现在努力刷怪中....
作者:
希梅斯特
时间:
2011-4-17 22:43:33
唔...crazy大神可以修改一个指向其他物品Mod的掉落物品吗...
完全没研究Tools...囧 跟魔兽的编辑起比起来Tools的介面实在是...有够不亲切的囧...
编入的只能有30样吗?
作者:
likfu
时间:
2011-4-18 17:12:44
神技術,支持呀
作者:
KONANCCCGX
时间:
2011-4-19 16:41:45
这个MOD貌似还加经验的啊?能去掉吗?
作者:
crazy97
时间:
2011-4-19 18:46:32
删除nw_c2_default7.NCS这个文件就行
作者:
chuister84
时间:
2011-4-19 23:40:58
楼主乃高人也,不是吾辈可以比拟的。
作者:
希梅斯特
时间:
2011-4-22 19:36:40
随机掉落提供的物品似乎没有武器...假如要修改掉落武器的外表为天堂II模组的外型要怎么修改呢
30种类型可以增加吗?
作者:
crazy97
时间:
2011-4-22 22:54:41
有武器的
基本所有的物品都会掉落的
作者:
希梅斯特
时间:
2011-4-22 22:58:25
我意思是...我想把随机掉落的武器外型指定为天堂II的武器外型,要怎么修改呢?
作者:
希梅斯特
时间:
2011-4-23 11:11:46
嗯...有找到在哪里改了,但新增其他类型的模型就无法显示了...
比如想把某把天二的武士刀改成单镰...但Toolset修改基本项目为单镰之后 预览那边的刀模型就看不到了,游戏中拿起来也变拿空气...
作者:
gameboy2
时间:
2011-4-23 11:45:35
什么时候也去做做看 其他游戏的mod也是想通的吗
作者:
crazy97
时间:
2011-4-23 12:36:29
估计类型修改会有问题,比如刀修改为弓,动作肯定出问题的
要掉落天堂装备也可以修改nss文件再编译
作者:
希梅斯特
时间:
2011-4-23 15:06:49
嗯,更改基础物品已经找到怎么改了,现在就是怎么把模型套用在不同的武器上了...
作者:
luparma
时间:
2011-5-2 17:39:49
回复
crazy97
的帖子
请教下LZ,如果要掉落的武器都有增强加值,并改小属性神圣复仇者出现的几率如何修改?
作者:
crazy97
时间:
2011-5-2 19:23:20
现在基本上武器掉落属性就只有增强加值和元素伤害了的
属性神圣复仇者还会出现?
修改fw_random_loot.NSS设置掉落属性
比如找这个
else if (strStruct.nLootType == FW_WEAPON_MARTIAL ||
strStruct.nLootType == FW_WEAPON_SIMPLE ||
strStruct.nLootType == FW_WEAPON_EXOTIC )
{
nRoll = Random (80);
switch (nRoll)
{
case 0: ipAdd = FW_Choose_IP_Ability_Bonus (nCR);
break;
case 1: ipAdd = FW_Choose_IP_Enhancement_Bonus (nCR);
break;
................
................
这个就是设置军用(FW_WEAPON_MARTIAL )和简单/特种武器可能出现的属性项目
80是我改的,就是随机80+1次属性 ,下面每个case对应一种属性,不要出现的删除或者替换别的就好
如果那种属性要出现的概率高,就多几个case替换就好
修改后把所有文件在ts中编译成ncs文件再拷贝回来
作者:
lmwtad
时间:
2011-7-6 03:07:10
这技术可真好
楼主能不能改个真正概率小一点的,比如打五十个怪左右能掉一件的
要不实在太逆天了,我感觉我是玩大菠萝~~~原先兢兢业业攒属性的动力都没有了
作者:
luparma
时间:
2012-2-13 07:57:16
请教高人一个问题,物品掉落补丁中的物品属性值是由怪物或NPC的挑战等级决定的,如何改成玩家等级决定呢?
比如fw_inc_cr_scaling_constants.NSS脚本中的 FW_MIN_ABILITY_BONUS_CR_1 = 1 这句中能力属性加值在怪物或NPC的挑战等级为1时最小值为1,CR是挑战等级的缩写,我要怎么改成由玩家等级决定?
望不吝赐教
作者:
luparma
时间:
2012-2-13 07:58:43
请教高人一个问题,物品掉落补丁中的物品属性值是由怪物或NPC的挑战等级决定的,如何改成玩家等级决定呢?
比如fw_inc_cr_scaling_constants.NSS脚本中的 FW_MIN_ABILITY_BONUS_CR_1 = 1 这句中能力属性加值在怪物或NPC的挑战等级为1时最小值为1,CR是挑战等级的缩写,我要怎么改成由玩家等级决定?
望不吝赐教
作者:
CLOCKWISE121
时间:
2012-2-16 08:53:36
楼主给力啊 加油{:00:}
作者:
Neosan
时间:
2012-5-8 19:34:56
技术贴大爱{:00:}
作者:
神圣智狼
时间:
2012-5-11 22:01:15
拜一下楼主,能不能帮我把掉落再改小一点,我现在用低概率的那个补丁,感觉和高概率的没啥区别。
改成杀大约50个怪掉一件的几率吧,我现在基本上杀3个就有2个掉,拣东西都来不及。
作者:
yfjy
时间:
2012-5-13 09:20:52
顶啊顶啊。。。。。。。。。
作者:
784576012
时间:
2012-5-13 11:59:50
不明觉历!支持楼主!
作者:
galilean
时间:
2012-6-9 16:12:14
大神太牛了,这些物品让我有了再玩一遍的动力
作者:
27057890
时间:
2013-8-9 14:22:26
好东西收下了
作者:
crazy97
时间:
2013-8-9 23:30:37
想不到我这么久的帖子都有人顶
作者:
40993010
时间:
2013-9-9 12:19:22
要是爆率能少点 属性能小一点就好了啊
作者:
zfzots
时间:
2014-2-25 21:56:36
技术大神 膜拜 拜服 跪拜。。。。。
作者:
黑蔷薇法师
时间:
2021-11-23 19:57:58
66666666666
欢迎光临 游侠NETSHOW论坛 (https://game.ali213.net/)
Powered by Discuz! X2