S.T.A.L.K.E.R.: Shadow of Chernobyl

S.T.A.L.K.E.R.: Shadow of Chernobyl

Not enough ratings
[Lost Alpha DC 1.4005]数据修改笔记/Notes on data modification [CN/EN]
By null
个人关于修改特定数值以降低游戏难度的笔记。但是如果:
  • 您想要捡NPC的垃圾用,或是将其卖给商人攒钱过日子
  • 一发异变就能将您带走
  • Akm 74/2U一次burst三四发子弹就能将您击杀
那么这对您是一篇有用的指南。

Personal notes about modifying certain values to lower the game difficulty. But if:
  • You want to loot NPCs, either for personal usage or to sell to traders for a living
  • You can be taken out by just one shot of an anomaly
  • One burst of Akm 74/2U can hit you with 3--4 bullets, resulting your death
Then this is also a guide useful for you.

Dota 2选手辱华事件出结果以前暂不发英文版其实还不是懒
Since Kuku was banned from 2019 Chongqing Major (and maybe also TI9 but I'm not sure), and Skem was announced to leave coL (but I don't know if any further punishments will be applied to him), I'm planning to translate these notes into English in Saturday, Dec 8th, 2018.
   
Award
Favorite
Favorited
Unfavorite
准备工作/Preparations
  1. 准备一个真正的文本编辑器,比如Notepad++。后面所有的ltx文件都用这个编辑器打开,可以在系统内设置关联。
  2. 进入游戏目录,打开fsgame.ltx,确认一下$app_data_root$(原版游戏存档在“我的文档”里,LA用这个变量调整了存档位置,默认在游戏目录下的appdata目录)和$game_data$(读取游戏数据时优先尝试的目录,一般没问题的话都会用gamedata目录)的路径,然后把$game_data$后面的false改为true。
  3. 找一个资源解包器(Shadow of Chernobyl Data Unpacker/Extractor之类),将想要修改的文件释放到$game_data$下,注意保留原路径。

  1. Get a REAL text editor such as Notepad++. You need it to open all the .ltx files, so maybe you want to set associations in your OS.
  2. Enter the game directory, open fsgame.ltx, check the paths of $app_data_root$ (controls save path, points to "My Documents" in the original game, but LA changed it to (game_dir\)appdata to move the save files) and $game_data$ (the prioritized folder from which the game tries to load data, points to (game_dir\)gamedata if no other problem occurs). Then change the false behind $game_data$ to true.
  3. Get a Shadow of Chernobyl Data Unpacker/Extractor/etc., extract the files you want to modify to $game_data$, and keep the original paths.
背负全世界的重量/Carry the weight of the world
2B小姐姐最近又50% off了,然而仍比历史最低价贵7块

Recently Nier:Automata is in a 50% off sale, but is still 7 CNY higher than the historical lowest price.

Back stories for non-Chinese readers:
The original price for Nier:Automata in China region of Steam is 199 CNY, which roughly equals to 30 USD, but is also the price here of a lot of other games sold in other regions for 60 USD. Square Enix realized this "error" 3 hours after the initial release of the game, and changed its price to 412 CNY, which equals to 60 USD back then, but is more than twice of the original price.


原版游戏的重量限制为:
  • $game_data$\config\creatures\actor.ltx, [actor]\max_item_mass:玩家正常情况下的最大负重,超出则不能奔跑,小数,默认为50.0
  • $game_data$\config\creatures\actor.ltx, [actor_condition]\max_walk_weight:玩家能够走路的最大负重,通常应大于max_item_mass,整数,默认为60

The weight limits in the original game are:
  • $game_data$\config\creatures\actor.ltx, [actor]\max_item_mass: Maximum weight in normal case, players carrying more than that weight cannot run. (Floating or fixed?) point decimal, defaults to 50.0.
  • $game_data$\config\creatures\actor.ltx, [actor_condition]\max_walk_weight:Players carrying more than that weight cannot walk. Usually should be higher than max_item_mass. Integer, defaults to 60.

但是在Lost Alpha里,这两个数值是由Endurance(耐力)技能控制的,直接修改上面的数值是无效的。两个数值的默认值为:
  • max_item_mass:耐力0级为35,10级时为65,线性增长
  • max_walk_weight:耐力0级为45,10级时为75,线性增长

But in Lost Alpha, these two values are controlled by Endurance skill, so directly changing the above values won't work. Default values are:
  • max_item_mass: 35 with Endurance Level 0, 65 with Lv 10, growing linearly
  • max_walk_weight: 45 with Endurance Level 0, 75 with Lv 10, growing linearly

因此有下面两种修改方式:

Therefore there are two ways below to modify the values:

修改负重值/Modify the carry weight values
打开$game_data$\config\lost_alpha\la_skills.ltx,设置[endurance_skill_data]\minimum_max_weight, maximum_max_weight, minimum_max_walk_weight, maximum_max_walk_weight为想要的值。
注意,max应大于等于min,否则请保持耐力0级。

Open $game_data$\config\lost_alpha\la_skills.ltx, set [endurance_skill_data]\minimum_max_weight, maximum_max_weight, minimum_max_walk_weight, maximum_max_walk_weight to desired values.
Note that max values should be greater than or equal to corresponding min values, otherwise you should keep your Endurance level to 0.

修改负重计算公式/Modify the carry weight calculation functions
打开$game_data$\scripts\pdaskills.script,修改get_endurance_max_weight(), get_endurance_walk_weight()的两个公式。
个人使用的公式为min_value * 2 ^ skills_values["endurance"],也就是每升一级负重加倍,即使保持minimum_max_weight==35,到最后也能携带35吨的道具。(印度国王:此人野心极大,拖出去×××)
如果只想要固定的负重值,也可以在这里写死。

Open $game_data$\scripts\pdaskills.script, modify the functions in get_endurance_max_weight() and get_endurance_walk_weight().
The function I'm using is min_value * 2 ^ skills_values["endurance"], i.e. double the weight for every level up. Even if the value of minimum_max_weight==35 is kept, you can still carry about 35 tons of items in the end (when you have Endurance Level 10). (Indian king: This man is too ambitious to live)
Also you can write fixed values here, if you want.
拒绝摇头晃脑/No headbobbing
原版游戏要改这个设置的话,可以找$app_data_root$\user.ltx里的cam_inert,默认0.15,改成0.0
但是这个方法在LA里也是无效的。。。
在$game_data$\config\misc\effectors.ltx里找到[bobbing_effector]\run_amplitude, walk_amplitude, limp_amplitude, 前两个(跑步/行走时的视野摇摆幅度)没什么说的肯定要改成0,最后一个(一瘸一拐时的视野摇摆幅度)依个人口味可改可不改。
下面还有一个控制武器晃动的,别改错了。

In the original game, the amplitude of headbobbing is controlled by cam_inert in $app_data_root$\user.ltx, which defaults to 0.15. Changing it to 0.0 turns the headbobbing off.
But in Lost Alpha, this method doesn't work either...
Open $game_data$\config\misc\effectors.ltx and find [bobbing_effector]\run_amplitude, walk_amplitude, limp_amplitude. You must want to set the first two (headbobbing amplitudes when running/walking) to 0, but maybe not the last one (headbobbing amplitudes when limping).
Below them is a group of data controlling the weapon "bobbing", make sure you changed the right parameters.
异变抗性/Immunities to anomalies
抗性的修改和原版类似,在$game_data$\config\creatures\actor.ltx的[actor_immunities_...]下面修改相应数值即可,数值越小抗性越强。
(效果待验证)

Immunities to anomalies can be modified in a similar way to the original game. Just open $game_data$\config\creatures\actor.ltx, and change values in [actor_immunities_...]. Lower values mean better immunities.
(Effects are to be confirmed)
子弹抗性/Immunity to bullets
对敌人子弹的抗性受到survivor技能的控制,该技能会通过$game_data$\scripts\pdaskills.script里的get_survivor_hit_factor()计算一个hit_immunity_factor变量,变量值越低抗性越高。
默认公式是从1开始,survivor技能每升一级减0.01,每杀死一名其他的潜行者减1*10^(-5)
个人使用的公式是直接在外面加一个*0.001,具体是削减伤害还是降低敌人命中率我看不出来,倾向于前者。当然直接改成0(全免疫)也是可以的。
另外修改这个值似乎对异变的抗性也有影响。

Immunity to enemy bullets is controlled by Survivor skill, which calculates a hit_immunity_factor variable through get_survivor_hit_factor() in $game_data$\scripts\pdaskills.script, lower value means better immunity.
The function defaults to 1 - (0.01 per Survivor skill) - (1 * 10^(-5) per other stalker you killed).
The function I used is 0.001 * (all the default function above). I cannot tell if this variable lowers enemy damage, or lowers their accuracy when shooting you, but I prefer the first one. You can also change this function to return 0 so you're totally immune to every bullet.
By the way, changing this value seems to also affect immunities to anomalies.
卖垃圾给商人/Selling junk to traders
游戏中有时会捡到一些剩余耐久度非常低的道具,卖给商人时提示too damaged to be traded。
商人不会收购耐久度低于40%的道具,这个值由%game_data%\config\misc\trade\traders_common.ltx, [trader_base]\buy_item_condition_factor控制,直接降到0。
(效果待验证)似乎是错的。。。
(另外网上还有玩家称,可以用工具箱批量修复这些装备再卖)

Sometimes in the game you'll pick up some items with very poor durability. If you try to sell those items to a trader, a message of "too damaged to be traded" will be displayed.
The minimal percentage of durability of an item to be recycled by traders is 40%. This value is controlled by %game_data%\config\misc\trade\traders_common.ltx, [trader_base]\buy_item_condition_factor. Set it to 0.
(Effects are to be confirmed) It doesn't seem to work...
(There are other players on the Internet saying you can "bulk repair" those items with a toolbox to make them sellable)
修复垃圾装备/Making too damaged weapons repairable by technicians
技师维修装备时也有至少40%耐久度的要求。有些老司机可以将这一要求降低到28%(Ivancov),25%(Ghost)甚至20%(Kruglov),但是维修费用也相应提升至1.8,1.3,2.4倍。
这些数值由%game_data%\config\misc\stalkers_upgrade_info.ltx, [fixer_condition]下面的数值控制,全部降到0即可维修0%耐久度的装备。
(效果待验证)有效,一件0耐久的皮夹克,商人嫌太烂不收,在技师处选择修复能看到报价。
(另外可以尝试将[fixer_profit]下的数值降到0,看看能不能免费维修)

Minimum durability requirement also occurs when an item is to be repaired by a technician. The default value is also 40%. Some experienced repairers can lower this requirement to 28% (Ivancov), 25% (Ghost) or even 20% (Kruglov), but the repairing cost is also raised to 1.8x, 1.3x and 2.4x of the base cost.
These values are controlled in [fixer_condition] in %game_data%\config\misc\stalkers_upgrade_info.ltx. Lower all of them to 0 and they can repair 0% durability items for you.
(Effects are to be confirmed) Effective. I have a 0% durability leather jacket, which cannot be sold to traders because "too damaged", but you can see the price of repairing when asking a technician.
(By the way, you can try to set 0 on [fixer_profit] data, to see if you can get free repairs.)
显示/捡起更远处的道具/Detect/take items from far away
游戏中按住捡道具的键可以显示周围可见道具的名称,方便捡拾第一眼看漏的道(la)具(ji)
Originally posted by http://www.ridard.me/:
我想捡起X米开外的道具
在system.ltx中编辑take_dist = x

我要探测X米开外的道具
在actor.ltx中编辑pickup_info_radius = x
(我自己X年前也找到过其中一个值来着,现在又忘了。。。所以需要笔记)
两个值默认分别为2和3,按需增大即可。take_dist==2差不多就够用了,pickup_info_radius改到至少两位数吧。
您可以增大take_dist以从Dark Valley的土匪军火库的窗户里偷取道具,而不会被土匪围攻。这想必是作弊

Holding down the key to pick up items will show the names of nearby items that can be picked up, which helps looting items/junk that will otherwise be easily missed.
Originally posted by http://www.ridard.me/:
I want to pick up items from x meters away
Edit take_dist = x in system.ltx

I want to detect items from x meters away
Edit pickup_info_radius = x in actor.ltx
(I had found out one of the two arguments, but now I have forgotten all of them... so I badly need these notes)
The default values of the two arguments are 2 and 3 respectively. Enlarge them if your want. take_dist==2 is nearly enough, but for pickup_info_radius, I suggest increasing it to at least double digits.
You can enlarge take_dist to steal items from the armory in bandit's base in the Dark Valley through its window(s), and not be targeted by those bandits. This MUST be considered as cheating...