Случайная подборка модов
OGSE 0.6.9.2
4.1
Shoker Weapon Mod 2.1
4.1
Долина Шорохов
4.5
Блудный сын
2.8
Волей Случая
3.5
История Кота
3.4
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: 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
    Четверг, 15.03.2018, 09:44 | Сообщение # 631
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Asfagan, Есть такая схема companion (скрипт xr_companion.script) вот ее и используйте (почти наверняка ее придется допилить под ваши задачи). Еще есть схема patrol (скрипт xr_patrol.script), но с ней сложнее, там больше переделывать придется. Или написать полностью свою схему поведения НПС. В любом случае назначать ее каждому НПС индивидуально, а не скваду.
    Сообщение отредактировал denis2000 - Четверг, 15.03.2018, 09:51
      Злобная реклама
    Четверг, 15.03.2018, 09:44
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Asfagan
    Четверг, 15.03.2018, 09:49 | Сообщение # 632
    Статус:
    Бывалый:
    Сообщений: 929
    Награды: 12
    Регистрация: 01.02.2014

    denis2000, ясно. а вот еще вопрос: как растянуть по горизонтали описание предметов? вместо оригинала по вертикали.
      Злобная реклама
    Четверг, 15.03.2018, 09:49
    Статус:
    Сообщений: 666
    Регистрация: 01.02.2014
    Российская Федерация  denis2000
    Четверг, 15.03.2018, 09:59 | Сообщение # 633
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата Asfagan ()
    как растянуть по горизонтали описание предметов?

    Тянуть окно по вертикали предписывает параметр fit_to_height в теге descr_list файлов actor_menu_item***.xml. Попробуйте его принудительно выключить. Если это не спасет, то только править движек.
    Сообщение отредактировал denis2000 - Четверг, 15.03.2018, 10:01
      Злобная реклама
    Четверг, 15.03.2018, 09:59
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  Asfagan
    Четверг, 15.03.2018, 10:04 | Сообщение # 634
    Статус:
    Бывалый:
    Сообщений: 929
    Награды: 12
    Регистрация: 01.02.2014

    denis2000,
      Злобная реклама
    Четверг, 15.03.2018, 10:04
    Статус:
    Сообщений: 666
    Регистрация: 01.02.2014
    Российская Федерация  zhenya4342
    Четверг, 15.03.2018, 19:59 | Сообщение # 635
    Статус:
    Отмычка:
    Сообщений: 108
    Награды: 0
    Регистрация: 08.10.2017

    Цитата denis2000 ()
    Есть в Object List поиск по имени (поле внизу окна).

    Это то что мне нужно было, спасибо большое c:
      Злобная реклама
    Четверг, 15.03.2018, 19:59
    Статус:
    Сообщений: 666
    Регистрация: 08.10.2017
    Япония  Detron
    Пятница, 16.03.2018, 01:24 | Сообщение # 636
    Статус:
    Гость:
    Сообщений: 35
    Награды: 1
    Регистрация: 13.07.2017

    Всем привет! Хочу задать такой вопрос. До этого момента, не занимался артефактами особо как-то, но сейчас решил за них взяться. Проблема в следующем. Артефактам не прописывается несколько иммунитетов: пулестойкость, защита от ударов, защита от взрывов и защита от рваных ран. Все бы ничего, но вроде бы как такие параметры в ЗП есть, но артефактам они почему-то не присваиваются. Вырезаны в движке? И если да, то можно ли их вернуть?
    Сообщение отредактировал Detron - Пятница, 16.03.2018, 01:24
      Злобная реклама
    Пятница, 16.03.2018, 01:24
    Статус:
    Сообщений: 666
    Регистрация: 13.07.2017
    Российская Федерация  denis2000
    Пятница, 16.03.2018, 10:58 | Сообщение # 637
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Detron, "strike_immunity", "wound_immunity", "explosion_immunity", "fire_wound_immunity" отключены для артефактов в движке.
      Злобная реклама
    Пятница, 16.03.2018, 10:58
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Украина  _S_k_i_F_
    Пятница, 16.03.2018, 16:11 | Сообщение # 638
    Золотой Обоз
    Статус:
    Опытный:
    Сообщений: 1311
    Награды: 9
    Регистрация: 09.08.2015

    Detron, дополню denis2000 - в движке отключены выводы иконок и значений в описание арта. А так параметры работают.
      Злобная реклама
    Пятница, 16.03.2018, 16:11
    Статус:
    Сообщений: 666
    Регистрация: 09.08.2015
    Российская Федерация  Han_Kostenlo
    Пятница, 16.03.2018, 16:44 | Сообщение # 639
    Группа Кровавой Дороги
    Статус:
    Отмычка:
    Сообщений: 96
    Награды: 0
    Регистрация: 31.05.2017

    Такое дело: квестовый предмет у НПС при смерти удаляется из рюкзака, при жизни он при нем. Что где прописать/изменить, чтобы это исправить?
      Злобная реклама
    Пятница, 16.03.2018, 16:44
    Статус:
    Сообщений: 666
    Регистрация: 31.05.2017
    Украина  _S_k_i_F_
    Пятница, 16.03.2018, 18:41 | Сообщение # 640
    Золотой Обоз
    Статус:
    Опытный:
    Сообщений: 1311
    Награды: 9
    Регистрация: 09.08.2015

    Han_Kostenlo, в файл death_generic.ltx в секцию keep_items
      Злобная реклама
    Пятница, 16.03.2018, 18:41
    Статус:
    Сообщений: 666
    Регистрация: 09.08.2015
    Российская Федерация  Han_Kostenlo
    Пятница, 16.03.2018, 18:47 | Сообщение # 641
    Группа Кровавой Дороги
    Статус:
    Отмычка:
    Сообщений: 96
    Награды: 0
    Регистрация: 31.05.2017

    _S_k_i_F_, Пробовал, не работает.
      Злобная реклама
    Пятница, 16.03.2018, 18:47
    Статус:
    Сообщений: 666
    Регистрация: 31.05.2017
    Российская Федерация  AlexeyAlexey
    Пятница, 16.03.2018, 20:30 | Сообщение # 642
    Статус:
    Отмычка:
    Сообщений: 79
    Награды: 0
    Регистрация: 11.01.2018

    Вопрос по скриптам в CoC. Вообще я писал вопрос сюда, но там как то тихо и никто особо не отвечает. CoC и ЗП в плане функций особо не различаются, так что пожалуй напишу сюда.
    В OGSE была такая фича: чтобы пройти сквозь пси-излучение на радаре и янтаре, нужно переместить пси-шлем в слот, а не только иметь его в инвентаре. Я как понял это делается в скриптах и их конфигах и вот что я нашел в файлах OGSE (файл bun_psy_zone.ltx):
    Код
    [logic]
    active = sr_psy_antenna@no_helmet

    [sr_psy_antenna@no_helmet]
    eff_intensity = +100
    hit_intensity = +100
    phantom_prob = 70
    postprocess = psy_antenna_indoor.ppe
    min_phantom_idle = 3000
    max_phantom_idle = 5000
    on_info = {=actor_wear_helmet(good_psy_helmet)} sr_psy_antenna@good_helmet, {=actor_wear_helmet(bad_psy_helmet)} sr_psy_antenna@bad_helmet
    on_info2 = {+bar_deactivate_radar_done} nil

    [sr_psy_antenna@bad_helmet]
    eff_intensity = +100
    hit_intensity = +0.2
    phantom_prob = 60
    postprocess = psy_antenna_indoor.ppe
    min_phantom_idle = 3000
    max_phantom_idle = 5000
    on_info = {=actor_wear_helmet(good_psy_helmet)} sr_psy_antenna@good_helmet, {=actor_wear_helmet(bad_psy_helmet)}, sr_psy_antenna@no_helmet
    on_info2 = {+bar_deactivate_radar_done} nil

    [sr_psy_antenna@good_helmet]
    eff_intensity = +100
    hit_intensity = +0.2
    phantom_prob = 50
    postprocess = psy_antenna_indoor.ppe
    min_phantom_idle = 3000
    max_phantom_idle = 5000
    on_info = {=actor_wear_helmet(good_psy_helmet)}, {=actor_wear_helmet(bad_psy_helmet)} sr_psy_antenna@bad_helmet, sr_psy_antenna@no_helmet
    on_info2 = {+bar_deactivate_radar_done} nil

    Функцию =actor_wear_helmet я так же нашел в xr_conditions.script:
    Код
    -- true если у актора одет шлем указанной секции
    function actor_wear_helmet(actor, npc, p)
        return p[1] ~= nil and actor:object( p[1] ) ~= nil and actor:item_in_slot(10) ~= nil and actor:item_in_slot(10):section() == p[1]
    end

    Сначала я просто перенес скрипт из OGSE в CoC, понятное дело не получилось, ибо у ТЧ и ЗП немного разные форматы скриптов. Потому решил сделать так (файл xr_conditions.script из CoC):
    Код
    -- true если у актора одет шлем указанной секции
    function actor_wear_helmet(actor, npc, p)
        local story_actor  = get_story_object("actor")
        return p[1] ~= nil and story_actor and story_actor:object( p[1] ) ~= nil and story_actor:item_in_slot(11) ~= nil and story_actor:item_in_slot(11):section() == p[1]
    end

    Не сработало. Что нужно сделать, чтобы когда ты переносишь предмет в ячейку шлема, пси-излучение на янтаре и радаре тебя не трогало? Вот на всякий случай файл yantar_psi_radiotion_55.ltx из CoC:
    Код
    [logic]
    active = sr_idle@check_story

    [sr_idle@check_story]
    on_info = {+story_mode_disabled} sr_idle@nil, sr_psy_antenna@no_helmet

    [sr_psy_antenna@no_helmet]
    eff_intensity = 40
    hit_intensity = 20
    on_info = {+yantar_attack_start} sr_idle@nil, {+yan_labx16_switcher_primary_off} sr_idle@nil
    on_info2 = {=actor_community(actor_monolith)} sr_idle@nil, {=actor_community(actor_zombied)} sr_idle@nil
    on_info3 = {=actor_wear_helmet(good_psy_helmet)} sr_psy_antenna@good_psy_helmet, {=actor_wear_helmet(bad_psy_helmet)} sr_psy_antenna@bad_psy_helmet

    [sr_psy_antenna@bad_psy_helmet]
    eff_intensity = 20
    hit_intensity = 0
    on_info = {+yantar_attack_start} sr_idle@nil, {+yan_labx16_switcher_primary_off} sr_idle@nil
    on_info2 = {=actor_community(actor_monolith)} sr_idle@nil, {=actor_community(actor_zombied)} sr_idle@nil
    on_info3 = {=actor_wear_helmet(good_psy_helmet)} sr_psy_antenna@good_psy_helmet, {!actor_wear_helmet(bad_psy_helmet)} sr_psy_antenna@no_helmet

    [sr_psy_antenna@good_psy_helmet]
    eff_intensity = 10
    hit_intensity = 0
    on_info = {+yantar_attack_start} sr_idle@nil, {+yan_labx16_switcher_primary_off} sr_idle@nil
    on_info2 = {=actor_community(actor_monolith)} sr_idle@nil, {=actor_community(actor_zombied)} sr_idle@nil
    on_info3 = {=actor_wear_helmet(bad_psy_helmet)} sr_psy_antenna@bad_psy_helmet, {!actor_wear_helmet(good_psy_helmet)} sr_psy_antenna@no_helmet

    [sr_idle@nil]
      Злобная реклама
    Пятница, 16.03.2018, 20:30
    Статус:
    Сообщений: 666
    Регистрация: 11.01.2018
    Российская Федерация  denis2000
    Пятница, 16.03.2018, 21:09 | Сообщение # 643
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата Han_Kostenlo ()
    Пробовал, не работает.

    Значит плохо пробовали, нахождение имени предмета в этой секции не только сигнал death_manager.script не удалять предмет из инвентаря трупа, но и сигнал release_body_manager.script не удалять труп с таким предметом.


    AlexeyAlexey, Этот код прекрасно работает, если помнить что в ЗП слот шлема 12:
    Код
    -- true если у актора одет шлем указанной секции
    function actor_wear_helmet(actor, npc, p)
        return p[1] ~= nil and actor:object( p[1] ) ~= nil and actor:item_in_slot(12) ~= nil and actor:item_in_slot(12):section() == p[1]
    end
    Сообщение отредактировал denis2000 - Пятница, 16.03.2018, 21:09
      Злобная реклама
    Пятница, 16.03.2018, 21:09
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Российская Федерация  AlexeyAlexey
    Пятница, 16.03.2018, 21:33 | Сообщение # 644
    Статус:
    Отмычка:
    Сообщений: 79
    Награды: 0
    Регистрация: 11.01.2018

    Цитата denis2000 ()
    ЗП слот шлема 12

    Код
    [helmet_base]
    GroupControlSection                      = spawn_group
    discovery_dependency                     =
    ;$spawn    = "outfit\helmet"
    $prefetch                    = 32
    class                    = E_HLMET
    cform                    = skeleton
    visual                    = dynamics\outfit\scientific_outfit
    slot                    = 11


    Добавлено (16.03.2018, 21:33)
    ---------------------------------------------
    Вот из оригинального ЗП
    Код
    [helmet]
    GroupControlSection    = spawn_group
    discovery_dependency =
    ;$spawn    = "outfit\helmet"
    $prefetch   = 32
    class   = E_HLMET
    cform            = skeleton
    visual           = dynamics\outfit\scientific_outfit
    slot   = 11


    Странно...
    Сообщение отредактировал AlexeyAlexey - Пятница, 16.03.2018, 21:34
      Злобная реклама
    Пятница, 16.03.2018, 21:33
    Статус:
    Сообщений: 666
    Регистрация: 11.01.2018
    Российская Федерация  denis2000
    Пятница, 16.03.2018, 21:41 | Сообщение # 645
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата AlexeyAlexey ()
    Странно...
    Все верно, судя по коду в inventory_item.cpp
    Код
    u32 sl     = pSettings->r_u32(section,"slot");
        m_ItemCurrPlace.base_slot_id = (sl==-1)?0:(sl+1);

    Слот шлема = 11+1=12
    Сообщение отредактировал denis2000 - Пятница, 16.03.2018, 21:47
      Злобная реклама
    Пятница, 16.03.2018, 21:41
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Поиск: