[CoP] Модострой: вопросница
|
|
|
Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус: |
|
Бывалый: |
|
Сообщений: |
1081 |
Награды: |
19 |
Регистрация: |
11.06.2015 |
|
[CoP] Модострой: вопросница
Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
|
|
Воскресенье, 31.12.2017, 13:17
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
11.06.2015 |
|
|
|
|
|
Время Альянса
Статус: |
|
Ветеран: |
|
Сообщений: |
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 |
|
|
|
|
|
Время Альянса
Статус: |
|
Ветеран: |
|
Сообщений: |
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 |
|
|
|
Четверг, 15.03.2018, 10:04
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
01.02.2014 |
|
|
|
|
|
Статус: |
|
Отмычка: |
|
Сообщений: |
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 |
|
|
|
|
|
Время Альянса
Статус: |
|
Ветеран: |
|
Сообщений: |
4070 |
Награды: |
16 |
Регистрация: |
19.07.2013 |
|
Detron, "strike_immunity", "wound_immunity", "explosion_immunity", "fire_wound_immunity" отключены для артефактов в движке.
|
|
Пятница, 16.03.2018, 10:58
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
19.07.2013 |
|
|
|
|
|
Золотой Обоз
Статус: |
|
Опытный: |
|
Сообщений: |
1311 |
Награды: |
9 |
Регистрация: |
09.08.2015 |
|
Detron, дополню denis2000 - в движке отключены выводы иконок и значений в описание арта. А так параметры работают.
|
|
Пятница, 16.03.2018, 16:11
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
09.08.2015 |
|
|
|
|
|
Группа Кровавой Дороги
Статус: |
|
Отмычка: |
|
Сообщений: |
96 |
Награды: |
0 |
Регистрация: |
31.05.2017 |
|
Такое дело: квестовый предмет у НПС при смерти удаляется из рюкзака, при жизни он при нем. Что где прописать/изменить, чтобы это исправить?
|
|
Пятница, 16.03.2018, 16:44
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
31.05.2017 |
|
|
|
|
|
Золотой Обоз
Статус: |
|
Опытный: |
|
Сообщений: |
1311 |
Награды: |
9 |
Регистрация: |
09.08.2015 |
|
Han_Kostenlo, в файл death_generic.ltx в секцию keep_items
|
|
Пятница, 16.03.2018, 18:41
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
09.08.2015 |
|
|
|
|
|
Группа Кровавой Дороги
Статус: |
|
Отмычка: |
|
Сообщений: |
96 |
Награды: |
0 |
Регистрация: |
31.05.2017 |
|
_S_k_i_F_, Пробовал, не работает.
|
|
Пятница, 16.03.2018, 18:47
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
31.05.2017 |
|
|
|
|
|
Статус: |
|
Отмычка: |
|
Сообщений: |
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 |
|
|
|
|
|
Время Альянса
Статус: |
|
Ветеран: |
|
Сообщений: |
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 |
|
|
|
|
|
Статус: |
|
Отмычка: |
|
Сообщений: |
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 |
|
|
|
|
|
Время Альянса
Статус: |
|
Ветеран: |
|
Сообщений: |
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 |
|
|
|
|