Malandrinus
Жители-
Число публикаций
1 930 -
Регистрация
-
Последнее посещение
-
Дней в топе
13 -
AMKoin
160 [Подарить AMKoin]
Весь контент пользователя Malandrinus
-
[CoP] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
iDreD, Это скриптовая функция. Посмотри, как она сделана в ТЧ и что используется внутри неё, и используй это в ЗП. Или просто перенеси скрипты из ТЧ в ЗП. -
[SoC] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
Полтергейст, Понимаете, Lua в принципе однопоточный. Никак нельзя вызывать функцию в то время, как она уже вызвана, если только она сама себя прямо или косвенно не вызывала. Т.е. все вызовы скриптов из движка могут происходить только строго один за другим. А это означает, что проблемы со стеком это вызвать никак не может. Проблема со стеком может быть следствием других сбоев, но каких именно - естественно так просто не скажешь. -
Справочник по функциям и классам
Malandrinus ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Garry_Galler, А ссылку на окно сохраняешь? Там есть залипон, что если не сохранить ссылку на добавленное таким образом окно, то его приберёт сборщик мусора, и сразу за этим будет вылет. Добавлено через 31 мин.: Stalk15, Да вообще-то работает. Заголовок устанавливается, задание выдаётся. Для справки, нарыл тут, что в CGameTask есть ещё несколько методов, не показанных в lua_help. Это: set_id set_priority get_priority у SGameTaskObjective также имеется кроме недокументированный метод set_icon_name. Кроме того, при выдаче задания надо наверное обращать внимание на третий логический аргумент функции give_task. Он отвечает за проверку наличия задачи с таким же идентификатором. Поскольку дефолтовый идентификатор всегда одинаковый, то если этот аргумент false - задача будет выдана повторно. Но всё ли при этом исправно сработает - не знаю. Возможно имеет смысл менять идентификатор задачи с помощью set_id. -
Справочник по функциям и классам
Malandrinus ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Stalk15, ну вот смотри: local task = CGameTask() -- создал пустую задачу task:load("teee") --teee - это "пустой" квест из конфигов -- не пустой!!! там есть одна подзадача objective = SGameTaskObjective(task,1) -- и вот её ты получаешь в этой строке -- меняешь свойства task:add_objective(objective) -- и добавляешь обратно, но уже второй, третьей и т.д. Я думаю, что это может объяснять происходящее. Возможно, стоит сделать так: local task = CGameTask() task:load("teee") objective = SGameTaskObjective(task,1) local new_task = CGameTask() new_task:add_objective(objective) это просто в качестве предположения. Мне сейчас не проверить. Добавлено через 22 мин.: Насчёт метода update серверных классов. Вот что выяснил. Это метод, который надо вызывать скриптами и это вызывает обновление разных вещей внутри объекта. Т.е. неправильными были оба моих ранее высказанных предположения. Если конкретнее. Для монстров и сталкеров вызов этого метода приводит к обновлению оффлайнового планировщика, что вообще-то можно сделать и непосредственно. Планировщик это который brain, есть там такие классы. Открытым остаётся вопрос о его (оффлайнового планировшика) работоспособности вообще. Тут ничего не могу сказать. Для всех остальных классов (смарты и online_offline_group кажется) метод update не делает вообще ничего. -
Справочник по функциям и классам
Malandrinus ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Stalk15, Ты берёшь из задания-заготовки подзадачу 1. Потом меняешь его и добавляешь в тоже задание. Но выходит, что там остаётся холостая подзадача с номером 1. А у этой подзадачи есть условие окончания? Может в этом причина? Думается мне, новое задание лучше сделать отдельное чистое. Для него то есть дефолтовый конструктор. -
Справочник по функциям и классам
Malandrinus ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Полтергейст, Чтобы задавать такой вопрос, надо для начала понимать, что этот метод делает. Вот я не понимаю, что он делает. Из предположений у меня есть две версии: 1. Это эквивалент update биндера, только для серверной стороны. Но тогда это явно не работающий механизм, просто потому, что нереально обновлять немерянное количество серверных объектов. Такой метод есть у всех монстров, сталкеров и аномалий. Даже если и задумывалось когда-то, что все они будут шевелиться в оффлайне, то сейчас такого нет точно. 2. Это может быть информационный метод, который на самом деле возвращает какое-то значение. Какое и зачем - неясно. В пользу этого может говорить отсутствие аргумента. Опять же есть два варианта - надо или не надо его перегружать. Т.е. это чисто внутренняя информация или предоставление скриптёру возможность что-то сказать, наподобие тех же can_switch ? Я пока не знаю ответа на эти вопросы. Т.е. я вообще не знаю, на кой нужен этот метод. Посему вопрос "как часто он вызывается" - для меня просто бессмысленный. У меня ни разу никак не вызвался. Stalk15, Там же есть в статье пример. Вот он: local new_task = CGameTask() new_task:load("gar_car_graveyard_quest") -- задание "Предложить помощь Бесу" Чего же более? И по поводу примеров вообще. Я с самого начала ещё в первом посте обозначил, что тема для коллективного творчества. Будут постить сюда примеры - будут примеры. Не будут - "извиняйте хлопцы, бананов нема". -
Справочник по функциям и классам
Malandrinus ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
За возможность перехода в онлайн/оффлайн. -
Справочник по функциям и классам
Malandrinus ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Полтергейст, update у серверных классов по-моему вообще не работает. По крайней мере нет ни одного примера их использования. can_switch_* вызывается вроде раз в секунду. -
Справочник по функциям и классам
Malandrinus ответил на тему форума автора Malandrinus в Скрипты / конфиги / движок
Всех с наступающим Новым Годом! Scarabay, насколько я знаю, запретить выполнение консольных команд нельзя. -
[CoP] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
незаМеченный, Записывается не видео, а только положения. Если там что-то разное происходит, то при пролёте и будет разное. lexer125, грубить то зачем? -
[CoP] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
незаМеченный, При записи ты указываешь параметром имя ролика. В папке сохранений создаётся файл с таким именем. Потом при воспроизведении нужно указать это же имя. И не забывай при записи на пробел нажимать для создания кадров. Всё это делал? -
sapsan, в смысле не работает? Вот открываю второй, третий и т.д. файлы. Всё для них меняется.
-
[SoC] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
Полтергейст, Вроде как у зон своё обновление не вызывается. -
Редактирование движка X-Ray
Malandrinus ответил на тему форума автора Rolan в Скрипты / конфиги / движок
_Призрак_, А ты смотрел выложенные правки для 2945 ? Там же видны все имена функций и можно по отличию от чистой dll понять, где именно изменено. Там видно, что есть две функции с именем CWallmarksEngine::AddSkeletonWallmark (наборы аргументов у них разные, а имена одинаковые). Ну и видно, что они начинаются с проверки флажка. Правки эту проверку соответственно удаляют. Основная сложность в других релизах - эти функции найти крайне сложно. Вообще, в отличие от xrGame рендер менялся очень сильно. Кроме этого, там очень мало ориентиров. Видно, что делали его совсем другие люди нежели xrGame. На мой взгляд, надо искать вот эти функции. Но как я сказал, ориентиров крайне мало и дело это муторное. Это мне ничего не даст. Лучше скажи, как ты в IDA искал нужные места. amik, Событие event_reject вообще означает операцию удаления из инвентаря. В этот момент почему-то пропадает предмет, который выкидывают, что и вызывает такую ошибку. Как прикажете это лечить? Лучше смотрите свои скрипты. Что-то удаляется слишком рано. Добавлено: Вроде как в следующих версиях вылет уже убран. Переходите все на ЗП. Вот даже сингловый сдк выпустили. -
Редактирование движка X-Ray
Malandrinus ответил на тему форума автора Rolan в Скрипты / конфиги / движок
Как я выяснил, такие правки существуют для ТЧ 1.006. Значит, я поспешил с выводами и как минимум там ещё код остался. Может и в поздних версиях ещё есть. Как минимум, он изменился и стал неузнаваемым. Тогда я уже не понимаю разработчиков. Зачем держать код, который не работает? Понимаю ещё в первых версиях. Спешили, потому и просто сделали заглушку-блокировку. Но тянуть мёртвый код дальше - зачем? Я бы всё-таки не сильно обнадёживался насчёт ЧН и тем более ЗП. Насчёт того, чтобы "написать заново". Такие вещи так просто не дописать. Если вырезали, значит это финиш. "Вернуть" можно только то, что там уже есть. Вот например машины даже в ЗП остались практически неизменными, кто бы что не думал по этому поводу. P.S.: Я вообще-то солидарен с разработчиками насчёт ценности этой фишки с бладмарками. Чего по ней так все угорают - ума не приложу. -
Редактирование движка X-Ray
Malandrinus ответил на тему форума автора Rolan в Скрипты / конфиги / движок
Думается мне, что волмарки на динамических объектах вырезаны полностью начиная с релиза ТЧ. Если посмотреть на правки в 2945, то там хорошо видно, что механизм этих волмарков есть, но заблокирован неким глобальным флажком (правки эту блокировку и снимают). Но уже в ТЧ шестого патча этого кода просто не видно. Скорее всего его вычистили окончательно и возвращать попросту нечего. -
Trapper023, А разве PDA и так не вызывается по кнопке? Но я погляжу, аппетит во время еды приходит: фишки уже россыпью меряют =) Каждое из перечисленного - отдельная работа. Гасить миникарту, реагировать на клавиши - это всё требует отдельного исследования и разных правок в совершенно разных местах. Впрочем, скриптовый колбек на нажатие почти сделал. Скоро будет. С миникартой надо будет подумать. Портирование под разные версии зависит от наличия времени.
-
Trapper023, я не вполне понял вопрос. Менять сопоставление кнопок командам и так можно. Или что-то другое имеется в виду?
-
VEX, Хорошее видео. Чем делал? Да надо бы в самом деле. Также подумываю вынести управление масштабированием на отдельную плавающую панельку. Уж больно мало места на тулбаре.
-
Shadowman, первое, когда меняешь масштаб или размер обязательно нажимай Enter, чтобы обновлялось второе связанное поле. Второе, там рядом такая мелкая кнопочка с буквой U. Это от слова update. Попробуй понажимать после изменения чисел. Размер вставляемого фрагмента должен измениться. Это всё надо делать в режиме вставки, когда виден вставляемый фрагмент. Я знаю, что сделано по уродски. Делал в спешке и так и не довёл до ума, но в принципе должно работать.
-
[SoC] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
sapsan, Вот есть встроенный в игру счётчик. Когда он докручивается до конца, то время устанавливается в стартовое. Дата отматывается назад и функция game.get_game_time() будет давать это обнулённое значение. Я это проверял. Так каким образом помогают эти новые функции, если системное время игры (которое в них используется) глючит? Прошёл месяц игрового времени и всё. Что я не понимаю? -
[SoC] Ковыряемся в файлах
Malandrinus ответил на тему форума автора Halford в Скрипты / конфиги / движок
Капрал Хикс, Просветите меня, а как решили (если решили) проблему зацикливания игрового времени? Там же счётчика хватает всего на месяц, потом заворачивается на стартовое значение. И это движковое. -
Shadowman, с соляночными архивами могут быть проблемы. Так пока и не разобрался с этим из-за хлопотности отладки dll и собственной лени =)
-
Вот мне интересно, собирается ли 4A-Games делать что-то ещё и если собирается, то что и когда.
-
Shadowman, Файлы конфигов могут быть вообще не распакованы. Программа должна и архивы читать. У тебя на скрине вообще не открыт никакой файл. То, что в этот момент один пункт меню виден - это баг. Сначала надо открыть файл иконок (активируются пункты меню). Затем, выбрать один из трёх вариантов. Сетка иконок загрузится в текущий открытый файл. Просто как бы наложится поверх изображения. Добавлено: Если вдруг игра как-то установлена левым образом (т.е. вдруг пути не прописаны в реестре), то попробуйте установить пути вручную в настройках программы.
- [ЧН] 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
- ...и другие моды