-
Число публикаций
1 223 -
Регистрация
-
Последнее посещение
-
Дней в топе
4 -
AMKoin
1,851 [Подарить AMKoin]
Весь контент пользователя RayTwitty
-
@Norman Eisenherz если важно получить время, то скорее всего без правок движка никак. Или хотя бы расширить кастрированные луашные пространства имен ("лайтовые правки движка") - io, os и т.д. Вроде давно были эти библиотеки внедренные в xrLua.dll или проброшенные туда, без правки основного движка (xrGame.dll, .exe etc). Суть наводки - может быть можно будет получить текущее время системы в мс и уже это ловить на сталкерском апдейте вместо time_global().
-
Сам реализуешь же. На каждом апдейте сдвигаешь скролл на определенный шаг, по сути это и есть скорость. Расстояние - разница между текущим и предыдущим положением, хотя может это вообще не понадобится, зависит от того как напишешь. Единственный тонкий момент, как уже выше писали, учесть FPS. Еще может быть каких-то скриптовых методов не экспортировано, никто же не знает чистый у тебя движок или нет. Если нет, то вообще лучше в движке сразу сделать и не мучаться.
-
@Norman Eisenherz 3 дня выясняли что не так с апдейтом, почему он не работает, даже в игру полез проверять, как оказалось, что все работало, а дело совсем в другом Я же об этом еще в этом посте спрашивал... Значит кури класс CRenderDevice - https://www.amk-team.ru/forum/topic/7450-spravochnik-po-funkcijam-i-klassam/?do=findComment&comment=272244 time_global()\device().time_global() в меню использовать смысла нет, пробуй другие счетчики, например device().frame, а дельта между кадрами device().f_time_delta (у меня тоже нулевая, но я дальше главменю не загружал). Работу всего этого можно тестить с включенным vsync, залочит на 60 кадров, без него будет улетать на сотни-тысячи, разницу в показаниях видно будет сразу, "другой ПК" не нужен. P.S. Вопрос риторический - зачем считать время (его мы не получим), если можно считать скорость и расстояние (скролла)? Единственное, как учесть FPS, но это см. выше.
-
@Norman Eisenherz у меня следующий код работает без проблем в главном меню: function main_menu:Update() CUIScriptWnd.Update(self) log("main_menu:Update") end Как при выгруженной игре, так и при загруженном сейве апдейт не останавливается. Так что все должно быть норм. Подразумевалось, что этот баян (16 летней давности) уже известен и у тебя есть функция на замену для вывода данных (там же комментарий написан). Выводи любым способом, да хоть тем же get_console():execute("load ~~~ ВАШ ТЕКСТ"), как это делали бородатые дядьки АМК)
-
В движке, обычно где-то есть перечисление с этими стейтами. У артов оно в заголовке Artifact.h - enum EAFHudStates В ОГСР в lua_help есть методы доп. веса - get_additional_max_weight/get_additional_max_walk_weight, но они вызываются вроде бы только для костюма. Я посмотрел, я эти методы добавлял еще в самом первом открытом репо по сталкеру Оттуда их видимо и перетащили. Туда конечно потом надо было дописать и обработку артов. Короче говоря, получить доп. вес костюма в слоте можно с помощью этих методов, а по артам - итерация по поясу и сложение параметра доп. веса из конфига. В сумме получится финальный прирост по весу, который уже можно добавлять к actor_max_weight/actor_max_walk_weight и сравнивать это все с get_total_weight. Или можно сразу в ЗП сырцах посмотреть, что нужно для того индикатора веса, чтобы не гадать. Я например не помню, который параметр ему нужен - max_weight или max_walk_weight)) То есть, следующий код выведет строку в лог только один раз? function load_dialog:Update() CUIScriptWnd.Update(self) log("load_dialog:Update") -- функция вывода может отличаться в зависимости от платформы end Если так, то дело может быть в паузе (что если ее выключить?) или искать внешний источник обновления. В движке есть тот же рендер (OnFrame), но доступа из скриптов к нему нет. Эти вещи лучше всего конечно сразу там делать.
-
Ну если load_dialog:Update() вызывается один раз, тогда никакХотя ЕМНИП в главном меню оно работало нормально, можно попробовать оттуда пробросить вызов. Это который на худе типа как в ЗП? Так для него просто нужно получить текущий вес инвентаря и сравнить с db.actor:get_actor_max_weight() или db.actor:get_actor_max_walk_weight(). Зачем второй раз считать всю эту заморочь, если движок уже посчитал?) Возможно стейты (номера) другие, скрипт работает для оружия и гранат/болта. Никогда эту фичу с артом не ковырял, может там другие стейты идут... В методе is_idle_state попробуй замени if self.item:is_weapon() then на if self.item:is_weapon() or self.item:is_artefact() then. У арта айдл вроде тоже нулевой стейт.
-
Так сам апдейт работает нормально? Выясни, проблема в апдейте или в твоем коде счетчика. Потом уже дальше разбираться. Ну так повесь вызов on_ruck на событие on_drop в том же биндере актора, будет при дропе еще уменьшаться вес. Впрочем, я не знаю зачем городить эти огороды, в ОГСР же по-любому должно в движке быть добавлено свойство арта на вес, неужели его там нет? P.S. https://github.com/OGSR/OGSR-Engine/wiki/Подробное-описание-изменений#new-properties-for-artifacts Конечно такого метода нет, разные движки же. В SA xray-extensions. В ОГСР должны быть свои новые методы для этого всего, читай доку по движку. Имя худ секции можно просто из конфига прочитать как строковой параметр, разницы нет.
-
Нужно выводить в лог значение time_global за пределами условия и смотреть, что не так. Там же игра на паузе стоит, я не помню меняется ли time_global в этом случае. Первый раз гарантировано сработает потому что сравнение с нулем.
-
@Капрал Хикс там просто выбор анимки в зависимости от условия, типа с надетым подстволом одно, у двустволки другое и т.д. -- В той же ветке, после elseif get_clsid(self.item) == clsid.wpn_bm16_s then ... -- впилить elseif self.item:is_artefact() then ... end Кстати, в актуальной версии скрипт посвежее В меню можно же подвязаться на апдейт UI-системы: function Менюшка:Update() CUIScriptWnd.Update(self) ... end
-
В блок "Новые сообщения\темы" на главной я бы чутка добавил воздуха, так как сейчас он слегка выбивается из общего дизайна: // было #bimProStats .ipsDataItem { padding: 0px var(--sp-2); } // стало #bimProStats .ipsDataItem { padding: 5px var(--sp-2); } Блок немного растянется по высоте, но совсем некритично на мой взгляд. Зато внешний вид станет куда органичнее. P.S. Кстати, пользуясь случаем, могу предложить подумать на счет возвращения "олдовой" фичи форума с кнопками основных разделов, которые размещались справа от логотипа. Оно было достаточно удобно. Посмотреть визуально наверно можно в веб-архиве за 2010 год или примерно в то время. Я даже как-то с помощью скрипта крепил на странице эти иконки: Сами ассеты до сих пор живые:
-
Не, я же не про тотальную жесть типа какого-нибудь двача или комментов на пикабу. Например, зашел я на рандомную страницу одной из тем ап-про (даже не моей): https://ap-pro.ru/forums/topic/2868-prosto-oruzheynyy-mod-tch/page/6/#comments Ну не вижу я каких-то проблем с потреблением контента на странице. И все нормально общаются даже при отсутствии правил в стиле грамматического нацизма. Понятное дело, где-то кто-то коряво напишет, идеального мира нет, но даже тут надо смотреть - одно дело простыня на страницу без точек и запятых, другое дело 2 строки текста, где итак все понятно, как по мне нужно реагировать по-разному на такое.
-
Фаллаут и Метро вполне себе уместно. Там ниже написали, что есть раздел "Другие игры", но в том и дело, ты попробуй до него долистай вниз, зайди в него и найди что нужно. Возможно тут уже это обсуждали, я целиком тему не читал конечно. Я кстати не припомню (раз уж тут пример привели), чтобы на ап-про был где-то мат. Или прям какие-то жесткие срачи с оскорблениями. Обычно если такое и бывало раз в год, то это удалялось и все. То же касалось и ГМ - потерли и забыли, некоторые даже бекапы делали для истории) Так вот, вся эта вопиющая ненормативная лексика и вульгарность, которая мешает так жить - она сейчас с нами в одной комнате? Или где ее можно увидеть? Оно конечно, сильно надо))
-
Тут смешная мысль закралась - создать аналог "Дикой территории" на форуме, куда запустить всех "ГМ-овцев", чтобы они там резвились, устраивали срачи и прочее Ну а если серьезно, то некая "перестройка" (с) необходима, в разумных пределах конечно. Ибо возбуждение от слов "xз" в постах и последующего бана за "мат", ну это чистой воды перебор. Тут кто-то верно заметил - если оно грамотно и по контексту, никому же не помешает, не оскорбит. Понятно, что условные школьники общаются на уровне своего возраста, но а что делать, когда тут реально три пенсионера останутся?.. (рит.в.) Тему пока не дочитал, такие первые мысли после прочтения шапки.
-
Прям сильно внимательно не слежу, но разве там "вкусовщина" не вырубается либо на этапе препроцессора дефайнами либо в геймдате через конфиг? В секции features или установкой значений по умолчанию по принципу "параметр не прописан - фича не работает".
- 14 169 ответов
-
- мод
- s.t.a.l.k.e.r.
-
(и еще 5 )
Отмечено тегом:
-
Так изначально и ХЕ затачивался под этот самый OGSE, тем более что Malandrinus и K.D. оба были в команде OGSE)) И только после того, как в проект начали входить другие люди, в том числе и я, Malandrinus добавил препроцессор для конфигурирования сборок. А я уже настроил сами правки так, что скачав сейчас последнюю версию, мы получаем максимально дефолтную сборку (насколько это возможно) без разных специфических штук, которые работают только на OGSE или где-то еще. Я еще помню, как меня в личке даже обвиняли в ломании обратной совместимости, типа моя деятельность по "унификации" плохо отражается на OGSE-разработке Хотя как показало время, моя тактика была верной, а препроцессор закрыл вопросы с конфигурацией. P.S. Впрочем, я не припомню, чтобы OGSE или правки движка, которые в нем используются были шибко конфигурируемы. Тут уже выше заметили, что статику там вырезали еще до появления исходников) Достаточно бескомпромиссное решение, хотя это был вроде только 2014 год или где-то так.
- 14 169 ответов
-
- мод
- s.t.a.l.k.e.r.
-
(и еще 5 )
Отмечено тегом:
-
По-моему изначальная задумка проекта была в том, чтобы перевести один конкретный проект, а именно OGSE/R на исходники вместо движковых правок xray-extensions)) Название движка как бы намекает. А то что со временем он стал конструктором "настрой движок сам" это уже отхождение от изначальной концепции. И то, что они стали еще сильнее отходить уже мало на что влияет. В идеале надо было останавливаться 5 лет назад после переноса последней штуковины из xray-extensions, делать форк и двигаться дальше по принципу "я художник, я так вижу".
- 14 169 ответов
-
- мод
- s.t.a.l.k.e.r.
-
(и еще 5 )
Отмечено тегом:
-
Там кстати выше есть мой коммент по поводу вырезания статики) Если кратко - ее очень сложно поддерживать левел дизайнеру, так как процесс настройки освещения там никакой. Плюс у статики как рендера есть целая куча проблем и недоделок еще с оригинала - кривое освещение дин. объектов, воллмарков, травы, воды, тумана и прочее такое. По сути нормально освещается только статическая геометрия статическим же освещением, и то не всегда - тому пример синие кусты на билдолоках. Про кривизну дин. освещения на первом рендере я вообще молчу. Очень много проблем, которые тормозят разработку локаций. Про внутридвижковые проблемы уже сказали в посте на ап про по твоей ссылке. Оставлять первый рендер в 24 году рекомендуется только тем, кто пилит какие-то билдомоды или использует билдовские локации и хочет типа сохранить шарм статики (и при этом знает как со всем этим работать). Во всех остальных случаях - вырезать под корень. Не вижу ничего сложного - git позволяет откатиться на любой коммит и начинать с него. При желании можно сделать форк - как это сделал например я в самом первом репозитории на xp-dev, когда Alpet начал тащить в него NLC-специфичные штуки, которые конечно крутые, но мне были не нужны.
- 14 169 ответов
-
- 1
-
- мод
- s.t.a.l.k.e.r.
-
(и еще 5 )
Отмечено тегом:
-
С каких пор отмена абсурда является прогрессом?) Прогресс это следующий этап априори.
-
Не думаю, что ссылки на группы, "проверки видео Ютуба" и прочее подобное превратят форум в "соседний ресурс". Я вообще про такое даже не знал Хотя, по старой памяти тут много кринжа видел в правилах. Например, тот же запрет на "варез и кряки", не знаю есть ли он до сих пор (специально не смотрел), но по этому правилу можно зачистить форум почти под ноль, ибо все моды сейчас являются взломом (правки движка). Останется разве что Автозона, Новая война и сам АМК мод С таким подходом, конечно ожидать каких-то новых тем и притока юзеров вряд ли можно. Становится вопрос - а нафиг? Может в правилах написано, что нельзя больше одной картинки вставить в пост или картинка должна быть не больше WхH и N кб, а то у людей ведь трафик. А еще лучше вообще это спрятать под спойлер, а лучше сразу под два, для надежности Когда залететь можно от чего угодно... Мне это напомнило историю, как на "соседнем ресурсе" решили запретить эмодзи клоуна
-
Редактирование движка X-Ray
RayTwitty ответил на тему форума автора Rolan в Скрипты / конфиги / движок
А может ли кто пояснить на счет формата моделей OGF между ТЧ и ЧН/ЗП? В чем конкретно отличие, почему вторые не заводятся в некоторых случаях на первом? 16 битные анимации? Или есть еще разница в форматах? Интересуюсь на тему того, чтобы добавить поддержку в ТЧ. -
@Капрал Хикс если имеется ввиду с помощью уже существующих скриптовых хаков - вряд ли, в родительском CWeaponCustomPistol порезали пару методов. Проще реализовать функционал бинокля на классе автомата. Там по сути только регулировка зума и рамочки живых объектов. Зум делается элементарно (e.g. БТР в Shadows Addon), рамочки чуть сложнее. Зато не надо морочить голову с пушками на классе бинокля. Если будут интересовать рамочки, проекция точки в мире на экран тут внизу.
-
Язык Lua. Общие вопросы программирования
RayTwitty ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Только для мировой модели объекта - play_cycle. В случае с НПС/монстрами play_cycle практически бесполезен, так как перебивается движком или другими скриптовыми схемами. Подходит по сути только для неживых объектов. Для худа оружия (hud_item) проиграть анимацию на оригинальном движке нельзя. -
Прикольная вещь. В Anomaly есть подобный функционал, может понравятся какие-то идеи для реализации. Нечто подобное и у меня есть, но оно как и в случае с Anomaly прибито гвоздями к движку https://disk.yandex.ru/i/wV90IqHxeH_H8Q
-
@Colder function read_list(section, ini) if not ini then ini = system_ini() end local t = {} for i = 0, ini:line_count(section) - 1 do local result, id, value = ini:r_line(section, i, "", "") if result then t[id] = value end end return t end local t = read_list("item", ini_file("items\\settings\\txr_list.ltx")) ключи таблицы - твои предметы
-
Просто в игре у объектов, расположенных совершенно по-разному - один на стене, другой на потолке - может быть вектор с одинаковым значением direction. Как будто бы direction это вращение вокруг какой-то своей оси координат, изначально заданной углами вращения в глобальной системе координат.
УЧИМСЯ МОДДИНГУ
ИГРАЕМ В МОДЫ НА ТЧ
ИГРАЕМ В МОДЫ НА ЧН И ЗП
- [ЧН] OGSM CS 1.8 CE Fixes
- [ЧН] HARDWARMOD 3.2
- [ЗП] The Long Road
- [ЧН] New vision of War
- [ЧН] Old Good Stalker Mod - Clear Sky
- [ЗП] Unofficial Patch
- [ЗП] Смерти вопреки
- [ЗП] Контракт на хорошую жизнь
- [ЗП] Shoker Weapon Mod 2.1
- [ЗП] Hardcore pack for SGM 2.2
- [ЗП] Контракт Синдиката
- [ЗП] Клондайк 2.0
- ...и другие моды
ПОЛЕЗНОЕ И РАЗНОЕ