Случайная подборка модов
Sky anomaly
4.0
Апокалипсис
4.0
Большая Зона
3.4
S.T.A.L.K.E.R. F.M.
4.4
Зачистка
4.0
Chernobyl Chronicles
4.2
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
[CoP] Модострой: вопросница
Российская Федерация  Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

[CoP] Модострой: вопросница

Тема посвящена моддингу на платформе Зов Припяти.

Соседние темы: Тень Чернобыля / Чистое небо.


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

  • Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.

  • Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).

  • Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
  •   Злобная реклама
    Воскресенье, 31.12.2017, 13:17
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  denis2000
    Вторник, 26.06.2018, 22:29 | Сообщение # 1231
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

      Злобная реклама
    Вторник, 26.06.2018, 22:29
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  yobakun
    Среда, 27.06.2018, 13:59 | Сообщение # 1232
    Статус:
    Новичок:
    Сообщений: 270
    Награды: 5
    Регистрация: 30.07.2016

    denis2000, спасибо. Создал новый шейдер на основе песка, заменил R2-B канал на свою текстуру. Только плавного перехода нет, где он настраивается?
    Прикрепления: 7828017.jpg (1.11 Mb)
    Сообщение отредактировал yobakun - Среда, 27.06.2018, 14:01
      Злобная реклама
    Среда, 27.06.2018, 13:59
    Статус:
    Сообщений: 666
    Регистрация: 30.07.2016
    Российская Федерация  denis2000
    Среда, 27.06.2018, 16:12 | Сообщение # 1233
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    yobakun, Требования для плавного перехода:
    1. Объект должен быть единым
    2. Наложено на смежные поверхности один или два шейдера. При этом цветовые каналы шейдеров смежных поверхностей должны быть настроены одинаково. Тоесть если переход трава ( R ) - асфальт ( B ), то соответствующие каналы в этих шейдерах должны быть точно одинаково настроены (R и B).
    3. Маска террейна (terrain_***_mask.dds) цветовыми каналами регулирует наложение шейдеров.
    Сообщение отредактировал denis2000 - Среда, 27.06.2018, 16:13
      Злобная реклама
    Среда, 27.06.2018, 16:12
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  yobakun
    Пятница, 29.06.2018, 17:20 | Сообщение # 1234
    Статус:
    Новичок:
    Сообщений: 270
    Награды: 5
    Регистрация: 30.07.2016

    denis2000,
    понятно, значит максимальное количество стыков не больше 4 из-за RGBA системы. На Юпитере это так и работает.

    Добавлено (29.06.2018, 17:20)
    ---------------------------------------------
    Как вписать логику нескольких рестрикторов в один файл?
    В custom data первого рестриктора пишу:
    Код
    [logic@restrictor1]
    cfg = scripts/blablabla/restrictors.ltx

    Во втором:
    Код
    [logic@restrictor2]
    cfg = scripts/blablabla/restrictors.ltx


    в restrictors.ltx:
    Код
    [logic@restrictor1]
    active = sr_idle@restrictor1

    [sr_idle@restrictor1]
    ...

    [logic@restrictor2]
    active = sr_idle@restrictor2

    [sr_idle@restrictor2]
    ...

    Не работает.
    Сообщение отредактировал yobakun - Пятница, 29.06.2018, 17:56
      Злобная реклама
    Пятница, 29.06.2018, 17:20
    Статус:
    Сообщений: 666
    Регистрация: 30.07.2016
    Российская Федерация  Prostomod
    Пятница, 29.06.2018, 19:47 | Сообщение # 1235
    Статус:
    Новичок:
    Сообщений: 266
    Награды: 4
    Регистрация: 27.02.2018

    Кто нибудь может мне помочь?
    Хотел сделать вот такое: чтобы получить инфопоршень нужно активировать предмет, а для этого нужны инфопоршень1 и инфопоршень2. Чтобы получить их, нужно активировать, соответственно предмет1 и предмет2. При этом при активации предмет1 и предмет2 будет отыгрываться звук, исходящий из спейс_рестриктора1 и спейс_рестриктора2. Я сделал логику всему этому, но происходит вылет при загрузки уровня (вылет связан с _g.script, поэтому даже не выкладываю его). Инфопоршни зарегистрированы, вылет точно из-за этой логики.
    Логика главного предмета:


    Логика предмет1:


    Логика предмет2:


    Логика спейс_рестриктора1:


    Логика спейс_рестриктора2:
    Сообщение отредактировал Prostomod - Пятница, 29.06.2018, 19:51
      Злобная реклама
    Пятница, 29.06.2018, 19:47
    Статус:
    Сообщений: 666
    Регистрация: 27.02.2018
    Российская Федерация  Overfirst
    Пятница, 29.06.2018, 19:55 | Сообщение # 1236
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

    Цитата Prostomod ()
    sr_button

    Такой схемы нету в ЗП.
      Злобная реклама
    Пятница, 29.06.2018, 19:55
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  makdm
    Пятница, 29.06.2018, 20:06 | Сообщение # 1237
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата yobakun ()
    Как вписать логику нескольких рестрикторов в один файл?

    Никак.

    Цитата Prostomod ()
    Инфопоршни зарегистрированы

    В ЗП поршни можно не регистрировать. Движку "по-барабану" на вашу регистрацию.
      Злобная реклама
    Пятница, 29.06.2018, 20:06
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  Prostomod
    Пятница, 29.06.2018, 20:18 | Сообщение # 1238
    Статус:
    Новичок:
    Сообщений: 266
    Награды: 4
    Регистрация: 27.02.2018

    Overfirst, спс за помощь, заработало.

    Добавлено (29.06.2018, 20:18)
    ---------------------------------------------
    Кто-нибудь знает, как называется анимация рубильника (рубильник типо того, которыми мы отключали пси-установку в Х-16 в ТЧ)(также, это обьект lab_primary_switcher в SDK) в момент его движения? И есть ли эта анимация в ЗП?
    Сообщение отредактировал Prostomod - Пятница, 29.06.2018, 20:20
      Злобная реклама
    Пятница, 29.06.2018, 20:18
    Статус:
    Сообщений: 666
    Регистрация: 27.02.2018
    Российская Федерация  makdm
    Пятница, 29.06.2018, 20:28 | Сообщение # 1239
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата Prostomod ()
    как называется анимация рубильника

    В ЗП это anim = off ( выключить ) и anim = idle ( включить). В зависимости от начального положения рубильника.
      Злобная реклама
    Пятница, 29.06.2018, 20:28
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  Prostomod
    Пятница, 29.06.2018, 21:02 | Сообщение # 1240
    Статус:
    Новичок:
    Сообщений: 266
    Награды: 4
    Регистрация: 27.02.2018

    makdm, спс, получилось.

    Добавлено (29.06.2018, 21:02)
    ---------------------------------------------
    И ещё вопрос: можно ли как-то через логику прописать максимальную дальность, на которой будет слышен звук, или это делается только через sound editor?

      Злобная реклама
    Пятница, 29.06.2018, 21:02
    Статус:
    Сообщений: 666
    Регистрация: 27.02.2018
    Российская Федерация  denis2000
    Пятница, 29.06.2018, 21:36 | Сообщение # 1241
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата yobakun ()
    Как вписать логику нескольких рестрикторов в один файл?

    На самом деле такое возможно. Если рестрикторы обладают одинаковой логикой то просто указываете ее в кастом дате (например так работают все места для сна ГГ на одном файле с одной логикой).
    Но если вы хотите сделать в одном файле различные логики для рестрикторов, то можно отредактировать базовый скрипт xr_logic.script для того чтобы сработала ваша схема или же в самой логике проверять какой рестриктор обслуживается.
    Например имеется два рестриктора restrictor1 и restrictor2 в кастомдате пишем:
    Код
    [logic]cfg = scripts/blablabla/restrictors.ltx

    А в файле restrictors.ltx делаем так:
    Код
    [logic]
    active = sr_idle@select

    [sr_idle@select]
    on_info1 = {=restrictor_name(restrictor1)} sr_idle@restrictor1
    on_info2 = {=restrictor_name(restrictor2)} sr_idle@restrictor2

    [sr_idle@restrictor1]
    ...

    [sr_idle@restrictor2]
    ....

    где restrictor_name функция проверки совпадения имени текущего рестриктора с передаваемым в качестве параметра в xr_conditions.script


    Prostomod, По хорошему параметры "распространения" звука (в том числе и дальность слышимости для ГГ) задается тегами в sound editor, в логике возможно включить и выключить звук.
    Сообщение отредактировал denis2000 - Пятница, 29.06.2018, 21:36
      Злобная реклама
    Пятница, 29.06.2018, 21:36
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  yobakun
    Суббота, 30.06.2018, 01:07 | Сообщение # 1242
    Статус:
    Новичок:
    Сообщений: 270
    Награды: 5
    Регистрация: 30.07.2016

    denis2000, интересно, но какая-то чушь получается
    Код
    function restrictor_name(actor, zone, p)
    if p[1] == zone
    return true
    else
    return false
    end
    end

    Вернет ли zone что-то кроме nil?

    Как проверить что персонаж выдавший квест стал врагом?
    Код
    function task_giver_is_enemy(actor,npc,p)
        if not (p[1]) then
      printf("[ERROR] task_giver_is_enemy: wrong parameter!")
      return false
        end
        local tm = task_manager.get_task_manager()
        local tsk = tm.task_info[p[1]]
        if not (tsk) then
      return false
        end
        local se_obj = tsk.task_giver_id and alife_object(tsk.task_giver_id)
        if (se_obj) then
      local t = db.storage[tsk.task_giver_id].death
      return npc:relation(actor) >= game_object.enemy or t ~= nil
        end
    end

    Код
    return npc:relation(actor) >= game_object.enemy or t ~= nil

    npc возвращает actor, а tsk.task_giver_id число, что тоже не подходит.
      Злобная реклама
    Суббота, 30.06.2018, 01:07
    Статус:
    Сообщений: 666
    Регистрация: 30.07.2016
    Российская Федерация  Overfirst
    Суббота, 30.06.2018, 10:46 | Сообщение # 1243
    Статус:
    Бывалый:
    Сообщений: 1081
    Награды: 19
    Регистрация: 11.06.2015

    Цитата yobakun ()
    if p[1] == zone
    Код
    zone:name()
      Злобная реклама
    Суббота, 30.06.2018, 10:46
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  Prostomod
    Суббота, 30.06.2018, 15:33 | Сообщение # 1244
    Статус:
    Новичок:
    Сообщений: 266
    Награды: 4
    Регистрация: 27.02.2018

    Решил сделать гермоворота как в путевопроводе в ЗП (при нажатии на соответстующую кнопку открываются). Однако у меня происходит вылет при нажатии:

    Вот логика ворот:

    А это логика кнопки:

    Копировал из оригинала с минимальными необходимыми (по моему) правками. (лампочки почти без правок перенесены, только название и стори айди)
      Злобная реклама
    Суббота, 30.06.2018, 15:33
    Статус:
    Сообщений: 666
    Регистрация: 27.02.2018
    Российская Федерация  denis2000
    Суббота, 30.06.2018, 22:36 | Сообщение # 1245
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Prostomod, Вылет говорит о том что ваш объект не обрабатывается соответствующим биндером. Проверяйте спавн.
      Злобная реклама
    Суббота, 30.06.2018, 22:36
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Поиск: