Overf1rst 1 502 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Policai 1 333 Опубликовано 30 января 14 часов назад, Toplol4ik сказал: Здраствуйте. Можно ли в скрипте сделать проверку на тайник поблизости? Я хочу создать что-то на подобии детектора тайников. Осталось понять, как ЛОГИЧЕСКИ обосновать детектор тайников... Артефакты излучение разное, а в тайниках что???? Радиоактивная метка? 1 Группа мода в VK Мод делался и тестировался на железе i5-11400, 32Гб ОЗУ, Radeon RX580 Разрешение 2560 х 1440. ВСЕ на максималке Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gnomi123 166 Опубликовано 30 января Policai ну например артефакт который даёт игроку паранормальную чуйку на тайники Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 973 Опубликовано 30 января SPL Это норма? Цитата visual = dynamics\weapons\wpn_aps_bas\wpn_aps_bas_world.ogf item_visual = dynamics\weapons\wpn_aps\wpn_aps_bas_hud.ogf У вас действительно мировая и худ модели по разным папкам? Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SPL 4 Опубликовано 30 января denis2000 да действительно путь был указан неверно, но вот за ним последовал вылет о ненаходе анимации Спойлер Expression : pm->m_animations.size() Function : player_hud_motion_container::load File : player_hud.cpp Line : 92 Description : motion not found [blnd_aps_bas_afk_arms] stack trace: И так практически с любым портируемым оружием. Зачастую это idle_bore, idle или что-то подобное, если имеет значение. Данную анимацию я нашел через тотал коммандер в папке с аддоном откуда портирую в отдельном файле, который лежит не по пути оружия. Я скопировал и вложил эти файлы по тому же пути, что и в оригинале. Но вылет это не фиксит. Т.е. игра просто не видит откуда ей эти анимации считать. Попробовал скопировать эти же файлы в папку с мешем данного ствола. Результат тот же. Возможно необходимо указать где-то путь, чтобы движок игры понимал где и откуда что брать. Но как же? Аддон завершен и все анимации в самой Аномали работают и не приводят к вылетам, всё работает. Значит проблема в движке Dead Air, что он эти анимации не засчитывает? Вот ещё посмотрел огф и он не ссылается на данный файл с анимациями по оригинальному пути. Тогда как это устроено, что он должен оттуда их взять? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 973 Опубликовано 30 января 14 минут назад, SPL сказал: Description : motion not found [blnd_aps_bas_afk_arms] Просто добавить файл недостаточно и движок тут не причем, это ваша задача указать ему, где их брать. Анимаций с таким именем должно быть две! Одна своя для оружия и одна своя для рук. Анимация оружия может содержаться прямо в файле модели *.ogf, а может быть ссылкой внутри файла модели *.ogf на внешний файл с анимациями *.omf. Но вот анимации рук всегда находятся в отдельном файле *.omf, потому, что ссылки на этот файл (а точнее на всю кучу файлов анимаций рук с разным оружием) должна быть во всех моделях рук. По итогу - вы добавили худ модель оружия и ссылка на внешний файл в нем есть (см. скрин). Но вот добавить ссылку соответствующий файл с анимациями рук во все модели рук вы не догадались. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stalkervernite 349 Опубликовано 30 января (изменено) Господа. Возник вопрос, начал делать квест, как сделать обновление квеста? Вот скелет квеста [quest_vodka_give] icon = ui_inGame2_Put_v_pripyat prior = 2 storyline = false title = {=actor_has_item(vodka)}vodka_barmen_prinesti_name, vodka_barmen_naiti_name descr = vodka_barmen_descr target = {=actor_has_item(vodka)}zat_a2_stalker_barmen condlist_0 = {+quest_vodka_done} complete Здесь только завершение, а как сделать так, что бы после разговора с нпс квест обновлялся? Изменено 30 января пользователем Stalkervernite Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SPL 4 Опубликовано 30 января denis2000 С этим я разобрался. Понял как и куда пихать анимки, чтобы он их воспринимал. Через omf editor перекинул все анимации в файл, который читается игрой, все пути указал, все анимации залил. Но далее следует неизвестная мне ошибка. Спойлер FATAL ERROR [error]Expression : _GetItemCount(anm.c_str())==2 [error]Function : player_hud_motion_container::load [error]File : player_hud.cpp [error]Line : 63 [error]Description : blnd_aps_bas_idle_arms,idle,0.75 stack trace: Ума не приложу в чем здесь может быть дело. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 885 Опубликовано 30 января Stalkervernite выдай инфу на диалог, а на завершение придумай другую инфу. [квест_tm] icon = ui_inGame2_PD_Diplomat prior = 106 storyline = true title = {+инфа}второй_name_2, первый_name_1 descr = {+инфа}второй_text_2, первый_text_1 target = {+инфа}второй_target, первый_target condlist_0 = {+комплит} complete 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
bsanek628 2 Опубликовано 30 января Народ, в SGM 2.2 от "Затмения" есть ли какой-нибудь прок? Артефакты, к примеру, спавнятся или ещё что? Или это просто погодный эффект? Обычно я его отключаю, а может зря? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mervin62 783 Опубликовано 30 января Всем добра, обращаюсь за помощью к спецам модинга, так как был большой перерыв в работе с файлами сталкера я подзабыл многое(годики мать иху дают о себе уже знать)))) Спойлер вопрос: куда копать и что править, как видим черная текстура прицела уже экрана и такое я видел во многих модах. Адаптации ганслингера на моды зов припятиВсегда на связи в телеге @Mervin62 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Toplol4ik 41 Опубликовано 30 января Mervin62 Такое я уже видел в другом оружейном паке, но на него была правка на DX10 прицелы. Если на этот оружейный пак такой правки нет, то надо править ui_ingame.xml (configs\ui\textures_descr) и подбирать нужный размер прицелов (у меня 1920x1200). Также возможно придётся править текстуры прицелов. 1 Просто создаю свой мод... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 973 Опубликовано 31 января SPL Судя по всему используемый вами движок не понимает такую конструкцию в параметре анимация: blnd_aps_bas_idle_arms,idle,0.75 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 31 Опубликовано 1 февраля (изменено) Привет, нужна помощь, я в скриптах пока не особо разбираюсь поэтому хотелось бы спросить у знающих. У меня есть такой скрипт(не мой, взял от сюда тык) Спойлер local list_of_pages = {} local list_of_note = {} local note_of_pages = {} local pages_list = {} local diary_ini = ini_file("misc\\diary_records.ltx") function give_diary_record(record_name) if not diary_ini:section_exist(record_name) or note_of_pages[record_name] ~= nil then return end local diary_text = diary_ini:r_string(record_name, "text") local diary_page = diary_ini:r_string(record_name, "page") if not list_of_pages[diary_page] then list_of_pages[diary_page] = {} table.insert(pages_list, diary_page) end note_of_pages[record_name] = {} note_of_pages[record_name].text = diary_text table.insert(list_of_pages[diary_page], record_name) table.insert(list_of_note, record_name) end function get_pages_list() local count = diary_ini:line_count("records") - 1 local info, value = "", "", result for i = 0, count do result, info, value = diary_ini:r_line("records",i,"","") if has_alife_info(info) then give_diary_record(info) end end end class "list_item" (CUIListBoxItem) function list_item:__init(height) super(height) self.text = self:GetTextItem() self:SetTextColor (GetARGB(255, 92, 84, 69)) self.text:SetFont (GetFontLetterica25()) self.text:SetWndSize (vector2():set(325,height)) self.text:SetEllipsis (true) end class "diary_dialog" (CUIScriptWnd) function diary_dialog:__init() super() self:InitControls () self:InitCallBacks () self:FillList (pages_list, true) end function diary_dialog:__finalize() end function diary_dialog:FillList(tbl, is_pages) self.list:Clear() self.is_pages = is_pages self.tbl = tbl for i = 1, #tbl do self:AddItemToList(tbl, i) endend function diary_dialog:InitControls() local xml = CScriptXmlInit() self:SetWndRect (Frect():set(0,0,1024,768)) local ctrl xml:ParseFile ("ui_diary.xml") xml:InitFrame ("background",self) self.text = xml:InitTextWnd ("paragraph", self) self.header = xml:InitTextWnd ("header", self) self.list = xml:InitListBox ("list",self) self.list:ShowSelectedItem (true) self:Register (self.list, "list_window") local ctrl = xml:Init3tButton ("back",self) self:Register (ctrl, "btn_close") self.header:SetTextST ("st_diary_header")end function diary_dialog:InitCallBacks() self:AddCallback("btn_close", ui_events.BUTTON_CLICKED, self.OnButton_close_clicked, self) self:AddCallback("list_window", ui_events.WINDOW_LBUTTON_DB_CLICK, self.OnButton_create_clicked, self)end function diary_dialog:OnButton_create_clicked() if self.list:GetSize()==0 then return end local item = self.list:GetSelectedItem() if not item then return end local itmname = item.text:GetText() local itemnum = tonumber(itmname:sub(1, itmname:find("."))) if self.is_pages then self:FillList(list_of_pages[pages_list[itemnum]], false) self.text:SetText("") self.header:SetTextST(pages_list[itemnum]) else local tbl = note_of_pages[self.tbl[itemnum]] self.text:SetTextST(tbl.text) self.header:SetTextST(self.tbl[itemnum]) endend function diary_dialog:OnButton_close_clicked() if not self.is_pages then self:FillList (pages_list, true) self.text:SetText ("") self.header:SetTextST ("st_diary_header") else self:HideDialog() endend function diary_dialog:OnKeyboard(dik, keyboard_action) CUIScriptWnd.OnKeyboard(self,dik,keyboard_action) local bind = dik_to_bind(dik) if bind == key_bindings.kQUIT then self:HideDialog() end return trueend function diary_dialog:AddItemToList(item_name, number) local _itm = list_item(30) _itm.text:SetText (string.format("%d. %s", number, game.translate_string(item_name))) self.list:AddExistingItem (_itm)end function ShowNotepad () get_pages_list () diary_dialog():ShowDialog(true)end это типо дневник с записями и в нём есть такая проблема что когда записей становиться больше 9 то начиная от 10 и до 19 записи у них используется описание от первой записи следовательно у 20-29 описание от второй записи. Вот примеры: и вот собственно мне думается что проблема в скрипте. помогите пожалуйста Дополнено 41 минуты спустя @denis2000 Привет, посмотри пожалуйста, может ты знаешь в чём дело. Изменено 1 февраля пользователем Pavel2000 «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GoodCobra 0 Опубликовано 2 февраля подскажите пожалуйста, прохожу данный мод sgm 2.2 gunslinger mod, при использовании спавнера перестает работать сохранение , что с этим можно сделать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hunter 2 523 Опубликовано 2 февраля GoodCobra не использовать спаунер, зачем он там нужен? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vasyan54636 145 Опубликовано 3 февраля Добрый день. Подскажите, пожалуйста, с чем связана ошибка ~ cannot remove restriction with id [885][ros_zone_mine_thermal_average] to the entity with id [1393][fracture_strong1393], because it is not added И как её исправить? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 293 Опубликовано 3 февраля Здравствуйте, пытался отредактировать мини-карту, но столкнулся с такой проблемой: Спойлер Пробовал менять значения в zone_map и ui_actor_hint_wnd, но ничего не меняется Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Novik 21 Опубликовано 4 февраля (изменено) Skala в zone_map в строке background возможно отсутствует атрибут alignment="c" если его нет то добавь в конце Пример: <background width="0.30" height="0.30" stretch="1" alignment="c"> Если не помогло, то убери alignment="c" и ровняй по x y. Просто добавь атрибуты x y в background Пример: Цитата <background x="0.15" y="0.15" width="0.30" height="0.30" stretch="1"> И подгоняй позицию. Изменено 4 февраля пользователем Novik Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Бессмертный 2 Опубликовано 4 февраля Всем привет, через СДК 0.7 от DaaGuda v2 компилировал локацию со своими правками на максимальных настройках, в итоге на моделях как-будто бьется сглаживание, появляется полигонаж, хотя на оригинальной локации таких багов не было. Компилировал х64 компиляторами от SkyLoader. Скрины прикладываю. На что грешить, где ошибся? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AfterGlow 566 Опубликовано 4 февраля Бессмертный попробуй компилировать с ключом -no_smg 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Бессмертный 2 Опубликовано 4 февраля Скомпилировал на средних, вроде, помогло. Спасибо! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Diesel 225 Опубликовано 4 февраля 2 минуты назад, Бессмертный сказал: Спасибо! Я бы не торопился говорить. Ключ носмг делает автосглаживание по настройкам в левел эдиторе, по дефолту 75. Будешь когда проффесионалом то поймёшь, что после конвертера бардака, нужно на уровне сглаживание делать заново в 3d редакторе, либо извращаться как то на 1 типе сглаживания всё делать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AfterGlow 566 Опубликовано 4 февраля Diesel ну-ну, видимо поэтому "профессионалы" ничего толкового так и не выпускают, а сидят пердят на форумах (сейчас не конкретно о ком-то разговор). Будут визуальные баги после этого ключа у юзера - напишет сюда, поможем ещё советом. Благо скайлоадер завез ещё дополнительные настройки для компил шейдеров. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Diesel 225 Опубликовано 4 февраля AfterGlow , да мне уже пердеть страшно - песок сыпется. https://disk.yandex.ru/d/k3JPMxbp3Hmin8 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 293 Опубликовано 5 февраля Novik Я решил проблему изменением текстуры. А когда менял положение через zone_map, то ничего не менялось Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты