Перейти к контенту

[SoC] Ковыряемся в файлах


Halford

Рекомендуемые сообщения

А @Iriarith спросить стесняется? Так здесь не кусаются, в общем и целом :biggrin:.

Простейший вариант в качестве ориентира, для понимания принципа, например: Exchanging Items Mod v0.5. Солянку советовать в качестве примера страшновато.

  • Нравится 4

Поделиться этим сообщением


Ссылка на сообщение

@DarkSnowder , "классические" АМК-респаунеры. Как когда-то провозгласили отцы-основатели:biggrin:.

gamedata\config\scripts\amk\amk_respawns.ltx. Ну и далее по списку инклудов файла.

  • Нравится 2
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

@Сталкер Одиночка , какое именно? Там "каша".
Направления поиска: g.script
Вот это вот всё:

Скрытый текст
--' Усталость
function on_actor_critical_power()
    if has_alife_info("esc_trader_newbie") then
        game.start_tutorial("part_11_weakness")
    end
    if not has_alife_info("encyclopedy_tutorial_weakness") then
        db.actor:give_info_portion("encyclopedy_tutorial_weakness")
    end
end

И логика рестриктора: esc_tutorial.ltx.

  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

 

Скрытый текст
<part_3_jump><!--делаю новый туториал-->
        <global_wnd/>

        <item><!--Для того чтобы перепрыгнуть невысокое препятствие - нажмите клавишу "пробел" $$ACTION_JUMP$$-->
          	...
         	<!-- вар1: длительность туториала в 0  -->
            <length_sec>10</length_sec>
            <main_wnd>
              <!-- вар2: комент/удааление статика туториала. От сих... -->
         		<auto_static start_time="0" length_sec="5000" x="712" y="475" width="400" height="150" alignment="c" stretch="1"
                       light_anim="" la_cyclic="1" la_texture="1" la_alpha="1">
                    <window_name>w1</window_name>
                    <text font="graffiti22" r="225" g="225" b="250" a="255">jump_tutorial</text>
                </auto_static>
             <!-- ... до сих  -->
            </main_wnd>
        </item>
    </part_3_jump>

 

А управляется оно отсюда: esc_tutorial.ltx

Скрытый текст
[logic]
active = sr_idle@tutorial

[sr_idle@tutorial]
nil;on_info = {+esc_tutorial_start} sr_idle@tutorial_jump

[sr_idle@tutorial_jump]
on_info = {+esc_find_railroad_passage_find_stalker -encyclopedy_tutorial_diary} sr_idle@wait_diary_tutor
on_info2 = {+encyclopedy_tutorial_jump} sr_idle@tutorial_crouch
on_timer = 1000 | sr_idle@wait_jump_tutor

[sr_idle@tutorial_crouch]
...

 

Решение в одну строчку.

  • Нравится 1
  • Полезно 2

Поделиться этим сообщением


Ссылка на сообщение

@Stalk2003, набор необходимых (обязательных) параметров для предмета определяются его классом (в данном случае  II_ATTCH -> II_MEDKI). По аналогии с оригинальными предметами данного класса - с нулевым значением.

  • Нравится 2
  • Согласен 1
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

@Stalk2003 , как предмет будет атачиться (присоединяться - геометрически: угол, позиция, "кость" для присоединения и т.п.) к модели NPC при его использовании (сталкер ест колбасу по схеме логики - например).

  • Нравится 1

Поделиться этим сообщением


Ссылка на сообщение

@Stalk2003 , ну почему сразу не будет? Там только одна хитрость есть: тынц. В качестве минимума. Т.е., чтобы NPC могли использовать предмет (визуально), его необходимо добавить в соответствующую секцию.


Может.

  • Нравится 1

Поделиться этим сообщением


Ссылка на сообщение

Хэх, весело, господа корифеи. А если несколько разнотипных предметов подряд попробовать? А вот что будет?

Поделиться этим сообщением


Ссылка на сообщение
11 часов назад, CiberZold сказал:

поменяв в секции нужного нпс параметр биолог вид существа вместо species = human,

Мдаа... а теперь думаем, а где и для чего species используется. И на возможные последствия. И на цель наших телодвижений.

Хотим бессмертного NPC? Действуем.

 

  • Согласен 1
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

@Dalarcsis , в данном случае:

Скрытый текст
   <!-- родительский фрейм (окно) -->
    <!-- x,у,- его положение относительно 0,0 координат экрана -->
    <form x="415" y="168" width="560" height="460">
      <!-- смещение текстуры этого окна относительно его геометрической позиции -->
      <texture_offset x="..." y="..."/>
      <!-- сама текстура -->
      <texture>ui_menu_options_dlg</texture>
    ...
    <!-- положение всех дочерних элементов отсчитывается уже от этих координат "внутри" окна. -->
    <!-- вот тут и будем изменять их позицию -->
        <btn_load x="65" y="427" width="157" height="48">
            <texture>ui_button_main01</texture>
            <text font="graffiti22">ui_mm_load</text>
            <text_color>
                <e r="227" g="199" b="178"/> <t r="180" g="153" b="155"/> <d r="106" g="95" b="91"/> <h r="0" g="0" b="0"/>
            </text_color>
        </btn_load>
    ...    
    </form>

 

Скрытый текст

02.jpg

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

  • Спасибо 1
  • Нравится 1
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

Ещё раз повторюсь: последствия "поигрулек" со species хорошо продуманы перед советованием? А то ведь у вас потом сейвы на Радаре "бьются".

  • Нравится 2
  • Полезно 2

Поделиться этим сообщением


Ссылка на сообщение

@Modz , оригинал статьи. Но выше в посте то же самое.

Да. По необходимости завести в species новый "подвид" для мутанта и настроить в game_relations для него отношения. В оригинале те же гражданские зомби, например, в игру не введены, поэтому проблема не заметна. В ранних модах мутанты добавлены, но с прежним значением. С учётом ограничений для них (см. выше) в итоге и имеем вот такую картину.

  • Полезно 2

Поделиться этим сообщением


Ссылка на сообщение

Угум, экспресс-тест, да ещё и на кастомном движке - это, конечно, довод неоспоримый.

Память - вещь хорошая, разумеется. И что в каждом из этих модов предварительно проверялось озвученное? А косячили скриптеры много где: и Архаровцы, и ОП-цы, и OGSE-шники. Ну... это ладно. Момент и вопрос: как планируются отношения настраивать с другими NPC? Там ведь для зверья и "человечины" подходы отличаются.

Мир, дружба, жвачка. Расходимся на исходные.
 

Поделиться этим сообщением


Ссылка на сообщение

@андрей дронав , сам вылет вроде бы faq-ный.

Но в данном случае прямой поиск по файлам не поможет. Где-то в качестве секции объекта прочитался/записался "мусор". Необязательно при этом что значение будет именно 'ac'.

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

Вот тут, например, в качестве одного из многочисленных примеров что-то подобное.

  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение
1 час назад, CiberZold сказал:

сначала идёт текст , а только потом проверка на инфопоршень,

Оно там закомментировано, если чё.

1 час назад, CiberZold сказал:

Но вообще для стартового диалога НПС, для начальной фразы, лучше не задавать никаких условий

Звезда Сидоровича :good:

 

@DarkSnowder, см. чётко наличие инфопоршней в ветках диалога: в первой ветке поршень выдали, в следующей ветке проверили его наличие и т.д.

 

Как вариант: разбить на несколько диалогов (если так проще) и выдавать их непосредственно в логике NPC в секции meet.

На примере Волка:

[meet@wolf]
...
--* тут наши поршни
meet_dialog = {-agroprom_military_case_have} escape_lager_volk_talk, escape_lager_leader_hello

 

Поделиться этим сообщением


Ссылка на сообщение

@андрей дронав,

Пример бы (поменьше размером для простоты).

"Калашников" под ТС тоже не хочет (Распаковка игры. Работа с игровыми архивами)? тынц - настройка + необходимый софт.

"бардак" - свежий (ну... относительно)? тынц.

В SUE тоже, кстати, в качестве основного инструмента "вшит" именно converter.exe. Только уже достаточно "пожилой", ~15-16гг.

 

 

 

  • Спасибо 1
  • Полезно 2

Поделиться этим сообщением


Ссылка на сообщение

@imcrazyhoudini , партикл однофреймовый (статичный).

zone_minefield.ltx

idle_particles        = static\mine
blowout_particles    = explosions\explosion_mine

particles.xr

Скрытый текст

003.jpg 001.jpg 002.jpg

 

  • Полезно 2

Поделиться этим сообщением


Ссылка на сообщение

@imcrazyhoudini , вот тут, к сожалению, не подскажу навскидку. Никогда в ту степь не заносило :biggrin:.

Если правильно понята вводная: сохранить сам партикл, но убрать его свечение?
Попробовать экспериментально до приемлемого уровня, перебирая доступные, пожалуй, будет быстрее всего. Благо, это всё-таки не геометрия уровня. Пересобирается достаточно быстро.

  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение

Подключаются телепаты...

В консоли пресловутое:

stack trace:
Scheduler tried to update...

отсутствует?
Логика "жива"?

 

  • Согласен 1

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...