CoP: Делаем нормальные медикаменты. — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

CoP: Делаем нормальные медикаменты. — различия между версиями

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

Перейти к: навигация, поиск
(оформление)
 
Строка 55: Строка 55:
 
   
 
   
 
  ; eatable item
 
  ; eatable item
  eat_health = 0 ; Мгновенно даёт определенное количествово здоровья '''1 = 100%'''
+
  eat_health = 0 ; Мгновенно даёт определенное количествово здоровья '''1 = 100%'''
  eat_satiety = 0 ; Мгновенное насыщение '''1 = 100%'''
+
  eat_satiety = 0 ; Мгновенное насыщение '''1 = 100%'''
 
  eat_power = 0 ; Мгновенное восстановление силы '''1 = 100%'''
 
  eat_power = 0 ; Мгновенное восстановление силы '''1 = 100%'''
  eat_max_power = 0 ; Мгновенное увеличение максимальной силы '''1 = 100%'''(Вроде как...)
+
  eat_max_power         = 0 ; Мгновенное увеличение максимальной силы '''1 = 100%'''(Вроде как...)
  eat_radiation = 0 ; Мгновенное увеличение или уменьшение облученности '''(1 увеличение)(-1 уменьшение)'''
+
  eat_radiation         = 0 ; Мгновенное увеличение или уменьшение облученности '''(1 увеличение)(-1 уменьшение)'''
  eat_alcohol = 0 ; Мгновенное увеличение или уменьшение уровня опьянения '''(1 увеличение)(-1 уменьшение)'''
+
  eat_alcohol = 0 ; Мгновенное увеличение или уменьшение уровня опьянения '''(1 увеличение)(-1 уменьшение)'''
  wounds_heal_perc = 0 ; я так понял что это скорость затягивания ран, но не уверен...
+
  wounds_heal_perc         = 0 ; я так понял что это скорость затягивания ран, но не уверен...
  eat_portions_num = 1 ; Интересный параметр... Количество порций в упаковке (проверена работоспособность от 1 до 99999)
+
  eat_portions_num         = 1 ; Интересный параметр... Количество порций в упаковке (проверена работоспособность от 1 до 99999)
 
   
 
   
 
  boost_time = 0.0 ; Время действия(распостраняется только на параметры '''boost_*'''
 
  boost_time = 0.0 ; Время действия(распостраняется только на параметры '''boost_*'''
Строка 94: Строка 94:
  
 
  <ini>[medkit]:booster '''; НЕ ТРОГАЕМ!!!'''
 
  <ini>[medkit]:booster '''; НЕ ТРОГАЕМ!!!'''
  $spawn = "food and drugs\medkit" '''; НЕ ТРОГАЕМ!!!'''
+
  $spawn = "food and drugs\medkit"   '''; НЕ ТРОГАЕМ!!!'''
 
  visual = dynamics\devices\dev_aptechka\dev_aptechka_low.ogf '''; НЕ ТРОГАЕМ!!!'''
 
  visual = dynamics\devices\dev_aptechka\dev_aptechka_low.ogf '''; НЕ ТРОГАЕМ!!!'''
  inv_name = st_medkit '''; НЕ ТРОГАЕМ!!!'''
+
  inv_name = st_medkit                 '''; НЕ ТРОГАЕМ!!!'''
  inv_name_short = st_medkit '''; НЕ ТРОГАЕМ!!!'''
+
  inv_name_short = st_medkit                 '''; НЕ ТРОГАЕМ!!!'''
  description = st_medkit_descr '''; НЕ ТРОГАЕМ!!!'''
+
  description = st_medkit_descr           '''; НЕ ТРОГАЕМ!!!'''
  inv_weight = 0.1 '''; По желанию'''
+
  inv_weight = 0.1                       '''; По желанию'''
 
   
 
   
  inv_grid_width = 1 '''; НЕ ТРОГАЕМ!!!'''
+
  inv_grid_width = 1   '''; НЕ ТРОГАЕМ!!!'''
  inv_grid_height = 1 '''; НЕ ТРОГАЕМ!!!'''
+
  inv_grid_height = 1   '''; НЕ ТРОГАЕМ!!!'''
  inv_grid_x = 6 '''; НЕ ТРОГАЕМ!!!'''
+
  inv_grid_x = 6   '''; НЕ ТРОГАЕМ!!!'''
  inv_grid_y = 14 '''; НЕ ТРОГАЕМ!!!'''
+
  inv_grid_y = 14 '''; НЕ ТРОГАЕМ!!!'''
 
  cost = 250 '''; По желанию'''
 
  cost = 250 '''; По желанию'''
 
   
 
   
  boost_time = 60.0 '''; Меняем с 10.0 на 60.0'''
+
  boost_time = 60.0 '''; Меняем с 10.0 на 60.0'''
 
  boost_health_restore = 0.002 '''; Меняем с 0.01 на 0.002'''
 
  boost_health_restore = 0.002 '''; Меняем с 0.01 на 0.002'''
  boost_radiation_restore = 0.0 '''; По желанию'''
+
  boost_radiation_restore = 0.0   '''; По желанию'''
  boost_bleeding_restore = 0.0 '''; По желанию'''
+
  boost_bleeding_restore = 0.0   '''; По желанию'''
 
   
 
   
 
  use_sound = interface\inv_medkit '''; НЕ ТРОГАЕМ!!!'''</ini>
 
  use_sound = interface\inv_medkit '''; НЕ ТРОГАЕМ!!!'''</ini>
Строка 119: Строка 119:
  
 
  <ini>[antirad]:booster
 
  <ini>[antirad]:booster
  $spawn = "food and drugs\antirad"
+
  $spawn = "food and drugs\antirad"
 
  visual = dynamics\devices\dev_antirad\dev_antirad.ogf
 
  visual = dynamics\devices\dev_antirad\dev_antirad.ogf
 
  inv_name = st_antirad
 
  inv_name = st_antirad
  inv_name_short = st_antirad
+
  inv_name_short         = st_antirad
 
  description = st_antirad_descr
 
  description = st_antirad_descr
 
  inv_weight = 0.01
 
  inv_weight = 0.01
Строка 143: Строка 143:
  
 
  <ini>[drug_analgin]:booster
 
  <ini>[drug_analgin]:booster
  $spawn = "food and drugs\drug_analgin"
+
  $spawn = "food and drugs\drug_analgin"
 
  visual = dynamics\equipments\medical\drug_coagulant.ogf
 
  visual = dynamics\equipments\medical\drug_coagulant.ogf
 
  inv_name = st_drug_analgin
 
  inv_name = st_drug_analgin
  inv_name_short = st_drug_analgin
+
  inv_name_short         = st_drug_analgin
 
  description = st_drug_analgin_descr
 
  description = st_drug_analgin_descr
 
  inv_weight = 0.01
 
  inv_weight = 0.01
 
   
 
   
  inv_grid_width = 1
+
  inv_grid_width         = 1
 
  inv_grid_height = 1
 
  inv_grid_height = 1
 
  inv_grid_x = 19
 
  inv_grid_x = 19
Строка 156: Строка 156:
 
  cost = 350
 
  cost = 350
 
   
 
   
  boost_time = 5.0
+
  boost_time = 5.0
 
  eat_alcohol = -0.1
 
  eat_alcohol = -0.1
 
  eat_portions_num = 10
 
  eat_portions_num = 10

Текущая версия на 04:48, 2 июня 2017

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

Я полагаю многие играя в компьютерные игры задумались что аптечка(к примеру) на самом деле не должна лечить мгновенно(ну или почти мгновенно, как это сделано в 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