_Sk8_AsTeR_ 117 Опубликовано 2 Мая 2021 Поделиться Опубликовано 2 Мая 2021 А как вообще двигаются БТРы сюжетные? В Темной Долине, например. Импульсом? Как это работает? У меня БТРы сломались и не едут, пытаюсь понять куда копать. Ссылка на комментарий
Prophet2002 2 Опубликовано 4 Мая 2021 Поделиться Опубликовано 4 Мая 2021 local file = getFS():update_path("$app_data_root$", "launcher .ltx") self.name = "actor_ID" if (file:section_exist("logins")) then self.name = file:r_string("logins", "display_name") end Помогите со скриптом. Пытаюсь обратиться к конфигу, используя класс FS, но игра вылетает, ругается на функцию section_exist. Заранее спасибо. Ссылка на комментарий
WinCap 316 Опубликовано 4 Мая 2021 Поделиться Опубликовано 4 Мая 2021 04.05.2021 в 10:23, Prophet2002 сказал: Помогите со скриптом. Код (Показать) self.name = "actor_ID" local file = ini_file(getFS():update_path("$app_data_root$", "launcher.ltx")) if file and file:section_exist("logins") then self.name = file:r_string("logins", "display_name") end self.name = "actor_ID" local file = ini_file(getFS():update_path("$app_data_root$", "launcher.ltx")) if file and file:section_exist("logins") then self.name = file:r_string("logins", "display_name") end S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
Graff46 598 Опубликовано 6 Мая 2021 Поделиться Опубликовано 6 Мая 2021 @Prophet2002 Пытаетесь вызывать методы ини файлов на обычном файле. Для создания экземпляра объекта ини файла нужно выполнить код: ini_file("misk\items.ltx") -- Аргумент - путь до файла относительно папки config(s)ini_file("misk\items.ltx") -- Аргумент - путь до файла относительно папки config(s) Как видно из Вашего примера Вы пытаетесь прочитать файл не из папки конфигов. Но тут может помочь ф-ция создания ини файла из строки: create_ini_file([[ [section] key = value ]]) -- Аргумент - текст ини файлаcreate_ini_file([[ [section] key = value ]]) -- Аргумент - текст ини файла Вычитывайте строку из нужного файла и выставляйте в вышеуказанную ф-цию. Крайне рекомендую к ознакомлению - https://www.amk-team.ru/forum/topic/7450-spravochnik-po-funkciyam-i-klassam/ @WinCap Абсолютные пути в ini_file работают? 1 Ссылка на комментарий
Prophet2002 2 Опубликовано 6 Мая 2021 Поделиться Опубликовано 6 Мая 2021 Спасибо всем, попробую ваши методы. Ссылка на комментарий
WinCap 316 Опубликовано 6 Мая 2021 Поделиться Опубликовано 6 Мая 2021 (изменено) 06.05.2021 в 13:31, Graff46 сказал: Абсолютные пути в ini_file работают? Нет, конечно, не работают! Совсем про это забыл. Спасибо, что напомнили. @Prophet2002 Если нужно прочитать ini-файл НЕ из папки config, придется прибегнуть к хитрости: Код (Показать) -- Открытие файла из стандартных папок игры: local fs = getFS():r_open("$app_data_root$", "launcher.ltx") -- Создание "виртуального" ini-файла из строки: local file = create_ini_file(fs:r_stringZ()) if file and file:section_exist("logins") then self.name = file:r_string("logins", "display_name") end -- Открытие файла из стандартных папок игры: local fs = getFS():r_open("$app_data_root$", "launcher.ltx") -- Создание "виртуального" ini-файла из строки: local file = create_ini_file(fs:r_stringZ()) if file and file:section_exist("logins") then self.name = file:r_string("logins", "display_name") end Напомню, что в файле fsgame.ltx можно добавить своё описание пути никак не связанное с игрой. Например: $c_games$ = false| false| c:\Games\ Изменено 6 Мая 2021 пользователем WinCap 4 S.T.A.L.K.E.R. CoP Objects (upd 15.11.24) Ссылка на комментарий
Norman Eisenherz 316 Опубликовано 9 Мая 2021 Поделиться Опубликовано 9 Мая 2021 Здрасьте. [ЗП 1.6.02] Создание кнопки CUI3tButton() с тегом frame_mode=1. Судя по описанию, должна получиться кнопка с состояниями d/e/h/t и масштабированием по горизонтали через подстановку частей b/back/e (= CUIFrameLine). Создал 12 текстур-частей _d_b/back/e, _e_b/back/e, …, указал ссылку на базовое имя – вылет. Указал текстуры в описании кнопки блоками <texture_d>name_d</texture_d> в расчете на подстановку текстур b/back/e – вылет. По образу и подобию кнопки "ui_inGame2_pda_button" создал набор d/e/h/t с полными текстурами и отдельные наборы с частями, названными _E_b/back/e, _H_b/back/e, _T_b/back/e – вылет. Добавил в [configs\ui\textures_descr] описание для частей b/back/e по полным текстурам – вылет. Указал ссылку на текстуру "ui_inGame2_pda_button" – вылет. Для справки, все предполагаемые части этой текстуры даны ссылками на пустое место. Создание кнопки в обычном состоянии по полным текстурам d/e/h/t работает – скриптовая часть и ссылка на папку с текстурами точно правильные. Ошибка каждый раз одна и та же: "similar(m_tex_rect[flFirst].height(), m_tex_rect[flSecond].height())" – разная высота частей масштабируемой текстуры, хотя все части нарезаны из одной текстуры и имеют одинаковую высоту. Такое впечатление, что масштабирование текстуры кнопки не работает, и его просто забыли закомментировать в движке. Есть какая-то информация? Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
naxac 2 447 Опубликовано 10 Мая 2021 Поделиться Опубликовано 10 Мая 2021 (изменено) @Norman Eisenherz , строчка, обрабатывающая это, закомментирована в движке: Код (Показать) bool CUIXmlInit::Init3tButton(CUIXml& xml_doc, const char* path, int index, CUI3tButton* pWnd){ R_ASSERT3(xml_doc.NavigateToNode(path,index), "XML node not found", path); //. pWnd->SetFrameMode(xml_doc.ReadAttribInt(path, index, "frame_mode", 0) ? true : false); InitWindow (xml_doc, path, index, pWnd); bool CUIXmlInit::Init3tButton(CUIXml& xml_doc, const char* path, int index, CUI3tButton* pWnd){ R_ASSERT3(xml_doc.NavigateToNode(path,index), "XML node not found", path); //. pWnd->SetFrameMode(xml_doc.ReadAttribInt(path, index, "frame_mode", 0) ? true : false); InitWindow (xml_doc, path, index, pWnd); Изменено 10 Мая 2021 пользователем naxac Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Norman Eisenherz 316 Опубликовано 11 Мая 2021 Поделиться Опубликовано 11 Мая 2021 @naxac Так это еще в ТЧ, а в ЧН и ЗП описание с виду вполне рабочее. На всякий случай, уточняю место: [xrGame\ui\UIXmlInit.cpp] bool CUIXmlInit::Init3tButton(…). Должно получиться 4 окна CUIFrameLine – по одному на каждое состояние кнопки; или где-то дальше обработчик спотыкается, или я не понимаю, как правильно назвать части текстур. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
naxac 2 447 Опубликовано 12 Мая 2021 Поделиться Опубликовано 12 Мая 2021 (изменено) @Norman Eisenherz , да, всё верно, прошу прощения, не в те исходники смотрел. Судя по всему, там должно быть 12 текстур в этом режиме: (_d, _t, _e, _h) + (_e, _b, _back). Но у тебя не работает так. Странно.. В оригинале ЗП это, кстати, используется: pda_tasks.xml (Показать) <btn_second_task x="52" y="132" width="120" height="19" hint="ui_show_second_task_wnd" frame_mode="1"> <window_name>btn_second_task</window_name> <texture_e>ui_inGame2_pda_missionlist_button_e</texture_e> <texture_t>ui_inGame2_pda_missionlist_button_ht</texture_t> <texture_h>ui_inGame2_pda_missionlist_button_ht</texture_h> <text align="c" vert_align="c" x="0" y="0" width="120" height="19" font="letterica16">missions_list</text> <text_color> <t r="255" g="255" b="255"/> <d r="255" g="255" b="255"/> <e r="200" g="200" b="200"/> <h r="170" g="170" b="170"/> </text_color> </btn_second_task> <btn_second_task x="52" y="132" width="120" height="19" hint="ui_show_second_task_wnd" frame_mode="1"> <window_name>btn_second_task</window_name> <texture_e>ui_inGame2_pda_missionlist_button_e</texture_e> <texture_t>ui_inGame2_pda_missionlist_button_ht</texture_t> <texture_h>ui_inGame2_pda_missionlist_button_ht</texture_h> <text align="c" vert_align="c" x="0" y="0" width="120" height="19" font="letterica16">missions_list</text> <text_color> <t r="255" g="255" b="255"/> <d r="255" g="255" b="255"/> <e r="200" g="200" b="200"/> <h r="170" g="170" b="170"/> </text_color> </btn_second_task> И описание текстур: ui_actor_pda.xml (Показать) <texture id="ui_inGame2_pda_missionlist_button_e_b" x="30" y="71" width="15" height="19" /> <texture id="ui_inGame2_pda_missionlist_button_e_back" x="45" y="71" width="1" height="19" /> <texture id="ui_inGame2_pda_missionlist_button_e_e" x="45" y="71" width="15" height="19" /> <texture id="ui_inGame2_pda_missionlist_button_ht_b" x="104" y="71" width="15" height="19" /> <texture id="ui_inGame2_pda_missionlist_button_ht_back" x="119" y="71" width="1" height="19" /> <texture id="ui_inGame2_pda_missionlist_button_ht_e" x="119" y="71" width="15" height="19" /> <texture id="ui_inGame2_pda_missionlist_button_e_b" x="30" y="71" width="15" height="19" /> <texture id="ui_inGame2_pda_missionlist_button_e_back" x="45" y="71" width="1" height="19" /> <texture id="ui_inGame2_pda_missionlist_button_e_e" x="45" y="71" width="15" height="19" /> <texture id="ui_inGame2_pda_missionlist_button_ht_b" x="104" y="71" width="15" height="19" /> <texture id="ui_inGame2_pda_missionlist_button_ht_back" x="119" y="71" width="1" height="19" /> <texture id="ui_inGame2_pda_missionlist_button_ht_e" x="119" y="71" width="15" height="19" /> Изменено 13 Мая 2021 пользователем naxac Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Norman Eisenherz 316 Опубликовано 13 Мая 2021 Поделиться Опубликовано 13 Мая 2021 @naxac Подставил ссылку на имеющийся вариант кнопки – вылет. Разделил эту же кнопку на 12 текстур (+d + h/t отдельно) – выводится. Осталось понять, что было не так в первом эксперименте… Ну, может кому пригодится: • в обозначениях частей нельзя использовать верхний регистр (пример с кнопкой ui_inGame2_pda_button из того же файла [ui_actor_pda] – мусор из старых версий); • части принимаются только с описанием – файлы-кусочки не подходят ни в каком виде, хотя для обычной кнопки можно указывать набор текстур и так. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
I am Dead 917 Опубликовано 16 Мая 2021 Поделиться Опубликовано 16 Мая 2021 Приветствую всех. Можно ли на платформе OGSR задать состояние тела для актора? Ссылка на комментарий
AndreySol 215 Опубликовано 16 Мая 2021 Поделиться Опубликовано 16 Мая 2021 @I am Dead А в чем смысл? Ссылка на комментарий
I am Dead 917 Опубликовано 16 Мая 2021 Поделиться Опубликовано 16 Мая 2021 @AndreySol Делаю некую систему повреждения конечностей. И к примеру когда повреждены ноги хочу заблокировать бег. Ссылка на комментарий
mole venomous 3 433 Опубликовано 16 Мая 2021 Поделиться Опубликовано 16 Мая 2021 16.05.2021 в 08:29, I am Dead сказал: когда повреждены ноги хочу заблокировать бег можно просто заблокировать спринт Есть мод "Перелом ног". Не юзал, но по описанию там правки движка из X-Ray extensions. Может что то перешло в ОГСР? 1 Здесь могла быть ваша реклама. Ссылка на комментарий
I am Dead 917 Опубликовано 16 Мая 2021 Поделиться Опубликовано 16 Мая 2021 @mole venomous Вот это мне и надо, спасибо за подсказку Ссылка на комментарий
Manool 145 Опубликовано 16 Мая 2021 Поделиться Опубликовано 16 Мая 2021 16.05.2021 в 08:29, I am Dead сказал: хочу заблокировать бег В этом движке есть методы condition.cant_spint_power_begin и condition.cant_spint_power_end Если поставить get_actor_obj().condition.cant_spint_power_begin = 1 get_actor_obj().condition.cant_spint_power_end = 1 get_actor_obj().condition.cant_spint_power_begin = 1 get_actor_obj().condition.cant_spint_power_end = 1 то актор перестанет бежать. 1 Объединённый Пак OGSR Engine Ссылка на комментарий
I am Dead 917 Опубликовано 16 Мая 2021 Поделиться Опубликовано 16 Мая 2021 (изменено) @Manool То есть бег будет принудительно сбрасываться на шаг? И есть ли что то подобное для других состояний ? К примеру если нога очень сильно повреждена то гг даже ходить не сможет, а только в полный присяд( типо ползет ). Изменено 16 Мая 2021 пользователем I am Dead Ссылка на комментарий
Manool 145 Опубликовано 16 Мая 2021 Поделиться Опубликовано 16 Мая 2021 16.05.2021 в 09:14, I am Dead сказал: о есть бег будет принудительно сбрасываться на шаг? Нет пока установлены эти значения актор вообще не сможет бежать, как, например в экзоскелете с отключенным бегом. 16.05.2021 в 09:14, I am Dead сказал: И есть ли что то подобное для других состояний -- Блокировка шага актора get_actor_obj().condition.cant_walk_power_begin = 1 get_actor_obj().condition.cant_walk_power_end = 1 -- Блокировка шага актора get_actor_obj().condition.cant_walk_power_begin = 1 get_actor_obj().condition.cant_walk_power_end = 1 Кстати, все эти методы есть в lua_help к движку OGSR. 1 Объединённый Пак OGSR Engine Ссылка на комментарий
I am Dead 917 Опубликовано 16 Мая 2021 Поделиться Опубликовано 16 Мая 2021 @Manool Благодарю, а то я уже понавыдумывал костылей костылей всяких. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти