持久且自然的污垢

持久且自然的污垢

该模组旨在修复游戏过程中玩家角色自动清理的问题。更新2026:我已离开了一段时间。而且我还会继续离开。我时不时会看到很多请求之类的东西。你被允许自由使用这个模组,没有任何限制。

游戏玩法

TLDR:

PC 版已禁用了持久污渍贴图,使游戏中的“淋浴”功能变得多余。这是通过将最小值设为 70 并将增量设为负值实现的,导致玩家基本不会遇到持久污渍贴图。本模组将它们恢复为主机版的状态。你可以在提供的图片中看到这些持久污渍贴图。请注意,这只是持久污渍,而非玩家首次掉进泥坑等场景时产生的即时污渍。那些贴图仍在游戏中,只是本模组未涉及这部分内容。模组仅移除了让玩家自动清洁的部分,从而允许玩家保持污渍状态,而不会像猫一样自行清洁。

本模组不涉及游戏自带的自动清洁标记。例如任务特定清洁、拜访捕兽人、在马匹/衣柜更换服装等场景。这些是游戏硬编码内容,无法通过简单修改修复,需要编写脚本捕捉这些实例并忽略它们/持续追踪你的污渍程度。我目前没有时间处理,而且老实说也不确定自己是否具备相关技能——我对 C# 并不熟悉。(目前正在攻读以编程为重点的 IT 专业)或许未来如果我的多动症大脑没有失去兴趣的话会尝试解决。

附注:泥污/血迹效果过一段时间会变干,只需耐心等待。你的角色不会一直保持刚掉进泥坑的样子。这些污渍变干后会留在身上。这意味着什么?你刚掉进泥坑时 = 油亮/湿润。在阳光下骑马或游玩一段时间后 = 亚光/干燥状态。参考图片即可理解。

你仍需在旅馆沐浴才能彻底清洁。

游泳或淋雨可以清洁身体,但无法达到 100% 洁净(理应如此)。

较长版本:

Rockstar 禁用了主机版本中的持久污垢贴图。可能是因为他们意识到玩家在玩游戏时并不想整天 24 小时清洁自己的角色。但是该死的,我们有些人就是愿意。所以这个模组恢复了它。这个模组保留了那种真实的“当前”脏污效果,同时启用了次要的持久性脏污效果。根据我的测试,这适用于世界中的所有脏污类型,比如泥土、血迹、滑落灰尘等。

你可能会说,我的游戏里有脏东西。这个模组到底是干什么的?

你骑马。你从马上摔下来。你弄脏了。在 PC 版原版游戏中,这个模组最终会让角色变干并恢复干净状态。而本模组禁用了这一功能,让角色可以永远保持肮脏状态... 直到你洗澡或重启游戏为止。注意:在雨中骑马或游泳会稍微清洁你,但不会完全清除污渍。这是游戏在主机上的运作方式,我一直觉得 PC 版没有这样设置很奇怪。后来发现是因为 Rockstar 为持久污渍贴图设置了负值参数。本模组只是移除了这些负值。

我制作了两个版本。请仔细阅读,以便选择最适合您的版本以及了解如何安装。

持久污渍 版本仅允许由玩家自身造成的污渍保留。例如:摔进泥坑、骑马时坠地、搬运尸体时血迹沾染等仅有物理接触产生的污渍。游戏本身会在某些地图区域(如罗兹镇)为玩家角色叠加微量污渍效果。

自然污垢 具备“持久污垢”的所有功能,同时允许污垢在游戏场景中随时间自然累积。例如,你在罗兹走动一段时间后,灰尘和污垢会逐渐附着在衣服和身体上。理论上这听起来不错,但游戏无法区分衣服污垢和身体污垢,这意味着亚瑟可能会莫名其妙地脸上变脏。比如你在瓦伦丁的泥路上来回奔跑一段时间后,亚瑟脸上和衣服上会沾上轻微泥渍,当积累值达到 70/70 时最终会完全变脏。不过我已调整数值,这个累积过程需要较长时间才会触发,不会瞬间发生,能让你产生通过奔跑自然变脏的体验。若想调整速度,可用任意文本编辑器打开 visualsettings.dat 文件,找到 peddirt.change.player.fadetogrubby 这一行,将数值改为你期望的秒数(每 45 秒增加 1 个累积值,共 70 个累积值达到最大脏污程度)。

我个人推荐持久泥土。

安装说明:

你有没有修改 visualsettings.dat 文件的模组?没有。那就直接把它放到你的 lml 文件夹里就行了。

如果是的话,你需要手动编辑其他模组中已有的 visualsettings.dat 文件中的行内容。
(即使你手动编辑自己的 visualsettings.dat 文件,我也希望你能下载这个模组。这样能让其他人在未来找到它,并且不会因为无人下载而被推回到最后一页。)

针对顽固污渍:

  1. 使用任意文本编辑器(如 Notepad++)打开 visualsettings.dat

  2. 按下 CTRL+F,找到下方显示的值,然后将它们修改为这些值。

    更新1.4:
    peddirt.change.player.indirt 15.0
    peddirt.change.player.sliding         0.5    # 原始值为1时有时不会触发
    peddirt.rate.player.fadetogrubby            0.0
    peddirt.rate.player.min.fadetogrubby       0.0
    peddirt.rate.player.max.fadetogrubby       80.0
    peddirt.rate.player.sliding                5.0
    peddirt.rate.player.min.sliding             0.0
    peddirt.rate.player.max.sliding            20.0
    peddirt.rate.player.collidewithdirt        0.5 # 原值1导致活跃与持久之间的表示不准确
    peddirt.rate.player.min.collidewithdirt    0.0
    peddirt.rate.player.max.collidewithdirt    80.0
    

    天然泥土:

  3. 使用任意文本编辑器(如 Notepad++)打开 visualsettings.dat

  4. 按下 CTRL+F,找到下方显示的值,然后将它们改为这些值。

    更新 1.4:
    peddirt.change.player.indirt          15.0
    peddirt.change.player.sliding         0.5    # 原始值为1时,有时无法激活
    peddirt.change.player.fadetogrubby        45.0
    peddirt.rate.player.fadetogrubby           1.0
    peddirt.rate.player.min.fadetogrubby       0.0
    peddirt.rate.player.max.fadetogrubby       80.0
    peddirt.rate.player.sliding                5.0
    peddirt.rate.player.min.sliding            0.0
    peddirt.rate.player.max.sliding            20.0
    peddirt.rate.player.collidewithdirt        0.5 # 初始值1会导致激活状态与持续状态的表示不准确
    peddirt.rate.player.min.collidewithdirt    0.0
    peddirt.rate.player.max.collidewithdirt    80.0
    
  5. 保存文件并开始游戏

  6. 如果你不知道模组是否正常工作。在罗兹打滚直到你变成一个脏男孩,然后骑马前往瓦伦丁。如果到达时你身上脏了,就说明模组工作正常。

如果你觉得洗澡很麻烦,我可以制作第三个版本,让它自动慢慢清洁玩家。 如果你想自己动手,又不想等待,可以直接编辑 peddirt.rate.player.fadetogrubby 这一行,将其改为 -1.0(注意是减号)。这样每 45 秒,游戏就会从 80 的增量中移除 1,直到归零,让玩家重新变得干净。但说实话,这样的话我建议你还是别下载这个模组了。

漏洞:

在某些情况下,游戏会自动清洁玩家,比如造访捕兽人时。我目前无法修复这一问题,因为这很可能需要编写脚本,而我暂时没有时间去数据库中搜索正确的哈希值,更何况社区也未必已经找到了对应的哈希值。此外,玩家角色的伤害/污垢/泥土等效果存在两种不同的“纹理”。有时你可能会因为摔倒或受到攻击而看到污垢/血迹激活,但持续存在的次级纹理可能由于污垢量不足或玩家受到的伤害不够而未能正确激活。即便你看到了污垢痕迹,你的角色仍有可能变得干净。我无法定位这些即时激活/新生成的纹理并延长它们的持续时间。一个很好的例子是你滑行时背部产生的长条污痕——它们会消失。但如果一切正常运作,你的角色最终应该会穿着布满灰尘的衣物结束活动。