Случайная подборка модов
Наёмник Сом
3.5
Призраки прошлого
3.2
Another Zone Mod
4.3
OGSR Mod
4.4
Dark Ukraine v 1.0
3.9
Hibernation Evil - Эпизод I
2.8
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: 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
    Поиск: