Случайная подборка модов
Сюжетное продолжение Чистого неба
4.1
Road To The North
3.7
Old Story
4.1
Call of Chernobyl
4.5
Зона поражения
4.1
Секрет Дианы
2.2
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  Wolfstalker
Понедельник, 22.10.2012, 14:58 | Сообщение # 1
Статус:
Легенда:
Сообщений: 2258
Награды: 15
Регистрация: 05.04.2010

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

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





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


    Архив

    Архив#2
  •   Злобная реклама
    Понедельник, 22.10.2012, 14:58
    Статус:
    Сообщений: 666
    Регистрация: 05.04.2010
    Украина  GunnerShadow
    Вторник, 08.01.2013, 13:00 | Сообщение # 2071
    Статус:
    Неопытный:
    Сообщений: 577
    Награды: 0
    Регистрация: 18.09.2012

    В принципе разницы нет. Я нпс ставил в подвале в деревне новичков с этим параметром, на АТП с э\тим параметром - никто никуда не уходил.

    Добавлено (08.01.2013, 13:00)
    ---------------------------------------------
    А в ЗП - НПС в прачечной (своего я поставил) - стоял на месте и хоть бы хны.

      Злобная реклама
    Вторник, 08.01.2013, 13:00
    Статус:
    Сообщений: 666
    Регистрация: 18.09.2012
    Украина  BozKurt
    Вторник, 08.01.2013, 13:06 | Сообщение # 2072
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    GunnerShadow, "я однажды заспавнил НПС, вообще не прописывал ему логику, даже профиль для него не делал - а он стоял, никуда не уходил, выполнял разного рода действия, ну там, например, когда я подходил - он рукой махал, когда поговорю с ним - он выполнял анимацию рукопожатия..." Продолжать!? Согласись - бред!
    На словах я тебе могу целую поэму расписать - приведи пожалуйста доказательства того, что данный параметр считывается схемами и работает. В противном случае - это пустой трёп.
      Злобная реклама
    Вторник, 08.01.2013, 13:06
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Украина  GunnerShadow
    Вторник, 08.01.2013, 13:09 | Сообщение # 2073
    Статус:
    Неопытный:
    Сообщений: 577
    Награды: 0
    Регистрация: 18.09.2012

    ColR_iT, Тебе скрин дать? Или сразу видео?
      Злобная реклама
    Вторник, 08.01.2013, 13:09
    Статус:
    Сообщений: 666
    Регистрация: 18.09.2012
    Украина  BozKurt
    Вторник, 08.01.2013, 13:10 | Сообщение # 2074
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    Ты мне коды покажи. Причём не того, что ты понаписал, а того, что параметр считывается игрой и работает.
    Или ты мне видео или скрины кодов хочешь показать? :)
    Сообщение отредактировал ColR_iT - Вторник, 08.01.2013, 13:11
      Злобная реклама
    Вторник, 08.01.2013, 13:10
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Украина  GunnerShadow
    Вторник, 08.01.2013, 13:15 | Сообщение # 2075
    Статус:
    Неопытный:
    Сообщений: 577
    Награды: 0
    Регистрация: 18.09.2012

    ColR_iT, Я не знаю, какой скрипт в игре отвечает за файлы конфигурации логики, но когда я ставил в ремарке строчку но_муве - НПС не двигался. Не всегда, правда, поскольку если он попадал в кэмпы, рестрикторы некоторые, смарты - то он игнорировал у меня всю логику и выполнял то, что ему говорила сама логика кэмпа, смарта и прочего. Без этой строчки НПС шатался по околицах всегда. По логике можно ведь решить, читается этот параметр или нет?
      Злобная реклама
    Вторник, 08.01.2013, 13:15
    Статус:
    Сообщений: 666
    Регистрация: 18.09.2012
    Российская Федерация  Grey_Lord
    Вторник, 08.01.2013, 13:30 | Сообщение # 2076
    Статус:
    Отмычка:
    Сообщений: 125
    Награды: 0
    Регистрация: 07.03.2012

    ColR_iT, Признаю свою ошибку,спасибо большое! Проверил все как нужно.
    Пробовал логику:


    Выкидывает с логикой ,нужно в way прописывать точки?
      Злобная реклама
    Вторник, 08.01.2013, 13:30
    Статус:
    Сообщений: 666
    Регистрация: 07.03.2012
    Украина  GunnerShadow
    Вторник, 08.01.2013, 13:39 | Сообщение # 2077
    Статус:
    Неопытный:
    Сообщений: 577
    Награды: 0
    Регистрация: 18.09.2012

    Grey_Lord, Естественно вылетает. Истина по-буржуйски пишеться не tru а true. Банальная ошибка.
      Злобная реклама
    Вторник, 08.01.2013, 13:39
    Статус:
    Сообщений: 666
    Регистрация: 18.09.2012
    Российская Федерация  Kirk
    Вторник, 08.01.2013, 14:07 | Сообщение # 2078
    Статус:
    Новичок:
    Сообщений: 267
    Награды: 0
    Регистрация: 08.01.2012

    Цитата (ColR_iT)
    покажи саму логику, точки пути и как ты эту логику прописывал НПС.

    Пожалуйста:
    [Логика]

    Код


    [logic]   
    prior = 200   
    active = walker1
    danger = danger_ignore   

    [danger_ignore]   
    ignore_distance = 10

    [meet]   
    allow_break = false
    use= {=dist_to_actor_le(5)} self
    use_wpn= {=dist_to_actor_le(5)} self
    meet_talk_enabled=true
    trade_enable = false

    [walker1]
    combat_ignore_cond = true
    path_walk = zat_voron_spawn_point
    path_look = zat_voron_look
    invulnerable = true
    no_move = true
    meet = meet
    can_select_weapon = true
    on_info = {+voron_about_taynik_done =dist_to_actor_ge(50)} %=remove_npc(voron)%
    on_info2 = {=actor_enemy} %=actor_neutral%
    on_info3 = {=actor_has_item(voron_tainik)} %=remove_npc(voron)%

    [smart_terrains]   
    none = true


    [Way-point]
    Код


    [zat_voron_look]
    points = p0
    p0:name = wp00
    p0:position = 28.075,23.763637,-420.203521
    p0:game_vertex_id = 8
    p0:level_vertex_id = 993254

    [zat_voron_spawn_point]
    points = p0
    p0:name = wp00
    p0:position = 30.3866,27.72355,-426.047393
    p0:game_vertex_id = 8
    p0:level_vertex_id = 993254


    Что значит как прописывал логику НПС?
    Сообщение отредактировал Kirk - Вторник, 08.01.2013, 14:10
      Злобная реклама
    Вторник, 08.01.2013, 14:07
    Статус:
    Сообщений: 666
    Регистрация: 08.01.2012
    Украина  BozKurt
    Вторник, 08.01.2013, 14:10 | Сообщение # 2079
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    GunnerShadow, воооот... С этого и надо было начинать. Ты не знаешь механики и утверждаешь то, что сам себе придумал.
    Убери no_move из правильно составленной схемы remark и НПС и так никуда не пойдёт. Причина одна - для данной схемы не предусмотрены точки пути, как таковые, и НПС привязывается к точке, на которой он перешёл под управление данной схемы. На этой точке он может выполнять указанную анимацию, говорить какую-то фразу (проигрывать любой звук) - для этого параметры как раз есть. Их вообще-то не очень то и много:

    Игра читает в схемах только те параметры, которые ей предписаны, т.е. те, которые находятся в "управляющих" файлах отвечающие за ту или иную схему.

    Теперь на счёт механики работы логики...
    В файле xr_motivator.script, который отвечает за ВСЕХ НПС, в функции net_spawn, которая отрабатывает при выходе НПС в онлайн, вызывается функция setup_gulag_and_logic_on_spawn из файла xr_gulag.script. Эта функция (setup_gulag_and_logic_on_spawn) устанавливает для НПС логику из его custom_data, либо его собственную, либо из гулага, если он находится под каким-то смартом. В любом случае в дальнейшем происходит вызов функции activate_by_section из файла xr_logic.script, назначение функции понятно даже из названия - она активирует схему. Если активация происходит впервые, то название схемы берётся из поля active секции logic, если нет, то из storage ("хранилища") НПС. Самой интересной строкой в функции activate_by_section является вот эта:
    Код
    _G[filename].set_scheme(npc, ini, scheme, section, db.storage[npc_id]["gulag_name"])
    filename - это имя файла из которого нужно считывать параметры, имя определяется исходя из названия схемы считанное ранее, а set_scheme - это функция, в которой эти параметры инициализируются.
    Таким образом, игра будет определять ТОЛЬКО те параметры, которые прописаны в данной функции у каждой отдельной схемы, естественно для каждой схемы игра будет определять только её параметры.

    А теперь попробуй найти параметр no_move хотя бы в одном файле схем. Да, ты найдёшь его... в файле xr_zoneguard.script, но только учти, что этот файл - балласт и в игре не используется. Это что касается ТЧ. В ЗП ты вообще нигде не найдёшь упоминания об этом.

    Итого.
    Параметр в релизах всех частей НЕ РАБОТАЕТ. То, что ты якобы "видишь" работу данного параметра - это всего лишь особенности работы конкретно схемы remark (см. выше) и не более того.

    P.S. в последнем посте Grey_Lord вылет происходит из второй "версии" логики, т.к. не указаны точки пути в файле way_локация.ltx, о чём он сам и сказал. А ошибка значения параметра no_move, в рабочей версии, лишний раз доказывает, что параметр - не что иное, как мусор.



    Grey_Lord, разумеется нужно указывать точки для путей walker_stay_at_position_walk и walker_stay_at_position_look.
      Злобная реклама
    Вторник, 08.01.2013, 14:10
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Украина  GunnerShadow
    Вторник, 08.01.2013, 14:21 | Сообщение # 2080
    Статус:
    Неопытный:
    Сообщений: 577
    Награды: 0
    Регистрация: 18.09.2012

    ColR_iT, Хм.. То есть, если я укажу такую логику НПС в ЗП:

    И убрать но_муве - НПС все-равно будет стоять на месте?
      Злобная реклама
    Вторник, 08.01.2013, 14:21
    Статус:
    Сообщений: 666
    Регистрация: 18.09.2012
    Российская Федерация  Uyman358
    Вторник, 08.01.2013, 14:22 | Сообщение # 2081
    Закоулки Правды
    Статус:
    Бывалый:
    Сообщений: 1098
    Награды: 1
    Регистрация: 13.06.2012

    ins33, мне надо с первым НПС разобраться: поршень на его уход в офлайн забирается скриптом - поэтому он в офлайн не уходит.
      Злобная реклама
    Вторник, 08.01.2013, 14:22
    Статус:
    Сообщений: 666
    Регистрация: 13.06.2012
    Украина  BozKurt
    Вторник, 08.01.2013, 14:35 | Сообщение # 2082
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    Kirk
    Цитата
    Что значит как прописывал логику НПС?
    Ну ведь ты как-то указывал НПС логику? Через custom_data или может быть скриптами?


    GunnerShadow, да, но только до тех пор, пока находится под схемой remark, если его "спугнуть" то он отбежит, поскольку переключится на движковую схему боёвки, и назад уже не вернётся, останется там, где у него опять включится remark.
    Сообщение отредактировал ColR_iT - Вторник, 08.01.2013, 14:40
      Злобная реклама
    Вторник, 08.01.2013, 14:35
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Украина  GunnerShadow
    Вторник, 08.01.2013, 14:42 | Сообщение # 2083
    Статус:
    Неопытный:
    Сообщений: 577
    Награды: 0
    Регистрация: 18.09.2012

    ColR_iT, А как реализовать, что он возращаеться на место? Через инфопоршни и пути?
      Злобная реклама
    Вторник, 08.01.2013, 14:42
    Статус:
    Сообщений: 666
    Регистрация: 18.09.2012
    Российская Федерация  Kirk
    Вторник, 08.01.2013, 14:43 | Сообщение # 2084
    Статус:
    Новичок:
    Сообщений: 267
    Награды: 0
    Регистрация: 08.01.2012

    Цитата (ColR_iT)
    Через custom_data или может быть скриптами?

    Код

    [voron]:stalker
    $spawn                     = "respawn\voron"
    character_profile     = voron
    community = killer
    custom_data = scripts\voron.ltx
    story_id = voron

    Спавню его скриптом по условию. Профиль из character_desc_***.xml и npc_profile.xml нужны? а может и скрипт?
      Злобная реклама
    Вторник, 08.01.2013, 14:43
    Статус:
    Сообщений: 666
    Регистрация: 08.01.2012
    Украина  BozKurt
    Вторник, 08.01.2013, 14:50 | Сообщение # 2085
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    GunnerShadow, не маяться ерундой и использовать для этого схемы по назначению. Возьми walker, пропиши ему пути для path_walk и path_look состоящие из одной точки каждый, поставь флаг синхронизации и будет счастье.

    Добавлено (08.01.2013, 14:50)
    ---------------------------------------------
    Kirk, покажи функцию.

      Злобная реклама
    Вторник, 08.01.2013, 14:50
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Поиск: