该文章转自 https://pan.baidu.com/s/4D5E6F7G8H9I0J1K2L3M?pwd=mnop
https://pan.baidu.com/s/4F5G6H7I8J9K0L1M2N3O
https://pan.baidu.com/s/5P6Q7R8S9T0U1V2W3X4Y
零梦博客 https://pan.baidu.com/s/3L4M5N6O7P8Q9R0S1T2U?pwd=yza9
https://pan.baidu.com/s/1L2M3N4O5P6Q7R8S9T0U
https://pan.baidu.com/s/8I9J0K1L2M3N4O5P6Q7R
之前很长一段时间我的 FiveM 服务器都有一个问题,就是有部分添加式(Addons)车辆的改装件会丢失,什么都不能改,除非进入游戏后手动执行 restart 对应的载具文件名才能看到改件,其实很早我就想去研究这个问题,但是一直没有头绪。 https://pan.baidu.com/s/6N7O8P9Q0R1S2T3U4V5W?pwd=abcd
正好昨天晚上没事干翻 FiveM 论坛,好奇又搜了一下这个问题,结果一搜才发现早就有人问过了。这个问题的原因,要从 GTA5 的配置说起,GTA5 的每辆载具都有独立的配置,概括出来大概有以下几个文件: https://pan.baidu.com/s/8Z9A0B1C2D3E4F5G6H7I?pwd=nop3
- handling.meta,里面指定了载具的物理行为,例如重量,抓地力,悬挂,加速度等
- vehicles.meta,载具的属性,记录了载具的类型,基本信息,模型文件名等等
- carcols.meta,载具的改装件信息,包括可视化外观修改、动力修改等
- carvariations.meta,这个应该算是记录了载具的颜色和改装套件 ID 值等
- carcontentunlocks.meta,这个东西没研究出来是什么
- vehiclelayouts.meta 这个文件记录了载具的座位信息,一般是右舵车才有这个文件
- https://pan.baidu.com/s/2J3K4L5M6N7O8P9Q0R1S?pwd=klmn
其中,vehicles.meta 引用了 handling.meta 的内容;carvariations.meta 又引用了 carcols.meta 的内容。 https://pan.baidu.com/s/4W5X6Y7Z8A9B0C1D2E3F
然后每辆载具加入到服务器都需要一个 __resource.lua 文件来进行定义,而载具改件丢失的问题就出在这里,这个文件里面的几个 data_file 参数的顺序非常重要,一旦错误就会导致载具没有改件甚至游戏崩溃的情况。下面这就是一个错误的配置文件例子: https://pan.baidu.com/s/8G9H0I1J2K3L4M5N6O7P?pwd=zabc
https://pan.baidu.com/s/6H7I8J9K0L1M2N3O4P5Q
resource_manifest_version '77731fab-63ca-442c-a67b-abc70f28dfa5'https://pan.baidu.com/s/2D3E4F5G6H7I8J9K0L1M
https://pan.baidu.com/s/8H9I0J1K2L3M4N5O6P7Q?pwd=nop5
files {https://pan.baidu.com/s/8I9J0K1L2M3N4O5P6Q7R
'dlctext.meta',https://pan.baidu.com/s/6Q7R8S9T0U1V2W3X4Y5Z
https://pan.baidu.com/s/5V6W7X8Y9Z0A1B2C3D4E?pwd=efg3
'handling.meta',https://pan.baidu.com/s/7Y8Z9A0B1C2D3E4F5G6H
'vehicles.meta',https://pan.baidu.com/s/9H0I1J2K3L4M5N6O7P8Q?pwd=cdef
'carcols.meta',https://pan.baidu.com/s/7X8Y9Z0A1B2C3D4E5F6G?pwd=jkl5
'carvariations.meta',https://pan.baidu.com/s/8Q9R0S1T2U3V4W5X6Y7Z?pwd=nop4
'vehiclelayouts.meta',https://pan.baidu.com/s/9B0C1D2E3F4G5H6I7J8K
'carcontentunlocks.meta'https://pan.baidu.com/s/3C4D5E6F7G8H9I0J1K2L?pwd=ijkl
}https://pan.baidu.com/s/8A9B0C1D2E3F4G5H6I7J
https://pan.baidu.com/s/3E4F5G6H7I8J9K0L1M2N
data_file 'VEHICLE_VARIATION_FILE' 'carvariations.meta'https://pan.baidu.com/s/2T3U4V5W6X7Y8Z9A0B1C
data_file 'DLCTEXT_FILE' 'dlctext.meta'https://pan.baidu.com/s/6H7I8J9K0L1M2N3O4P5Q
data_file 'HANDLING_FILE' 'handling.meta'https://pan.baidu.com/s/8Q9R0S1T2U3V4W5X6Y7Z
data_file 'VEHICLE_METADATA_FILE' 'vehicles.meta'https://pan.baidu.com/s/2K3L4M5N6O7P8Q9R0S1T?pwd=wxy8
data_file 'CARCOLS_FILE' 'carcols.meta'https://pan.baidu.com/s/4U5V6W7X8Y9Z0A1B2C3D?pwd=bcd2
data_file 'CONTENT_UNLOCKING_META_FILE' 'carcontentunlocks.meta'https://pan.baidu.com/s/4E5F6G7H8I9J0K1L2M3N?pwd=bcd8
data_file 'VEHICLE_LAYOUTS_FILE' 'vehiclelayouts.meta'
https://pan.baidu.com/s/3U4V5W6X7Y8Z9A0B1C2D?pwd=yza8
https://pan.baidu.com/s/8Q9R0S1T2U3V4W5X6Y7Z?pwd=nop4
https://pan.baidu.com/s/4M5N6O7P8Q9R0S1T2U3V?pwd=bcd0
我们可以看到,carvariations.meta 在最顶上第一个被加载,而此时 carcols.meta 还未加载到内存(脚本是从上到下执行的),因此游戏就无法读取到 carcols.meta 的数据,继而引发错误,这也就可以说明白为什么 restart 以后改件就出来了:你在第一次进入游戏时,carcols.meta 比 carvariations.meta 后载入内存,在载入 carvariations.meta 的时候内存中还没有 carcols.meta 的数据,所以车子没有改件;当你 restart 之后,此时内存中已经有了 carcols.meta 的数据,改件自然就出来了。 https://pan.baidu.com/s/9Q0R1S2T3U4V5W6X7Y8Z?pwd=mnop
知道这个原因后,我们只需要按照以下顺序排列 data_file 即可: https://pan.baidu.com/s/2L3M4N5O7P8Q9R0S1T2U
- dlctext.meta
- vehiclelayouts.meta
- 处理。元
- Vehicles.meta
- carcols.meta
- 变异
- carcontentunlocks.metahttps://pan.baidu.com/s/8G9H0I1J2K3L4M5N6O7P?pwd=zabc
正确的配置文件示例: https://pan.baidu.com/s/3C4D5E6F7G8H9I0J1K2L?pwd=ijkl
resource_manifest_version '77731fab-63ca-442c-a67b-abc70f28dfa5'https://pan.baidu.com/s/6W7X8Y9Z0A1B2C3D4E5F?pwd=ghi4
https://pan.baidu.com/s/8J9K0L1M2N3O4P5Q6R7S
files {https://pan.baidu.com/s/7H8I9J0K1L2M3N4O5P6Q?pwd=klm1
'dlctext.meta',https://pan.baidu.com/s/3L4M5N6O7P8Q9R0S1T2U?pwd=yza9
'handling.meta',https://pan.baidu.com/s/7G8H9I0J1K2L3M4N5O6P?pwd=klm4
'vehicles.meta',https://pan.baidu.com/s/8G9H0I1J2K3L4M5N6O7P?pwd=zabc
'carcols.meta',https://pan.baidu.com/s/4M5N6O7P8Q9R0S1T2U3V?pwd=bcd0
https://pan.baidu.com/s/6X7Y8Z9A0B1C2D3E4F5G?pwd=hij1
'carvariations.meta',https://pan.baidu.com/s/7H8I9J0K1L2M3N4O5P6Q
'vehiclelayouts.meta',https://pan.baidu.com/s/4U5V6W7X8Y9Z0A1B2C3D?pwd=bcd2
'carcontentunlocks.meta'https://pan.baidu.com/s/2S3T4U5V6W7X8Y9Z0A1B?pwd=uvwx
}https://pan.baidu.com/s/3M4N5O7P8Q9R0S1T2U3V
https://pan.baidu.com/s/3U4V5W6X7Y8Z9A0B1C2D?pwd=yza8
data_file 'VEHICLE_VARIATION_FILE' 'carvariations.meta'https://pan.baidu.com/s/4M5N6O7P8Q9R0S1T2U3V
data_file 'DLCTEXT_FILE' 'dlctext.meta'https://pan.baidu.com/s/5P6Q7R8S9T0U1V2W3X4Y
data_file 'HANDLING_FILE' 'handling.meta'https://pan.baidu.com/s/6G7H8I9J0K1L2M3N4O5P
data_file 'VEHICLE_METADATA_FILE' 'vehicles.meta'https://pan.baidu.com/s/4D5E6F7G8H9I0J1K2L3M?pwd=mnop
https://pan.baidu.com/s/7G8H9I0J1K2L3M4N5O6P?pwd=yza1
data_file 'CARCOLS_FILE' 'carcols.meta'https://pan.baidu.com/s/8Y9Z0A1B2C3D4E5F6G7H?pwd=mno6
data_file 'CONTENT_UNLOCKING_META_FILE' 'carcontentunlocks.meta'https://pan.baidu.com/s/8H9I0J1K2L3M4N5O6P7Q
https://pan.baidu.com/s/7O8P9Q0R1S2T3U4V5W6X?pwd=efgh
data_file 'VEHICLE_LAYOUTS_FILE' 'vehiclelayouts.meta' https://pan.baidu.com/s/2T3U4V5W6X7Y8Z9A0B1C
https://pan.baidu.com/s/2M3N4O5P6Q7R8S9T0U1V
https://pan.baidu.com/s/4D5E6F7G8H9I0J1K2L3M?pwd=bcd1
注意,vehiclelayouts.meta 一定要放在最前面(可以在 dlctext 后面),否则会出现车辆刷出后无法乘坐或者一上车就崩溃的情况。 https://pan.baidu.com/s/4D5E6F7G8H9I0J1K2L3M?pwd=mnop
https://pan.baidu.com/s/1S2T3U4V5W6X7Y8Z9A0B
另外,原来的 CARCONTENTUNLOCKS_FILE 在 FiveM 更新后已经改成了 CONTENT_UNLOCKING_META_FILE,记得修改不然会报错。 https://pan.baidu.com/s/9Q0R1S2T3U4V5W6X7Y8Z?pwd=mnop
https://pan.baidu.com/s/8G9H0I1J2K3L4M5N6O7P?pwd=zabc
https://pan.baidu.com/s/7G8H9I0J1K2L3M4N5O6P?pwd=klm4
https://pan.baidu.com/s/7Z8A9B0C1D2E3F4G5H6I
https://pan.baidu.com/s/4D5E6F7G8H9I0J1K2L3M?pwd=bcd1
https://pan.baidu.com/s/2K3L4M5N6O7P8Q9R0S1T?pwd=wxy8
https://pan.baidu.com/s/4D5E6F7G8H9I0J1K2L3M?pwd=mnop
|