-
Публикаций
4 122 -
Зарегистрирован
-
Посещение
-
Победитель дней
107
Тип контента
Профили
Форумы
Блоги
Календарь
Новости
Моды
Весь контент Hardtmuth
-
А других новостей у нас и нет. А будут ли вообще? ?
-
Подумаешь, потерял 90% новостей сталкерского моддинга, которые публикуются только туда, а не на сайт. Ладно, лгу про 90%, но нормальная такая доля.
-
Это уже другой разговор. Кому нужно и интересно, тот воспользуется переводчиком или своими знаниями других языков.
-
Имеет полное право писать на языке, который считает родным и удобным для себя. You have the right to write in any language on AP-PRO.
-
Способ редактирования скрипта без выхода из игры. Это небольшой пересказ одного очень полезного, но по какой-то причине мало известного, урока. Ориентирован в большей степени на тех мододелов, которые умеют ковыряться в скриптах игры и могут сказать чем отличается функция от метода. Не для кого не секрет каким образом зачастую отлаживаются скрипты на ошибки, алгоритм до безобразия прост: 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.
- 2 ответа
-
- 3
-
Платный БТР с возможностью покупки
Hardtmuth опубликовал тема в Уроки, вопросы и советы по созданию модов
Платный БТР с возможностью покупки Автор: dimak-stalker Всем привет! Сегодня в этом уроке я расскажу как сделать платный БТР, т.е актор может купить себе БТР! -
[CoP] Smart_cover в Зов Припяти
Hardtmuth опубликовал тема в Уроки, вопросы и советы по созданию модов
[CoP] Smart_cover в Зов Припяти Автор: SG -
[CoP] Создание Механика Автор: Аристократ В этом уроке я постараюсь рассказать о создании механика в сталкер Зов Припяти. Создание НПС: Всё, механик создан! Он умеет чинить стволы, но делать апгрейды не может. Давайте научим его это делать, но не просто так, а только после поиска инструментов. Делаем возможность апгрейда у нашего НПС:
-
Название: Народная Солянка + ООП + МАК + ЧШ + Аддон Очаг Семьи Платформа: Тени Чернобыля | Версия: 1.0004 Разработчик: Архара, proper70, Buusty, Zizon975
-
Название: Народная Солянка + DMX 1.3.5.ООП.МА.К Разработчик: ForestOfShadows Дата выхода: 03.12.2012 Народная Солянка - Спорная, огромная, фантастическая,которая одних заберает к себе на долгие месяцы, а других яростно отталкивает после первой же минуты. DMX - Если нововведений НС вам показалось каким то образом мало, то опробовать данный аддон просто необходимо. ООП+К+МА - Объединённый пак, содержащий очень много квестов, нового оружия, и самое главное БАЛАНС И ХАРДКОР.
-
"Кровавый Эндшпиль" или происки таинственного Затворника
Hardtmuth опубликовал тема в Народная Солянка
Название: "Кровавый Эндшпиль" или происки таинственного Затворника Разработчики: Zizon975, azrael1325, суперконсультации FrostWirm, frankenshtayn, lexa-odin2009, Korpus, dimak, Fagot -
Да, но ссылка на фикс там битая на старом сайте. А в интернете я нигде не нашел. Hunter спасибо за ссылку.
-
Его нигде нет, к сожалению. Все ссылки битые.
-
IGN опубликовал 14 минут геймплея Mafia: Definitive Edition. Авторы игры сначала предлагают оценить нарезку из разных эпизодов (есть даже маленький кусочек из той самой гонки!), а затем включают миссию «Загородная прогулка». Как рассказывает глава Hangar 13 Хэйден Блэкмен (Haden Blackman), в ремейк вносят множество изменений: например, разработчики переделали некоторые части города и добавили коллекционные предметы с сохранением духа эпохи 1930-х. Сюжет расширят, но канва истории останется близкой к оригиналу, а все значимые персонажи вернутся. В «Загородной прогулке» дают оценить кат-сцены, перестрелки и погони. Блэкмен упоминает, что в ремейке хотят возродить чувство остроты, когда ценишь каждую пулю, а персонаж погибает довольно быстро. Однако, честно говоря, по геймплею это не особо заметно. Релиз Mafia: Definitive Edition состоится 25 сентября на PC, PlayStation 4 и Xbox One. Источник
-
Поиски Чернобыльского Шахматиста или Тайна биоробота Фрица
Hardtmuth опубликовал тема в Народная Солянка
Название: Поиски Чернобыльского Шахматиста или Тайна биоробота Фрица Платформа: Народная Солянка+DMX 1.3.5.ООП.МА.К Разработчики: Zizon975, azrael1325, frankenshtayn, Fagot Дата выхода: 01.06.2013 -
Как самому сделать флешку для плеера
-
Название: Аддон "Белая Мгла Разработчик: _K_L_I_N_, Максим Ратниченко, Sho0oT
-
Разработчик: Johny_Lucker Две недели ушло у меня на работу, перебирая всё что по нраву мне. Принимать работу или нет дело ваше. Сразу говорю мод - чисто графический. Что использовано: Зелёнка для травы Шейдеры Зова припяти Худ ЗП Апокалипсис 3 и другое....не упомнить Ссылки на загрузку: Скриншоты:
-
Готовые и настроеные шейдеры для Народной Солянки Идут на все версии Солянок и на любой мод! Sky4CE -=SkyGRAPHICS=- MOD v2.0 RC4.1 были изменены и настроены. Теперь нету сильных галюнов при падении фпс и нету ряби освещение при просмотре панорамы из бинокля или прицела винтовки. Графика смотрится замечательно!
-
Адаптация Народной солянки DMX 1.3.5 ООП.К.МА под Panoramic
Hardtmuth опубликовал тема в Народная Солянка
Адаптация Народной солянки DMX 1.3.5 ООП.К.МА под Panoramic -
Название: Пропавшая экспедиция \ The Lost Expedition Платформа: Тень Чернобыля | Патч: 1.0004 Разработчик: XT-Team Дата выхода: 12.01.2017 На Верхних Болотах обитает Болотный доктор и неожиданно ученым от него что-то потребовалось, но через некоторое время они пропадают. После чего, профессор Сахаров поручает бывалому одиночке по кличке Арчи контракт на поиск ученых в районе Болот.
-
Название: Народная Солянка 2016 Платформа: Тень Чернобыля | Патч: 1.0004 или 1.0006 Разработчик: Arhara Дата выхода: 30 Апреля, 2017 г. Дополненная Народная солянка с новыми локациями и финалом сюжетной линии. Игровой мир мода раскинулся более, чем на три десятка игровых уровней, а геймплей игры был кардинально расширен и доработан. Новая сюжетная линия поведает игрокам новые истории и предложит сотни новых заданий.
-
Вероятнее всего, никто и не найдёт, откуда эти ноги, кроме официальных ребят с движка. Однако, как заметил наш модератор @AziatkaVictor, редактор загружается отдельно от основной странице, т.е. после загрузки самой страницы. И после этого возникла мысль, что иногда редактор может непрогружаться, ибо все ресурсы интернета юзера направлены на загрузку сайта и прочего, а на редактор не хватает (просто личная мысль). Я, поскольку у меня слабый интернет и я гружу его постоянно до самого максимума, ежедневно, несколько раз (иногда и более) встречаю эту проблему что на форуме в редакторе, что при написании статуса на странице профиля. Для меня это обычное дело, что встречается эта проблема. Было бы очень круто, если бы разработчики поработали над редактором и решением этой проблемы, если нашли причины её появления. Будем ждать и надеяться на лучшее. Кстати, небольшой личный вопрос (для личного развития и утолить интерес). Как думаете, в случае переноса сайта на новую версию, это как-то появлияет на него? Например, в плане отказа некоторых нестандартных скриптов, установленных к сайту? Так, чисто взгляд со стороны.