КПК

Гость


Меню сайта
Категории раздела
Разное [19]
Билды [0]
Видео [0]
Мини-чат
Общение на форуме
  • Ваш любимый юморист (3)
  • Аудиокниги по сталкеру (3)
  • LOST - ZONE ARMAGEDON (2)
  • Сталкерская сеть ПДА (19)
  • Прием анкет (25)
  • НЕ ВЕРИТЕ, ЧТО ЛЁГКИЙ ЗАРАБОТОК В ИНТЕРНЕТЕ ЭТО РЕАЛЬНО? (0)
  • Приём в "Свободу" (3)
  • Ликвидаторы (4)
  • Сравниваем Чистое Небо и Тени Чернобыля (10)
  • Набор в модераторы форумов (14)
  • Статьи
    Основное [24]
    Чернобыль [1]
    Рецензии [5]
    Фанатские статьи [34]
    Разное [19]
    Энциклопедия S.T.A.L.K.E.R. ТЧ [3]
    Энциклопедия S.T.A.L.K.E.R. ЧН [1]
    Энциклопедия S.T.A.L.K.E.R. ЗП [2]
    Файлы
    Модификации [67]
    Патчи [8]
    Мультиплеерные карты [4]
    Читы и No DVD [28]
    Литература [17]
    Видео [5]
    Музыка [12]
    Разные файлы [10]
    Call of Duty 4: Modern Warfare [4]
    Наш опрос
    Ваша любимая группировка
    Всего ответов: 156
    Друзья сайта
    пока пусто
    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
     
     
    Главная » Статьи » Разное » Разное

    Полезная инфа для модостроителей новичков 2:создание предметов
    Создание нового артефакта.

    Создание нового артефакта Сегодня мы на примере научимся созданию новых артефактов.

    Создадим, например, артефакт под названием "Ромашка". Статья написана по материалам Hunter Mod. Создание конфига Заходим в папку gamedata\config\misc и открываем файл artefacts.ltx. И находим, например, артефакт "Медуза": [af_medusa]:af_base GroupControlSection = spawn_group $spawn = "artifacts\moscito medusa" $prefetch = 64 cform = skeleton class = ARTEFACT visual = physics\anomaly\artefact_blackdrip.ogf description = enc_zone_artifact_af-medusa inv_name = af-medusa inv_name_short = inv_weight = 0.5 inv_grid_x = 9 inv_grid_y = 4 cost = 1000 jump_height = .5 particles = anomaly2\artefact\artefact_gravi lights_enabled = false ;скорости увеличения (уменьшения) health_restore_speed = 0.0 radiation_restore_speed = 0.0005 satiety_restore_speed = 0.0 power_restore_speed = 0.0 bleeding_restore_speed = 0.0 hit_absorbation_sect = af_medusa_absorbation artefact_activation_seq = af_activation_bold [af_medusa_absorbation] burn_immunity = 1.0 ;коэффициенты иммунитета strike_immunity = 1.0 shock_immunity = 1.0 wound_immunity = 1.0 radiation_immunity = 1.0 telepatic_immunity = 1.0 chemical_burn_immunity = 1.0 explosion_immunity = 1.0 fire_wound_immunity = 0.98 В этой секции задаются параметры артефакта, начиная от внешнего вида и заканчивая коэффициентами различных эффектов вроде вывода радиации. Сделаем копию секции, принадлежающей "Медузе", и заменим её название с af_medusa на af_romashka. Должно выйти примерно вот так: [af_romashka]:af_base GroupControlSection = spawn_group $spawn = "artifacts\moscito romashka" $prefetch = 64 cform = skeleton class = ARTEFACT visual = physics\anomaly\artefact_blackdrip.ogf description = enc_zone_artifact_af-romashka inv_name = af-romashka inv_name_short = inv_weight = 0.5 inv_grid_x = 9 inv_grid_y = 4 cost = 1000 jump_height = .5 particles = anomaly2\artefact\artefact_gravi lights_enabled = false ;скорости увеличения (уменьшения) health_restore_speed = 0.0 radiation_restore_speed = 0.0005 satiety_restore_speed = 0.0 power_restore_speed = 0.0 bleeding_restore_speed = 0.0 hit_absorbation_sect = af_romashka_absorbation artefact_activation_seq = af_activation_bold [af_romashka_absorbation] burn_immunity = 1.0 ;коэффициенты иммунитета strike_immunity = 1.0 shock_immunity = 1.0 wound_immunity = 1.0 radiation_immunity = 1.0 telepatic_immunity = 1.0 chemical_burn_immunity = 1.0 explosion_immunity = 1.0 fire_wound_immunity = 0.98 Назначение некоторых параметров, влияющих на одевшего артефакт: * health_restore_speed - прирост к скорости восстановления здоровья * radiation_restore_speed - прирост скорость вывода радиации * satiety_restore_speed - прирост к голоду * power_restore_speed - прирост к выносливости * bleeding_restore_speed - прирост к скорости остановки кровотечений Создание описания и имени артефакта Заходим в gamedata\config\text\rus и открываем файл string_table_enc_zone.xml. Добавим туда строку с названием артефакта. "Ромашка" Теперь у артефакта есть имя, но одного его недостаточно. Нужно сделать описание. Поэтому добавим и его. Очень странный артефакт. Впервые появился в Зоне где-то в 2011 году, но толку от него - ноль. Ученые не обнаружили никакого влияния артефакта на организм носителя. Все, поздравляю, вы только что создали свой первый артефакт!
    если кому надо про съедобные части мутантов то вот
    Части мутантов можно есть!!!
    Находим секцию [mutant_boar_leg]

    И меняем параметр class = II_ATTCH на class = II_FOOD


    Нога съедается на раз, но эффект 0, поэтому добавляем


    eat_health = 1.0

    eat_satiety = 0

    eat_power = 0

    eat_radiation = 0.3

    wounds_heal_perc = 0

    eat_alcohol = 0

    eat_portions_num = -1


    Теперь нога лечит как аптечка ученых, но из-за нее повышаться радиация

    Мелкие детали ,но полезные
    Редактирование тайников:

    Частота выпадения:

    treasure_manager.script - редактируешь его получаешь частоту выпадание тайников - 65 меняй на что-нить допустим на 10...

    Редактирование содержимого:

    treasure_manager.ltx в «миске» и во 4 строчке прописываешь, что ты хочешь, получится должно получится примерно так :

    [esc_secret_bridge_vagon]

    target = 5000

    name = esc_secret_0000_name

    description = esc_secret_0000_descr

    items = ammo_5.45x39_ap,190,medkit_army,6, wpn_addon_scope,wpn_ak74u_m1,stalker_m1,outfit_specnaz_m1, wpn_groza_m1,wpn_spas12_m1,wpn_lr300_m1,wpn_svd_m1,wpn_sig_m1,wpn_colt_m1,wpn_val_m1,wpn_rg6_m1,outf it_dolg_m1

    Как поменять плату за проход под мостом на Кордоне:

    gamedata.scripts.escape_dialog.script

    Почти в самом конце функции has_soldiers_bribe и give_soldiers_bribe, увеличил 500 до 5000.


    Устанавливаем высоту прыжка ГГ:

    В файле actor.ltx в папке gamedataconfigcreatures, найди параметр jump_speed и задай ему нужную тебе величину, чем больше тем выше ГГ будет прыгать.

    Как вернуть свечение артефактов как в оригинальной игре?

    мне для младшего брата надо, ибо замучал меня уже...Говорит, что не видит их

    В файле artefacts.ltx во всех строках, начинающихся с

    ;particles

    убрать ;


    длина "палочки" прицела

    в файле system.ltx есть строка

    cross_length = 0.005 ;длина "палочки" прицела (0.6 - 0.015)

    файл находится gamedataconfig


    Броня:

    в файле outfits.ltx находишь нужную броню и вписываешь эту строку.

    sprint_allowed = false

    sprint_allowed = true - чтобы низя было бегать

    Заходишь в папку gamedata_config_misc открываеш файл amk_mod_outfit.ltx

    Ищеш в нем категорию [svoboda_yellow_exo_outfit_m1]:outfit_base

    И ставиш перед вот этими строками точку с запятой, вот так:

    ;sprint_allowed = false

    ;additional_inventory_weight = 15

    ;additional_inventory_weight2 = 15 ; 40+

    Подскажите, плз, как изменить у экзоскелета свободы ПНВ с зеленого на улучшенный, как у ССП99-М?

    в папке gamedata-config-misc лежит файл amk_mod_outfits.ltx там находишь строчку: [svoboda_yellow_exo_outfit_m1]:outfit_base наже находишь еще одну строчку: nightvision_sect = effector_nightvision_bad и меняешь на:nightvision_sect = effector_nightvision_good

    Максимальный вес прописан в gamedata/config/creatures/actor.ltx строчка max_walk_weight

    Отображение веса в инвентаре (выше этого значения нельзя бегать): gamedata/config/inventory_sect.ltx строчка max_weight


    Новые предметы
    В этой статье я расскажу как создавать новые предметы:


    Для начал находим файл items.ltx, находящийся в папке config/misc/, и копируем какой-нибудь предмет, я, например, взял:

    [bread]:identity_immunities

    GroupControlSection = spawn_group

    discovery_dependency =

    $spawn = "food and drugs\bread"

    ;$prefetch = 32

    class = II_FOOD

    cform = skeleton

    visual = weapons\bred\bred.ogf

    description = enc_equipment_food_bread1


    inv_name = Bread

    inv_name_short = Bread

    inv_weight = 0.3 ;0.2


    inv_grid_width = 1

    inv_grid_height = 1

    inv_grid_x = 11

    inv_grid_y = 9

    cost = 20


    attach_angle_offset = -0.287979, 1.560923, 1.544060

    attach_position_offset = 0.096910, -0.013594, 0.107925

    attach_bone_name = bip01_r_hand

    auto_attach = false


    // should be deleted after update

    bone_name = bip01_r_hand

    position_offset = 0.0,0.0,0.0

    angle_offset = 1.570790,1.570790,3.92699


    ; eatable item

    eat_health = 0.05

    eat_satiety = 0.2

    eat_power = 0

    eat_radiation = 0

    wounds_heal_perc = 0

    eat_portions_num = -1


    ; food item

    slot = 4

    animation_slot = 4


    ;hud item

    hud = wpn_vodka_hud


    Вставляем его копию в конец, меняем название:


    [bread]


    На:


    [test]


    А также:

    inv_name = Bread

    inv_name_short = Bread


    На:

    inv_name = test

    inv_name_short = test


    И description = enc_equipment_food_bread1 на description = enc_equipment_food_bread1_test


    И, также, "по желанию":


    eat_health = 0.05 eat_satiety = 0.2 eat_power = 0 eat_radiation = 0 wounds_heal_perc = 0 eat_portions_num = -1


    Всё, в item.ltx работа закончена, теперь переходим к редактированию описания, открываем string_table_enc_equipment "Блокнотом". Что мы там видим: все описания и названия прописаны по тегам:


    Название в игре


    И:


    Описание в игре


    Пишем:


    Тестовый предмет


    И:




    Тестовый предмет, разработанный в сверхсекретных лабораториях Зоны




    Сохраняем... Все! Основная работа завершена! Теперь добавим предмет торговцам, например, Сидоровичу.


    Открываем trader_trader из папки config/misc (работа с ним подробно описана в этой статье), прописываем:


    test = 0.3, 0.5


    В секции:


    [trader_generic_buy]


    И далее в:


    [supplies_start]


    test = 10, 1


    В [supplies_after_fabric]


    test = 10, 1


    В [trader_start_sell]


    И в:


    [trader_after_fabric_sell]


    test = 1. 3


    Сохраняем, запускаем игру, торгуем с Сидоровичем и видим у него два вида хлеба: один из них - наш

    Как добовлять аномалии к артефактам

    аспишу по пунктам как добавить например к "огненому шару" аномалию Жарка...


    Открываете файл: gamedata/config/misc/artefacts.ltx


    И там в самом начале файла такая секция:

    ;Артефакты, которые при активизации создают аномальные зоны

    ;формат: {секция_артефакта} = {секция_зоны},Radius,Power

    [artefact_spawn_zones]

    af_medusa = zone_mosquito_bald_weak, 2.0, 30.0



    Обозначает что артефакт af_medusa при активации создаст аномальную зону zone_mosquito_bald_weak с радиусом 2 метра и мощностью 30 (возможно влияет и на время жизни аномалии)


    Кончается этот список по идее строчкой: mp_af_electra_flash = zone_witches_galantine, 3, 50.0


    и сразу после неё пишете: af_fireball = zone_zharka_static, 3, 30.0


    В принципе можно прописать там не статик а zone_zharka_weak незнаю что из них правильнее использовать... статик работает тоже.В той-же папке есть файл zone_zharka, где описаны свойства зон _weak, _average, _strong( слабая, средняя, сильная), а также зона zone_zharka_static.


    После этого у вас игра станет вылетать с ошибкой про невозможность обнаружить последовательность описывающую анимацию активации аномалии.


    А это всё там же в начале файла чуть ниже того где вы добавили новый артефакт в список есть такие строчки:

    [af_activation_gravi]

    ;----------------------------------------------------------------------------------------------------------------------------------------

    ;format: time(sec), sound_name, light_R,G,B, light_range, particle_name, af_animation_name

    ;----------------------------------------------------------------------------------------------------------------------------------------

    starting = 5.0, anomalygravi_idle00, 0.5, 1.0, 1.5, 5.0, "anomaly2artefact_gravi_blast_start", "idle"

    flying = 2.0, anomalygravi_idle01, 0.8, 1.0, 1.2, 3.0, "anomaly2artefactartefact_gravi", "idle"

    idle_before_spawning = 5.0, anomalygravi_blowout5, 1.0, 1.0, 1, 0.0, "anomaly2artefact_gravi_blast_finished", "idle"

    spawning = 1, anomalygravity_entrance, 0.9, 1.1, 1.01, 0.0, "", "idle"



    Что как раз и описывает анимацию..


    По-хорошему надо написать свою анимацию к жарке но это честно говоря не обязательно... потому что нам сейчас важна не красота а работоспособность.... Так вот... из заголовка "[af_activation_gravi]" берем название последовательности af_activation_gravi и ищем сам артефакт af_fireball (кто уже забыл зачем, мы на него собирались вешать новую активацию)


    Найдете что-то вроде:

    [af_fireball]:af_base

    GroupControlSection = spawn_group

    $spawn = "artifactszharka fireball"

    $npc = on ; option for Level Editor

    ;$prefetch = 3

    cform = skeleton

    class = ARTEFACT


    visual = physicsanomalyartefact_fire.ogf

    description = enc_zone_artifact_af-fireball

    inv_name = af-fireball


    И где-нибудь тут добавляете строчку: artefact_activation_seq = af_activation_gravi


    И на этом всё. Прописываем в artefacts.ltx в блоке [af_base]:identity_immunities вместо ;slot=10 вот это: slot=1. Насколько я знаю, знак ; зоначает, что строка закомментирована(неактивна) У себя я прописывал slot=1 между строчками inv_name = af-electra-moonlight inv_name_short = inv_weight = 0.05 slot = 1 inv_grid_x = 10 inv_grid_y = 10 для того артефакта, который хочу активировать.


    В игре берем артефакт в первый слот и активируем.

    Новое оружие
    Новое оружие мы будем делать на базе оригинальных конфигурационных файлов. Создадим АК101 на базе конфигов АК74.

    Свойства оружия


    Скопируем файл из папки:


    gamedata\config\ak74.ltx


    Назовем его ak101.ltx.



    Отредактируем свойства по своему усмотрению (но лучше - в соответствии с достоверной информацией о характеристиках оружия, т.к. АК101 - всё-таки оружие реально существующее). В данном случае конфиг был составлен таким образом:

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    [wpn_ak101]:identity_immunities

    GroupControlSection = spawn_group

    discovery_dependency =

    $spawn = "weapons\ak-101" ; name and section in level editor

    $npc = on

    $prefetch = 8

    scheduled = off ;[] option for ALife Simulator

    cform = skeleton

    class = WP_AK74 ; class of the weapon that corresponding to CPP class

    min_radius = 30 ; [] for AI

    max_radius = 100 ; [] for AI

    description = enc_weapons1_wpn-ak101


    ef_main_weapon_type = 2

    ef_weapon_type = 6


    ;-----------------------------------------------------------------------------------

    holder_range_modifier = 1.0 ; во сколько раз увеличивается eye_range

    holder_fov_modifier = 0.7 ; во сколько раз увеличивается eye_fov

    ;-----------------------------------------------------------------------------------


    cost = 2;4000

    weapon_class = assault_rifle


    ammo_limit = 210

    ammo_elapsed = 30


    ammo_mag_size = 30

    fire_modes = 1, -1


    ammo_class = ammo_5.56x45_ss190, ammo_5.56x45_ap

    grenade_class = ammo_vog-25, ammo_vog-25p

    launch_speed = 0


    hand_dependence = 1

    single_handed = 0


    slot = 2

    animation_slot = 2

    inv_name = wpn-ak101

    inv_name_short = wpn-ak101

    inv_weight = 3.3


    inv_grid_width = 5

    inv_grid_height = 2

    inv_grid_x = 11

    inv_grid_y = 29


    kill_msg_x = 0

    kill_msg_y = 28

    kill_msg_width = 84

    kill_msg_height = 28



    ;-----------------------------------------------------------------------------------

    ;params of weapon recoil


    fire_dispersion_base = 0.15;0.2

    control_inertion_factor = 1.1f;1.25f


    ;отдача

    cam_relax_speed =6;5;3.5; 0.15

    cam_dispersion = 0.1;0.15

    cam_dispersion_inc = 0.2;0.3

    cam_dispertion_frac = 0.8;0.9

    cam_max_angle = 10.0

    cam_max_angle_horz = 20.0

    cam_step_angle_horz = 1.1;1


    fire_dispersion_condition_factor = 5.7;5

    misfire_probability = 0.0055;0.003

    misfire_condition_k = 0.06;0.05

    condition_shot_dec = 0.00035;0.0001

    ;-----------------------------------------------------------------------------------


    fire_point = 0,0.216,0.638

    fire_point2 = 0,0.216,0.730


    flame_particles = weapons\generic_weapon05

    smoke_particles = weapons\generic_shoot_00

    grenade_flame_particles = weapons\generic_weapon01


    shell_point = 0,0.216,0.174

    shell_particles = weapons\generic_shells


    PDM_disp_base = 1.0

    PDM_disp_vel_factor = 1.3

    PDM_disp_accel_factor = 1.3

    PDM_crouch = 1.0

    PDM_crouch_no_acc = 1.0


    ; ttc

    hit_power = 0.36, 0.4, 0.43, 0.46

    hit_impulse = 140

    hit_type = fire_wound

    fire_distance = 1700

    bullet_speed = 1000

    rpm = 750


    use_aim_bullet = true

    time_to_aim = 1.0


    ;params when silencer is attached

    ;similar to corresponding params without prefix silencer_


    silencer_hit_power = 0.38

    silencer_hit_impulse = 120

    silencer_fire_distance = 250

    silencer_bullet_speed = 600


    hud = wpn_ak101_hud


    position = -0.026,-0.172,0

    orientation = 0,0,0


    ;--STRAP PARAMETERS-----------------------------------------------------------------

    strap_position = -0.16,-0.40,0.15

    strap_orientation = -10,-5,10

    strap_bone0 = bip01_spine2

    strap_bone1 = bip01_spine1


    visual = weapons\ak-101\wpn_ak101


    light_color = 0.6,0.5,0.3

    light_range = 5

    light_var_color = 0.05

    light_var_range = 0.5

    light_time = 0.2


    ph_mass = 5


    ;addons

    scope_status = 2

    silencer_status = 2

    grenade_launcher_status = 0;2


    zoom_enabled = true

    scope_zoom_factor = 50


    scope_name = wpn_addon_scope

    scope_x = 42

    scope_y = 3

    silencer_name = wpn_addon_silencer

    silencer_x = 218

    silencer_y = 13

    grenade_launcher_name = wpn_addon_grenade_launcher

    grenade_launcher_x = 116

    grenade_launcher_y = 23


    ;sounds (name of the sound, volume (0.0 - 1.0), delay (sec))

    snd_draw = weapons\ak74_draw

    snd_holster = weapons\generic_holster

    snd_shoot = weapons\ak74_shot_0

    snd_shoot1 = weapons\ak74_shot_1

    snd_shoot2 = weapons\ak74_shot_2

    snd_shoot3 = weapons\ak74_shot_3

    snd_empty = weapons\gen_empty, 0.5

    snd_reload = weapons\ak74_reload, 0.7, 0.35

    snd_shoot_grenade = weapons\gen_grenshoot

    snd_reload_grenade = weapons\gen_grenload, 1.0, 0.8

    snd_switch = weapons\groza_switch, 1.0, 0.5



    ;params when silencer is attached

    ;similar to corresponding params without prefix silencer_


    ;silencer_flame_particles = weapons\generic_weapon01

    silencer_smoke_particles = weapons\generic_shoot_00


    snd_silncer_shot = weapons\w_ak74_shot1


    silencer_light_color = 0.6,0.5,0.3

    silencer_light_range = 0.01

    silencer_light_var_color = 0.05

    silencer_light_var_range = 0.5

    silencer_light_time = 0.2



    ;-----------------------------------------------------------------------------

    ;-- HUD DESCRIPTION

    ;-----------------------------------------------------------------------------


    [wpn_ak101_hud]

    allow_inertion = true


    ;similar to corresponding params in weapon section but for 1st person view


    shell_point = -0.065000,0.000000,-0.045000

    shell_dir = 0.0, 1.0, 0.0


    fire_point = 0.09,0.020,-0.06

    fire_point2 = 0.30, 0.00, 0.05

    fire_bone = wpn_body


    orientation = 0, 0, 0

    position = 0, 0, 0.05

    visual = weapons\ak-101\wpn_ak101_hud


    grenade_bone = wpn_grenade


    ; animation names


    anim_idle = idle

    anim_idle_aim = idle_aim

    anim_reload = reload

    anim_draw = draw_wo_gl

    anim_holster = holster_wo_gl

    anim_shoot = shoot


    ; animation names

    ; attached grenade launcher [GRENADE fire mode]

    anim_idle_g = idle_grenade

    anim_idle_g_aim = idle_g_aim

    anim_reload_g = reload_grenade

    anim_shoot_g = shoot_grenade

    anim_switch_grenade_on = switch_grenade

    anim_switch_grenade_off = switch_grenade_off

    anim_draw_g = draw_grenade_mode

    anim_holster_g = holster_grenade_mode


    ; attached grenade launcher [NORMAL fire mode]

    anim_idle_gl = idle_w_gl

    anim_idle_gl_aim = idle_w_gl_aim

    anim_reload_gl = reload_w_gl

    anim_draw_gl = draw_w_gl

    anim_holster_gl = holster_w_gl

    anim_shoot_gl = shoot_w_gl

    anim_idle_sprint = idle_sprint


    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

    ;HUD offset in zoom mode (to all)

    ;(use CONSOLE: hud_adjust_mode 0,1,2, then keys WSADQE and P to show current value in console)


    zoom_offset = -0.112400,0.016800,-0.115000

    zoom_rotate_x = 0.000200

    zoom_rotate_y = 0.017500


    zoom_hide_crosshair = true



    ; same as above, but for attached grenade launcher for

    ; in NORMAL shoot mode


    grenade_normal_zoom_offset = -0.112500,0.014000,0.000000

    grenade_normal_zoom_rotate_x = -0.000900

    grenade_normal_zoom_rotate_y = 0.017200


    ; same as above, but for attached grenade launcher for

    ; in GRENADE mode


    grenade_zoom_offset = -0.039600,-0.433100,0.000000

    grenade_zoom_rotate_x = -0.538700

    grenade_zoom_rotate_y = -0.033800

    Регистрация


    Итак, с характеристиками разобрались. Теперь зарегистрируем оружие в файле weapons.ltx. Для этого пропишем в него строку следующего вида:

    #include "w_ak101.ltx"


    Также, необходимо прописать модели, используемые для отображения оружия, в prefetch.ltx:

    [...]

    weapons\abakan\wpn_abakan

    weapons\abakan\wpn_abakan_hud

    weapons\ak-101\wpn_ak101

    weapons\ak-101\wpn_ak101_hud

    weapons\ak74\wpn_ak74

    weapons\ak74\wpn_ak74_hud

    [...]


    Так же не забудте в файле mp_ranks.ltx прописать после available_items (которое внизу) прописать название своего оружия. Это предотвратит вылет при убийстве ГГ.

    Добавление в игру


    Осталось добавить оружие в игру.


    Выдайте его некоторым NPC , расширьте ассортимент торговцев.

    Транспорт
    Транспорт в игре есть! Пока способ заспаунить его не известен общественности, но тем не менее в сети появился файл all.spawn, копируйте его в папку gamedata\spawns. Мод предназначен только для пропатченной версии игры(1.0001). После начала новой игры в первой локации рядом с Сидоровичем появятся несколько машин, в т. ч. и Камаз. Чтобы включить двигатель в консоли пишем bind turn_engine kb[b], закрываем консоль, жмём кнопку b и наслаждаемся….

    Рассмотрим параметры машин, конфиги находятся в папке gamedata\config\models\vehicles.

    [car_definition] – после строки идут коментарии на русском языке, перейдём сразу к следующему.



    --Factory parameters of Engine -- - параметры двигателя(описание не претендует на совершенно точное)

    fuel_tank – вместимость бака.

    engine_power – мощность двигателя.

    hand_break_torque - сила торможения

    [damage_items] – повреждения частей машины

    back_left_wheel - заднее левое колесо

    back_right_wheel -заднее правое колесо

    front_left_wheel -переднее левое колесо

    front_right_wheel - переднее правое колесо

    left_door - левая дверь

    right_door - правая дверь

    [immunities]

    burn_immunity = 0.5 ;коэффициенты иммунитета

    strike_immunity = 0.1

    shock_immunity = 0.0

    wound_immunity = 0.01

    radiation_immunity = 0.0

    telepatic_immunity = 0.0

    chemical_burn_immunity = 0.0

    explosion_immunity = 0.4

    fire_wound_immunity = 0.0005

    P.S. Чтобы сделать вид от третьего лица, в файле user.ltx(ну если не знаете где он находится, то специально для вас в Microsoft сделали поиск в Windows) пишем после строки unbindall:

    bind cam_1 kF1

    bind cam_2 kF2

    bind cam_3 kF3

    В игре жмём кнопки F1, F2 или F3 для смены вида.

    Очень нужно при езде на БТР

    Редактирование торговцев

    Торговцы:

    Вещи, которые продают торговцы можно отредактировать(добавить/убрать) в файлах с именем [b]trade_YYY.ltx[.B], где [b]YYY[.B] – это имя торговца(например [b]trade_barman.ltx[.B])

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

    Структура файла на самом деле очень проста, под зачком ; прописаны сами предметы, а после него – комментарий(чтоб понятно было). Например ;Аммуниция.

    В квадратные скобки заключены([barman_generic_buy]), как бы сказать, "условия”. Лучше показать на примере:

    В самом начале(практически) файла trade_barman.ltx идёт строка содержания [barman_generic_buy], т.е. она означает, что ниже прописанные предметы торговец может купить.

    Сами предметы например:

    ;Артефакты

    af_medusa = 1, 0.3

    af_cristall_flower = 1, 0.3

    af_night_star = 1, 0.3

    af_vyvert = 1, 0.3

    af_gravi = 1, 0.3

    af_gold_fish = 1, 0.3

    af_blood = 1, 0.3

    af_mincer_meat = 1, 0.3

    или

    ;ADDONS

    wpn_addon_scope = 0.7, 0.2

    wpn_addon_scope_susat = 0.7, 0.2

    Посмотрим какие ещё "условия” содержит этот файл и их значение:

    [supplies_start] - начальный ассортимент

    [supplies_after_darkvalley] - ассортимент, после выполнения квеста в тёмной долине

    [supplies_after_brain] - ассортимент, после "выжигателя мозгов”

    [barman_start_sell] - цены по которым торговец(бармен в данн. сл.) продает в начале

    [barman_after_darkvalley_sell] - аналогично

    [barman_after_brain_sell]

    Итак: чтобы добавить предмет к торговцу, после строки [supplies_start], находим интересующую нас категорию(а это может быть: ;Аммуниция/;Оружие/;Броники/;Медикаменты/;Еда и др.) и после всех прописанных в данной категории предметов добавляем ещё одну строчку для своего предмета(а именно название модели(т.к. оно совпадает с названием самого предмета) и после знака = параметры(о них чуть ниже)). Ну я так и знал что вы ничего не поймёте, поэтому пример:

    Чтобы добавить бармену винтовку Гаусса, находим строки после условия [supplies_start] -

    ;Оружие

    wpn_pb = 3, 0.6

    wpn_walther = 3, 0.6

    wpn_mp5 = 3, 0.6

    wpn_ak74u = 3, 0.5

    и внизу прописываем wpn_gauss = N, n.n

    *о значениях после знака = см. ниже.

    Все имена оружия, амуниции, снаряжения и т.п. можно найти в папках gamedata\meshes\equipments,

    gamedata\meshes\weapons, gamedata\meshes\food.

    Заметьте, что wpn_gauss нужно писать без расширения .ogf

    Значения:

    После знака = у вальтера например стоит цифра 3, а после запятой – 0,6.

    Первое, для гаусса у нас стоит N, это количество(в штуках) предметов. Т.е. если поставить значение 999, то у бармена будет 999 гауссов.

    А второе:

    1. В разделах supplies вторая цифра это вероятность появления данного предмета.

    2. В разделе buy - первая цифра максимальная цена покупки, вторая минимальная (зависит от отношения торговца к Меченному - рейтинг, репутация)[Предположительно. – прим.]

    3. Соответственно в разделах sell - первая цифра минимальная цена продажи, вторая - максимальная (точнее множитель на "истинную цену" предмета). Tnx GreyL.

    В итоге должно получиться:

    [supplies_start]

    ;Оружие

    wpn_pb = 3, 0.6

    wpn_walther = 3, 0.6

    wpn_mp5 = 3, 0.6

    wpn_ak74u = 3, 0.5

    wpn_gauss = 6, 0.6

    И тогда у торговца мы получим ровно 6 винтовок Гаусса.


    Создание рандомного выбора муз. заставки главного меню:

    При заходе на экран главного меня муз. заставка будет выбираться случайно из добавленных вами.

    1. В директорию gamedata\sounds\music\ положить два канальных ogg-файла с нужной музыкой, например: my_music_l.ogg (левый канал) и my_music_r.ogg (правый канал)

    2. В текстовом редакторе открыть файл gamedata\config\ui\ui_mm_main.xml, найти в нем строку:


    и заменить на:


    3. В этом же файле найти строку:

    music\wasteland2

    и ниже нее выставить следующую строку:

    music\my_music

    4. Сохранить файл.

    5. Если требуется вставить больше муз. заставок, то в параметре random укажите их количество.

    Автор идеи - VM


    NPC покупают оружие:

    Чтобы обычные сталкеры и др. npc могли покупать у ГГ оружие, нужно править файл gamedata\config\misc\trade_generic.ltx. Его структура точно такая же, как и у любого другого торговца.

    После строки [generic_buy] находим строку ;Оружие и после неё у каждого вида ставим зачения N и n.n.

    Можно например так:

    ;Оружие

    wpn_pm = 0.08, 0.12

    wpn_pb ;NO TRADE

    wpn_fort = 0.08, 0.12

    wpn_hpsa = 0.08, 0.12

    wpn_beretta = 0.08, 0.12

    wpn_walther = 0.08, 0.12

    wpn_sig220 ;NO TRADE





    А чтобы у npc продавалось оружие, нужно проделать тоже самое, только после строки [generic_sell]

    Метод я проверял, вроде как работает.

    Чтобы после покупки персонаж не выкидывал купленное оружие(а также чтобы подбирал его с земли), в файле gamedata\config\creatures\m_stalker.ltx строку can_select_items = off меняем на can_select_items = on

    и строку use_single_item_rule = on меняем на use_single_item_rule = off .
    и последнее

    Структура файлов и папок

    Рассмотрим, что-же содержится в папке gamedata:

    Папка ai – в ней содержатся файлы типа *.efd, через которые очевидно управляется искусственный интеллект тех же npc например.

    Папка anims – здесь и так всё понятно, игровая анимация, а также эффекты камеры.

    Папка config содержит в себе многие игровые параметры, к ней мы ещё вернёмся.

    Папка levels – это игровые уровни, ака локации, на которые поделена игра (как карты в CS)

    Папка meshes – игровые модели, в формате .ogf

    Папка scripts – скрипты

    Папка shaders – шейдеры, для двух рендеров(DX8 и 9)

    Папка sounds – звуки и музыка, кот. используются в игре. Формат .ogg*

    Папка spawns – отвечает за самую ужасную вещь в игре – респаун противников и др. людей, животных.

    Папка textures – в ней содержаться текстуры домов, оружия, монстров и др. Формат - .dds(DirectDraw Surface Image)

    Файлы:

    game.graph, gamemtl.xr, lanims.xr, particles.xr, resource.h, senvironment.xr, shaders.xr, shaders_xrlc.xr, stalkergame.inf.

    В звуках, кстати, можно найти много интересного, например: в папке sounds\car содержатся звуки машин(которых в игре нет), а sounds\music\harmonica_1.ogg – файл губной гармошки. Ах да, чуть не забыл, самый главный лол, это файл sounds\car\trabantnoise.ogg


    Введение в моддинг:

    Именно с папкой config придётся работать для редактирования многих параметров игры.

    Но начнём сначала:

    Перед тем, как начать редактирование файлов игры, нужно в каталог Сталкера поместить ту самую папку gamedata, в которую были извлечены игровые файлы.

    *Все файлы нам не понадобятся, поэтому можно оставить только папки config, scripts(а конкретно файл se_respawn*****ipt), textures, sounds, а всё остальное удалить(а можно и не удалять)

    Также хочу заметить, что если распаковать все архивы .dbN в папку с игрой, то это может дать несколько дополнительных FPS.


    Текстуры:

    В папке textures лежат файлы формата .dds, которые можно открыть программой Nero PhotoSnap Viewer(входит в состав NERO7) например или windows texture viewer (63кб), и там же отредактировать по вкусу. Так, например, существует мод, уменьшающий размер PDA Меченого. Текстура PDA находится по адресу textures\ui\ui_pda.dds.


    Скрипты:

    se_respawn*****ipt – файл, отвечающий за респаун. Время респауна можно уменьшить, путём небольших изменений в этом файле. Он открывается обычным блокнотом(notepad). Ищем в нём строку

    idle_time:setHMSms( 0, 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)

    и меняем её на

    idle_time:setHMSms( math.random(X, Y), 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)

    где X и Y - числа, задают диапазон случайной переменной в часах отвечающей за респаун.


    Звуки и музыка:

    Любой файл в папке sounds можно заменить на другой, но при этом нужно сохранить все параметры звукового файла, который был использован в игре. Например, чтобы заменить музыку в приёмнике у Сидоровича, нужно файл sounds\scripts\magnitofon\magnitofon_2.ogg, заменить на любой другой.(У оригинального файла винамп мне выдал свойства:

    Average bitrate : 60 kbps

    Nominal bitrate : 80 kbps

    Channels : 1

    Sampling rate: 44100 Hz.


    Config/Weapons:

    Параметры оружия вы можете найти в папке config\weapons, файлы типа w_ak74.ltx открываются тоже блокнотом. Разберём содержимое файла например w_groza.ltx

    Во первых стоит обратить внимание на значение пременной(буду их так называть) cost, это цена оружия, т.е. сколько гроза будет стоить у продавца.

    Переменная weapon_class означает, к какому классу относится оружие, в данном случае - assault_rifle.

    ammo_limit – лимит боеприпасов(в игре по-моему не используется)

    ammo_mag_size – размер магазина. Можно поставить например 900, тогда о перезарядке можно совсем не вспоминать.

    ammo_class – класс патронов, используемых оружием. Здесь ammo_9x39_pab9[/b], ammo_9x39_sp5, ammo_9x39_ap.

    hit_power – сила оружия. Чем больше, тем лучше

    silencer_hit_power - сила оружия, когда на него одет глушитель.

    misfire_probability - вероятность осечки при максимальном износе.

    condition_shot_dec - увеличение износа при каждом выстреле.

    visual – модель оружия.

    zoom_enabled - поддерживается ли оптика.


    Config/Сreatures:

    actor.ltx – параметры главного героя. В этой же папке находятся файлы с параметрами npc, монстров и пр.

    Рассмотрим некоторые переменные на примере actor.ltx

    visual – модель персонажа.

    max_walk_weight - максимальный вес, при достижении которого игрок перестает двигаться.

    pickup_info_radius – радиус от ГГ, в котром над предметами выводятся их названия.

    camera_height_factor – высота ГГ. По умолчанию стоит 0.85, но можно увеличить рост ГГ до 0.95 например.

    disp_base – разброс. Если уменьшать, то и разлёт уменьшается соответственно.

    wound_incarnation_v - скорость заживления раны.

    cant_sprint_power_begin - порог силы меньше которого актер не может бежать в спринте.

    hit_probability_gd_novice

    hit_probability_gd_stalker

    hit_probability_gd_veteran

    hit_probability_gd_master

    Эти строчки отвечают за вероятность попадания по вам, при разных уровнях сложности. Хотите чтобы враги стреляли не очень метко, уменьшайте значения.

    Также в файле присутсвуют комментарии на русском языке, так что разобраться в остальных переменных не составит труда.


    Config/System.ltx:

    start_blood_size - размер раны чтоб начала капать кровь.

    stop_blood_size - размер раны чтоб кровь остановилась.

    max_weight – вес, с которым ГГ может бежать.


    Config/Misc.ltx:

    В дополнение к конфигам оружия:

    cвойства патронов находятся в файле weapons.ltx, а бронежилетов – в outfit.ltx.

    Свойства артефактов находятся в файле artefacts.ltx и файлах zone_ART.ltx, предметов – items. ltx,

    где ART – название артефакта(например zone_gravi.ltx).

    Параметры артефактов:

    health_restore_speed - скорость восстановления здоровья (0.0001 = +100%)

    radiation_restore_speed - скорость накопления радиации (0.0004 = 4). Если поставить отрицательное число, то артефакт будет ускорять выведение радиации.

    idle_particles – если закоментить её символами «--« -, то аномалия исчезнет. Чтобы отключить звуковое оповещение, то находим строку visible_by_detector и меняем on на off.

    Иммунитеты:

    strike_immunity - удар.

    shock_immunity - электрошок.

    chemical_burn_immunity - химический ожог.

    telepatic_immunity - телепатия.

    radiation_immunity - радиация.

    wound_immunity - разрыв.

    explosion_immunity - взрыв.

    fire_wound_immunity - огнестрел.


    items.ltx:

    Параметры предметов:

    В этом файле в квадратных скобках написан тот предмет, чьи параметры идут ниже, за квадр. скобками. Например: [kolbasa]:identity_immunities.

    Параметры на примере колбасы:

    class – к какому классу принадлежит предмет.

    visual – модель.

    cost – цена.

    eat_health – сколько восстанавливает здоровья.(если будет 0, то колбаса лечить не будет.)

    eat_power - сколько восстанавливает силы.

    eat_radiation - сколько выводит/или добавляет радиации. (Насчёт этого не уверен, надо тестить.)

    inv_weight – вес предмета.


    Outfit.ltx:

    Параметры костюмов:

    actor_visual – модель костюма.

    inv_weight – вес костюма.

    cost – цена костюма.

    коэффициенты иммунитета самого костюма:

    burn_immunity см. коэффиц.

    ...

    fire_wound_immunity

    ; NO RESISTANCE

    burn_protection - коэффициент защиты от огня

    strike_protection - коэффициент защиты от пуль

    shock_protection - коэффициент защиты от молний

    wound_protection - коэффициент защиты от кровотечений (?)

    radiation_protection - коэффициент защиты от радиации

    telepatic_protection - коэффициент защиты от телепатии

    chemical_burn_protection - коэффициент защиты от хим. ожогов.

    explosion_protection - коэффициент защиты от взрыва

    fire_wound_protection - коэффициент защиты от кровотечений(от огня)

    nightvision_sect – тип ночного видения(плохой/хороший). Если ПНВ нету, то строку добавить, если его нужно убрать, строку закомментируйте(--).
    Категория: Разное | Добавил: Бормон (30.05.2010)
    Просмотров: 788 | Теги: Полезная инфа для модостроителей но | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
     |