[CoP] Модострой: вопросница
|
|
|
Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус: |
|
Бывалый: |
|
Сообщений: |
1081 |
Награды: |
19 |
Регистрация: |
11.06.2015 |
|
[CoP] Модострой: вопросница
Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
|
|
Воскресенье, 31.12.2017, 13:17
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
11.06.2015 |
|
|
|
|
|
BL00Der
Воскресенье, 15.03.2020, 14:41 | Сообщение # 6346
Статус: |
|
Гость: |
|
Сообщений: |
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 |
|
|
|
|
|
Статус: |
|
Новичок: |
|
Сообщений: |
266 |
Награды: |
4 |
Регистрация: |
27.02.2018 |
|
Всем здравствуйте. Вот захотелось мне восстановить систему лута из ящиков при их разбитии. Известно ли, какие скрипты из ТЧ или ЧН отвечают за эту систему. Думаю найти их и перенести в ЗП. Либо же в каком моде это уже восстановлено?
|
|
Воскресенье, 15.03.2020, 22:15
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
27.02.2018 |
|
|
|
|
|
Статус: |
|
Новичок: |
|
Сообщений: |
290 |
Награды: |
4 |
Регистрация: |
09.01.2017 |
|
Цитата Prostomod ( ) Вот захотелось мне восстановить систему лута из ящиков при их разбитии.
Насколько я знаю, эту систему никто не трогал. Все настраивается в логике объектов. Например, так:
[logic] active = nil [drop_box] items = medkit,1,bandage,3
или
[logic] active = nil [drop_box] community = small_box_generic
Прописывайте это ящикам в алл.спавн. И все работает.
|
|
Воскресенье, 15.03.2020, 23:28
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
09.01.2017 |
|
|
|
|
|
Время Альянса
Статус: |
|
Ветеран: |
|
Сообщений: |
4070 |
Награды: |
16 |
Регистрация: |
19.07.2013 |
|
BL00Der, Насколько я помню параметр ef_creature_type отвечает за "смелость" мутанта. Чем выше тем активнее атакует.
|
|
Понедельник, 16.03.2020, 10:23
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
19.07.2013 |
|
|
|
|
|
Neptun
Понедельник, 16.03.2020, 13:19 | Сообщение # 6357
Связной
Статус: |
|
Бывалый: |
|
Сообщений: |
672 |
Награды: |
9 |
Регистрация: |
25.03.2012 |
|
Добро. Новый артефакт на показывается на экранчике детектора Сварог, хотя детектор его засвечивает. Детектор Велес нормально показывает. Как сделать так, чтобы на экране детектора Сварог новый артефакт был отмечен маркером.
|
|
Понедельник, 16.03.2020, 13:19
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
25.03.2012 |
|
|
|
|
|
Статус: |
|
Новичок: |
|
Сообщений: |
312 |
Награды: |
2 |
Регистрация: |
11.02.2019 |
|
Не по теме (по понятным причинам что тема по ТЧ не актуальна) , но как в ТЧ удалить бродящих симовых НПС с локаций? Обычных удаляю таким методом прописывая в логику в спавне: Цитата
Цитата [spawner] cond = {+all_spawn}
А вот с симами не могу разобраться... мб где-то алайф редактировать нужно?
|
|
Понедельник, 16.03.2020, 14:26
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
11.02.2019 |
|
|
|
|
|
Статус: |
|
Новичок: |
|
Сообщений: |
266 |
Награды: |
4 |
Регистрация: |
27.02.2018 |
|
Всем снова здравствуйте. Вопрос: ванильные выдвижные ящики (tumba_village_50x120_ph_door.ogf, tumba_village_100x90_ph_01_door.ogf, tumba_village_100x90_ph_door_l.ogf, tumba_village_100x90_ph_door_r.ogf и tumba_village_140x60_ph_door.ogf) под логикой (оригинальный slide_box_small.ltx) вообще использовать возможно? Ловлю из-за них вылет, что-то похоже с костями, причём как ТЧ-новских, так и на ЗП-шных ящиках (ЧН-овские не проверял).
|
|
Понедельник, 16.03.2020, 17:56
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
27.02.2018 |
|
|
|
|
|
yobakun
Понедельник, 16.03.2020, 21:21 | Сообщение # 6360
Статус: |
|
Новичок: |
|
Сообщений: |
270 |
Награды: |
5 |
Регистрация: |
30.07.2016 |
|
Как заставить сквад бежать на target_smart не меняя логику работы на смарте? То есть надо чтобы сталкеры появились в одной точке и сразу побежали на другую, а не плелись полчаса.
|
|
Понедельник, 16.03.2020, 21:21
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
30.07.2016 |
|
|
|
|