Перейти к содержанию

Prostomod

Разработчики
  • Публикаций

    2 083
  • Зарегистрирован

  • Посещение

  • Победитель дней

    13

Весь контент Prostomod

  1. Shew_Power Ну... даже не знаю... наверно тем, что второе - это сам игрок (его спавн в НИ), а первое - пистолет Макарова уникальный.
  2. Drive Ну, как я понял: если писать без параметров, то удалится тот объект, из логики которого вызвана функция если писать с параметрами story:pri_a28_earth_helli_1, то удалится объект по story_id есть ещё вариант с вызовом 3 аргументов, но его использование в логике я не увидел. Если судить по скрипту, то это что-то связанное с работами в смартах (удаление НПС по работе?).
  3. Понял, кроме одной детали: а разве xrSE_Factory не требуется движку для регистрации классов в class_registrator, чтобы можно было их использовать в игре? Я пытаюсь создать свой класс мутанта, и он отказывается регистрироваться (в миксе в лог пишется "! [LUA] Cannot register class имя_класса"), заодно и несколько других новых поломалось (CBattery, CAntigasFilter и CRepairKit). Понятно, что я мб накосячил где-то в другом месте, но, пытаясь решить эту проблему, ниточка привела в этот проект. Пока что кажется, что изначально такие классы прописывались в object_factory_register.cpp, который как раз в этом проекте и находится. Или я что-то не понимаю и для экспорта в lua классов этот файл вообще не нужен?
  4. M.F.S. Team Привет. Понадобилось мне поковырять xrSE_Factory и наткнулся я на проблему с lua библиотекой: в файле xrSE_Factory.cpp есть два инклуда #include <lua/library_linkage.h> #include <luabind/library_linkage.h> и проблема в том, что в самом решении нигде нет именно library_linkage.h файлов, хотя в папке SDK/include есть директории и lua, и luabind. Верно ли я понял, что это надо отдельно качать и устанавливать луа, и потом прописать пути компилятору? И если да, то какая версия нужна для движка? Кстати, из всего решения только 3 проекта не удалось скомпилировать т.к. они просят windows SDK версии 8.1. xrSE_Factory один из них.
  5. За основу взял CPseudoGigant, однако его пришлось модифицировать чуть-чуть и создать ещё один класс (назвал CPseudoGigant_orig) чтобы и мой псевдыч, и оригинальный были экспортированы в Lua (по идее, просто иначе вообще не компилилось). В новом я пытаюсь скомбинировать некоторые способности других мутантов, такие как щит бюрера, атаки от огненного и электрического полтера, хочу ещё добавить фичу с прыжком снорка (и да, я ничего не курил, когда это придумывал, хотя мб попробовать...?:)). Сейчас вряд-ли заработает всё это, но хочу хотя бы заспавнить его как обычного псевдыча, чтобы дальше дорабатывать. Если что, я для всех своих правок сделал публичный форк из оригинального Advanced X-Ray (по этой ссылке находится ветка с новым псевдычем), можешь там поглядеть. Свои последние изменения загрузил в ветку. Предупреждаю - рефакторинга не делал ещё. Ну и, на всякий случай, вот частично исходный код семейки гигантов.
  6. Не думаю, что кто-то сможет помочь, но вдруг... Сразу скажу - работаю с Advanced X-Ray 1.9.26 со своими правками, не оригинальным движком. В идеале - хочу получить наводку "что у меня не так", а минимум - правильно ли я зарегистрировал новый класс в class_registrator и других скриптах для использования в конфигах. Пытаюсь зарегистрировать класс в class_registrator: В конфигах пока нигде класс не применял от слова совсем, не знаю, насколько это влияет. Проблема такова, что класс вообще не регистрируется, потому что в логе встречается запись ! [LUA] Cannot register class CAnomalPseudoGigant Ну и потом вылетает с ошибкой "! [LUA] ...ommon\stalker call of pripyat\gamedata\scripts\_g.script:551: table index is nil", которая, как я понял, является следствием невозможности зарегистрировать класс. P.S. Предвидя вопрос "Зачем?": ради эксперимента (и дополнительного опыта работы с движком) решил попробовать сделать класс нового моба на основе существующих, включая боевую логику. Не факт, что у меня получится реализовать, но попробовать стоит. Если же получится - выйдет отличный моб для одной сцены в моём моде.
  7. Да неужели!? Столько всяких сборок было на СоС (да даже на ту же аномалию), а проектов с новыми локами по пальцам пересчитать можно. А то стандартный пак уже на зубок все знают. UPD: Блин, показалось что это оригинальная аномалия, а не антология, где и так новые локи есть... В любом случае - новость хорошая.
  8. Shew_Power Ну, если тебе не нужны оригинальные локи, то можно просто собирать all.spawn без этих локаций. Тогда автоматически вырежется весь сюжет оригинала - нечему будет его триггерить. Конфиги и скрипты оригинальных заданий удалять смысла нет т.к. очень часто какие-то компоненты будут переиспользоваться, да и весят сравнительно немного, но если уж приспичит - придётся выискивать долго по всем конфигам всё, связанное с оригинальными заданиями.
  9. Вопрос неопределённой степени глупизны: кто-нибудь знает мод на ЗП, где реализовали сцену с атакой кровососа на отряд как с ЧН (сначала шелест вокруг, потом он прыгает на одного из них, после рычит и упрыгивает с трупом в кусты)? Хочу попробовать сделать такое, но не уверен, что в ЗП есть всё необходимое для такого, а для сравнения с ЧН мне не хватает просмотра спавна в SDK (думаю, ни для кого не секрет, что в SDK 0.7 его не посмотреть, а отдельно для ЧН ставить не хочется). Кстати... Есть ли смысл спрашивать, находятся ли тут люди, успешно добавившие новый класс мутанта в движок? На случай, если понадобится помощь по этому вопросу...
  10. Не знаю, мне норм и так решение с переключателем: глобально НПС в аномалии не попадают и ничего не ломается, а если нужно кого-то в сцене в них казнить - по story_id временно включаем и отключаем воздействие аномалии на НПС без создания сложной логики. Только подеббажить надо ещё... Вопрос другой: есть ли функция с скриптах, срабатывающая только при НИ? И actor_binder:__init срабатывает единожды при загрузке игры или любая перезагрузка (в т.ч. сейв-лоад) пересоздают объект? Хочу привязать некоторые действия отдельно при старте НИ и отдельно при загрузке сейва.
  11. Ну а если без шуток, то такие вопросы нужно задавать в тему мода. К сожалению, из поста вообще не понятно, о каком моде идёт речь, поэтому дать ссылку на тему не могу.
  12. Mawrak попробуй xr_effects.forward_game_time. CiberZold уже поправил в движке, теперь сцена работает почти как надо (хотя мб надо будет дорабатывать). А чтобы остальная игра не поломалась - сделал эту опцию включаемой. Кстати, спасибо за наводку на СоС - надо будет порыться в их исходниках. Хотя, я не удивлюсь, если они починили их методом с АМК.
  13. AziatkaVictor Мне вообще кажется, что либо это бот (но тогда, надо признать, очень умный), либо заплатили рекламщику: 1) реклама стороннего магаза там, где не просили. 2) ошибка в рекламе (понятна какая). 3) новорег с 1 сообщением (последнее скорее как дополнение к первым 2)
  14. ScR1pt С любой другой аномалией я б так и поступил, но в моём случае это не получится - у меня гравитационная аномалия, в которую должен затянуться НПС, после чего его разорвёт. Я подозреваю, что даже, если делать это через движок, то это будет очень легко - мутанты ведь прекрасно мрут в аномалиях. Хотелось бы просто получить наводку на этот "переключатель" (даже если в движке - в каком классе + метод или функции). UPD: нашёл на АМК, вроде как, наводку на место в движке, где блокируется воздействие аномалий на НПС.
  15. В зп, как известно, НПС всё-равно на аномалии. Можно ли этот иммунитет как-то отключить? Делаю сцену, где НПС должен попасть в аномалию, но получается так, что он просто стоит в её центре. Даже если скриптово убить его вручную, аномалия не реагирует.
  16. makdm Ага, нашёл, спасибо. Для остальных - get_object_story_id(obj_id). Со свою глупостью касательно DCSR уже год как мучаюсь. Хотелось бы исправить её, но это невозможно, либо мне неведомо.
  17. Насколько я знаю, на ванильном движке нельзя вообще такое делать. Максимум - сымитировать какие-то действия от 1 лица путём создания подходящей траектории камеры. Хотя точно были моды с катсценами от 1 лица (Chernobyl Chronicles вроде как один из них), но надо поглядеть, что там с двиглом и как оно там работает. (Поглядел - там правленный двиг. Интересно, а где-то есть исходники движка этого мода...?) Дополнено 1 минуту спустя Хочу спросить знающих: как мне получить story_id (если нет у объекта его, то получить nil) из конкретного объекта? Пытаюсь реализовать один скрипт, где происходит итерация по всем членам сквада, и я хочу попытаться получить story_id каждого члена.
  18. Поглядел я на механизм отправки сообщений и захотелось мне упростить его... Решил переделать механизм отправки сообщений путём добавление конфига, в котором можно прописать секции сообщений с параметрами. Результат такой: сделал скрипт для чтения конфига и поиска сообщения по его ИД (имя секции), ну и сам конфиг сделал. Вообще, можно было б это прямо в xr_effects.script засунуть, но решил, что лучше разделить. Теперь не нужно будет прыгать по разным файлам логики для редактирования сообщения или вспоминать сигнатуру функции отправки сообщения - просто открываем один конфиг и правим в одном месте всё, что надо. Ещё фича - конфиг читается каждый раз, как вызывается функция отправки сообщения, поэтому необязательно перезаходить в игру при настройке сообщений (например, времени отображения или иконки). Разве что сами тексты по string_id нельзя редактировать, но тут, я так понял, это связано с тем, что они читаются 1 раз при запуске игры. UPD: сама функция не для xr_effects.script, а для вызовов из lua. Чтобы использовать её в логике, необходимо её зарегистрировать отдельно в xr_effects.script.
  19. M.F.S. Team Вообще, я просто скачал проект с гита себе на комп (точнее, сделал форк и его скачал), а после просто запустил и стал работать. Никаких путей я не правил и, честно, даже не знаю, как это делать.
  20. M.F.S. Team я так и сделал - игра не может найти fsgame.ltx. Что-то не обратил внимания, что директория, где у меня исходники, отличается от директории, где игра. До этого просто собранные файлы из OutputDirectory/Binaries/Release в геймдату перетаскивал. Мб в этом проблема? Тогда как мне правильно объединить игровые файлы и исходники, чтобы при дебаге могла запуститься игра? Как установить уже собранный движок на игру вопросов нет, а вот как с исходниками быть - не знаю.
  21. M.F.S. Team Привет. Есть довольно комплексный вопрос. Я хоть и работал с плюсами несколько лет в движке UE, но ковыряюсь в исходниках X-Ray впервые, поэтому заранее извиняюсь за возможные тупняки. Решил для себя внести некоторые модификации в движок, и пока что всё меня устраивало: фичи приделывались, движок собирался, в игре всё работало. Однако, делал я всё это без дебаггера, но он и не требовался - довольно простые правки были. Теперь решил я реализовать достаточно сложную фичу, чтобы мне понадобился дебаггер, но мне не удалось запустить игру с ним. Я выставил конфигурацию "Debug x64", сделал проект xrEngine стартовым (если стартовый - ode, то выдаёт ошибку "Unable to start programm ode.dll"), но при попытке запустить игру через Local Windows Debugger выдаёт ошибку "Cannot open file "fsgame.ltx"" (как я понял, запуск происходит напрямую через .exe в bin, вот и ругается). Вот и хочу узнать: как мне корректно запустить игру через VS с дебаггером? Ещё одна деталь, мб повлияет как-то: мне не удалось собрать движок через VS2019 (проект требовал компонентов, которых не было в установщике VS), но я смог успешно работать с проектом через VS2022 с апгрейдом проектов (Windows SDK 10.0 latest и Platform toolset v142).
  22. Ещё хочу спросить: можно ли как-нибудь автоматически телепортировать НПС по работам в смарте в случае, если спавн произошёл в онлайне? Можно, конечно, индивидуально прописать каждому НПС телепортацию на точку при спавне, но хотелось бы и это автоматизировать. У меня есть момент, когда НПС должны появиться вблизи игрока, но вместо того, чтобы заспавниться на точках работы и запустить сцену НПС спавнятся на позиции смарта и расходятся по работам.
  23. Такой вопрос: я могу как-то получить количество секций из .ltx файла? Не строк в секции, а именно самих секций? Я знаю, что могу просто сделать одну секцию, в которую буду прописывать их число вручную, но хотелось бы как-нибудь автоматизировать это.
  24. Gribanov Извини, не заметил. Сейчас исправлю. Дополнено 1 минуту спустя Удалил лишнюю папку, архив перезалит. Вес изменился некритично.