WinCap 292 Опубликовано 1 Мая 2021 Поделиться Опубликовано 1 Мая 2021 (изменено) 16 минут назад, naxac сказал(а): эти функции вызываются в биндерах неписей и монстров. Да... это понятно... Это был наводящий вопрос. 16 минут назад, naxac сказал(а): В скрипте используются заполняемые этими функциями таблицы. Я на это и хотел обратить внимание вопрошающего. Кроме monster_stock ни одна таблица не используется. И вообще... Функция update_friends_and_target тот ещё "шедевр". Изменено 1 Мая 2021 пользователем WinCap S.T.A.L.K.E.R. CoP Objects (upd 11.03.24) Ссылка на комментарий
gam 116 Опубликовано 1 Мая 2021 Поделиться Опубликовано 1 Мая 2021 Только что, naxac сказал(а): эти функции вызываются в биндерах неписей и монстров Полностью согласен. 3 часа назад, I am Dead сказал(а): Хмм, действительно тут уж правильней будет 3 часа назад, Kirgudu сказал(а): Как ни странно Посвятите в нужном направлении, или похмелитесь. 1 2 Ссылка на комментарий
Graff46 596 Опубликовано 1 Мая 2021 Поделиться Опубликовано 1 Мая 2021 У меня вопрос, почему для управления транспортом скриптами используется FSM, все эти экшены команды и тд... (почитать об этом). На сколько корректно будет, если создам методы для управления техникой в классе CCar ? Ссылка на комментарий
_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 292 Опубликовано 4 Мая 2021 Поделиться Опубликовано 4 Мая 2021 3 часа назад, 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 S.T.A.L.K.E.R. CoP Objects (upd 11.03.24) Ссылка на комментарий
Graff46 596 Опубликовано 6 Мая 2021 Поделиться Опубликовано 6 Мая 2021 @Prophet2002 Пытаетесь вызывать методы ини файлов на обычном файле. Для создания экземпляра объекта ини файла нужно выполнить код: ini_file("misk\items.ltx") -- Аргумент - путь до файла относительно папки config(s) Как видно из Вашего примера Вы пытаетесь прочитать файл не из папки конфигов. Но тут может помочь ф-ция создания ини файла из строки: 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 292 Опубликовано 6 Мая 2021 Поделиться Опубликовано 6 Мая 2021 (изменено) 2 часа назад, 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 Напомню, что в файле fsgame.ltx можно добавить своё описание пути никак не связанное с игрой. Например: $c_games$ = false| false| c:\Games\ Изменено 6 Мая 2021 пользователем WinCap 4 S.T.A.L.K.E.R. CoP Objects (upd 11.03.24) Ссылка на комментарий
Norman Eisenherz 220 Опубликовано 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 372 Опубликовано 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); Изменено 10 Мая 2021 пользователем naxac Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Norman Eisenherz 220 Опубликовано 11 Мая 2021 Поделиться Опубликовано 11 Мая 2021 @naxac Так это еще в ТЧ, а в ЧН и ЗП описание с виду вполне рабочее. На всякий случай, уточняю место: [xrGame\ui\UIXmlInit.cpp] bool CUIXmlInit::Init3tButton(…). Должно получиться 4 окна CUIFrameLine – по одному на каждое состояние кнопки; или где-то дальше обработчик спотыкается, или я не понимаю, как правильно назвать части текстур. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
naxac 2 372 Опубликовано 12 Мая 2021 Поделиться Опубликовано 12 Мая 2021 (изменено) @Norman Eisenherz , да, всё верно, прошу прощения, не в те исходники смотрел. Судя по всему, там должно быть 12 текстур в этом режиме: (_d, _t, _e, _h) + (_e, _b, _back). Но у тебя не работает так. Странно.. В оригинале ЗП это, кстати, используется: <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> И описание текстур: <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 220 Опубликовано 13 Мая 2021 Поделиться Опубликовано 13 Мая 2021 @naxac Подставил ссылку на имеющийся вариант кнопки – вылет. Разделил эту же кнопку на 12 текстур (+d + h/t отдельно) – выводится. Осталось понять, что было не так в первом эксперименте… Ну, может кому пригодится: • в обозначениях частей нельзя использовать верхний регистр (пример с кнопкой ui_inGame2_pda_button из того же файла [ui_actor_pda] – мусор из старых версий); • части принимаются только с описанием – файлы-кусочки не подходят ни в каком виде, хотя для обычной кнопки можно указывать набор текстур и так. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
I am Dead 891 Опубликовано 16 Мая 2021 Поделиться Опубликовано 16 Мая 2021 Приветствую всех. Можно ли на платформе OGSR задать состояние тела для актора? Ссылка на комментарий
AndreySol 215 Опубликовано 16 Мая 2021 Поделиться Опубликовано 16 Мая 2021 @I am Dead А в чем смысл? Ссылка на комментарий
I am Dead 891 Опубликовано 16 Мая 2021 Поделиться Опубликовано 16 Мая 2021 @AndreySol Делаю некую систему повреждения конечностей. И к примеру когда повреждены ноги хочу заблокировать бег. Ссылка на комментарий
mole venomous 2 959 Опубликовано 16 Мая 2021 Поделиться Опубликовано 16 Мая 2021 2 минуты назад, I am Dead сказал(а): когда повреждены ноги хочу заблокировать бег можно просто заблокировать спринт Есть мод "Перелом ног". Не юзал, но по описанию там правки движка из X-Ray extensions. Может что то перешло в ОГСР? 1 Здесь могла быть ваша реклама. Ссылка на комментарий
I am Dead 891 Опубликовано 16 Мая 2021 Поделиться Опубликовано 16 Мая 2021 @mole venomous Вот это мне и надо, спасибо за подсказку Ссылка на комментарий
Manool 143 Опубликовано 16 Мая 2021 Поделиться Опубликовано 16 Мая 2021 37 минут назад, 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 то актор перестанет бежать. 1 Объединённый Пак OGSR Engine Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти