Главная | Форум |
Статистика
Самые активные сталкеры Самые уважаемые Ветераны Зоны Новые пользователи
  • арти_мастер
  • Дуб
  • Гильза
  • stalkermir
  • EN_NOT
  • EDUardd
  • Лимон
  • Karas
  • Адепт
  • Стрелка
  • stalkermir
  • EN_NOT
  • Дуб
  • Домовой
  • Адепт
  • Karas
  • Доок
  • Лимон
  • EDUardd
  • арти_мастер
  • stalkermir
  • Дуб
  • арти_мастер
  • EN_NOT
  • Адепт
  • Лимон
  • Karas
  • EDUardd
  • Гильза
  • stalkerdan
  • murrayspda
  • ARayKo60
  • zvezdanutij
  • ebagban344
  • bigden198420
  • blohinv63
  • sipo2007
  • mennis1294
  • noro97198329
  • Utkin33
  • [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

    Прохожий
    IP: 216.73.216.59
    На сайте дн.:
    Читать ЛС -
    Изменить данные
    Выход
    • Страница 1 из 3
    • 1
    • 2
    • 3
    • »
    Как сделать свой мод
    igoreha96Дата: Суббота, 19 Июня 2010, 20:04 | Сообщение # 1
    Познающий
    Группировка: Вольный сталкер
    Посты: 62
    Репутация: 8

    Статус: Вне зоны
    Может кто нить помочь или выложить тутор по созданию мода с нуля для ЗП

    сайт клана ксс http://russia-pro.clan.su а в 1.6 сам в клан не против
     
    EN_NOTДата: Суббота, 19 Июня 2010, 22:06 | Сообщение # 2
    .::АДМИН::.
    Группировка: Администратор
    Посты: 2020
    Репутация: 174

    Статус: Вне зоны
    igoreha96, Я увы нет=(




     
    _=Mast_deaD=_Дата: Суббота, 19 Июня 2010, 22:24 | Сообщение # 3
    S.M.O.K.E.R.
    Группировка: Долг
    Посты: 1018
    Репутация: 27

    Статус: Вне зоны
    И я тож.








    ДОЛГ-это дисциплина, дисциплина-это сила, сила-это умение убивать врагов, а если ты умеешь убивать врагов, то ты будешь жить.
     
    @@@Дата: Воскресенье, 01 Августа 2010, 19:47 | Сообщение # 4
    Новичок
    Группировка: Вольный сталкер
    Посты: 29
    Репутация: 4

    Статус: Вне зоны
    stalkermira спрси
     
    EDUarddДата: Среда, 11 Августа 2010, 09:59 | Сообщение # 5
    Глава Чистого Неба
    Группировка: Чистое небо
    Посты: 1707
    Репутация: 85

    Статус: Вне зоны
    я могу выложить но это будет для тч и чн но они все одинаковые
    часть 1
    Если вы не знаете, как сделать невидимые аномалии, как изменить силу оружия, как изменить носимый вес и пр., то вы пришли по адресу. В этой статье мы рассмотрим структуру файлов и папок Сталкера, а также вы сможете научиться создавать свои собственные модификации.

    Вступление:
    Как вы наверно заметили, в папке с игрой содержатся несколько файлов типа gamedata.dbN , где N – это число или буква. Это игровые архивы, в которые запакованы все файлы конфигураций, видеоролики, музыка, звуки, скрипты и прочее. Можно их править HEX-editor’ом, но лучше скачать специальную утилитку STALKER_Data_Unpacker и распаковать в отдельную папку(с именем gamedata, позже поймёте почему) их содержимое. Вот после этого можно начать разгребать весь тот мусор, который вы извлекли.

    Структура файлов и папок:
    Рассмотрим, что-же содержится в папке 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.

    Введение в моддинг:
    Именно с папкой config придётся работать для редактирования многих параметров игры.
    Но начнём сначала:
    Перед тем, как начать редактирование файлов игры, нужно в каталог Сталкера поместить ту самую папку gamedata, в которую были извлечены игровые файлы.
    *Все файлы нам не понадобятся, поэтому можно оставить только папки config, scripts(а конкретно файл se_respawn*****ipt), textures, sounds, а всё остальное удалить(а можно и не удалять)
    Также хочу заметить, что если распаковать все архивы .dbN в папку с игрой, то это может дать несколько дополнительных FPS.

    Текстуры:
    В папке textures лежат файлы формата .dds, которые можно открыть программой Adobe Photoshop с установленным DDS-плагином.
    Плагин.
    Скрин с корректными настройками.

    Скрипты:
    se_respawn.sсript – файл, отвечающий за респаун. Время респауна можно уменьшить, путём небольших изменений в этом файле. Он открывается обычным блокнотом(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 – класс патронов, используемых оружием. Здесь [/b]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:
    В дополнение к конфигам оружия:
    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 – тип ночного видения(плохой/хороший). Если ПНВ нету, то строку добавить, если его нужно убрать, строку закомментируйте(--).

    Торговцы:
    Вещи, которые продают торговцы можно отредактировать(добавить/убрать) в файлах с именем [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 вторая цифра это вероятность появления данного предмета (от 0.1 до 1).
    2. В разделе buy - первая цифра максимальная цена покупки, вторая минимальная (зависит от отношения торговца к Меченному - рейтинг, репутация)[Предположительно. – прим.]
    3. Соответственно в разделах sell - первая цифра минимальная цена продажи, вторая - максимальная (точнее множитель на "истинную цену" предмета).
    В итоге должно получиться:
    [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, 1
    И тогда у торговца мы получим ровно 6 винтовок Гаусса.

    Создание рандомного выбора муз. заставки главного меню:
    При заходе на экран главного меня муз. заставка будет выбираться случайно из добавленных вами.
    1. В директорию gamedata\sounds\music\ положить два канальных ogg-файла с нужной музыкой, например: my_music_l.ogg (левый канал) и my_music_r.ogg (правый канал)
    2. В текстовом редакторе открыть файл gamedata\config\ui\ui_mm_main.xml, найти в нем строку:
    <menu_sound random="0" >
    и заменить на:
    <menu_sound random="1" >
    3. В этом же файле найти строку:
    <menu_music>music\wasteland2</menu_music>
    и ниже нее выставить следующую строку:
    <menu_music>music\my_music</menu_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 .

    Объекты, которые можно перемещать:
    В файле system.ltx в конце есть строка [ph_capture_visuals], после неё идёт список перетаскиваемых вещей. Например чтобы можно было таскать монстров, в конец добавляем:
    //Monsters
    monsters\mutant_boar\mutant_boar
    monsters\krovosos\krovosos
    monsters\kontroler\kontroler
    monsters\dog\dog
    monsters\flesh\flesh
    monsters\dog\dog_cmn_1
    monsters\flesh\flesh
    monsters\poltergeist\poltergeist
    monsters\pseudodog\pseudodog
    monsters\snork\snork
    monste rs\burer\burer
    monsters\chimera\chimera
    monsters\cat\cat
    monsters\zombi\zombi_1
    monsters\rat\rat_1
    monsters\tushkano\tushkano

    Как сделать так, чтоб не убиралось из рук оружие в некоторых локациях?:
    В файле gamedata\scripts\sr_no_weapon*****ipt найти и закомментировать (поставить перед ними --) строки
    bind_stalker.hide_weapon()
    bind_stalker.restore_weapon()
    и в файле zone_no_weapon*****ipt ищем строки hide_weapon() и заменяем их на restore_weapon()
    Способ подходит и для предыдущего файла.

    Как приделать к оружию оптику, глушитель, подствольник?:
    Находим в файле оружия строку ;addons и пишем после(без комментарие естественно(или перед ними ставьте + значения после знака = можно менять):
    ;addons
    scope_status = 2 0 - нет,1 - несъемный, 2 - можно ставить прицел
    silencer_status = 0 0 - нет,1 - несъемный, 2 - можно ставить глушитель
    grenade_launcher_status= 0 0 - нет,1 - несъемный, 2 - можно ставить подствольник
    zoom_enabled = true Вкл/выкл возможность зума
    scope_zoom_factor = 50 значение зума
    scope_name = wpn_addon_scope название прицепляемого прицела
    scope_x = 47 положение прицела на картинке, x
    scope_y = 0 положение прицела на картинке, y
    silencer_name = wpn_addon_silencer название глушителя
    silencer_x = 218 положение глушителя на картинке, x
    silencer_y = 9 положение глушителя на картинке, y
    grenade_launcher_name= wpn_addon_grenade_launcher название подствольника
    grenade_launcher_x = 126 положение подствольника на картинке, x
    grenade_launcher_y = 24 положение подствольника на картинке, y

    КАК ИЗМЕНИТЬ НОСИМЫЙ ВЕС?
    В файле \gamedata\config\creatures\actor.ltx находим переменную max_item_mass – это максимальный вес при достижении которго игрок перестает двигаться
    max_walk_weight - максимальный вес, до достижения которого можно передвигаться
    В файле \gamedata\config\ system.ltx изменяем переменную max_weight – это вес который игрок несет не напрягаясь.

    Добавлено (11 Август 2010, 09:55)
    ---------------------------------------------
    часть 2
    Как убрать/увеличить время для обычных квестов?:
    В файле gamedata\config\misc\task_manager.ltx найти и изменить все строки вида time = 86400
    Чтобы совсем убрать лимит - просто закомментировать их (--)

    Как убрать intro-ролики в начале?:
    В свойствах ярлыка прописываем после пути к exe-шнику: -nointro
    Получиться должно что то вроде(это как у меня):
    "D:\Games\S.T.A.L.K.E.R. Shadow of Chernobyl\bin\XR_3DA.exe" -nointro

    Как включить motion blur?:

    В свойствах ярлыка прописываем после пути к exe-шнику: -mblur
    В файле user.ltx(можно и в консоли) параметру r2_mblur присваиваем значение например 0.15
    Работает только на DirectX 9.

    Как увеличить время спринта?:
    В файле actor.ltx меняем параметр sprint_koef.

    Как поменять кол-во жизни монстрам?:
    В файле m_*.ltx(где * - название монстра, например m_controller.ltx; находится в папке gamedata\config\creatures) меняем параметр health

    Как повесить на пояс больше артефактов?:
    В файле system.ltx изменяем параметр max_belt с 5 на 10 (max_belt = 10)

    Ищем файл inventory_new.xml и в нём меняем

    <dragdrop_belt x="645" y="136" width="410" height="60"
    cell_width = "60" cell_height="60" rows_num="1" cols_num="5"/>

    на

    <dragdrop_belt x="590" y="118" width="410" height="104"
    cell_width = "52" cell_height="52" rows_num="2" cols_num="5"/>

    что соответствует 10 артефактам.
    При желании поправив соответствующим образом файлы system.ltx и inventory_new.xml
    можно получить 12,14,16 и более слотов под артефакты.

    Создание новых веток диалога:
    Создание новых веток диалога.
    1) Списки веток диалогов содержатся в файлах вида gamedata/config/gameplay/character_desc_*.xml

    Это например:
    character_desc_zombied.xml
    character_desc_stalker.xml
    character_desc_g arbage.xml
    итд.

    Файлы character_desc_*.xml можно сравнить со стволом дерева диалогов.
    В них перечисляется названия прикрепляемых веток диалогов

    Например вот список веток диалога с Сидоровичем взятый из файла character_desc_escape.xml

    <start_dialog>escape_trader_start_dialog</start_dialog>
    <actor_dialog>escape_trader_talk_info</actor_dialog>
    <actor_dialog>escape_trader_jobs</actor_dialog>
    <actor_dialog>tm_trader_dialog</actor_dialog>
    <actor_dialog>tm_trader_reward</actor_dialog>
    <actor_dialog>escape_trader_done_blockpost_box</actor_dialog>< br>
    В свою очередь каждая ветка диалога также может ветвится.

    2) Ветвление веток прописывается уже в других файлах.
    Например ветвление веток диалога с Сидоровичем содержится в файле gamedata/config/gameplay/dialogs_escape.xml
    Возьмем оттуда к примеру ветвление ветки escape_trader_jobs
    (ветвление веток обычно очень большое поэтому я приведу только часть):

    <dialog id="escape_trader_talk_info">
    <precondition>escape_dialog.trader_has_talk_info_w r</precondition >
    <has_info>tutorial_end</has_info>
    <phrase_list>
    <phrase id="1">
    <text>escape_trader_talk_info_1</text>
    <next>100</next>
    <next>99</next>
    <next>9995</next>
    </phrase>




    <phrase id="0">
    <text>escape_trader_talk_info_0</text>
    <next>1</next>
    </phrase>
    </phrase_list>
    </dialog>

    Здесь <precondition>…</precondition> - это проверка выполнения условия. Ветка появится в диалоге, только если условие выполняется.
    Конкретно <precondition>escape_dialog.trader_has_talk_info_w r</precondition> из ветки escape_trader_talk_info есть обращение к функции trader_has_talk_info_wr находящейся в файле скрипте gamedata/scripts/escape_dialog*****ipt

    Функция выглядит так:

    function trader_has_talk_info_wr( trader, actor )
    return true
    end

    Насколько понимаю она возвращает true только в случае если мы разговариваем с trader_ом т.е. с Сидоровичем.
    Т.е проверкой условия <precondition>escape_dialog.trader_has_talk_info_w r</precondition> проверяется с кем ведется диалог,
    и если диалог ведется с Сидоровичем в ветке <dialog id="escape_trader_talk_info"> по крайней мере этим условием пропускается в списк реплик.
    Но для конкретной ветки может быть несколько precondition и других условий.

    Далее <has_info>tutorial_end</has_info>Если я верно понимаю, это так же своего рода проверка условия В данном случае проверка на то закончена стадия tutorialа или нет. Т.е ветка допустится в список реплик если стадия tutorialа закончена.

    А далее идут конкретные фразы содержащие ссылки на вытекающие фразы

    Фраза:

    <phrase id="0">
    <text>escape_trader_talk_info_0</text>
    <next>1</next>
    </phrase>

    это основа ветки escape_trader_talk_info.
    (Вообще как я понял в любой основной ветке любого диалога фраза <phrase id="0"> будет основой из которой далее будет все вытекать)

    <next>1</next> - это ссылка на вытекающую фразу <phrase id="1"> :

    <phrase id="1">
    <text>escape_trader_talk_info_1</text>
    <next>100</next>
    <next>99</next>
    <next>9995</next>
    </phrase>

    В свою очередь <next>100</next>, <next>99</next>, <next>9995</next> это ссылки на фразы веточки растущие из фразы
    <phrase id="1">.

    3) Текст каждой фразы содержится уже в четвертом файле. Для диалога с Сидоровичем тексты лежат в файле
    gamedata/config/text/rus/stable_dialogs_escape.xml

    <string id="escape_trader_talk_info_0">
    <text>Есть несколько вопросов.</text>
    </string>
    <string id="escape_trader_talk_info_1">
    <text>Спрашивай, только я ведь всего не знаю. Сам понимаешь, сижу тут целыми днями, а жизнь - она вся там, снаружи, в Зоне. Могу рассказать о Зоне вообще, а немного могу о ближайших окрестностях, где сам ходил.</text>
    </string>

    Эти строки содержат тексты для фраз <phrase id="0"> и <phrase id="1">

    Итого диалоги разложены по 4 а то и более файлам.

    Да кстати, путь по веткам может быть зацикленным если того требует диалог. Например так:

    <phrase id="0">
    <text>…</text>
    <next>1</next>
    <next>2</next>
    </phrase>
    <phrase id="1">
    <text>…</text>
    <next>11</next>
    <next>12</next>
    </phrase>
    <phrase id="11">
    <text>…</text>
    <next>1</next> - Это возврат к фразе 1. (зацикливание)
    <next>111</next>
    </phrase>

    Теперь пример практического применения того, о чем было сказано выше:
    Добавим в диалог с Сидоровичем ветку своего собственного изготовления.

    Например такую:
    Меченый: Сидрыч а что это у тебя зеленые человечки, что по столу бегают, такие худые?
    Сидорович: Чего?!!
    Меченый: Ты их совсем, совсем не кормишь?
    Сидорович: В следующий раз, как пойдешь в зону, бери-ка вместо водяры побольше антирада. А то мало что таким перегаром дышишь, уже до зеленых человечков долечился… Шутник.

    1) В файле gamedata/config/gameplay/character_desc_escape.xml в конце списка веток для trader_а суем свою ветку с произвольным названием. (например <actor_dialog>escape_trader_letat_gusi</actor_dialog>)

    Т.е у нас получится так

    <specific_character id="escape_trader" no_random = "1">



    <start_dialog>escape_trader_start_dialog</start_dialog>
    <actor_dialog>escape_trader_talk_info</actor_dialog>
    <actor_dialog>escape_trader_jobs</actor_dialog>
    <actor_dialog>tm_trader_dialog</actor_dialog>
    <actor_dialog>tm_trader_reward</actor_dialog>
    <actor_dialog>escape_trader_done_blockpost_box</actor_dialog>< br> <actor_dialog>escape_trader_letat_gusi</actor_dialog>
    </specific_character>

    Записываем изменения и с файлом character_desc_escape.xml все.

    2) Теперь берем файл gamedata/config/gameplay/dialogs_escape.xml

    Диалогу:

    Меченый: Сидрыч а что это у тебя зеленые человечки, что по столу бегают, такие худые?
    Сидорович: Чего?!!
    Меченый: Ты их совсем, совсем не кормишь?
    Сидорович: В следующий раз, как пойдешь в зону, бери-ка вместо водяры побольше антирада. А то мало что таким перегаром дышишь, уже до зеленых человечков долечился… Шутник.

    Который мы хотим реализовать будет соответствовать такая структура:

    <phrase id="0">
    <text>escape_trader_ letat_gusi_0</text>
    <next>1</next>
    </phrase>
    <phrase id="1">
    <text>escape_trader_ letat_gusi_1</text>
    <next>2</next>
    </phrase>
    <phrase id="2">
    <text> escape_trader_ letat_gusi_2</text>
    <next>3</next>
    </phrase>
    <phrase id="3">
    <text> escape_trader_ letat_gusi_3</text>
    </phrase>

    условия наличия ветки в диалоге можно взять из ветки <dialog id="escape_trader_talk_info">
    Т.е берем условия <precondition>escape_dialog.trader_has_talk_info_w r</precondition > и <has_info>tutorial_end</has_info>
    (Можно было конечно прописать в скрипте еще одно условие для ветки, чтоб она появилась только один раз,
    а потом больше не возникала. Но об этом как нибудь позже допишу.)

    В итоге у нас получилась такая структура:

    <dialog id="escape_trader_letat_gusi">
    <precondition>escape_dialog.trader_has_talk_info_w r</precondition >
    <has_info>tutorial_end</has_info>
    <phrase_list>
    <phrase id="0">
    <text>escape_trader_letat_gusi_0</text>
    <next>1</next>
    </phrase>
    <phrase id="1">
    <text>escape_trader_letat_gusi_1</text>
    <next>2</next>
    </phrase>
    <phrase id="2">
    <text> escape_trader_letat_gusi_2</text>
    <next>3</next>
    </phrase>
    <phrase id="3">
    <text> escape_trader_letat_gusi_3</text>
    </phrase>
    </phrase_list>
    </dialog>

    Которую нужно вставить в любом месте между dialog id_шниками других веток в файле dialogs_escape.xml.
    Главное не промахнутся и засунуть именно между, а не внутрь одного из dialog id
    Все что находится между тегами <dialog id="***"> и </dialog> это внутенности конкретного dialog id
    Т.е совать наш
    <dialog id="escape_trader_letat_gusi">
    ….
    </dialog>

    надо

    <dialog id="*** ">

    </dialog>
    здесь
    <dialog id="*** ">

    </dialog>

    но

    <dialog id="*** ">
    не здесь
    </dialog>

    После сохранения внесенных изменений с файлом dialogs_escape.xml все.

    3) Теперь вбиваем сами текстовички в файле gamedata/config/text/rus/stable_dialogs_escape.xml

    Т.е нам надо в файле stable_dialogs_escape.xml вставить такую конструкцию:

    <string id="escape_trader_letat_gusi_0">
    <text>Сидрыч а что это у тебя зеленые человечки, что по столу бегают, такие худые?</text>
    </string>
    <string id="escape_trader_letat_gusi_1">
    <text>Чего?!!</text>
    </string>
    <string id="escape_trader_letat_gusi_2">
    <text>Ты их совсем, совсем не кормишь?</text>
    </string>
    <string id="escape_trader_letat_gusi_3">
    <text>В следующий раз, как пойдешь в зону, бери-ка вместо водяры побольше антирада. А то мало что таким перегаром дышишь, уже до зеленых человечков долечился… Шутник.</text>
    </string>

    в любом месте между уже существующими string id

    <string id="*** ">
    </string>
    сюда
    <string id="*** ">
    </string>

    Но не внутрь одного из существующих string id
    <string id="*** ">
    не сюда
    </string>

    После сохранения изменений, у нас все готово. Можно грузить игру и смотреть что получилось.

    Оружие загораживает пол-экрана. Как это исправить?:
    В файле конфига выбранного оружия меняем:
    position = 0, -0.075, 0 ; было 0,0,0
    zoom_offset = -0.112400,0.091800,-0.115000 ; было -0.112400,0.016800,-0.115000

    Где найти файл user.ltx?:
    Для Windows XP в директории X:\Documents and Settings\All Users\ Общие документы \STALKER-SHOC
    Для Windows Vista в директории X:\Users\Public\Documents\STALKER-SHOC

    Как изменить силу врагов?:
    В файле gamedata\config\creatures\actor.ltx найти строки
    hit_probability_gd_novice = 0.20
    hit_probability_gd_stalker = 0.30
    hit_probability_gd_veteran = 0.40
    hit_probability_gd_master = 0.50
    Они отвечают за вероятность попадания по вам при разных уровнях сложности.

    Гармошка:
    Для возврата в игру губной гармошки, ищем в папке gamedata\scripts файл xr_kamp*****ipt и открываем его блокнотом. Далее ищем строку -- играть на гармошке . Сам скрипт выглядит так:
    -- играть на гармошке
    -- if npcbject("harmonica_a") then
    -- self.npc[npc_id].states["play_harmonica"] = true
    -- self.npc[npc_id].states["wait_harmonica"] = true
    -- self.kamp_states["pre_harmonica"] = true
    -- self.kamp_states["harmonica"] = true
    -- self.kamp_states["post_harmonica"] = true
    -- else
    self.npc[npc_id].states["play_harmonica"] = false
    self.npc[npc_id].states["wait_harmonica"] = false
    self.kamp_states["pre_harmonica"] = false
    self.kamp_states["harmonica"] = false
    self.kamp_states["post_harmonica"] = false
    -- end

    В данном случае знак -- означает, что строки скрипта игра не использует, а просто пропускает их, переходя к следующей части. Значит нужно убрать знак – из тех строк, которые нам нужны. Должно получится:
    -- играть на гармошке
    if npcbject("harmonica_a") then
    self.npc[npc_id].states["play_harmonica"] = true
    self.npc[npc_id].states["wait_harmonica"] = true
    self.kamp_states["pre_harmonica"] = true
    self.kamp_states["harmonica"] = true
    self.kamp_states["post_harmonica"] = true
    else
    self.npc[npc_id].states["play_harmonica"] = false
    self.npc[npc_id].states["wait_harmonica"] = false
    self.kamp_states["pre_harmonica"] = false
    self.kamp_states["harmonica"] = false
    self.kamp_states["post_harmonica"] = false
    end
    Всё, теперь можете запускать игру и наслаждаться.*

    Как менять скорострельность и удобность оружия?:
    В папке gamedata/config/weapons в файлах конфигурации оружия ищи

    control_inertion_factor

    чем меньше параметр - тем выше удобство.
    и
    rpm - скорострельность.

    Как положить оружие в другой слот?:
    В папке gamedata/config/weapons в файлах конфигурации оружия ищи
    SLOT и меняй на 1 (вместо ножа) или 2 (пистолетный слот)

    Добавление новых опций в меню игры?:
    Открываем файл gamedata\config\ui\ui_keybinding.xml. В нём находим строку
    <group name="kb_grp_common">
    и после неё пишем:
    <command id="kt_turn_engine" exe="turn_engine"/>
    <command id="kb_cam_1" exe="cam_1"/>
    <command id="kb_cam_2" exe="cam_2"/>
    <command id="kb_cam_3" exe="cam_3"/>
    Таким образом в меню игры добавляются 4 новых опции, а именно: смена камеры и кнопка включения двигателя. Также можно добавлять сюда др. клавиши(если знать консольные команды)

    Скрипты дверей:
    Покажу вам на примере, как открыть дверь в саркофаге без дешифра) мы просто сделаем дверь открытой по умолчанию, этот трюк можно использовать в любом направлении, в том числе и для новых квестов
    Идём в gamedata\config\scripts и ищем скрипт нужной двери или объекта, нам нужна дверь в саркофаге и это sar_door.ltx
    Вот вам скрипт с моими комментариями, мои комментарии после символа ;, в вашем скрипте они не нужны, так что удалите их если будете копировать отсюда...

    [logic] ;Основное действие
    active = ph_door@locked ; При нажатии кнопки "Действия" выполняется скрипт [ph_door@locked]

    [ph_door@locked] ; То что выполняется сейчас
    locked = true ; Закрыто на замок, значение правда ("Закрыто", при нажатии на кнопку действия ничего не произойдёт)
    closed = true ; Прикрыта, правда ("Прикрыта", при нажатии на кнопку действия дверь октроется)
    tip_open = tip_door_coded ; Всплывающая подсказка "Дверь закодирована"
    on_info = {=actor_has_decoder} ph_door@coded ; При нажатии на кнопку действия идёт проверка есть ли декодер

    [ph_door@coded] ; Если есть декодер то...
    locked = true ;Закрыто, правда
    closed = true ;Прикрыто, правда
    tip_open = tip_door_decode ; Всплывающая подсказка "Декодировать"
    on_info = {!actor_has_decoder} ph_door@locked
    on_use = ph_door@decoding %+sar_access_decoding% ; При начале декодирования, пошёл процесс декодирования и выполняется скрипт sar_access_decoding

    [ph_door@decoding] ; В процессе декодирования
    locked = true
    closed = true
    tip_open = tip_door_decoding
    on_info = {+sar_finish_decoding} ph_door@unlocked ; Завершение скрипта sar_finish_decoding и выполнение ph_door@unlocked

    [ph_door@unlocked] ; Дверь разкодирована и открыта
    locked = false
    closed = false
    show_tips = false

    Если мы хотим увидеть правдивые концовки, но мы уже в саркофаге и у нас нет дешифра, то мы просто можем изменить везде
    locked = false на true
    closed = false на true
    И в зависимости что вам надо и где можете менять и изменять, тут всё предельно просто и понятно...

    Добавлено (11 Август 2010, 09:56)
    ---------------------------------------------
    ВЗЯТО С forumigromania.ru

    Добавлено (11 Август 2010, 09:59)
    ---------------------------------------------
    а вот нужные программы
    Adobe fotoshop с установленным плагином - фотошоп нужен для создания текстур типо броня еда медикаментов и тд
    и OGF видео конвентор для открытия файлов OGF что находиться в папке MESHES

     
    igoreha96Дата: Среда, 25 Августа 2010, 21:59 | Сообщение # 6
    Познающий
    Группировка: Вольный сталкер
    Посты: 62
    Репутация: 8

    Статус: Вне зоны
    все ето у меня расфасовано по файлам)) мне для ЗП желательно

    сайт клана ксс http://russia-pro.clan.su а в 1.6 сам в клан не против
     
    EN_NOTДата: Среда, 25 Августа 2010, 22:35 | Сообщение # 7
    .::АДМИН::.
    Группировка: Администратор
    Посты: 2020
    Репутация: 174

    Статус: Вне зоны
    igoreha96, В инэте поищи программы для создания модов на СТАЛКЕРА...




     
    арти_мастерДата: Воскресенье, 03 Октября 2010, 16:25 | Сообщение # 8
    Зам. Главы Долга
    Группировка: Администратор
    Посты: 4786
    Репутация: 70

    Статус: Вне зоны
    ну я не леплю моды уж извени помочь не могу)))
     
    ГильзаДата: Суббота, 06 Ноября 2010, 18:13 | Сообщение # 9
    Зам. Главы Наёмников
    Группировка: Наёмники
    Посты: 2923
    Репутация: 25

    Статус: Вне зоны
    Да сложно всё таки делать их!!

    Я наёмник убиваю за деньги, но не друзей знакомых!




     
    -Бродяга-Дата: Четверг, 11 Ноября 2010, 21:54 | Сообщение # 10
    Опытный
    Группировка: Вольный сталкер
    Посты: 306
    Репутация: 10

    Статус: Вне зоны
    очень но зато прикольные емть моды








     
    • Страница 1 из 3
    • 1
    • 2
    • 3
    • »
    Поиск:

    Последние обновления на форуме
    Название форума Название темы Всего сообщений Последнее сообщение Дата сообщения
    S.T.A.L.K.E.R. 2 S.T.A.L.K.E.R. 2 выйдет в 2021 году 0 Дуб 23 Мая 2018 в 00:38
    Общий Венерические заболевания сыпь 0 news_nomadru 15 Марта 2016 в 16:49
    Общий Собираю команду модмейкеров! 1 Alban23 19 Мая 2013 в 19:54
    Общий Бар 8 news_nomadru 24 Августа 2012 в 19:23
    Мирная зона Вступление в группировки 28 Уничтожитель 07 Августа 2012 в 04:39
    Поле боя ВСЕ vs МОНОЛИТ 34 nps 09 Июня 2012 в 21:57
    Модификации Школа модинга Shadow of Chernobyl 27 Mrakobes4538 16 Мая 2012 в 18:25
    Свалка Какая у вас мышка 16 EN_NOT 03 Апреля 2012 в 20:09
    Свалка +100500 25 Гильза 25 Февраля 2012 в 21:45
    Свалка Бар "У Арти_Мастера" 6558 Гильза 25 Февраля 2012 в 21:43
    Авторское право на игру и использованные в ней материалы принадлежат GSC Game World.
    Любое использование материалов сайта возможно только с разрешения его администрации.
    Powered by stalkermir
    Хостинг от uCoz . © (2008-2026)