CoP. Эффект разнообразия артефактов — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
RedPython (обсуждение | вклад) м (Откачено к последнему изменению, сделанному Rekongstor) |
|||
Строка 245: | Строка 245: | ||
Я смотрю на | Я смотрю на | ||
это и предлагаю сделать кое-что. Ведь есть возможность записи в консоль параметров и в итоге можно сделать для каждого артефакта свой разброс параметров. | это и предлагаю сделать кое-что. Ведь есть возможность записи в консоль параметров и в итоге можно сделать для каждого артефакта свой разброс параметров. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Автор: [[Участник:WincentDark69|WincentDark69]] | Автор: [[Участник:WincentDark69|WincentDark69]] | ||
[[Категория:Конфигурационные_файлы]] | [[Категория:Конфигурационные_файлы]] |
Версия 12:55, 13 января 2011
Давным давно читал на форуме GSC такое предложение: Сделайте так чтобы артефакты были более уникальны. Тоесть каждая Медуза имела отличия от такой же Медузы.
Честно говоря идея хорошая, я тоже считаю неправильным то что каждая найденая мной Медуза весит пол килограмма выводит 2 условные единицы радиации и стоит 4000 рублей (тут конечно есть разброс цен у торгашей) дети ведь не рождаются с весом ровно 3200 со светлыми волосами и голубыми глазами. Менять можно впринципе любые параметры, но на практике столкнулся с тем что приходится поднимать общую радиоизлучаемость артефактов до минимума равного 5-6 и максисума равного 12-13.
НАЧНЕМ
Вот исправленный конфиг медузы:
[af_medusa]:af_base $spawn = "artefacts\gravitational_1_medusa" class = ARTEFACT ; будет подпрыгивать visual = dynamics\artefacts\af_medusa.ogf description = st_af_medusa_descr inv_name = st_af_medusa_name inv_name_short = st_af_medusa_name inv_weight = 0.5 inv_grid_x = 9 inv_grid_y = 4 cost = 4000 jump_height = .5 ; высота прыжка particles = artefact\af_gravi_idle det_show_particles = artefact\af_gravi_show det_hide_particles = artefact\af_gravi_hide af_rank = 1 lights_enabled = true trail_light_color = 0.4,0.4,0 trail_light_range = 2.0 ;скорости увеличения (уменьшения) health_restore_speed = 0 radiation_restore_speed = -0.003 satiety_restore_speed = 0 power_restore_speed = 0 bleeding_restore_speed = 0 hit_absorbation_sect = af_medusa_absorbation additional_inventory_weight = 0 additional_inventory_weight2 = 0 artefact_activation_seq = af_activation_bold [af_medusa_absorbation] burn_immunity = 0 ;коэффициенты иммунитета strike_immunity = 0 shock_immunity = 0 wound_immunity = 0 radiation_immunity = 0 telepatic_immunity = 0 chemical_burn_immunity = 0 explosion_immunity = 0 fire_wound_immunity = 0
Сразу же после него вписываем что то вроде:
[af_medusa_mini]:af_medusa $spawn = "artefacts\my_addon_af_medusa_mini" inv_weight = 0.3 cost = 3500 radiation_restore_speed = -0.002 ;------------------------------------------------------------------------------------------ [af_medusa_maxi]:af_medusa $spawn = "artefacts\my_addon_af_medusa_maxi" inv_weight = 0.7 cost = 4500 radiation_restore_speed = -0.004 ;------------------------------------------------------------------------------------------ [af_medusa_super]:af_medusa $spawn = "artefacts\my_addon_af_medusa_super" inv_weight = 0.3 cost = 5500 radiation_restore_speed = -0.004
Я в данном случае создал еще три артефакта которые в игре будут полностью похожи на медузу (Название, описание, свойства) С разницей лишь в том что все четыре Медузы будут по разному стоить, имеют разный вес, и по разному выводят радиацию. Далее нам необходимо добавить их в игру.
1) gamedata\configs\misc\devices.ltx
Дописываем по аналогии секции:
af_class_40 = af_medusa_mini af_sound_40_ = detectors\art_beep1 af_freq_40 = 0.05, 2 af_class_41 = af_medusa_maxi af_sound_41_ = detectors\art_beep1 af_freq_41 = 0.05, 2 af_class_42 = af_medusa_super af_sound_42_ = detectors\art_beep1 af_freq_42 = 0.05, 2
К нужному детектору. Не забывая при этом сместить номера последующих секций в следующих детекторах если приписываете на Отклик, Медведь или Велес (detector_simple, detector_advanced, detector_elite)
2) gamedata\configs\ui\ui_detector_artefact.xml
Дописываем по аналогии:
<palette id="af_medusa_mini" width="0.0015" height="0.0015" stretch="1" alignment="c"> <texture shader="hud\p3d">ui_temp_ad3_artefact</texture> </palette> <palette id="af_medusa_maxi" width="0.0015" height="0.0015" stretch="1" alignment="c"> <texture shader="hud\p3d">ui_temp_ad3_artefact</texture> </palette> <palette id="af_medusa_super" width="0.0015" height="0.0015" stretch="1" alignment="c"> <texture shader="hud\p3d">ui_temp_ad3_artefact</texture> </palette>
И
<palette id="af_medusa_mini" width="0.0011" height="0.0011" stretch="1" alignment="c"> <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture> </palette> <palette id="af_medusa_maxi" width="0.0011" height="0.0011" stretch="1" alignment="c"> <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture> </palette> <palette id="af_medusa_super" width="0.0011" height="0.0011" stretch="1" alignment="c"> <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture> </palette>
3) gamedata\configs\scripts\локация\anomaly\аномалия.ltx
Делаем из:
[anomal_zone] layers_count = 1 respawn_tries = 2 max_artefacts = 3 ;applying_force_xz = 200 ;applying_force_y = 200 artefacts = af_medusa start_artefact = af_medusa coeff = 3 artefact_ways = zaton_zanaveska_af_way
Вот это
[anomal_zone] layers_count = 1 respawn_tries = 2 max_artefacts = 3 ;applying_force_xz = 200 ;applying_force_y = 200 artefacts = af_medusa, af_medusa_mini, af_medusa_maxi, af_medusa_super start_artefact = af_medusa_mini coeff = 3, 3, 2, 1 artefact_ways = zaton_zanaveska_af_way
Вот собственно и всё (осталось только добавить в торговлю)
Да как же всё =)
Очень вероятно кто то захочет провернуть такое со всеми артефактами (у меня ушло около 7-8 часов (долго искал БАГ).
Так вот в случае с Медузой мы не использовали секцию иммунитетов которые даёт артефакт: hit_absorbation_sect
К примеру:
hit_absorbation_sect = af_cristall_flower_mini_absorbation
Вот тут есть правило что если мы используем иммунитеты то они должны вписываться вот так:
[af_cristall_flower_mini]:af_cristall_flower $spawn = "artefacts\my_addon_af_cristall_flower_mini" inv_weight = 0.4 cost = 2500 radiation_restore_speed = 0.006 hit_absorbation_sect = af_cristall_flower_mini_absorbation [af_cristall_flower_mini_absorbation] burn_immunity = 0 strike_immunity = 0 shock_immunity = 0 wound_immunity = 0 radiation_immunity = 0 telepatic_immunity = 0.01 chemical_burn_immunity = 0 explosion_immunity = 0 fire_wound_immunity = 0
А не вот так:
[af_cristall_flower_mini]:af_cristall_flower $spawn = "artefacts\my_addon_af_cristall_flower_mini" inv_weight = 0.4 cost = 2500 radiation_restore_speed = 0.006 hit_absorbation_sect = af_cristall_flower_mini_absorbation [af_cristall_flower_mini_absorbation] telepatic_immunity = 0.01
Во втором случае при спавне артефакта игра вылетит с ошибкой типа не найден burn_immunity в af_cristall_flower_mini_absorbation тоесть af_cristall_flower_mini_absorbation должен содержать все иммунитеты даже если их значение ноль.
Хотя впринципе можно создать в файле секцию:
[af_bla_bla_bla_absorbation] burn_immunity = 0 strike_immunity = 0 shock_immunity = 0 wound_immunity = 0 radiation_immunity = 0 telepatic_immunity = 0 chemical_burn_immunity = 0 explosion_immunity = 0 fire_wound_immunity = 0
А все следующие иммунитеты писать вот так:
[af_cristall_flower_mini]:af_cristall_flower $spawn = "artefacts\my_addon_af_cristall_flower_mini" inv_weight = 0.4 cost = 2500 radiation_restore_speed = 0.006 hit_absorbation_sect = af_cristall_flower_mini_absorbation [af_cristall_flower_mini_absorbation]:af_bla_bla_bla_absorbation telepatic_immunity = 0.01
Не пробовал но должно работать =)
В итоге если создать для каждого артефакта 3 можно и больше дублей и добавить их все в аномалии и торговлю то сложится впечатление что каждый конкретный артефакт может быть разным.
--Rekongstor 11:30, 13 января 2011 (UTC) Я смотрю на это и предлагаю сделать кое-что. Ведь есть возможность записи в консоль параметров и в итоге можно сделать для каждого артефакта свой разброс параметров.
Автор: WincentDark69