Norman Eisenherz 320 Опубликовано 7 Мая 2020 Здрасьте. В [textures\ui\] есть вариант рамки для окон КПК [ui_pda_frame_sub.dds] с описанием частей в одноименном INI-файле: Spoiler [frame] shader = hud\default lt = 0, 0, 32, 32 l = 0, 32, 32, 32 lb = 0, 64, 32, 32 b = 32, 64, 32, 32 rb = 64, 64, 32, 32 r = 64, 32, 32, 32 rt = 64, 0, 32, 32 t = 32, 0, 32, 32 back = 32, 32, 32, 32 Изменил имя обоих файлов (при той же начинке) и указал новую ссылку в конфиге окна "Справка" (энциклопедия) – вылет "текстура не найдена". Знаю, что обычная текстура рамки привязана через XML-описание файла [ui_old_textures.dds], но хочется понять, действует ли в каком-нибудь виде способ с INI-файлом или это мусор, оставшийся от ранних билдов? Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 14 Мая 2020 @Robbie's Mods см. function add_lchanger_location() в [level_tasks.script] 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 2 Июня 2020 @Pug-Lover Если в пределах одной локации, то можно через level.add_call(f1, f2): прервать скрипт, поставить отсчет на 3 секунды в первой функции, получить true, запустить скрипт через вторую функцию. В самом скрипте для прерывания/запуска должно быть условие вида "если flag = true, то работать". Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 3 Июня 2020 В оригинале ТЧ примеров нет. Логика следующая: Spoiler local flag = true local t = 0 local timeout = 3000 function main() if flag then (основные действия) end end function check() if (условие остановки скрипта) then flag = false -- отключение main() t = time_global() -- начало отсчета level.add_call(delay, restart) end end function delay() -- проверка каждый апдейт return time_global() > t + timeout end function restart() -- срабатывание при delay() == true flag = true -- включение main() end 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 4 Июня 2020 (изменено) @AndrewMor Под "моментом прерывания" понимается значение какой-то переменной? Если переменная в том же скрипте и хранится вне основной функции, то есть не обнуляется при каждом запуске, то "момент" должен запомниться правильно. Изменено 4 Июня 2020 пользователем Norman Eisenherz 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 16 Июня 2020 @ptichkin только движок: [xr_3da\xrGame\game_cl_mp.cpp] и [xr_3da\xrGame\ui\UIStatsIcon.cpp]. 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 23 Июня 2020 @Ninna 1. [config\ui\map_spots.xml]: actor_level_spot и actor_level_spot_p. Добавить stretch=1 к каждому заголовку и задать width, height сколько требуется. Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 28 Июня 2020 @СЕРА Может, complex_mode для этого окна не включен? Если текст скриптовый, нужен парный слэш – \\n. 1 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 28 Июня 2020 @СЕРА В конфиге окна complex_mode=1 – перенос по словам и доп. форматирование (переносы, цвет текста). Выложи файл, из которого текст читается – быстрее будет, чем гадать. 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 28 Июня 2020 @СЕРА До правок в этой фразе был один слэш? Для XML-текста перенос \n, для скриптового \\n. Вот такая фраза переносится правильно: <text>Интересно... Странно как то для доктора это. Я слышал он дальше с болот редко куда ходит...\n Ладно. Я сюда-то по делу пришёл. Ты учёных как раз то не видел?</text> 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 21 Августа 2020 (изменено) alife():release( alife():object( db.actor:object(section):id() ) ) или … db.actor:item_in_slot(…) … или … alife():object(name) -- если есть точное имя (секция + номер спавна) Изменено 21 Августа 2020 пользователем Norman Eisenherz Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 23 Августа 2020 @Ninna Циклическая проверка в actor_binder:update(delta), в исполняемой части db.actor.power = x – требуемая прибавка к запасу сил за цикл (для имитации отключенного в ТЧ эффекта Аномальной кожанки x = 0.02 в секунду). Предварительно проверять броню в слоте и текущий запас сил, чтобы зря не гонять апдейт. Другой вариант: правка движка для обработки свойств, уже существующих в конфигах брони (для ТЧ). 2 Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 4 Сентября 2020 @Libery Основной метод: get_hud():GetCustomStatic(name). Новые статики (окно + текстура) указывать в [config\ui\ui_custom_msgs.xml]. Можно сделать SEQ-файл со списком текстур ("облачка" разного размера) и проигрывать по кругу, пока в слоте есть броня с противогазом. Пример: анимация указателя – [textures\ui\ui_ani_cursor.seq] Можно взять одну текстуру и добавить в описание статика анимацию со словом "blinking" в названии. В базовой игре есть варианты с циклом 1 или 2 секунды, оба с плавным затуханием. Можно отслеживать стамину и переключать текстуры по какому-то правилу – в "солянке" такой эффект есть. Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 4 Сентября 2020 2 hours ago, Libery said: один патрон См. create_ammo(…) в [se_respawn.script], там можно указать количество. 1 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 8 Сентября 2020 См. [xr_effects.script]. 1 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 15 Сентября 2020 @UriZzz В ТЧ нетпакет для слота фонарика, torch_flags (UPDATE, -1, u8), значение 6 или 7 = ПНВ включен. 1 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 17 Сентября 2020 @Libery Версия игры? Глобальные моды? В ЧН, например, есть обработка hit_callback для специального кровососа (который неписей раскидывает) с переводом всего входящего урона в прибавку к ХП – может, что-то подобное включено. Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 31 Марта 2021 @exDeMODER В базовой версии ТЧ у класса CUITrackBar всего два уникальных скриптовых метода: задать и прочитать значение, причем оба метода работают только в булевом режиме – false/true = значение 0 или > 0. Кроме того, окно CUITrackBar дает вылет, если в XML-описании нет блока <options_item entry=… /> с названием одной из указанных в [xr_3da\xr_ioc_cmd.cpp] настроек игры, и настройка реально меняется этим новым ползунком. Пример применения есть в моде "Золотой шар" под ТЧ: условный электрощиток как раз с такими ползунками и учетом положения "вкл/выкл" (X-18, колонна на входе). 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 31 Мая 2021 @Askar Съедание через eat:object() не дублируется сообщением на HUD – может, в этом дело? Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение
Norman Eisenherz 320 Опубликовано 1 Июня 2021 @Askar На всякий случай, сверим формат команды: db.actor:eat( db.actor:object("секция") ). При пустом объекте не будет ни действия, ни вылета; если объект указан, будет действие без сообщения – сообщение выдается только при использовании предмета через контекстное меню в инвентаре. Мини-моды: ТЧ ЧН ЗП Шпаргалка Поделиться этим сообщением Ссылка на сообщение