Сповіщення
Очистити все

Робимо нормальні медикаменти


Ранг:
Майстер
Роль:
Гість
Записи:
752
Приєднався:
2 роки тому
 

Ця міні-стаття розповість вам про те, як внести в гру більш правильні в плані впливу медикаменти.

Я думаю багато граючи в комп'ютерні ігри задумалися що аптечка (наприклад) насправді не повинна лікувати миттєво (ну або майже миттєво, як це зроблено в 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% сп'яніння.


   
Цитата