CoP: Делаем нормальные медикаменты. — S.T.A.L.K.E.R. Inside Wiki

CoP: Делаем нормальные медикаменты.

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск

Данная мини-статья расскажет вам о том как внести в игру более правильные в плане воздействия медикаменты.

Я полагаю многие играя в компьютерные игры задумались что аптечка(к примеру) на самом деле не должна лечить мгновенно(ну или почти мгновенно, как это сделано в STALKER). Это то мы и исправим, ну и заодно рассмотрим полный список эффектов.


Итак поехали:

Возьмем кусок описания обычной аптечки:

[medkit]:booster
 $spawn 		= "food and drugs\medkit"
 visual			= dynamics\devices\dev_aptechka\dev_aptechka_low.ogf
 inv_name		= st_medkit
 inv_name_short		= st_medkit
 description		= st_medkit_descr
 inv_weight		= 0.1
 
 inv_grid_width		= 1
 inv_grid_height	= 1
 inv_grid_x		= 6
 inv_grid_y		= 14
 cost			= 250
 
 boost_time			= 10.0
 boost_health_restore		= 0.01
 boost_radiation_restore	= 0.0
 boost_bleeding_restore		= 0.005
 
 use_sound			= interface\inv_medkit

В самом верху мы видим:

[medkit]:booster = системное имя:системное имя предмета из которого будут браться недостающие строки конфига

Рассмотрим секцию "booster" она по сути содержит пустые конфиги. Прокоментирую основное(параметры которые могут пригодиться).

[booster]:identity_immunities
 GroupControlSection	= spawn_group
 discovery_dependency =
 ;$spawn 				= "food and drugs\booster"
 $prefetch 			= 8
 class				= S_FOOD
 cform				= skeleton
 visual				= dynamics\devices\dev_aptechka\dev_aptechka_low.ogf ; Ссылка на визуал в "stalker\gamedata\meshes"
 description			= default ; Ссылка на описание предмета "gamedata\configs\text\rus"
 inv_name			= default ; Ссылка на имя предмета'''(Аптечка автомобильная)''' "gamedata\configs\text\rus"
 inv_name_short			= default ; Ссылка на короткое имя предмета'''(Апт.Авт.)''' "gamedata\configs\text\rus"
 inv_weight			= 0.01 ; Вес предмета
 
 inv_grid_width		= 1
 inv_grid_height		= 1
 inv_grid_x			= 3
 inv_grid_y			= 18
 cost				= 1 ; Стандартная стоимость(конечная зависит от отношения торговца)
 
 ; eatable item
 eat_health			= 0 ; Мгновенно даёт определенное количествово здоровья  '''1 = 100%'''
 eat_satiety			= 0 ; Мгновенное насыщение  '''1 = 100%'''
 eat_power			= 0 ; Мгновенное восстановление силы '''1 = 100%'''
 eat_max_power		        = 0 ; Мгновенное увеличение максимальной силы  '''1 = 100%'''(Вроде как...)
 eat_radiation		        = 0 ; Мгновенное увеличение или уменьшение облученности  '''(1 увеличение)(-1 уменьшение)'''
 eat_alcohol			= 0 ; Мгновенное увеличение или уменьшение уровня опьянения  '''(1 увеличение)(-1 уменьшение)'''
 wounds_heal_perc	        = 0 ; я так понял что это скорость затягивания ран, но не уверен...
 eat_portions_num	        = 1 ; Интересный параметр... Количество порций в упаковке (проверена работоспособность от 1 до 99999)
 
 boost_time			= 0.0 ; Время действия(распостраняется только на параметры '''boost_*'''
 boost_max_weight		= 0.0 ; Увеличение переносимого веса. Уменьшение не работает, как видимо на всех '''boost_*''' =(
 boost_health_restore		= 0.0 ; Увеличение скорости восстановления здаровья
 boost_power_restore		= 0.0 ; Увеличение скорости восстановления силы
 boost_radiation_restore	= 0.0 ; Увеличение скорости вывода радиации
 boost_bleeding_restore		= 0.0 ; Увеличение скорости заживления ран
 
 ;'''protection''' Снижают количество получаемого ХИТА
 boost_radiation_protection	= 0.0 ; Увеличение защиты от радиации
 boost_telepat_protection 	= 0.0 ; Увеличение защиты от телепатического воздействия(от контролеров не спасает)
 boost_chemburn_protection 	= 0.0 ; Увеличение защиты от химических повреждений
 
 ;'''immunity''' Увеличивают минимальный уровень воздействия для получения ХИТА
 boost_burn_immunity		= 0.0 ; Увеличение имунитета к огню
 boost_shock_immunity		= 0.0 ; Увеличение имунитета к электрическому току
 boost_radiation_immunity	= 0.0 ; Увеличение имунитета к радиации
 boost_telepat_immunity		= 0.0 ; Увеличение имунитета к пси воздействию
 boost_chemburn_immunity 	= 0.0 ; Увеличение имунитета к химическим воздействиям
 boost_strike_immunity		= 0.0 ; Увеличение имунитета к выстрелам
 boost_wound_immunity		= 0.0 ; Увеличение имунитета к ударам
 boost_explosion_immunity	= 0.0 ; Увеличение имунитета к взрывам
 boost_fire_wound_immunity	= 0.0 ; Увеличение имунитета к взрывной волне
 ;use_sound			= characters_voice\multiplayer\team_1\voice_roger_3 ; Звук "gamedata\sounds"

Теория пройдена!!!


Практика

[medkit]:booster '''; НЕ ТРОГАЕМ!!!'''
 $spawn 		= "food and drugs\medkit"   '''; НЕ ТРОГАЕМ!!!'''
 visual			= dynamics\devices\dev_aptechka\dev_aptechka_low.ogf '''; НЕ ТРОГАЕМ!!!'''
 inv_name		= st_medkit                 '''; НЕ ТРОГАЕМ!!!'''
 inv_name_short		= st_medkit                 '''; НЕ ТРОГАЕМ!!!'''
 description		= st_medkit_descr           '''; НЕ ТРОГАЕМ!!!'''
 inv_weight		= 0.1                       '''; По желанию'''
 
 inv_grid_width		= 1   '''; НЕ ТРОГАЕМ!!!'''
 inv_grid_height	= 1   '''; НЕ ТРОГАЕМ!!!'''
 inv_grid_x		= 6   '''; НЕ ТРОГАЕМ!!!'''
 inv_grid_y		= 14  '''; НЕ ТРОГАЕМ!!!'''
 cost			= 250 '''; По желанию'''
 
 boost_time			= 60.0  '''; Меняем с 10.0 на 60.0'''
 boost_health_restore		= 0.002 '''; Меняем с 0.01 на 0.002'''
 boost_radiation_restore	= 0.0   '''; По желанию'''
 boost_bleeding_restore		= 0.0   '''; По желанию'''
 
 use_sound			= interface\inv_medkit '''; НЕ ТРОГАЕМ!!!'''

Итак, мы получили аптечку которая лечит медленно но на протяжение 60 секунд(По сравнению с оригиналом это хоть как то похоже на правду)

Таким же образом можно отредактировать и остальные препараты. Антирад например.

[antirad]:booster
 $spawn 			= "food and drugs\antirad"
 visual				= dynamics\devices\dev_antirad\dev_antirad.ogf
 inv_name			= st_antirad
 inv_name_short		        = st_antirad
 description			= st_antirad_descr
 inv_weight			= 0.01
 
 inv_grid_width		= 1
 inv_grid_height		= 1
 inv_grid_x			= 18
 inv_grid_y			= 12
 cost				= 750
 
 boost_time			= 60.0
 boost_radiation_restore	= 0.01
 eat_alcohol			= 0.3
 
 use_sound			= interface\inv_pills

Я полагаю что опьянение здесь в тему так как вещества такого типа считаются наркотическими.

А зная о ранее неиспользуемых эфектах можно создавать новые, тот же к примеру "Анти-похмелин". В пачке которого будет 10 таблеток:

[drug_analgin]:booster
 $spawn 			= "food and drugs\drug_analgin"
 visual				= dynamics\equipments\medical\drug_coagulant.ogf
 inv_name			= st_drug_analgin
 inv_name_short		        = st_drug_analgin
 description			= st_drug_analgin_descr
 inv_weight			= 0.01
 
 inv_grid_width		        = 1
 inv_grid_height		= 1
 inv_grid_x			= 19
 inv_grid_y			= 4
 cost				= 350
 
 boost_time		= 5.0
 eat_alcohol		= -0.1
 eat_portions_num	= 10
 
 use_sound			= interface\inv_pills

Каждая таблетка при такой конфигурации будет снимать 10% опьянения.


Автор: WincentDark69

Другие места
LANGUAGE