Случайная подборка модов
L.U.R.K.
4.0
Oblivion Lost Remake 2.0
4.1
Я - Призрак
2.8
The Second Sun
2.9
Путь Человека: Возвращение
4.1
Lost World Troops of Doom
4.1
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  Аdmin
Воскресенье, 03.11.2013, 19:36 | Сообщение # 1
Статус:
Опытный:
Сообщений: 1538
Награды: 11
Регистрация: 28.03.2011

В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга.

  • Не флудить
  • Предварительно просматривайте раздел. Ответ на ваш вопрос может быть там.
  • В своем вопросе указывайте платформу моддинга - Тень Чернобыля, Чистое небо или Зов Припяти.





    У кого есть желание, создать FAQ по основным вопросам моддинга - обращаемся в ЛС.


    Архив

    Архив#2
  •   Злобная реклама
    Воскресенье, 03.11.2013, 19:36
    Статус:
    Сообщений: 666
    Регистрация: 28.03.2011
    Украина  FantomICW
    Понедельник, 30.06.2014, 19:45 | Сообщение # 3571
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    saxar, алл.спавн? Ничего, что НПС через алл.спавн создавали где-то так в позапрошлом столетии? Можно что угодно говорить о ЗП, но разработчики сделали большой подарок - убрали к чертям привязанность НПС к алл.спавну. Впрочем, это сделали, по-моему, еще в ЧН.
    Вот скажи, почему нужно обязательно не делать удобно через сквады и не через СДК, на крайняк, а изобретать трехколесный велосипед в лучших традициях нубостроя? smile wink
    Дружище, учись лучше делать правильно, а не через...аномалию.
    Цитата saxar ()
    Так

    Так.
      Злобная реклама
    Понедельник, 30.06.2014, 19:45
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Российская Федерация  saxar
    Понедельник, 30.06.2014, 20:22 | Сообщение # 3572
    Статус:
    Бывалый:
    Сообщений: 801
    Награды: 2
    Регистрация: 17.10.2012

    FantomICW, сдк-то я знал бы как правильно непися создать или даже квад dry Предметы динамические - пожалуйста ,а квады или непися одного - не знаем таких.Ты мне не первый подобное говоришь кстати smile

    Добавлено (30.06.2014, 20:21)
    ---------------------------------------------
    И кстати для таких делов очень хороший брат сталкер по прозвищу stalker 56 создал программу и комплектующие к ней чтоб не мучится с созданием непися и при этом не засорять all.spawn cool

    Добавлено (30.06.2014, 20:22)
    ---------------------------------------------
    Крутой чувак вообщем happy

      Злобная реклама
    Понедельник, 30.06.2014, 20:22
    Статус:
    Сообщений: 666
    Регистрация: 17.10.2012
    Российская Федерация  Stalker_AleX333
    Понедельник, 30.06.2014, 23:42 | Сообщение # 3573
    AleX Mod
    Статус:
    Гость:
    Сообщений: 65
    Награды: 0
    Регистрация: 07.12.2010

    Цитата ins33 ()
    Stalker_AleX333, Покажи тексты.
    А ещё лучше, для наглядности выложи диалоги с текстом, и за одно поршни. У себя посмтрю. И закомменть ф-ии, кроме закрытия диалога.


    Ок.

    Текущее состояние файлов (диалоги работающие некорректно помечены в комментах):

    Профили НПС:


    Структура диалогов НПС:
    НПС-1:

    НПС-2:


    Текстовый массив для диалогов:
    НПС-1:

    НПС-2:


    Логика НПС:
    НПС-1:

    НПС-2:


    Инфопоршни:


    И на всякий случай, квесты:


    З.Ы. Никто, случаем не знает, возможно ли дать нпс бессмертие на некоторое время? Допустим до выдачи определенного инфопоршня. Способ не важен, хоть скриптами хоть через логику.

    upd: был скопирован не весть текстовый массив для НПС-1. Подправил.
    Сообщение отредактировал Stalker_AleX333 - Вторник, 01.07.2014, 14:11
      Злобная реклама
    Понедельник, 30.06.2014, 23:42
    Статус:
    Сообщений: 666
    Регистрация: 07.12.2010
    Российская Федерация  saxar
    Вторник, 01.07.2014, 05:32 | Сообщение # 3574
    Статус:
    Бывалый:
    Сообщений: 801
    Награды: 2
    Регистрация: 17.10.2012

    Stalker_AleX333, через логику можно smile
    Если ЗП ,то в логике прописать в нужной тебе секции:

    [walker@test_1]
    path_walk = zat_ecolog_1_walk
    path_look = zat_ecolog_1_look
    commander = true
    combat_ignore_cond = true
    combat_ignore_keep_when_attacked = true
    meet = meet
    on_info = {+1} walker@test_2

    [walker@test_2]
    path_walk = zat_ecolog_1_walk
    path_look = zat_ecolog_1_look
    invulnerable = true - как раз таки отвечает за бессмертие непися
    commander = true
    combat_ignore_cond = true
    combat_ignore_keep_when_attacked = true
    meet = meet
    on_info = {-1} walker@test_2 - обратно становится смертным

    Добавлено (01.07.2014, 05:18)
    ---------------------------------------------
    Люди как прописать правильно музыку в sound_theme.script?

    Добавлено (01.07.2014, 05:32)
    ---------------------------------------------
    Expression : !m_error_code
    Function : raii_guard::~raii_guard
    File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
    Line : 748
    Description : .... - Зов Припяти\gamedata\scripts\xr_motivator.script:344: attempt to index field 'object' (a nil value)

    Вот моя обновленная логика:
    [logic]
    active = walker@1

    [walker@1]
    path_walk = zat_mag_1_walk
    path_look = zat_mag_1_look
    invulnerable = true
    commander = true
    combat_ignore_cond = true
    combat_ignore_keep_when_attacked = true
    meet = meet
    on_info = {+1} walker@2

    [walker@2]
    path_walk = zat_mag_2_walk
    path_look = zat_mag_2_look
    invulnerable = true
    commander = true
    combat_ignore_cond = true
    combat_ignore_keep_when_attacked = true
    snd = zat_ecolog_3

    [meet]
    use = {=actor_enemy} false, true
    meet_talk_enabled = true

    Вот что я прописал в sound_theme.scripts^
    --'-------------------------------------------------------------------------------------------------------------------
    --' Схема озвучки
    --' автор: Диденко Руслан (Stohe)
    --'--------------------------------------------------------------------------------------------------------------------
    nstl = 64
    theme = {}

    ph_snd_themes = {}
    ph_snd_themes["zat_ecolog_3"] = {"soundi\\zat_ecolog_3"}


    local sounds_base = stalker_ids.sound_script + 10000

    function id()
    sounds_base = sounds_base + 1
    return sounds_base - 1
    end
    --function printf()

      Злобная реклама
    Вторник, 01.07.2014, 05:32
    Статус:
    Сообщений: 666
    Регистрация: 17.10.2012
    Российская Федерация  ins33
    Вторник, 01.07.2014, 05:35 | Сообщение # 3575
    Dream Reader Mod
    Статус:
    Опытный:
    Сообщений: 2269
    Награды: 1
    Регистрация: 17.01.2012

    Подскажите, как правильней настраивать условия работы смарта, в скрипте, логике или по барабану? К примеру день\ночь.

    Stalker_AleX333, Как добавить invulnerable в ТЧ посмотри в моей подписи. Там рабочий вариант, но пока работает также коряво, как и в ЗП. Точнее, ели нужно отловить хит этого нпс, то он будет реагировать на любой выстрел. Ну, а если нужен танк (Сахаров), который не будет обращать внимание ни на, что, то это то, что тебе надо.

    saxar, Так посмотри в примере из скрипта. Кстати, она также прописывается в script_sound.ltx.

    Добавлено (01.07.2014, 05:35)
    ---------------------------------------------
    Ты её в script_sound.ltx зарегистрировал?

      Злобная реклама
    Вторник, 01.07.2014, 05:35
    Статус:
    Сообщений: 666
    Регистрация: 17.01.2012
    Украина  BozKurt
    Вторник, 01.07.2014, 12:18 | Сообщение # 3576
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    Цитата ins33 ()
    Подскажите, как правильней настраивать условия работы смарта, в скрипте, логике или по барабану? К примеру день\ночь.
    А что именно тебе не ясно?
      Злобная реклама
    Вторник, 01.07.2014, 12:18
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Российская Федерация  ins33
    Вторник, 01.07.2014, 15:58 | Сообщение # 3577
    Dream Reader Mod
    Статус:
    Опытный:
    Сообщений: 2269
    Награды: 1
    Регистрация: 17.01.2012

    BozKurt, Не понятно, какой способ вызова ф-ий более корректный, или где корректней прописать вызов условий. В логике:
    on_info = {!is_day}
    или в скрипте:м
    if level.get_time_hours()>= 8 and levev.get_time_hours <=23 then
    return 0

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

    Добавлено (01.07.2014, 15:42)
    ---------------------------------------------
    Stalker_AleX333, Посмотреть пока не могу, нет времени всё это дело подключать. Надо было "мод" с диалогами этих 2 нпс выложить. Где нибудь рядом с стартом. Ну да ладно...
    Цитата Stalker_AleX333 ()

    ins33, я знаю, в чем разница между start_dialog и actor_dialog

    И ты хочешь сказать, что если gen_alex_taurus_dead_dialog будет стартовым, то косяк останется?
    И ещё раз словами объясни, что значит работает некорректно?

    Добавлено (01.07.2014, 15:58)
    ---------------------------------------------
    Ты на ТЧ работаешь?
    Сообщение отредактировал ins33 - Вторник, 01.07.2014, 15:58
      Злобная реклама
    Вторник, 01.07.2014, 15:58
    Статус:
    Сообщений: 666
    Регистрация: 17.01.2012
    Украина  BozKurt
    Вторник, 01.07.2014, 16:41 | Сообщение # 3578
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    ins33, это совершенно разный подход.
    Код
    on_info = {!is_day}
    работает только для одной работы - той, в которой данный параметр прописан.
    Код
    if level.get_time_hours()>= 8 and levev.get_time_hours <=23 then
    - для всего населения гулага и если для работ не прописаны соответствующие кондиции: state = {0,1,... и т.д.}, то получиться совсем не то, чего хотелось.
    Да и вообще, у этих двух... опций разное назначение. Первое - локально, например, когда нужно сменить место патрулирования в зависимости от времени суток. Второе - это для смены состояния всего лагеря: атака, оборона и т.д. в том числе и смена караула день-ночь, но опять же таки для всего гулага или основной его части.
    Сообщение отредактировал BozKurt - Вторник, 01.07.2014, 16:43
      Злобная реклама
    Вторник, 01.07.2014, 16:41
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Российская Федерация  Arist
    Вторник, 01.07.2014, 16:59 | Сообщение # 3579
    Статус:
    Неопытный:
    Сообщений: 481
    Награды: 1
    Регистрация: 08.07.2012

    Цитата
    и если для работ не прописаны соответствующие кондиции: state = {0,1,... и т.д.}
    . Спасибо,что когда-то ткнул меня носом в эти state. ins33, можно комбинировать.Кому то прописать state = {0} и state = {1} и вызывать из скрипта гулага
    if level.get_time_hours()>= 8 and levev.get_time_hours <=23 then

    А кому то state = {0,1} и вызывать из логики:
    on_info = {!is_day}
      Злобная реклама
    Вторник, 01.07.2014, 16:59
    Статус:
    Сообщений: 666
    Регистрация: 08.07.2012
    Российская Федерация  saxar
    Вторник, 01.07.2014, 17:45 | Сообщение # 3580
    Статус:
    Бывалый:
    Сообщений: 801
    Награды: 2
    Регистрация: 17.10.2012

    idle = 0,0,100 - за что отвечает этот параметр в script_sound_zaton.ltx?

    Добавлено (01.07.2014, 17:45)
    ---------------------------------------------
    Можете расписать поподробней за что каждая из цифр отвечает.

      Злобная реклама
    Вторник, 01.07.2014, 17:45
    Статус:
    Сообщений: 666
    Регистрация: 17.10.2012
    Украина  FantomICW
    Вторник, 01.07.2014, 17:49 | Сообщение # 3581
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    saxar,
    1 - минимальный интервал между звуками
    2 - максимальный интервал
    3 - вероятность проигрывания с макс. значением 100.
    http://stalkerin.gameru.net/wiki....und_***
      Злобная реклама
    Вторник, 01.07.2014, 17:49
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Украина  BozKurt
    Вторник, 01.07.2014, 17:54 | Сообщение # 3582
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    Цитата Arist ()
    Кому то прописать state = {0} и state = {1} и вызывать из скрипта гулага
    Только нужно не забыть, что если в гулаге присутствуют хотя бы два состояния, а в какой-либо работе будет прописано только одно, то при переходе на другое - эта работа будет недоступна.
      Злобная реклама
    Вторник, 01.07.2014, 17:54
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Российская Федерация  saxar
    Вторник, 01.07.2014, 18:10 | Сообщение # 3583
    Статус:
    Бывалый:
    Сообщений: 801
    Награды: 2
    Регистрация: 17.10.2012

    И ещё теперь когда я добавил 2 песни в его логику он первую уже не поет ,а вторую только с самого первого диалога с 1 раза ,а после заводится раза с 20.Что мне делать?

    Вот его логика:
    [logic]
    active = walker@1
    meet = meet

    [walker@1]
    path_walk = zat_mag_1_walk
    path_look = zat_mag_1_look
    invulnerable = true
    commander = true
    combat_ignore_cond = true
    combat_ignore_keep_when_attacked = true
    meet = meet
    on_info = {+1} %-1 =play_sound(zat_mag_sounds_1)%
    on_info = {+2} %-2 =play_sound(zat_mag_sounds_2)%

    [meet]
    use = {=actor_enemy} false, true
    meet_talk_enabled = true

    Вот диалог:
    В dialogs_zaton:
    <dialog id="1">
    <phrase_list>
    <phrase id="0">
    <text>1_0</text>
    <next>1</next>
    </phrase>
    <phrase id="1">
    <text>1_1</text>
    <next>2</next>
    <next>3</next>
    </phrase>
    <phrase id="2">
    <text>1_2</text>
    <give_info>1</give_info>
    </phrase>
    <phrase id="3">
    <text>1_3</text>
    <give_info>2</give_info>
    </phrase>
    </phrase_list>
    </dialog>
    </game_dialogs>

    В st_dialogs_zaton:
    <?xml version="1.0" encoding="windows-1251" ?>
    <string_table>
    <string id="1_0">
    <text>Здорова давайка музычку забацай!</text>
    </string>
    <string id="1_1">
    <text>Выбирай...</text>
    </string>
    <string id="1_2">
    <text>Тони Раут Мертвые Души</text>
    </string>
    <string id="1_3">
    <text>Помнишь Девочка?</text>
    </string>

    Где тут ошибка ума не приложу sad

    Добавлено (01.07.2014, 18:09)
    ---------------------------------------------
    Ещё в script_sound_zaton вот что прописал:

    zat_ecolog_1
    zat_ecolog_2
    zat_mag_sounds_1
    zat_mag_sounds_2

    [zat_ecolog_1]
    type = npc
    path = scenario\zaton\zat_ecolog_1
    shuffle = rnd
    idle = 0,0,100

    [zat_ecolog_2]
    type = npc
    path = scenario\zaton\zat_ecolog_2
    shuffle = rnd
    idle = 0,0,100

    [zat_mag_sounds_1]
    type = npc
    path = scenario\zaton\zat_mag_sounds_1
    shuffle = rnd
    idle = 0,0,100

    [zat_mag_sounds_2]
    type = npc
    path = scenario\zaton\zat_mag_sounds_2
    shuffle = rnd
    idle = 10,15,300

    Добавлено (01.07.2014, 18:10)
    ---------------------------------------------
    Кажется понял в чем тут дело dry

      Злобная реклама
    Вторник, 01.07.2014, 18:10
    Статус:
    Сообщений: 666
    Регистрация: 17.10.2012
    Российская Федерация  Stalker_AleX333
    Вторник, 01.07.2014, 18:10 | Сообщение # 3584
    AleX Mod
    Статус:
    Гость:
    Сообщений: 65
    Награды: 0
    Регистрация: 07.12.2010

    ins33, смотри - есть стартовый диалог у каждого из нпс и он, конечно, отображается адекватно. А есть остальные диалоги с тегом <actor_dialog> и по идее они все должны начинаться с фраз гг. А так-как необходимо, чтобы все диалоги начинали произносить нпс, я пытался использовать затычку:
    Код
       <phrase id="0">    
                      <text/>     
          <next>1</next>
                  </phrase>
    - которая не сработала. НО! Каким-то образом несколько диалогов отображаются верно, без плясок с бубном и при этом не являясь стартовыми! Отсюда и вопросы: почему так и как повторить это для всех диалогов?
    Сообщение отредактировал Stalker_AleX333 - Вторник, 01.07.2014, 18:12
      Злобная реклама
    Вторник, 01.07.2014, 18:10
    Статус:
    Сообщений: 666
    Регистрация: 07.12.2010
    Российская Федерация  saxar
    Вторник, 01.07.2014, 18:25 | Сообщение # 3585
    Статус:
    Бывалый:
    Сообщений: 801
    Награды: 2
    Регистрация: 17.10.2012

    Нет ,теперь только вторую поет когда я захочу ,а первую пластинку видимо испортил sad

    Добавлено (01.07.2014, 18:25)
    ---------------------------------------------
    Все ,разобрался smile Тут вот в чем дело было:

    on_info = {+1} %-1 =play_sound(zat_mag_sounds_1)%
    on_info2 = {+2} %-2 =play_sound(zat_mag_sounds_2)%

    on_info повторятся не должны иначе будет молчать biggrin

      Злобная реклама
    Вторник, 01.07.2014, 18:25
    Статус:
    Сообщений: 666
    Регистрация: 17.10.2012
    Поиск: