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

Hardtmuth

Модераторы
  • Публикаций

    3 574
  • Зарегистрирован

  • Посещение

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

    97

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

  1. Electronic Arts открыла регистрацию на бета-тестирование крупного обновления для клиента Origin на PC. Дата тестирования пока неизвестна, но сначала оно пройдет для активных подписчиков Origin Access Premier. А после распространится на остальных пользователей. Вместе с новостью о тестировании был опубликован первый скриншот новой версии клиента. Можно сразу заметить, что в клиенте почти полностью убрали белые цвета. Словно включили «темную тему». Как отметили некоторые пользователи, оформление напоминает музыкальный сервис Spotify. Снизу скриншота можно увидеть категорию с рекомендациями на основе трендов. Источник
  2. Название: Dead Autumn Платформа: Тень Чернобыля | Патч: 1.0004 Разработчик: Sany@Prizrak Дата выхода: 7 Октября, 2012 Атмосферно-текстурный мод, который предлагает игроку новую погоду, текстуры, и всяческое улучшение как графических, так и атмосферных аспектов игры. Вступление от разработчика: Подробное описание: Загрузка и установка: Скриншоты: Видео:
  3. Название: Наёмник Сом Платформа: Тень Чернобыля | Патч: 1.0004 Разработчик: Дизель Дата выхода: 27 февраля, 2013 г. Наёмник получает задание, найти шесть контейнеров с электрической начинкой пси-воздействия, похищенные Стрелком со станции, которые в последствии явились причиной эпидемии Зомби. Для этого необходимо найти их на разных локациях и уничтожить.
  4. Hardtmuth

    Krovosos mod

    Название: Krovosos mod | Актуальная версия: 4.0 Платформа: Тень Чернобыля | Патч: 1.0004 Разработчик: AMK / Vovan0792 (Krovosos) Дата выхода: 2012 Описание: Обновленная версия модификации Krovosos mod. В актуальной версии была исправлены много багов, доработана концепция модификации, исправлены новые сюжетные линии Новая сюжетная линия: Начинается примерно при прохождении локации "ЧАЭС". На локации "Саркофаг" дается новое задание (смотрим КПК), ну и продолжение уже во фриплее. Сюжет посвящен поискам "остатков" группировки "Чистое Небо" Меченым. Особенности модификации: Особенности версии 4.0: История изменения версий: Общая информация: Что взято из других модов: Загрузка и установка: Скриншоты:
  5. В ближайшие часы всё должно быть хорошо. Тестировалась одна штука.
  6. Какие 4 месяца? Игра год разрабатывается. А судя по тому, что они обещают (открытый мир, неленейный сюжет, симуляцию жизни и т.д), игру ждать ещё как минимум года 2-3.
  7. Stern-13 FredD64 появилась небольшая информация от Алексея. Пока что дизайн остаётся таким. Если в будущем все будет хорошо, закажем разработку сталкерского дизайна.
  8. Давайте тогда нацепим колючую проволоку, фон и шапку по тематике. Тогда дизайн превратится в порнографию, а не в аккуратный и приятный для восприятия дизайн. Это моё личное мнение.
  9. Нужно двигаться вперёд и избавляться от наскучивших элементов.
  10. «С нашим первым видео мы хотели дать вам почувствовать атмосферу, а также показать мир, в котором вы будете путешествовать.» Разработчик: GSC Game World Дата анонса: изначально: 13 августа 2010 | повторно: 15 мая 2018 Официальная группа: vk.com/stalker2 Официальный сайт: stalker2.com S.T.A.L.K.E.R. 2 — возвращение легендарной серии от GSC Game World: один из самых больших открытых миров с масштабной, нелинейной историей. В игре будет масштабный нелинейный сюжет. Решения игрока будут влиять не только на судьбу персонажей и локальные события, но и на мир в целом. Что такое S.T.A.L.K.E.R. 2? Известная информация: Официальные подробности: Официальные ответы на вопросы: Пресс-релиз об игре S.T.A.L.K.E.R. 2 от Захара Бочарова: Официальные изображения: Кадры из дебютного трейлера: Официальный трейлер: Официальный геймплейный тизер: Актуальные новости по игре:
  11. Название: Call of Chernobyl: Back to the roots (OpenXRay) | Актуальная версия: 892.1 + fix 3 Платформа: Зов Припяти Дата выхода актуальной версии: 30.07.2020 Официальная группа: https://vk.com/cryray_engine_x64 S.T.A.L.K.E.R.: Back to the roots - это модификация направленная на совмещение ключевых особенностей Зов Чернобыля версий 1.4.22 и 1.5, улучшение игровой составляющей и расширение возможностей создания дополнительных аддонов для модификации. Основная концепция: Расширение геймплейного потенциала, расширение контента, приближение атмосферы к хорошим модам на Тень Чернобыля. Список изменений в обновлении 890: Техническая и важная информация: Загрузка и установка: Скриншоты: Видео:
  12. [All] Поворот по оси Y Автор: Паша(Naxac) Несколько месяцев я наткнулся с одной проблемой, когда делал модификацию у меня нпс почему то были повёрнуты не туда куда нужно, рыскал в просторах интернета как же сделать чтобы нпс и т.д, были повёрнуты куда мне это нужно, спасибо одному человеку который подсказал даже функцию написал, его зовут Паша(Naxac), суть не в это. Давайте же приступим к практики.
  13. [CoP] Спавним Личный Ящик Автор: Novellus(Dee Key\D.K.) На днях пытался заспавнить личный ящик. Но когда я запускал игру и подбегал к нему, его не было видно, но воспользоваться можно. Так вот, порылся в файле модельки я щика и увидел то, что тексура пустая. То есть открыл модель через блокнот, нашел путь до текстуры, соответственно саму и текстуру, открыл ее редактором, а за место картинки "ящика" надпись - glow trans. Так вот, что бы это исправить, делаем следующее: 1) Распаковываем all.spawn, находим там alife_zaton.ltx, открываем его и листаем в самый низ. После копируем вот это: [0] - номер секции(не должен повторяться) ; cse_abstract properties section_name = inventory_box - не изменять name = zat_bandit_lager_actor_treasure - свое уникальное имя position = 405.11474609375,39.448211669922,-17.503120422363 - координаты direction = 0,0,0 ; cse_alife_object properties game_vertex_id = 293 - координаты distance = 0 level_vertex_id = 1632418 - координаты object_flags = 0xffffff3f custom_data = <<END [story_object] story_id = zat_a2_actor_treasure [level_spot] actor_box [logic] cfg = scripts\actor_inventory_box.ltx END ; cse_visual properties visual_name = dynamics\equipment_cache\equipment_box_02_case_dk - путь до модели с визуалом ; cse_alife_inventory_box properties tip = inventory_box_use Не торопимся сохранять. 2) Теперь идем по этому пути - gamedata\meshes\dynamics\equipment_cache и открываем с помощью блокнота вот этот файл - equipment_box_02_case.ogf. Найдите такую строчку - glow\glow_ghost и замените на такую - glow\glow_gp_dk (можете свое имя, только чтоб имя не превышало символов). Сохраняем. 3) Далее идем сюда - gamedata\textures\glow. Там через графический редактор (я пользуюсь Photoshop CS 4) открываем вот это - glow_ghost.dds. И рисуем все что угодно (лучше конечно ящик). Сохраняем в dds. Это будет тектура визуала нашего ящика.(кто не знает как работать с текстурами, вот вам тутор - Текстуринг. Название текстурки должно быть такое же, как вы до этого писали в самой модели, то есть - glow_gp_dk. 4) После чего возвращаемся в нашу секцию all.spawn/alife_zaton.ltx/ в этой строке - visual_name пишем свое. У меня так - visual_name = dynamics\equipment_cache\equipment_box_02_case_dk. 5) Сохраняем. Запаковываем all.spawn. Закидываем в папку с игрой. Тестируем.
  14. Создание инвентарного комплекса Автор: FantomICW Перед тем, как начать урок, я хочу сказать, что скриптовой частью я обязан товарищу Ховану и СГМ моду. Именно благодаря их скриптам я нашел способ сделать подобную вещь! Огромное им спасибо! А теперь перейдем к уроку. Введение Возможно, вы когда-нибудь задумывались над вопросом создания предмета, из при использовании которого в инвентарь будут выпадать сразу несколько других, как, например, универсальный медкомплект. Долго думая, я понял, что такого эффекта можно достичь используя коллбеки на использовании предметов. Что такое "коллбек"? Если коротко, - это что-то в роде скрипта инфопорции. Однако, коллбек может работать как единожды, так и постоянно: при подборе предметов, при их использовании, при выстреле, при попадению по нпс и так далее. Нас интересует коллбек использования предмета, который будет работать постоянно.
  15. Это заранее обсуждалось, что нет интереса возвращаться к сталкерским элементам. Маловероятно. Алексей говорил, что такой вариант не подойдёт.
  16. [SoC] Инвентарь и его особенности 1. Расположение предметов в инвентаре по-одному, как в билдах. Открываем Блокнотом или любым другим текстовым редактором файл inventory_new.xml по адресу gamedata\config\ui. Находим в этом файле конструкцию: <dragdrop_bag x="22" y="33" width="310" height="442" cell_width = "41" cell_height="41" rows_num="10" cols_num="7" unlimited="1" group_similar="1"/> Это настройка ячеек основного рюкзака в инвенторе главного героя. То есть общее пространство инвентаря (рюкзака). Найдём-же в этой конструкции строчку: unlimited="1" group_similar="1"/> Теперь меняем в строке group_similar="1" значение "1" на "0". Другое значение не ставить! Это бинарный код! Тоже самое проделываем в аналогичном файле inventory_new_16.xml по адресу gamedata\config\ui. Это файл, отвечающий за настройку интерфейсов инвентаря на прямоугольном экране (16\9). Теперь ищем другой файл, чтобы назначить группировку предметов по-одному в окнах торговли (рюкзак ГГ, рюкзак торговца\НПС и окна продажи и покупки. Ищем файл со славным названием trade.xml в том же каталоге. Там необходимо найти следующие конструкции: <dragdrop_list x="29" y="37" width="266" height="410" cell_width = "41" cell_height="41" rows_num="10" cols_num="6" group_similar="1" unlimited="1"/> <dragdrop_list x="18" y="35" width="262" height="410" cell_width = "41" cell_height="41" rows_num="10" cols_num="6" group_similar="1" unlimited="1"/> <dragdrop_list x="31" y="37" width="303" height="164" cell_width = "41" cell_height="41" rows_num="4" cols_num="7" group_similar="1" unlimited="1"/> <dragdrop_list x="31" y="37" width="303" height="164" cell_width = "41" cell_height="41" rows_num="4" cols_num="7" group_similar="1" unlimited="1"/> первые две конструкции отвечают за окно ассортимента игрока и окно ассортимента торговца\НПС. Две последних структуры отвечают за настройки окон продажи и покупки. Теперь необходимо во всех этих конструкциях править строчку group_similar="1" на group_similar="0". Тоже самое необходимо проделать в файле для широкоформатников trade_16.xml. Там всё аналогично. Ну и чтобы всё было по-билдовски и при обыске трупов и тайников нам нужно поставить 0 вместо единицы во всех строчках group_similar="1" в файле carbody_new.xml и его копии для прямоугольных мониторов carbody_new_16.xml. Теперь предметы группируются по-одному во всём графическом инвентаре. Я конечно, понимаю, что разработчиками GSC во всех технических бетах была реализована группировка вещей по одному не потому, что это красиво или ещё пуще - удобно, а только затем, чтобы тестировать item`ы в игре. Ведь вместо имени предмет всегда имел свой id, иногда другой номер или ссылку на что-либо; но мы настолько уже привыкли и безмерно полюбили как говорят "Тот Сталкер" или недочёты билдов, как это принято адекватно воспринимать, что эта фича для некоторых очень важны. Это примерно для таких хронических билдоманов, как я (таких хронических нет, но всё-же...) Итак, как же это выглядело в билде 1842, например? Госпади, какой-же был совершенный инвентарь... Как это выглядело в торговле в билде 2205-2215? Как это выглядело в инвенторе ГГ в билдах 2205-2232? Как это выглядело при обыске трупов в билде 2232 и 2205? Так выглядит в финалке со старым инвентарём. *Старый инвентарь можно скачать отдельно с АМК-форума (тема Сброс Инвенторя). Так-же он есть в Shadows Add-on, Phantoms Zone, Paradise lost, KV38 addon, Альфа Обливион мод 1.0 демо, Priboi story (тоже вариант). Нашёл способ и написал статью, я конечно. 2. Общая правка инвенторя. Основы. *Статья написана не мною, а взята со Stalker-Inside. Для работы над интерфейсом инвентаря нужны следующие файлы: ui_inventory.dds и ui_inventory2.dds (папка textures\ui\) inventory_new.xml, для обычных экранов или inventory_new_16.xml для экранов 16:9 (находятся в gamedata\config\ui\). Примечание: <!--текст--> - так выделяются комментарии в xml-файлах. Приступаем к правке Любой файл, описывающий интерфейс игры (не считая скриптовых), начинается следующими строками: <?xml version='1.0' encoding="UTF-8"?> <w> и заканчивается </w> Текстура слотов инвентаря: <properties_box> <texture>ui_cb_listbox</texture> <!--текстура инвентаря--> … </properties_box> Текстура пояса: <belt_slots x="0" y="80" width="1024" height="172"> <!--х, у – координаты текстуры на экране, width – ширина, height - высота--> <texture>ui_slots_belt</texture> <!--текстура--> </belt_slots> <main x=0 y=0 width=1024 height=768> <!--точка отсчёта текстуры, её размер (разрешение экрана)--> Текстура рюкзака, иконки актора, описания предметов: <back x="10" y="243" width="1005" height="483"> <!--точка отсчёта текстуры, размер, х, у – координаты текстуры на экране, width – ширина, height - высота--> <texture>ui_inventory_main</texture> <!--текстура--> </back> Дальше всё по аналогии, меняются только названия текстур и координаты. Параметры слотов: Рюкзак <dragdrop_bag x="22" y="33" width="310" height="442" <!--точка начала координат, размер, х, у – координаты экране, width – ширина, height – высота в сумке--> cell_width = "41" cell_height="41" rows_num="10" cols_num="7" <!--ширина и высота ячейки, rows_num – кол-во рядов, cols – кол-во строк--> unlimited="1" group_similar="1"/> <!--не рассматривал--> Примечание: если нужно увеличить или уменьшить количество строк и столбцов, то меняем параметр cell_width = "41" cell_height="41 rows_num="10" cols_num="7" на необходимый, дальше нужное вам число cell_width * cols_num = width - записываем полученное значение, желательно, чтобы влезло в текстуру слота рюкзака. К вылету не приводит, но если больше или меньше выглядит не красиво. Например, мои значения такие: <dragdrop_bag x="22" y="33" width="290" height="420"cell_width = "35" cell_height="35" rows_num="12" cols_num="8" unlimited="1" group_similar="1"/> Пояс <dragdrop_belt x="645" y="136" width="410" height="60" cell_width = "60" cell_height="60" rows_num="1" cols_num="5" />
  17. А других новостей у нас и нет. А будут ли вообще? ?
  18. Подумаешь, потерял 90% новостей сталкерского моддинга, которые публикуются только туда, а не на сайт. Ладно, лгу про 90%, но нормальная такая доля.
  19. Это уже другой разговор. Кому нужно и интересно, тот воспользуется переводчиком или своими знаниями других языков.
  20. Имеет полное право писать на языке, который считает родным и удобным для себя. You have the right to write in any language on AP-PRO.
  21.  par7LGCSdOY.jpg

    qmQCFPp2l0U.jpg

    1. Hunter

      Hunter

      Вот это, в натуре, подгон)

    2. Maks_2405

      Maks_2405

      ТЫ ПРЕКРАСНА)))

  22. Способ редактирования скрипта без выхода из игры. Это небольшой пересказ одного очень полезного, но по какой-то причине мало известного, урока. Ориентирован в большей степени на тех мододелов, которые умеют ковыряться в скриптах игры и могут сказать чем отличается функция от метода. Не для кого не секрет каким образом зачастую отлаживаются скрипты на ошибки, алгоритм до безобразия прост: 1. Пишем скрипт. 2. Запускаем игру. 3. Получаем вылет. 4. Смотрим в лог и правим скрипт. 5. Повторяем п. 2 - 4 до тех пор, пока вылеты не прекратятся. Ко всему, скрипт зачастую вызывается не на прямую, а через какое-то игровое действие - через диалог, поднятие/использование предмета и т.д. Как по мне - это чистой воды мазохизм. "Но что делать?" - скажите Вы, - "Если так устроена игра." Решать проблему, а точнее две! Первая проблема - это "бесконечные" вылеты. Вторая проблема - определённое действие для вызова скрипта, дабы проверить работоспособность. Первая проблема решается при помощи двух стандартных функций самого Lua, а именно dofile и pcall. Совместив эти две функции можно получить крайне полезную конструкцию, которая позволит выявлять ошибки не приводя к вылетам игры, и легко выводить описание ошибки непосредственно в лог. Для этого заведём для себя функцию, где pcall будет вызвать функцию dofile, которая в свою очередь будет выполнять нужный нам файл со скриптом. Выглядеть эта функция будет так: function ProtectedFunction() local status, result = pcall(dofile, [[..\gamedata\scripts\__test.script]]) get_console():execute(status and "Successful!" or string.gsub(result, " ", "_")) end Всё очень просто. Вызываем pcall, в качестве параметра передаём функцию dofile и аргумент для неё - путь до нашего файла __test.scrip, который нужно предварительно создать в папке scripts. Опытным путём было установлено, что в ТЧ корневым каталогом Lua считает папку bin, поэтому путь пишем относительно неё. В ЧН и ЗП - это корневая папка установленной игры, поэтому путь для этих частей будет таким: "[[gamedata\scripts\__test.script]]" Вторая строка выводит в консоль сообщение "Successful!" если скрипт в файле _test.script выполнился без ошибок или же сообщение ошибки выполнения, если произошла ошибка. Сообщение выводится со знаком подчёркивания вместо пробела. Это необходимая мера для метода execute. Результат выводить в консоль не имеет смысла, т.к. результат нам покажет сама игра. Теперь если вызвать функцию ProtectedFunction, то выполнится код написанный в файле __test.script. При этом, сам код в этом файле можно менять не выходя из игры, а просто свернув её. Поэтому, получив ошибку внутри вызываемого файла - в консоле появится сообщение с описанием данной ошибки. Далее: сворачиваете игру; правите ошибку; восстанавливаете игру; запускаете вызов функции ProtectedFunction по новой; смотрите на результаты работы исправленного скрипта. Хочу ещё раз обратить Ваше внимание на то, что в файле __test.script должен присутствовать именно блок операторов! Важно понимать, что pcall перехватывает ошибки только той функции, которую вызывает, то беж в нашем случае dofile а это, в свою очередь, вызов нашего файла __test.script. Поэтому, если в этом файле будет вызов функции из другого файла и ошибка произойдёт уже в нём (в другом файле), то игра вылетит с логом ошибки другого файла. Тоже самое касается работы движковых функций; если Вы передаёте неверный аргумент, не правильно вызываете какую-нибудь функцию экспортированную в скрипты из движка, то игра вылетит. В большинстве случаев, допускаются именно ошибки выполнения скрипта, поэтому данная конструкция позволяет избежать большого количества перезапуска игры, что сохранит и время, и нервы. Что касается второй проблемы, то самым удачным вариантом её решения будет простое нажатие клавиши на клавиатуре, т.е. собственная горячая клавиша. В качестве наилучшего исключительно скриптового метода горячих клавиш я предлагаю использовать способ предоставленный здесь: ссылка на статью, конкретно интересует действие на нажатие (первый способ). Перед запуском игры, Вам нужно определится какую из не задействованных клавиш Вы будете использовать как "горячую". Список клавиш в Сталкере, которые можно задействовать под это дело, можно посмотреть здесь: DIK_keys. Это перечисление констант класса DIK_keys, имена которых используются в качестве имени функций для горячих клавиш. Я выберу клавишу Scroll Lock, чтобы хоть как-то оправдать её присутствие на клавиатуре. Код этой клавиши - dik_scroll, именно так и должна называться функция, которую будет вызывать выбранная мной клавиша. Имена функций, которые непосредственно будет вызывать Ваши горячие клавиши, должны быть написаны строчными литерами (маленькими буквами). Теперь, всё что остаётся сделать, это написать функцию с именем dik_scroll в файле, в котором находится функция update горячих клавиш. Выглядеть она будет так: function dik_scroll() local status, result = pcall(dofile, [[..\gamedata\scripts\__test.script]]) get_console():execute(status and "Successful!" or string.gsub(result, " ", "_")) end Как видите, в тело функции я написал содержимое нашей "защищённой функции", а не вызывал отдельно её - зачем лишний раз без необходимости плодить код? Всё, друзья мои! Теперь, зайдя в игру и загрузив сохранение (или начав её заново), Вы можете полюбопытствовать работой нашей конструкции. Нажимаете Scroll Lock (или другую выбранную Вами клавишу) и видите запуск содержимого в файле __test.script. Если в файле не было ошибок, то в консоле вы увидите надпись "Successful!" или же сообщение об ошибке. Попытайтесь не выходя из игры, свернуть её при помощи комбинации Alt+Tab, изменить содержимое файла, а затем в восстановленной игре опять нажать горячую клавишу - как Вы сами убедитесь, результат будет основываться на изменённых данных. Готовую мини-gamedat'у, можно скачать здесь: Яндекс.Диск Всё, что Вам потребуется сделать - поместить два скрипта в вашу рабочую папку scripts и прописать в апдейте актора следующую строку: bind_keys.update() Зайти в игру и нажать на клавишу Scroll Lock.
  23. Платный БТР с возможностью покупки Автор: dimak-stalker Всем привет! Сегодня в этом уроке я расскажу как сделать платный БТР, т.е актор может купить себе БТР!
  24. [CoP] Smart_cover в Зов Припяти Автор: SG
  25. [CoP] Создание Механика Автор: Аристократ В этом уроке я постараюсь рассказать о создании механика в сталкер Зов Припяти. Создание НПС: Всё, механик создан! Он умеет чинить стволы, но делать апгрейды не может. Давайте научим его это делать, но не просто так, а только после поиска инструментов. Делаем возможность апгрейда у нашего НПС: