游侠NETSHOW论坛

标题: 《模拟人生3》MOD使用高级篇[深入了解MOD的冲突] [打印本页]

作者: SEGA_Sakura4    时间: 2012-9-3 15:30:13     标题: 《模拟人生3》MOD使用高级篇[深入了解MOD的冲突]

本帖最后由 SEGA_Sakura4 于 2012-9-3 15:41 编辑

  玩《模拟人生3》的都知道什么是MOD,没有MOD相信很大一部分人都不会玩这游戏吧!但对于游戏中的众多MOD看到自己喜欢的,因为各种冲突导致不能使用而烦心吧,本帖将深入介绍MOD使用中为什么会出现冲突,为什么游戏版本一更新就要更新一些功能性的MOD以及MOD的高级使用方法。

  首先,让我们从最初的如何使用MOD开始。目前我们知道使用MOD有两种方法:一种是最初玩家根据游戏结构发现的,在游戏安装目录中放置;另一种是官方提供的,在系统我的文档下的游戏目录中放置,而官方的是在游戏基础版 1.12.70 后开放对游戏MOD支持的。这里我们推荐用官方提供的,为什么要用官方提供的呢?因为官方提供了对功能性MOD和游戏的兼容性检查,大多数功能性MOD都能被游戏所检测并发现并提示给玩家。如果是在进入游戏读取时退出的,那是因为游戏的内部程序接口有大改动,对旧的接口调用方法不支持,造成调用错误而造成游戏还没等读取到主菜单界面就弹错退出。

  使用MOD我们都知道不管是官方形式的还是游戏安装目录下形式的,都需要使用 Resource.cfg 文件。这个文件的作用就是让游戏知道载入哪些MOD文件,从哪里载入。官方形式的配置基本如下:
[attach]3507697[/attach]
当然我们以黑字书写的部分为准。

配置内容说明
PackedFile Packages/*.package
PackedFile Packages/*/*.package
★指定文件类型,告诉游戏载入的文件是什么类型的,让游戏以该类型形式读取资源。
★文件夹名称,告诉游戏载入MOD文件的文件夹名称,官方形式的游戏内部自动有Mods文件夹分配,所以配置只要写 Packages 即可,当然你也可以用你自定义的名称,如 Skins。全行写法:PackedFile Skins/*.package
★文件名称,告诉游戏载入MOD的文件名
★文件后缀名,告诉游戏载入MOD的文件后缀名,当然也可以是其它的,只要是游戏MOD的文件规格(内部格式)即可。
注:星号(*)为通配符,代表任何字符(文件夹名或文件名)


  MOD载入顺序和游戏的关系。游戏调用MOD是按文件名称以递增的方式载入的,如果你有两个相同内容的物件MOD,游戏将会载入排第一个位置的文件,而第二个位置的文件因内容和第一个位置文件的内容相同而忽略,不再载入。这里牵涉到一个内存分配的问题。因为两个文件的内存分配地址都是相同的,所以只有放入第一个的文件游戏中才会有效。如果有两个不同的文件,但文件的内部包含的子文件有部分分配地址是相同的,就会以第一个载入的文件为准;而第二个载入的文件就有部分内容没有载入,这样就造成了游戏的冲突,使游戏中该文件对应的物件一些功能没有效果。而严重的造成游戏退出的就是游戏在调用该文件内部文件时,没有找到对应地址正确的内容,造成内存错误,然后游戏就退出了。这些大都以功能性MOD为主。
例如,目前最常见的官方互动物件修复文件放置后没有达到修复的情况。这是因为你放了多个内存分配地址和相同的文件,而第一个载入的文件不是完整的,如你放如了某个官方互动物件的Package 格式的,而该文件按游戏载入MOD的顺序排在了修复文件的前面,这样就造成修复文件内已经修复的内容需要的一些内存地址被该物件分配后占用,使游戏载入时忽略了该修复文件内内容。


  功能性MOD和游戏的关系。我们都知道游戏是在不断更新的,但在更新的同时使用的一些旧MOD也要同时更新。首先,让我们先来知道什么是功能性MOD。功能性MOD就是连接游戏开放的接口实现游戏中的一些特定功能(如NRaas的超级电脑)或扩展游戏的功能(如官方商店的互动物件)。每次更新游戏后,如果官方对游戏开放接口的一些程序进行了改写,那就会造成玩家制作的一些功能性MOD失效;就是因为游戏中该MOD调用不到过去游戏接口提供的方法,所以造成了游戏读取中弹错或游戏中使用该物件弹错。游戏中的弹错跟调用的时机有关,有些MOD是在游戏进入后使用时才生效的,有些是游戏载入的时候就生效的。
例如(游戏提供了一个接口方法):
  1. public CASPart GetCASPart(uint ageGenderSpecies, uint category, uint bodyType, bool randomize)
  2. {
  3.     return CASUtils_GetCASPartImpl(ageGenderSpecies, category, bodyType, randomize);
  4. }
复制代码
当一个自定义功能性MOD使用了该方法时,ageGenderSpecies 参数最初游戏提供了0x00, 0x01, 0x02 三个参数设置(0x00, 人类;0x01, 鬼魂;0x02, 木乃伊);后来因为游戏的更新,造成参数变成(0x00, 人类;0x01, 鬼魂;0x02, 宠物),而在使用该MOD的时候当设置到 0x02 时,因参数对应的方法不同,就造成错误而游戏弹错。



  MOD使用高级篇。前面我们已经讲过配置文件的载入顺序和MOD的载入顺序和方法了。这里就来讲讲如何自定义MOD文件夹内内容。首先,官方提供的MOD使用,Mods文件夹是必须存在的,这是游戏内部设定好的,而该文件夹下的内容你可以随便定义,当然配置文件 Resource.cfg 内也要同步设置。

范例:
Priority 500
PackedFile Skins/*.package
PackedFile Clothing/*.package

PackedFile Store/*.dbc

红色部分定义了 Skins 文件夹来放任何文件名的皮肤MOD和 Clothing 文件夹来放任何文件名的服装MOD。
蓝色部分定义了 Store 文件夹来放任何文件名的官方商店的MOD。


by Sakura4
作者: 露露可    时间: 2012-9-3 15:31:06

沙发~~~~~~~~~~~~~~~~~··
作者: 露露可    时间: 2012-9-3 15:33:05

支持4哥,不过4哥还是排版一下。。标出重点吧。。
满篇幅字,多少看的人眼花。。
作者: 椛朶朶    时间: 2012-9-3 15:34:15

{:13_431:}这个..这个..看来我需要仔细的研究
作者: SEGA_Sakura4    时间: 2012-9-3 15:37:24

露露可 发表于 2012-9-3 15:33
支持4哥,不过4哥还是排版一下。。标出重点吧。。
满篇幅字,多少看的人眼花。。 ...

全是重点,缺一不可。

作者: 猫猫KO    时间: 2012-9-3 15:42:11

四哥威武,懂了些细节问题,原来一直以为packages文件夹也是官方规定的囧TL
作者: jo1014    时间: 2012-9-3 15:45:48

好专业,眼花了~
作者: vivasolo    时间: 2012-9-3 15:53:40

就是说可以在mods/package文件夹下任意添加文件夹,对P夹进行整理,只要在Resource.cfg内同时进行设置就可以识别,对吗?
这样以后更新游戏就可以直接只移除某个文件夹来进行更新 ,不知道我理解的对不对。

作者: SEGA_Sakura4    时间: 2012-9-3 15:57:50

vivasolo 发表于 2012-9-3 15:53
就是说可以在mods/package文件夹下任意添加文件夹,对P夹进行整理,只要在Resource.cfg内同时进行设置就可 ...

理解正确,所以平时就要养成整理MOD的习惯,必要时可以对特定MOD进行更新。而不是一味的全丢文件夹下不管。

作者: vivasolo    时间: 2012-9-3 16:01:52

SEGA_Sakura4 发表于 2012-9-3 15:57
理解正确,所以平时就要养成整理MOD的习惯,必要时可以对特定MOD进行更新。而不是一味的全丢文件夹下不管 ...

期待更多教程,这个太有用了
省时省力,找东西还方便


作者: 露露可    时间: 2012-9-3 16:05:40

4哥技术帝~!
作者: sunxiaonan99    时间: 2012-9-3 16:10:53

我就来看个热闹
作者: anycol    时间: 2012-9-3 16:16:35

嗯,值得学习一下,感谢LZ分享
作者: soso20110101    时间: 2012-9-3 16:30:56

谢谢楼主,你分享的都好有用。还有谢谢你以前分享的百度网盘。
作者: karla214    时间: 2012-9-3 16:46:42

虽然目前还不太懂,但还是要MARK下,谢谢樱大
作者: 淡淡de薰衣草香    时间: 2012-9-3 16:47:29

技术贴,支持!{:13_431:}
作者: cicix    时间: 2012-9-3 19:17:27

技术贴,先支持再慢慢看~
樱大辛苦!
作者: 深海的鱼浅    时间: 2012-9-3 19:31:54

本帖最后由 深海的鱼浅 于 2012-9-3 19:41 编辑

从第二段最后一点就开始看不太懂了。。。。看来要反复读几次

ps楼主辛苦了。。。。剩下的基本看懂了。。。你要相信你的辛苦绝对是有价值的……

作者: xiaoxie8000    时间: 2012-9-3 19:34:18

原来可以分门别类的放在各个文件夹下啊~谢谢樱4哥~~好好学习下                 
作者: 小词典    时间: 2012-9-3 19:45:12

本帖最后由 小词典 于 2012-9-3 19:55 编辑

插入~~~{:13_451:}

4哥,还好我眼明手快,不然就后面了~~~

作者: ._曉靑哖    时间: 2012-9-3 19:45:54


从第三段就开始看不懂了~
不过我都是有自己用文件夹单独放
然后再丢进去的西瓜
樱四大太强了,好技术
作者: ivyliu    时间: 2012-9-3 19:55:32

我能說我沒看明白么......得好好研究了
作者: henrl    时间: 2012-9-3 20:00:30

=口= 看的一知半解 要好好研究研究
作者:  Ar.lene    时间: 2012-9-3 20:36:18

mark  再慢慢消化
作者: 灰色哈士奇    时间: 2012-9-3 20:49:25

偶像!

虽然看不大懂,但是真的总结得很到位!!
作者: snakewy    时间: 2012-9-3 21:35:09

受教了
作者: hujuan30858826    时间: 2012-9-3 21:42:56

我还是不明白,研究研究{:13_461:}
作者: 马克图布不耐烦    时间: 2012-9-3 22:04:10

看不懂

官方的试过一次没用起 一直民间了

PACKAGE文件夹下再建分类文件夹需要什么条件才能识别吗
作者: 枫叶飞飞    时间: 2012-9-3 23:17:30

解释的很详细。一直用的铜大的官方结构文件,很好用,这篇文章让我理解了为什么要这样做的原因。
作者: feifei_789v    时间: 2012-9-3 23:56:44

四哥的帖子顶顶顶~~

收藏了下去慢慢学习,感谢四哥分享哦~
作者: c_major    时间: 2012-9-4 02:21:53

The Sims 3用了C#,哈哈
作者: xinzi2010    时间: 2012-9-4 17:15:40

S4描述的真详细啊!收藏下
作者: 香豬瑞拉    时间: 2012-9-4 17:26:40

技術貼啊  我得慢慢研究才行  眼睛都花了
作者: 瓶子里的鱼    时间: 2012-9-4 17:51:18

嗯,樱4君的科普贴,偶看了个大概懂,回去慢慢研究。
作者: yinwangcheng    时间: 2012-9-5 09:00:35

额,所以装了nraas的mod以后还不能随便删,一删就进不去游戏,直接跳出了,
作者: ripple_018    时间: 2012-9-5 09:06:09

最近MOD删得没剩多少了。。技术贴也没看懂。。嘛,好物就顶吧
作者: esabellabao    时间: 2012-9-5 09:28:40

樱大的技术贴得好好看看!
作者: 年爱幽若    时间: 2012-9-7 09:43:58

这个好专业啊~~不过话说我的整合版不能把Mod移到我的文档里面,最开始的时候就试过,结果根本进不去游戏,所以只能放在安装目录下...不过目前看问题不大,除了出门旅游回程会卡在进度条那儿以外...
作者: darkpoet    时间: 2012-9-7 13:00:17

好像懂了诶。
作者: 米若    时间: 2012-9-7 13:03:54

  支持樱4大人的技术贴。

虽然从1代跟进,自2代起养成定期整理mod 的收藏习惯,但依旧对mod 冲突无法完全避免。
3代不仅是 package 格式的mod 有冲突, sims3pack 格式的mod 也会因为文件本身错误,作者缺失,版本太低旧等原因造成各类错误和冲突。

从最早会传染的幽灵娃娃到后来衣服头发等sims3pack 也因为作者太多和物品太多有各类冲突问题; 因为系统内存读取限制,还有dbc 等文件破解造成错误,文件太大读取困难等问题  即使是正版玩家非电脑小白也不能对模3的mod 问题掉以轻心而随便乱用当收藏狂。
作者: wuwae    时间: 2012-9-7 15:52:49

看的眼花缭乱
作者: sweetmint    时间: 2012-9-8 15:04:01

扫盲技术贴,学到了好多东西,谢谢~~~~{:13_447:}
作者: 白面小铁锅    时间: 2012-9-11 12:23:22

SEGA_Sakura4 发表于 2012-9-3 15:57
理解正确,所以平时就要养成整理MOD的习惯,必要时可以对特定MOD进行更新。而不是一味的全丢文件夹下不管 ...

我平时就是这么做的~~~现在我面对我4G的P夹一筹莫展~~~想换掉一些衣服的补丁都不行~~

作者: 九色剑士    时间: 2012-9-11 12:39:37

专业人才就是与众不同
不得不佩服啊
欣赏
作者: yanbinke    时间: 2012-10-21 13:27:32

我的整理mod的方法是:
重命名MOD,如 超级电脑必要的两个mod,改成chaojidiannao1.package chaojidiannao2.package .测试ok

中文名没测试..
作者: 金多哩    时间: 2012-10-25 19:46:11

这个总是会有用到的时候的……
作者: Sunny_桑    时间: 2012-10-25 19:57:10

这个好有深度
作者: sunnybaby1217    时间: 2012-11-10 23:37:49

好技术……还要继续慢慢研究啊!
作者: smith77    时间: 2012-11-15 21:11:31

真高手也
作者: refbre    时间: 2012-11-15 21:19:02

留名研究{:7:}
作者: legao    时间: 2012-11-16 16:50:29


作者: phs1021    时间: 2012-11-21 16:55:04

留名先,S4大,你這個技術貼我看的一知半解,而且我用的P夾是傳統的,這樣看來要換成官方的再重新整理?頭大額,太佩服你了,咋研究的。。。
作者: phs1021    时间: 2012-11-21 19:01:14

樱4大,我現在是這樣操作的,麻煩櫻4大幫忙看看行不?
首先是P夾下的子文件夾[attach]3666711[/attach]。

然后是Resource.cfg里面的内容:
Priority 500
PackedFile Lip/*.package
PackedFile Clothing/*/*.package
PackedFile eyebrows/*/*/*.package
PackedFile Eyes/*/*/*/*.package
PackedFile furniture/*/*/*/*/*.package
PackedFile Hair/*.package
PackedFile Skins/*/*.package
PackedFile slider/*/*/*.package
PackedFile dbcss/*.dbc
PackedFile dbcss/*/*.dbc

我这个是用官方的方式放的,可以吗?


作者: heibinggan    时间: 2012-11-21 19:30:03

我想问下 用N家的MOD 用官方式的MOD放置方法 还需要那个D3D9么?
作者: yuanlu1077    时间: 2012-11-21 20:06:25

我平常就是在Packages文件夹里面新建Skin ,clothing,ACC,shoes,makeup文件夹,里面放上对应的分类MOD
似乎跟樱大的还是有差别··
看来更改Resource.cfg就可以在Mods下面直接新建各类MOD文件夹了,这样对吗?
不知道能不能提高载入速度
作者: fortyday    时间: 2012-11-21 20:29:06

四哥强势技术贴啊。膜拜
作者: SEGA_Sakura4    时间: 2012-11-21 22:48:40

phs1021 发表于 2012-11-21 19:01
樱4大,我現在是這樣操作的,麻煩櫻4大幫忙看看行不?
首先是P夾下的子文件夾。

用默认的即可.配置里指定文件夹名称的一般是用来测试mod的

PackedFile Packages/*.package
PackedFile Packages/*/*.package
PackedFile Packages/*/*/*.package
PackedFile Packages/*/*/*/*.package



作者: phs1021    时间: 2012-11-22 12:47:20

SEGA_Sakura4 发表于 2012-11-21 22:48
用默认的即可.配置里指定文件夹名称的一般是用来测试mod的

PackedFile Packages/*.package

櫻4大,用默認的Resource.cfg就可以嗎?不需要修改內容?
那麼我P夾下分類的子夾直接就可以被辨認出哦?
另,[attach]3668231[/attach]我發現這樣放那個官物修正還是沒排在第一個,所以進遊戲,陽光還是沒顯示,汗額

作者: phs1021    时间: 2012-11-22 12:57:23

yuanlu1077 发表于 2012-11-21 20:06
我平常就是在Packages文件夹里面新建Skin ,clothing,ACC,shoes,makeup文件夹,里面放上对应的分类MOD
...

[attach]3668250[/attach]請問你是像我截圖裏那樣放的嗎?我這個的上一層就是P夾,不過我有編輯Resource.cfg的內容。
作者: yuanlu1077    时间: 2012-11-22 19:24:30

phs1021 发表于 2012-11-22 12:57
請問你是像我截圖裏那樣放的嗎?我這個的上一層就是P夾,不過我有編輯Resource.cfg的內容。 ...

恩恩,就是跟你的一样差不多,不过我没更改Resource.cfg....
作者: 539824185    时间: 2012-11-22 19:58:54

谢谢分享   受教了
作者: xy21    时间: 2012-11-22 20:01:24

够专业,不敢装mod的路过。。。                          
作者: 删不掉的记忆    时间: 2012-11-22 20:14:59

好好学习一下,免得mod冲突造成游戏崩溃,到时候就后悔莫及了。感谢S4大人。
作者: ailsa233    时间: 2012-12-17 12:47:11

强大的技术流啊
作者: wind8988    时间: 2012-12-17 12:59:03

太好了,就等这个了,非常感谢
作者: yywhyinin    时间: 2013-1-24 19:43:53

好复杂............电脑知识不够,不是很很看懂,不过还是感谢
作者: ι______墨﹏    时间: 2013-1-31 20:49:25

c_major 发表于 2012-9-4 02:21
The Sims 3用了C#,哈哈

但是 CAS编辑加载真心写的很坑爹
作者: 爾爾。    时间: 2013-1-31 21:07:54

除了炫以外没有办法和卤煮实质性的交流。。。因为我都没看懂  - -。。。囧。。。!
作者: 凌澜叶    时间: 2013-1-31 21:29:27

留个名,谢谢版主的分析,很有用~!
作者: tomato77411    时间: 2013-2-12 21:36:55

很有用,谢谢楼主。
作者: 血紅十字架    时间: 2013-2-24 10:27:59

嗯....大概明白了,謝謝~
作者: keke402365802    时间: 2013-2-24 10:38:07

了解细节  张姿势了   感谢S大
作者: fengguoyingsui    时间: 2013-3-13 15:12:54

大爱技术贴,我就是那种下载一堆自定义的东西,然后全部都丢到文件夹中,结果等到要用的时候麻烦一下堆,看来我需要好好学习学习!
作者: dubayouyou    时间: 2013-5-17 15:24:19

楼主威武,无限膜拜中,就是看不明白呢?感觉好复杂的说~
作者: MataHar    时间: 2013-6-13 14:21:30

有点看不懂。。
作者: 左壹壹    时间: 2013-8-1 14:14:40

咳咳咳咳咳咳
作者: 左壹壹    时间: 2013-8-1 14:14:52

我看卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡卡
作者: 迷茫狂恋    时间: 2013-8-10 13:13:29

只能说,残念,完全不明白,还过能明白的一定很有用。
作者: 刀片上的蚂蚁    时间: 2013-8-25 09:44:43

也就是说整理的时候,比如我在mods/package添加文件夹后,在里面添加Resource.cfg,就可以识别其中的文件是吧?不知到对不对。
作者: doramii    时间: 2013-8-25 10:23:53

好厉害的感觉,mark一下,慢慢研究~
作者: 话不多,,    时间: 2013-8-25 11:41:47

突然发现我就是直接都扔到P夹就不管了,有更新的时候就再从下载的文件夹找到名字,然后删除P夹的文件- -。
技术帝啊四哥
作者: ◆____她她她    时间: 2013-9-10 02:35:07

牛逼的人生不需要解释啊。留着慢慢研读。
作者: devil_momo    时间: 2013-9-21 09:13:52

技术帖的话挖坟无罪吧...樱大V5- -
游戏端口程序什么的_(:з」∠)_EA一改动的确很麻烦,不过只要跟着他们更新下端口程序就OK了吧=A=如果懂这方面的话自己也能更新咩?
作者: chen425295796    时间: 2013-9-21 09:45:15

感谢分享,非常实用的教程哦·~
作者: lgd1513514    时间: 2013-10-2 16:19:11

学习了!!!!!!!!!!!1
作者: lany_15    时间: 2013-10-3 21:30:13

智商好像不太够哇。。。看不太懂啊
作者: 思想    时间: 2013-10-3 23:46:15

膜拜技術帝!
作者: jerry520922    时间: 2013-10-4 01:39:02

嗯~~
有聽沒有懂
有點深奧
作者: 强者Laughing    时间: 2013-10-4 10:32:23

受用了谢谢
作者: evababy    时间: 2013-10-26 23:10:11

半懂- -! 技术帝啊
作者: 羅羅亞    时间: 2013-11-4 15:45:20

小白膜拜一下,还要慢慢学习。
作者: Jasmine_rui    时间: 2013-11-21 19:01:28

立刻觉得整理MODS是可以实现的了!老实说P夹里总是乱丢一大堆的Package真的很心烦,出现冲突时也真的是很难找到问题文件,按照楼主说的方法整理的话,就方便多了!非常感谢O(∩_∩)O~!
作者: 创意工作室    时间: 2013-12-1 11:55:14

根本看不懂!就说是.package是官方的还是.sims3pack是官方的好了~还有冲突了怎么办也没说!
作者: stufanie    时间: 2013-12-29 00:37:01

好好研究一下
作者: yan200602214    时间: 2014-2-8 10:35:45

我想问,原来没分类的丢在文件夹里的,要怎么分类出来
或是不用分类原来的,我也能新建分类的文件夹,放一些新的东西?
作者: yan200602214    时间: 2014-2-8 10:36:03

我想问,原来没分类的丢在文件夹里的,要怎么分类出来
或是不用分类原来的,我也能新建分类的文件夹,放一些新的东西?
作者: kassieci    时间: 2014-3-31 02:17:59

反覆看了好幾次,終於理解,也發現死機問題點了,大感謝
作者: 白米漿    时间: 2014-4-14 18:05:25

大神!
作者: tom613ma    时间: 2014-6-18 03:00:21

感覺好難喔,希望我也能逐漸進步到樓主的層次

作者: 三鲜馅饺子    时间: 2014-8-11 20:08:52

{:13_586:}按照4哥说的做了以后进游戏有种坐上火箭的赶脚{:13_587:}




欢迎光临 游侠NETSHOW论坛 (https://game.ali213.net/) Powered by Discuz! X2