[CoP] Модострой: вопросница
|
|
|
Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус: |
|
Бывалый: |
|
Сообщений: |
1081 |
Награды: |
19 |
Регистрация: |
11.06.2015 |
|
[CoP] Модострой: вопросница
Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
|
|
Воскресенье, 31.12.2017, 13:17
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
11.06.2015 |
|
|
|
|
|
Статус: |
|
Зевака: |
|
Сообщений: |
3 |
Награды: |
0 |
Регистрация: |
27.04.2019 |
|
Всем привет посоны! Увлекся моддингом совсем недавно (неделя), навыков программиста тоже нет, так что если я несу полную дичь, просьба отнестись с пониманием и объяснить. Главный вопрос: какой нужен скрипт, чтобы title и target обновлялись, при наличии нужного кол-ва одинаковых предметов и как его прописать в title и target в файле tm_zaton.ltx Вообщем суть такая: Есть квест на поиск 10 артефактов "Кристалл". Для проверки их наличия (в диалоге, в прекондишине, дабы стал доступен диалог на их передачу) использую такой скрипт:
Код function zaton_tremor_quest_have_10_kristall(first_speaker, second_speaker) local item_sections = {"af_cristall"} local needed = 10 local count = 0 local item_section local function calc(temp, item) if item:section() == item_section then count = count + 1 end end for k,v in pairs(item_sections) do item_section = v get_story_object("actor"):iterate_inventory(calc, actor) end return count >= needed end
Все работает без нареканий. Но при попытке вписать эту функцию в строку "title" или "target"(в файле tm_zaton.ltx) получаю вылет. Пробовал ее по всякому туда впихать - все тщетно, максимум чего удалось добиться это не правильная работа, т.е. она срабатывает независимо от того есть 10 кристаллов или нет(вар 2). Начал догадываться, что этот скрипт не годится в данной ситуации?
Код
title = {=zaton_tremor_quest_have_10_kristall} zaton_tremor_quest_title_1, zaton_tremor_quest_title_0 //1 вар
title = {zaton_tremor_quest_have_10_kristall(true)} zaton_tremor_quest_title_1, zaton_tremor_quest_title_0 //2 вар
Так же нашел в каком то гайде такой скрипт:
Код
fucntion has_item_by_count(actor, npc, p) if p[1] == nil or p[2] == nil then abort("Error in fucntion has_item_by_count") end local need_cnt = tonumber(p[2]) or 1 local cnt = 0 local function iter_inv(t, item) if item:section() == p[1] then cnt = cnt + 1 end end actor:iterate_inventory(iter_inv, actor) return cnt >= need_cnt end
В квесте он там был прописан так:
Код title = {=has_item_by_count(kolbasa:5)}quest_5_kolbas_gavay_tit_2, quest_5_kolbas_gavay_tit_1
тут речь шла о колбасе, не стал ничего менять, в рамках теста, скопипастил все как есть - вылет.
И вообще инфы на эту тему крайне мало нашел, либо вообще не говорят про это, либо говорят что это слишком сложно, бред. Не думал что это станет такой проблемой, выручайте!
|
|
Понедельник, 29.04.2019, 18:47
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
27.04.2019 |
|
|
|
|
|
Время Альянса
Статус: |
|
Ветеран: |
|
Сообщений: |
4070 |
Награды: |
16 |
Регистрация: |
19.07.2013 |
|
SozdateL, Получаете вылет - вкладываете свои правки подробно и лог вылета. Зачем изобретать велосипед если нужную функцию вы сами приводите?
Код title = {=has_item_by_count(af_cristall:10)} title_2, title_1 target = {=has_item_by_count(af_cristall:10)} target_2, target_1
Функции кондлистов (кондлист или conditions list - это то что фигурирует в скобках {}) всегда беруться из скрипта xr_conditions.script. В данный скрипт предусмотрена передача параметров указанных в круглых скобках в виде таблицы. Функции же упоминаемые в диалогах берутся из указанного в префиксе функции скрипта:
Код <precondition>dialogs_jupiter.jup_b47_employ_squad</precondition> тоесть скрипт dialogs_jupiter.script функция jup_b47_employ_squad и передача дополнительных параметров не предусмотрена.
Сообщение отредактировал denis2000 - Понедельник, 29.04.2019, 19:39
|
|
Понедельник, 29.04.2019, 19:30
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
19.07.2013 |
|
|
|
|
|
Gajaba
Понедельник, 29.04.2019, 23:25 | Сообщение # 3558
Статус: |
|
Отмычка: |
|
Сообщений: |
92 |
Награды: |
1 |
Регистрация: |
19.02.2017 |
|
Какие именно параметры нужно редактировать и какие значения ставить, чтобы НПС могли умирать от кровотечений, как в dead air? И люди, и мутанты, все.
|
|
Понедельник, 29.04.2019, 23:25
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
19.02.2017 |
|
|
|
|
|
Крим
Вторник, 30.04.2019, 01:06 | Сообщение # 3559
Статус: |
|
Новичок: |
|
Сообщений: |
231 |
Награды: |
1 |
Регистрация: |
21.04.2019 |
|
Скомпилировал локацию и все остальное. Перенес их в игру. При загрузочном экране происходит вылет. Окно с вылетом открыть не могу, видимо не хочет. Помогите, пожалуйста?
|
|
Вторник, 30.04.2019, 01:06
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
21.04.2019 |
|
|
|
|
|
Dead City Breakthrough
Статус: |
|
Опытный: |
|
Сообщений: |
2244 |
Награды: |
11 |
Регистрация: |
08.11.2011 |
|
Народ! Что то туплю, напомните плиз как убрать карканье ворон с лаем собак и ветер с листвой, на подземной локе.. бокс nosun стоит, амбиент вроде где то прописывать нужно но не помню где.
|
|
Вторник, 30.04.2019, 03:57
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
08.11.2011 |
|
|
|
|
|
Время Альянса
Статус: |
|
Ветеран: |
|
Сообщений: |
4070 |
Награды: |
16 |
Регистрация: |
19.07.2013 |
|
Policai, В конфиге game_maps_single.ltx:
Код weathers = indoor_ambient или
аналогично и в game_levels.ltx
Сообщение отредактировал denis2000 - Вторник, 30.04.2019, 09:01
|
|
Вторник, 30.04.2019, 08:27
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
19.07.2013 |
|
|
|
|
|
Dead City Breakthrough
Статус: |
|
Опытный: |
|
Сообщений: |
2244 |
Награды: |
11 |
Регистрация: |
08.11.2011 |
|
Цитата weathers = indoor_ambient
Точно.. спасибо Денис. Вылетело из головы, тестирую на оригинале ЗП не распакованном, файл на глаза не попался...
|
|
Вторник, 30.04.2019, 08:40
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
08.11.2011 |
|
|
|
|
|
Время Альянса
Статус: |
|
Ветеран: |
|
Сообщений: |
4070 |
Награды: |
16 |
Регистрация: |
19.07.2013 |
|
Цитата Gajaba ( ) Какие именно параметры нужно редактировать и какие значения ставить, чтобы НПС могли умирать от кровотечений, как в dead air? Параметры кровотечения:
Код bleeding_v = 0.04 ;потеря крови при номинальной ране в секунду wound_incarnation_v = 0.05 ;крутизна кривой заживления (какой процент раны останется после заживления в игровую секунду) min_wound_size = 0.01 ;минимальный размер раны Но насколько мне не изменяет память смерть от кровотечения отключена в движке, возможно я не прав.
|
|
Вторник, 30.04.2019, 09:33
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
19.07.2013 |
|
|
|
|
Вторник, 30.04.2019, 12:19
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
07.03.2016 |
|
|
|
|
|
Статус: |
|
Зевака: |
|
Сообщений: |
18 |
Награды: |
0 |
Регистрация: |
17.06.2018 |
|
Вот зарегистрировал я в скриптах новый вид анимпоинта, в тех же скриптах, что и оригинальные анимпоинты. Анимации на месте (они оригинальные, sit_ass и ему подобные). Но в игре нпс проигрывает анимацию занимания анимпоинта, и игра вылетает с логом: Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ... pripyat\gamedata\scripts\state_mgr_animation.script:248: attempt to index local 'state' (a nil value)
На несколько раз проверял, код точно правильный. Из CoC даже вытаскивал такой же анимпоинт, но вылет тот же
|
|
Вторник, 30.04.2019, 13:18
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
17.06.2018 |
|
|
|
|
|
Крим
Вторник, 30.04.2019, 13:35 | Сообщение # 3566
Статус: |
|
Новичок: |
|
Сообщений: |
231 |
Награды: |
1 |
Регистрация: |
21.04.2019 |
|
Неудачник Крим вернулся с новой ошибкой, помогите решить, пожалуйста:
|
|
Вторник, 30.04.2019, 13:35
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
21.04.2019 |
|
|
|
|
|
Gajaba
Вторник, 30.04.2019, 15:21 | Сообщение # 3567
Статус: |
|
Отмычка: |
|
Сообщений: |
92 |
Награды: |
1 |
Регистрация: |
19.02.2017 |
|
Цитата denis2000 ( ) Но насколько мне не изменяет память смерть от кровотечения отключена в движке, возможно я не прав Не знаю. Я в теме Dead Air (в моде реализовано кровотечение и смерть от него) спрашивал - мне сказали что эта фича есть изначально даже в ваниле. И сюда направили со всеми вопросами, чтобы не оффтопил.
Сообщение отредактировал Gajaba - Вторник, 30.04.2019, 15:29
|
|
Вторник, 30.04.2019, 15:21
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
19.02.2017 |
|
|
|
|
|
Статус: |
|
Зевака: |
|
Сообщений: |
21 |
Награды: |
0 |
Регистрация: |
15.04.2019 |
|
Есть ли способ управлять доступностью для определенной фракции/блокировать отдельные граф-пойнты? К примеру чтобы заблокировать переход Кордон/Болота через тоннель для всех кроме военных/экологов/мутантов или переход МГ/Янтарь для гуманоидов при условии работающего выжигателя?
|
|
Вторник, 30.04.2019, 15:35
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
15.04.2019 |
|
|
|
|
|
Статус: |
|
Опытный: |
|
Сообщений: |
1343 |
Награды: |
6 |
Регистрация: |
07.03.2016 |
|
Цитата Крим ( ) UIMapWnd.cpp https://modders.pro/UIMapWnd.cpp
Рекомендовал бы не спрашивать о вылетах в теме, а прежде самому искать их. В ссылке что я приводил выше, прочитай раздел "поиск по сайту".
|
|
Вторник, 30.04.2019, 15:35
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
07.03.2016 |
|
|
|
|
|
Время Альянса
Статус: |
|
Ветеран: |
|
Сообщений: |
4070 |
Награды: |
16 |
Регистрация: |
19.07.2013 |
|
Цитата Gajaba ( ) мне сказали что эта фича есть изначально даже в ваниле Значит, параметры я привел, разбирайтесь и правьте. А если утверждается, что работает даже в оригинале, то ваш вопрос смысл теряет!
StalkerSnowy, Все таки не до прописали анимпоинт.
Сообщение отредактировал denis2000 - Вторник, 30.04.2019, 15:54
|
|
Вторник, 30.04.2019, 15:45
|
Статус: |
|
Сообщений: |
666 |
Регистрация: |
19.07.2013 |
|
|
|
|