评分
讨论
26那么我们如何使用这段代码呢?
2025-05-11
如果有人感兴趣,我做了一些修改以适应我的偏好,以便在硬核模式下运行。 简而言之:你不太可能死亡,但如果发生碰撞或被撞,仍然会陷入非常糟糕的境地。 车/摩托车碰撞时速度差低于15公里/小时无伤害(防止撞到行人时受伤)。 出血概率触发所需的最小速度差。 伤害限制在玩家最大生命值的80%以内,并且不会立即死亡,适用于汽车、摩托车和步行。 推荐设置: 汽车速度:100 汽车随机值:10 汽车出血值:30 摩托车速度:80 摩托车随机值:20 摩托车出血值:40 步行速度:50 步行随机值:20 步行出血值:50 ```cpp public final static func WalkerDeathCalculation(player: wref<PlayerPuppet>, vehicleSpeed: Float) -> Void { let settings = new DeadlyRoadsSettings(); let rand: Float = RandRangeF(0.0, settings.walkerDamageRand); let damage = vehicleSpeed + rand; let health: Float = GameInstance.GetStatPoolsSystem(player.GetGame()).GetStatPoolMaxPointValue(Cast<StatsObjectID>(player.GetEntityID()), gamedataStatPoolType.Health); let maxDamage: Float = health * 0.8; // 将伤害限制在最大生命值的80% DeadlyRoads.CrashDamage(player, MinF(health * damage / settings.walkerDeathSpeed * 0.6, maxDamage)); if damage >= (settings.walkerDeathSpeed * 0.15) { DeadlyRoads.CrashBleeding(player, settings.walkerBleedingChance); } } public final static func automobileDeathCalculation(player: wref<PlayerPuppet>) -> Void { let settings = new DeadlyRoadsSettings(); let rand: Float = RandRangeF(0.0, settings.automobileDamageRand); let damage = player.deltaSpeed + rand; if player.deltaSpeed < 15.0 { // 速度差异太小,实际上无关紧要 return; } let health: Float = GameInstance.GetStatPoolsSystem(player.GetGame()).GetStatPoolMaxPointValue(Cast<StatsObjectID>(player.GetEntityID()), gamedataStatPoolType.Health); let maxDamage: Float = health * 0.8; // 将伤害限制在最大生命值的80% if PlayerDevelopmentSystem.GetData(player).IsNewPerkBoughtAnyLevel(gamedataNewPerkType.Body_Right_Milestone_1) { DeadlyRoads.CrashDamage(player, MinF(health * damage / settings.automobileDeathSpeed * 0.6, maxDamage)); } else { DeadlyRoads.CrashDamage(player, MinF(health * damage / settings.automobileDeathSpeed, maxDamage)); }; if damage >= (settings.automobileDeathSpeed * 0.3) { DeadlyRoads.CrashBleeding(player, settings.automobileBleedingChance); } } public final static func motorcycleDeathCalculation(player: wref<PlayerPuppet>) -> Void { let settings = new DeadlyRoadsSettings(); let rand: Float = RandRangeF(0.0, settings.motorcycleDamageRand); let damage = player.deltaSpeed + rand; if player.deltaSpeed < 15.0 { // 速度差异太小,实际上无关紧要 return; } let health: Float = GameInstance.GetStatPoolsSystem(player.GetGame()).GetStatPoolMaxPointValue(Cast<StatsObjectID>(player.GetEntityID()), gamedataStatPoolType.Health); let maxDamage: Float = health * 0.8; // 将伤害限制在最大生命值的80% if PlayerDevelopmentSystem.GetData(player).IsNewPerkBoughtAnyLevel(gamedataNewPerkType.Body_Right_Milestone_1) { DeadlyRoads.CrashDamage(player, MinF(health * damage / settings.motorcycleDeathSpeed * 0.6, maxDamage)); } else { DeadlyRoads.CrashDamage(player, MinF(health * damage / settings.motorcycleDeathSpeed, maxDamage)); }; if damage >= (settings.motorcycleDeathSpeed * 0.3) { DeadlyRoads.CrashBleeding(player, settings.motorcycleBleedingChance); } } ```
2025-04-20
这个 supposed to accomplish 是什么意思? 如果你真的去阅读它的话,其实是很直白的。
2025-04-14
+1
2025-04-09
这个应该达成什么目的?
2025-03-12
不错的模组。 只是有个建议,或许能增加一些有趣的现实主义元素。我一直在想,是否可以在发生事故后有一定几率在最近的RipperDoc处醒来,而他会让你付费才能复活。或者可能是在Scav货车的后车厢醒来,或者被扔在巷子里,赤身裸体、被抢光财物,甚至有一部分义肢也被扯出来了。另外,如果能被警察逮捕就更好了,但我理解目前并没有实现这些功能。 这会让做出糟糕驾驶决策成为风险更高的行为。
2025-01-17
在 `DeadlyRoads.reds` 中替换: ```html DeadlyRoads.CrashDamage(player, health * damage / settings.automobileDeathSpeed * 0.6); ``` 为: ```html DeadlyRoads.CrashDamage(player, health * damage / settings.automobileDeathSpeed * 0.1); ``` 然后进入 `settings.reds` 替换: ```html @runtimeProperty("ModSettings.mod", "Deadly Roads") @runtimeProperty("ModSettings.category", "DRAutomobileCategory") @runtimeProperty("ModSettings.displayName", "DRAutomobileDeathSpeedName") @runtimeProperty("ModSettings.description", "DRAutomobileDeathSpeedDesc") @runtimeProperty("ModSettings.step", "10.0") @runtimeProperty("ModSettings.min", "0.0") @runtimeProperty("ModSettings.max", "100.0") let automobileDeathSpeed: Float = 80.0; ``` 为以下内容: ```html @runtimeProperty("ModSettings.mod", "Deadly Roads") @runtimeProperty("ModSettings.category", "DRAutomobileCategory") @runtimeProperty("ModSettings.displayName", "DRAutomobileDeathSpeedName") @runtimeProperty("ModSettings.description", "DRAutomobileDeathSpeedDesc") @runtimeProperty("ModSettings.step", "1.0") @runtimeProperty("ModSettings.min", "0.0") @runtimeProperty("ModSettings.max", "300.0") let automobileDeathSpeed: Float = 200.0; ``` 在游戏中调整设置,搞定!Chombatta!
2025-01-03
哦。我的。天。感谢你制作这个。 听到这个声音也是在第二幕塔克穆拉入侵你的生物监测器时会瞬间死亡的原因。 我希望原发布者或某人能让这个模组在这两个任务中关闭。
2024-12-31
模组很棒,但我要怎么关闭因车祸而死亡的功能呢?我的改装车速度高达600公里/小时,这功能挺烦人的。
2024-11-01
请注意,该模组在某些任务中需要禁用。 其中一个任务是“Chip In”。(你会明白的,我可不想剧透;)) 不过,这是一个非常优秀的模组,在像我一样玩完全模拟/真实模式时,极大地提升了游戏体验。 感谢你的模组,楼主。
2024-10-09