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

Hardtmuth

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

    4 126
  • Зарегистрирован

  • Посещение

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

    107

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

  1. [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. Закидываем в папку с игрой. Тестируем.
  2. Создание инвентарного комплекса Автор: FantomICW Перед тем, как начать урок, я хочу сказать, что скриптовой частью я обязан товарищу Ховану и СГМ моду. Именно благодаря их скриптам я нашел способ сделать подобную вещь! Огромное им спасибо! А теперь перейдем к уроку. Введение Возможно, вы когда-нибудь задумывались над вопросом создания предмета, из при использовании которого в инвентарь будут выпадать сразу несколько других, как, например, универсальный медкомплект. Долго думая, я понял, что такого эффекта можно достичь используя коллбеки на использовании предметов. Что такое "коллбек"? Если коротко, - это что-то в роде скрипта инфопорции. Однако, коллбек может работать как единожды, так и постоянно: при подборе предметов, при их использовании, при выстреле, при попадению по нпс и так далее. Нас интересует коллбек использования предмета, который будет работать постоянно.
  3. Это заранее обсуждалось, что нет интереса возвращаться к сталкерским элементам. Маловероятно. Алексей говорил, что такой вариант не подойдёт.
  4. [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" />
  5. А других новостей у нас и нет. А будут ли вообще? ?
  6. Подумаешь, потерял 90% новостей сталкерского моддинга, которые публикуются только туда, а не на сайт. Ладно, лгу про 90%, но нормальная такая доля.
  7. Это уже другой разговор. Кому нужно и интересно, тот воспользуется переводчиком или своими знаниями других языков.
  8. Имеет полное право писать на языке, который считает родным и удобным для себя. You have the right to write in any language on AP-PRO.
  9.  par7LGCSdOY.jpg

    qmQCFPp2l0U.jpg

    1. Hunter

      Hunter

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

    2. Maks_2405

      Maks_2405

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

  10. Способ редактирования скрипта без выхода из игры. Это небольшой пересказ одного очень полезного, но по какой-то причине мало известного, урока. Ориентирован в большей степени на тех мододелов, которые умеют ковыряться в скриптах игры и могут сказать чем отличается функция от метода. Не для кого не секрет каким образом зачастую отлаживаются скрипты на ошибки, алгоритм до безобразия прост: 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.
  11. Платный БТР с возможностью покупки Автор: dimak-stalker Всем привет! Сегодня в этом уроке я расскажу как сделать платный БТР, т.е актор может купить себе БТР!
  12. [CoP] Smart_cover в Зов Припяти Автор: SG
  13. [CoP] Создание Механика Автор: Аристократ В этом уроке я постараюсь рассказать о создании механика в сталкер Зов Припяти. Создание НПС: Всё, механик создан! Он умеет чинить стволы, но делать апгрейды не может. Давайте научим его это делать, но не просто так, а только после поиска инструментов. Делаем возможность апгрейда у нашего НПС:
  14. Название: Народная Солянка + ООП + МАК + ЧШ + Аддон Очаг Семьи Платформа: Тени Чернобыля | Версия: 1.0004 Разработчик: Архара, proper70, Buusty, Zizon975
  15. Название: Народная Солянка + DMX 1.3.5.ООП.МА.К Разработчик: ForestOfShadows Дата выхода: 03.12.2012 Народная Солянка - Спорная, огромная, фантастическая,которая одних заберает к себе на долгие месяцы, а других яростно отталкивает после первой же минуты. DMX - Если нововведений НС вам показалось каким то образом мало, то опробовать данный аддон просто необходимо. ООП+К+МА - Объединённый пак, содержащий очень много квестов, нового оружия, и самое главное БАЛАНС И ХАРДКОР.
  16. Название: "Кровавый Эндшпиль" или происки таинственного Затворника Разработчики: Zizon975, azrael1325, суперконсультации FrostWirm, frankenshtayn, lexa-odin2009, Korpus, dimak, Fagot
  17. Да, но ссылка на фикс там битая на старом сайте. А в интернете я нигде не нашел. Hunter спасибо за ссылку.
  18. Его нигде нет, к сожалению. Все ссылки битые.
  19. IGN опубликовал 14 минут геймплея Mafia: Definitive Edition. Авторы игры сначала предлагают оценить нарезку из разных эпизодов (есть даже маленький кусочек из той самой гонки!), а затем включают миссию «Загородная прогулка». Как рассказывает глава Hangar 13 Хэйден Блэкмен (Haden Blackman), в ремейк вносят множество изменений: например, разработчики переделали некоторые части города и добавили коллекционные предметы с сохранением духа эпохи 1930-х. Сюжет расширят, но канва истории останется близкой к оригиналу, а все значимые персонажи вернутся. В «Загородной прогулке» дают оценить кат-сцены, перестрелки и погони. Блэкмен упоминает, что в ремейке хотят возродить чувство остроты, когда ценишь каждую пулю, а персонаж погибает довольно быстро. Однако, честно говоря, по геймплею это не особо заметно. Релиз Mafia: Definitive Edition состоится 25 сентября на PC, PlayStation 4 и Xbox One. Источник
  20. Название: Поиски Чернобыльского Шахматиста или Тайна биоробота Фрица Платформа: Народная Солянка+DMX 1.3.5.ООП.МА.К Разработчики: Zizon975, azrael1325, frankenshtayn, Fagot Дата выхода: 01.06.2013
  21. Как самому сделать флешку для плеера
  22. Название: Аддон "Белая Мгла Разработчик: _K_L_I_N_, Максим Ратниченко, Sho0oT
  23. Разработчик: Johny_Lucker Две недели ушло у меня на работу, перебирая всё что по нраву мне. Принимать работу или нет дело ваше. Сразу говорю мод - чисто графический. Что использовано: Зелёнка для травы Шейдеры Зова припяти Худ ЗП Апокалипсис 3 и другое....не упомнить Ссылки на загрузку: Скриншоты:
  24. Готовые и настроеные шейдеры для Народной Солянки Идут на все версии Солянок и на любой мод! Sky4CE -=SkyGRAPHICS=- MOD v2.0 RC4.1 были изменены и настроены. Теперь нету сильных галюнов при падении фпс и нету ряби освещение при просмотре панорамы из бинокля или прицела винтовки. Графика смотрится замечательно!