[CoP] Модострой: вопросница
|
|
|
Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус: |
 |
Бывалый: |
 |
Сообщений: |
1081 |
Награды: |
19 |
Регистрация: |
11.06.2015 |
|
[CoP] Модострой: вопросница

Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
|
|
Воскресенье, 31.12.2017, 13:17
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
11.06.2015 |
|
|
|
|
|
makdm
Суббота, 14.03.2020, 01:02 | Сообщение # 6316
Время Альянса
Статус: |
 |
Опытный: |
 |
Сообщений: |
1787 |
Награды: |
19 |
Регистрация: |
22.11.2012 |
|
Цитата sumrak6835 (  ) Такие вопросы задают мастерам, чтоб не тратить лишнего времени, как правило. Пургу гоните. Тема создана для тех, кто пытается что-то сделать в модинге и у него не получается. Вот тогда "Мастера" подскажут правильное решение. Вы же хотите сразу получить готовое решение не напрягая извилины.
Цитата sumrak6835 (  ) А при незнании ответа на вопрос, лучшим вариантом будет промолчать. Я знаю ответ. Просто не считаю нужным отвечать тому, кто сам ничего для решения вопроса не сделал, а ждет готового решения.
|
|
Суббота, 14.03.2020, 01:02
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
22.11.2012 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
347 |
Награды: |
7 |
Регистрация: |
22.04.2017 |
|
Цитата makdm (  ) И вот зачем такой мертвяк? Локация планируется проходной, но с большим заселением. И в качестве оптимизации или типа того (например) все что можно чистить. Лампочки и лестницы думаю удалять не нужно, не на столько все необходимо.
Сообщение отредактировал Hozar_2002 - Суббота, 14.03.2020, 07:25
|
|
Суббота, 14.03.2020, 07:24
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
22.04.2017 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
266 |
Награды: |
5 |
Регистрация: |
09.01.2013 |
|
Цитата makdm (  ) Я знаю ответ. Просто не считаю нужным отвечать тому, кто сам ничего для решения вопроса не сделал, а ждет готового решения.
Насколько я знаю, в ЗП неписи, в частности симуляционные незаскриптованные, вообще между локациями не перемещаются и нигде эта фича в аддоне не используется.
Я искал искал ответ на свой вопрос в Гугле и на форумах, но так и не нашел решения. Если в ЗП переход НПС не вырезан и просто не задействуется - значит я признаю, что виноват и не попробовал перевести вручную НПС через граф.
Однако, я все еще не понимаю: а как же заставить симуляционные отряды самостоятельно ходить между уровнями?
Сообщение отредактировал Lektorrr - Суббота, 14.03.2020, 10:27
|
|
Суббота, 14.03.2020, 10:17
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
09.01.2013 |
|
|
|
|
|
Neptun
Суббота, 14.03.2020, 11:22 | Сообщение # 6319
Связной
Статус: |
 |
Бывалый: |
 |
Сообщений: |
672 |
Награды: |
9 |
Регистрация: |
25.03.2012 |
|
Цитата Lektorrr (  ) Однако, я все еще не понимаю: а как же заставить симуляционные отряды самостоятельно ходить между уровнями? К чему такая принципиальность? Как вообще можно узнать, что какой-то отряд перешёл на другую локацию? Если вы имеете в виду каких-нибудь сюжетных неписей, которых вам нужно сопроводить по локациям, то в оригинале это сделано так: удаляем сквад на Затоне, спавним новый сквад на Юпитере. Только так. А для создания симуляции жизни в ЗП достаточно инструментов.
Сообщение отредактировал Neptun - Воскресенье, 15.03.2020, 13:48
|
|
Суббота, 14.03.2020, 11:22
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
25.03.2012 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
266 |
Награды: |
5 |
Регистрация: |
09.01.2013 |
|
Цитата Neptun (  ) для создания симуляции жизни в ЗП достаточно инструментов. Интересует именно путешествие рандомных НПС по игровому миру, а не только в рамках одной локации. Например, однажды встретив сталкера на кордоне, мы могли бы увидеть его уже на свалке.
Сообщение отредактировал Lektorrr - Суббота, 14.03.2020, 12:51
|
|
Суббота, 14.03.2020, 12:51
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
09.01.2013 |
|
|
|
|
|
Статус: |
 |
Опытный: |
 |
Сообщений: |
3154 |
Награды: |
18 |
Регистрация: |
06.06.2017 |
|
Цитата Lektorrr (  ) Интересует именно путешествие рандомных НПС по игровому миру, а не только в рамках одной локации. Посмотри как это реализованно в СоС.
|
|
Суббота, 14.03.2020, 13:03
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
06.06.2017 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
266 |
Награды: |
5 |
Регистрация: |
09.01.2013 |
|
Цитата WolfHeart (  ) Посмотри как это реализованно в СоС. В СоС тотально перелопачены практически все скрипты и симуляция в целом. Достать что-то оттуда отдельно довольно проблематично.
Кстати, похожая фича есть и в моде "Ветер Времени", но там вроде как нет исходников движка.
|
|
Суббота, 14.03.2020, 13:50
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
09.01.2013 |
|
|
|
|
|
BL00Der
Воскресенье, 15.03.2020, 14:41 | Сообщение # 6323
Статус: |
 |
Гость: |
 |
Сообщений: |
33 |
Награды: |
0 |
Регистрация: |
26.11.2017 |
|
Я создал мутанта на основе тушкана. Мутант, однако, не борется со мной и убегает. Какие параметры в его конфиге должны быть изменены, чтобы он не убежал от боя?
|
|
Воскресенье, 15.03.2020, 14:41
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
26.11.2017 |
|
|
|
|
|
Статус: |
 |
Зевака: |
 |
Сообщений: |
8 |
Награды: |
0 |
Регистрация: |
27.02.2018 |
|
Здравствуйте, подскажите простой скрипт на закрытие окна КПК во время выброса (не на CoP, а на CoC, но разницы нет). Что-то я по всякому пробую, не получается. Платформа СоС 1.4.22, если начался выброс, а в это время открыт КПК (карта) нужно ее просто автоматически закрыть.
Зачем нужно: есть такой скрипт pda_off, который во время выброса вместо КПК показывает картинку. Так вот если открыть КПК ДО начала выброса, а потом его закрыть игра вылетит, потому что hud = nil,
Вот кусок кода:
Нужно или в Surge_manager добавить проверку на открытый ПДА и принудительно его закрыть или в этом коде дописать эту проверку. Подскажите решение пожалйуста.
|
|
Воскресенье, 15.03.2020, 16:00
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
27.02.2018 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
316 |
Награды: |
2 |
Регистрация: |
14.07.2019 |
|
Цитата Dalavier (  ) открыт КПК (карта) нужно ее просто автоматически закрыть. карта открывается/закрывается консольной командой "map"(user.ltx). Вызвать консольную команду можно функцией get_console():execute("команда"). А по поводу hud = nil думаю можно сделать проверку перед вызовом hud функций: Цитата if hud ~= nil then вызов hud функции else повторяем действия с переменными hud и window из вашего куска кода (после первых проверок)
.
Сообщение отредактировал molodoy_chelovek - Воскресенье, 15.03.2020, 17:13
|
|
Воскресенье, 15.03.2020, 17:06
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
14.07.2019 |
|
|
|
|
|
Статус: |
 |
Зевака: |
 |
Сообщений: |
8 |
Награды: |
0 |
Регистрация: |
27.02.2018 |
|
Что-то ничего не получается, пробовал в surge_manager в список
Код if (self.started == true) then xr_statistic.inc_counter("surges") self:kill_all_unhided() self:respawn_artefacts_and_replace_anomaly_zone() self:toggle_level_artefact_respawns() добавить команду закрытия ПДА - не работает, не закрывается, если на старте выброса он открыт
Любые условия запихиваю в код подмены ПДА на картинку, скрипт просто перестает работать - открывается обычный ПДА, что-то я не так делаю. В скриптах я полный ноль, по аналогии могу что-то склепать, а тут прямо затык
Нарисовал вот такое:
Код if (pdaoff_blowpsi) then if actor then if info_id == "ui_pda" and (surge_manager.is_started() or psi_storm_manager.is_started()) then if hud ~= nil then get_hud():RemoveDialogToRender(hud) HUD = nil elseif info_id == "ui_pda" and (surge_manager.is_started() or psi_storm_manager.is_started()) then hud = get_hud() window = PdaNoiseWnd() hud:AddDialogToRender(window) elseif info_id == "ui_pda_hide" and (surge_manager.is_started() or psi_storm_manager.is_started()) then hud:RemoveDialogToRender(window) window = nil hud = nil end end end end Теперь вылета нет, открытый ПДА закрывается во время выброса, открывается окно window, но теперь ПДА не закрывается, окно висит все время, а повторное нажание на кнопку вызова ПДА открывает обычный ПДА поверх window. Что-то я намудрил
Сообщение отредактировал Dalavier - Воскресенье, 15.03.2020, 18:31
|
|
Воскресенье, 15.03.2020, 17:29
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
27.02.2018 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
316 |
Награды: |
2 |
Регистрация: |
14.07.2019 |
|
Цитата Dalavier (  ) get_hud():RemoveDialogToRender(hud) Я думаю эта строка должна выглядеть так Цитата Dalavier (  ) hud:RemoveDialogToRender(window)
|
|
Воскресенье, 15.03.2020, 19:50
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
14.07.2019 |
|
|
|
|
|
Статус: |
 |
Зевака: |
 |
Сообщений: |
8 |
Награды: |
0 |
Регистрация: |
27.02.2018 |
|
Цитата molodoy_chelovek (  ) Я думаю эта строка должна выглядеть так
Так окно подмены window появляется единожды, закрываешь ПДА, и при следующих открытиях ПДА (во время выброса) уже открывается обычный.
Уже много перепробовал разных вариантов, почти получилось, но все равно какие-то затыки есть. Может быть все-таки лучший вариант это принудительное закрытие ПДА при начале выброса, но опять-таки в surge_manager.script в том списке, где перечислены
Код xr_statistic.inc_counter("surges") self:kill_all_unhided() self:respawn_artefacts_and_replace_anomaly_zone() self:toggle_level_artefact_respawns() как добавить это условие принудительного закрытия ПДА. Мне кажется это решило бы проблему на корню.
Сообщение отредактировал Dalavier - Воскресенье, 15.03.2020, 20:40
|
|
Воскресенье, 15.03.2020, 19:57
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
27.02.2018 |
|
|
|
|
|
Статус: |
 |
Новичок: |
 |
Сообщений: |
316 |
Награды: |
2 |
Регистрация: |
14.07.2019 |
|
Цитата Dalavier (  ) if info_id == "ui_pda" это как я понимаю проверка на активное окно ПДА. Проверяется оно (опять же как я понял)апдейтом. В прошлом апдейте вы вывели на экран window, переменная худ не равна nil. Следующий апдейт проходит проверку hud ~= nil в связи с чем и удаляет с экрана window. И таким образом получается цикл - окно создаётся и мгновенно удаляется.
Добавлено (15.03.2020, 21:02) --------------------------------------------- и вообще, почему вы ВНУТРИ этой проверкиЦитата Dalavier (  ) if info_id == "ui_pda" проверяете еще и это?... Цитата Dalavier (  ) elseif info_id == "ui_pda_hide" Если по логике это должно быть отдельной проверкой
Сообщение отредактировал molodoy_chelovek - Воскресенье, 15.03.2020, 21:03
|
|
Воскресенье, 15.03.2020, 20:58
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
14.07.2019 |
|
|
|
|
|
Статус: |
 |
Зевака: |
 |
Сообщений: |
8 |
Награды: |
0 |
Регистрация: |
27.02.2018 |
|
В общем, единственное до чего тупая бащка додумалась, это вот такая конструкция, хотя бы не вылетает, но и работает неправильно:
Код if (pdaoff_blowpsi) then if actor then if info_id == "ui_pda" and (surge_manager.is_started() or psi_storm_manager.is_started()) then if hud ~= nil then hud = get_hud() hud:RemoveDialogToRender(hud) hud:RemoveDialogToRender(window) window = nil hud = nil elseif info_id == "ui_pda_hide" and (surge_manager.is_started() or psi_storm_manager.is_started()) then hud:RemoveDialogToRender(window) hud:RemoveDialogToRender(hud) window = nil hud = nil else if info_id == "ui_pda" and (surge_manager.is_started() or psi_storm_manager.is_started()) then hud = get_hud() window = PdaNoiseWnd() hud:AddDialogToRender(window) elseif info_id == "ui_pda_hide" and (surge_manager.is_started() or psi_storm_manager.is_started()) then hud:RemoveDialogToRender(window) hud:RemoveDialogToRender(hud) window = nil hud = nil end end end end end При начале выброса не вылетет, но каждое повторное нажатие кнопки вызова ПДА, сначала вылазит окно-заглушка, потом под ним появляется худ, потом открывается обычный ПДА с картой, а потом закрывается все. И так по циклу. Хрень какая-то.
|
|
Воскресенье, 15.03.2020, 21:50
|
Статус: |
 |
Сообщений: |
666 |
Регистрация: |
27.02.2018 |
|
|
|
|