Malandrinus 615 Опубликовано 10 Февраля 2011 PGU_tk, посмотри в теме справочник. Там про alife_simulator Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 10 Февраля 2011 PGU_tk, там неправильно написано - создание пачек. На самом деле создается только одна пачка. Вот ведь буквоед, юрист что-ли? =) Ты вероятно первый, кто понял это таким образом. Руки дойдут - подправлю. это странно - странно, что нет функции, генерирующей эн однотипных объектов или у которой первый параметр массив секций. Как раз странно было-бы делать в движке то, что можно реализовать парой строк скриптов? Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 3 Марта 2011 SkyLoader, Фэйк гранаты движковой. Его отследить никак нельзя. Почему нельзя, можно. Если прицепить к гранате биндер, то видно, что после броска граната из инвентаря удаляется, а заместо неё спавнится другая с тем же биндером (секцию не помню, та-же или нет), но без серверного объекта. Она и летит дальше. Так что можно отследить. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 15 Марта 2011 Dennis_Chikin, после кто-то неизвестный ворует патроны. 8( ... Но, блин, кто ??? Сам движок ? Движок ничего не удаляет. В этом легко убедиться, если создать сталкера без скриптовой обвязки. По идее все объекты удаляются в drop_manager. Но ты говоришь, что отключил. Значит ещё где-то осталось. Поищи "release" по коду. Нет так уж и много упоминаний. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 16 Марта 2011 Куфзук, Я спаунил двух НПС с одинаковым именем, ... ничего критичного не произошло. Похоже, что системное имя - рудимент от билдов. И похоже, что в самом движке внутри это поле не используется. Да и нет нужды, поскольку и так есть уникальный id и назначаемый по желанию sid. В дополнительном текстовом идентификаторе просто нет нужды. И обратите внимание. В билдах была функция получения клиентского объекта по имени, а в релизе уже нет. И в ЗП с концами вырезали такую же из alife_simulator для серверных объектов. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 16 Марта 2011 (изменено) =VENOV=, для получения номера уровня по его вертексу лучше использовать класс CGameGraph. Тогда не надо знать точное количество и нумерацию на каждом уровне. Наверное, алгоритм твоей функции можно оставить как есть, но таблицу лучше инициализировать автоматически. В противном случае возникает привязка к конкретному набору скомпилированных локаций. Изменено 16 Марта 2011 пользователем malandrinus Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 23 Марта 2011 Макс 105, А нельзя ли просто на отдельной локации(мне нужна Варлаб) просто удалить все аномалии? Просто взять и удалить все аномалии конечно можно. Но если аномалии динамические, то за ними следит какой-нибудь скрипт. Тупое удаление без разрегистрации где-то в потрохах скорее всего ничем хорошим не закончится. Понимаешь, проблема наверное решаема, но тут конечная цель (дать тебе поиграть с текущим сейвом) явно будет несообразна с затраченными усилиями по поиску проблемы и объяснению тебе на удалении, как её пофиксить. Подобные ситуации в игре - в общем неплохая мотивация заняться моддингом (я сам с такого начинал), но если твоя цель - только избежать переигрывания со старого сейва, то извиняй, понимания ты здесь не найдёшь. Добавлено через 8 мин.: Artos, для кострового пламени (секция [zone_flame_small] с классом 'Z_CFIRE' в конфиг-файле) не могу найти наименования ключа/поля (типа: clsid.zone_zharka_s). zone_campfire Только это вроде только в ЧН/ЗП Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 24 Марта 2011 Artos, 'clsid.zone_campfire' - это все же НЕ для ТЧ (SHOC) Но я же так и сказал, что это для ЧН/ЗП, но ты же сам хотел узнать скриптовый класс для Z_CFIRE. Запутал меня. В ТЧ объект с секцией zone_flame_small имеет класс Z_MBALD, т.е. сделан на основе аномалии. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 24 Марта 2011 Полтергейст, кто-нибудь знает, что это за действия в stalker_ids? action_solve_zone_puzzle detect_anomaly action_accomplish_task и работают ли они? action_solve_zone_puzzle - это очевидно действие по "решению загадки Зоны" из "того самого Сталкира", который был сделан с полной симуляцией и потом благополучно выброшен на помойку за полной неиграбельностью =) В старых интервью можно почитать, что там должны были делать неписи. Кажется найти и толкнуть торговцу последовательность артов. Осталось ли от этого что-то сейчас, сложно сказать. Даже если и осталось, то работать скорее всего не будет. detect_anomaly - мне кажется, где-то даже видел оживление этого действия в ТЧ. Неписи машут детектором и пытаются определить наличие аномалии. Говорили вроде, что глючит страшно. action_accomplish_task - не знаю точно, что такое. Могу только предположить, что это специальная задача "которую никогда не выполнить". Дело в том, что планировщику надо в любом случае найти что делать, т.е. граф действий должен быть непустым. Возможно, это как раз для этого. Artos, В классе/массиве 'clsid' (ТЧ/SoC) имеется под неизвестным мне ключом массива - 'class_id' (числовое значение поля в массиве), который соответствует костровому пламени в ЧН/ЗП (класс Z_CFIRE или скрипт-класс 'clsid.zone_campfire'). Прямой перебор массива показывает, что класс имеется и в чистой игре, но не задействован. При присвоении секции [zone_flame_small] класса Z_CFIRE (вместо Z_MBALD) и в ТЧ появляется возможность легко отличить костры от аномалий (по class_id), однако напрямую (по ключу) этот класс недоступен из массива 'clsid'. Каков этот ключ или как его определить? Иначе: каков скриптовой класс (в ТЧ!) для полученного таким образом объекта? Я честно тебя не понимаю. Объясни мне, что ты с делал в ТЧ с классом Z_CFIRE? Потому что в ТЧ нет движкового класса для костров, нет никакого Z_CFIRE и мне непонятно, что именно ты сделал. Список всех классов для всех версий у меня давно валяется. Хотел сделать статью в теме справочника, да всё руки не доходят. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 24 Марта 2011 Artos, Находим в конфиг-файле '\gamedata\config\misc\zone_kampfire.ltx' искомую секцию [flame_small] и меняем в ней строку/параметр^ 'class = Z_MBALD' на 'class = Z_CFIRE'. Костры по прежнему остаются кострами, которые и горят и жгутся (для неписей и актора) ... но уже перестали определяться аномальными скриптами(!). Я понял. Так делать в общем нельзя. Класса Z_CFIRE в ТЧ нет, а сделать его (или точнее не его, а скриптовый сет с таким именем) можно только зарегистрировав его в class_registrator.script. Теперь, что происходит у тебя. Здесь нужны некоторые пояснения. Движок, когда ему даёшь конфиговое имя сета (типа Z_MBALD) вычисляет на основе этого имени некий внутренний идентификатор, который затем по определённому алгоритму преобразуется в скриптовый номер класса (то, что мы получаем функцией clsid). Есть несколько моментов: Первое. Всего может быть не больше 256 таких скриптовых номеров. Нумерация начинается от нуля и идёт без разрывов. Второе. Конкретный номер можно зарегистрировать только в скрипте class_registrator.script (кроме уже зарегистрированных в движке). Третье. Когда регистрируешь, новый номер вычисляется на основе строки и вклинивается в ряд уже имеющихся. Все скриптовые номера таким образом упорядочены по алфивиту их строкового представления. Четвёртое. В силу такого принципа работы есть строковые идентификаторы, которые в итоге дают одинаковые числовые значения. Теперь. Если не регистрировал, то происходит занятная вещь. По строке-имени класса вычисляется число и ты получаешь какой-то один из имеющихся идентификаторов (в пределах от 0 до максимального имеющегося). Но это не новый класс, а какой-то из имеющихся. Может быть и скриптовый и движковый. Это неважно, главное, что его строкове имя оказалось по алфавиту близко той строке, что ты указал в параметре class в секции. В данном случае ты указал Z_CFIRE, а этим самым фактически написал Z_DEAD. Это легко понять, если упорядочить имена сетов по алфавиту: Z_BFUZZ (Z_CFIRE) Z_DEAD Z_GALANT Видно, что Z_CFIRE, если бы был, то встал бы между Z_BFUZZ и Z_DEAD и там и встаёт в ЧН. Но раз его в ТЧ нет, то вместо него вычисляется ближайший по алфавиту Z_DEAD. Так уж вышло, что это родственный класс, тоже некая зона. Поэтому сбоя не происходит. Но ещё раз. Z_DEAD - это строкове имя в принципе другого, уже существующего класса. У него, как верно было подмечено, и законное скриптовое имя есть clsid.zone_dead. Надеюсь, что объяснения были понятны, и почему так делать не стоит тоже надеюсь понятно. Правильным было-бы создать свой сет, как я описывал в статье в справочнике. Тогда получишь законное новое имя и в том числе в классе clsid. Добавлено через 29 мин.: Вдогонку (Вот только ... что же за дырка с 185-ым классом(?) не дает покоя :-) ) clsid.zone_galantine = 184 clsid.<NOT_Found!> = 185;--/#?# clsid.zone_mosquito_bald = 186 Вполне возможно, что это Z_MINES, скриптовый идентификатор тогда clsid.zone_mines_s. Мне не проверить, поскольку мод не установлен. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 20 Мая 2011 Whisper, Попробуй отрицательных денег дать. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 16 Июня 2011 Desertir, А возможно ли вместо этих полосочек ввести цифры? Полоски рисует движок, их не убрать. Непонятна проблема. Если не нравится, как этот скрипт рассчитывает длину этих полосок, то что мешает заменить его на свой расчёт? Именно для этого этот расчёт и вынесли в скрипт. Уберите всю арифметику, которая вам непонятна, и замените на свою. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 16 Июня 2011 Desertir, Значит надо изменить расчёт так, чтобы уменьшить все полоски, чтобы влезали. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 21 Июня 2011 KOKC, как сделать задержку выполнения скрипта... Если задержишь скрипт, то тем самым задержишь и всю игру. Если же ты хочешь, чтобы игра продолжалась, а через 5 секунд выполнилось то, что тебе надо, то это решается через установки проверки в апдейте актора. По проверке на прошедшее время выполняется действие, снимается флажок, чтобы перестать проверять и т.д., как сам организуешь. Из готовых решений есть таймеры АМК, которые в сущности это всё и делают, но делают также много другой ненужной работы. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 19 Июля 2011 amik, У GSC свои инструменты, они в СДК игру не делают. Откуда такая информация? По моему они честно всё отдали вместе с последним SDK для ЗП. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 21 Июля 2011 amik, Можно ли вывести видео файл в телевизор сталкера? Насчёт именно телевизора не знаю. Помню однако некую тему про создание проектора. Там проходило утверждение, что как раз такое возможно, и даже вроде выкладывали скрины со стеной, на которую выводился видеоролик. Что-то говорили о том, что это по умолчанию работает кривовато, но всё лечится в SDK. Вот только в упор не помню, на каком форуме я эту тему видел. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 21 Июля 2011 amik, А там точно был видео ролик? Дело в том что проектор можно и партиклом сделать (опять же таки саму текстуру преподносить в seq). Уф, да не помню я подробностей. Даже не помню, на каком форуме это было. С проектором то всё понятно, партикл расходящегося луча нужен, источник света и собственно стена с движущимся изображением. Там правда автор темы хотел, чтобы изображение проецировалось на все объекты между проектором и экраном, но тут уж ясен пёс не сделать ничего. Но по твоему вопросу там вроде как было ясное утверждение, что на любую стенку можно натянуть текстуру в виде видеоролика. И даже вроде был скрин с такой стеной. Что-то ещё говорили, что дефолтовые настройки шейдеров или чего то там ещё надо подправить, чтобы цвета нормально работали. Больше ничего не помню, хоть режь =) Ну и я этого не проверял, так что за достоверность не отвечаю. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 21 Июля 2011 amik, Берем начальную текстуру из seq файла и режим ее на кусочки (чем меньше тем лучше). Делаем тоже самое со всеми остальными текстурами из данного псевдо-видео. Делаем кучку соответствующих seq файлов. Делаем не слабый партикл со всеми этими кусками, ставим колизион и все дела...и распространяем его по z оси. Все. Выставляем чистоту "мелькания" (рефрешь) изображения и смотрим что получилось, если ГГ пройдет сквозь этот луч изображения то он останется на нем... Смотреться будет ужасно (какие-то пятна вместо гладкой картинки), а уж ресурсов отожрёт страшно даже подумать. Это не считая мороки с реализацией. Подумай сам, какие расходы нужны, чтобы просчитать проекцию каждого пикселя из прямоугольной картинки светящегося экрана на произвольный объект. Это ж трассировка лучей в реальном времени. Не думаю, что на это способен даже топовый персональный компьютер. Максимум может обсчитать сцену с несколькими точечными источниками света и то по упрощённым алгоритмам. Случайно не отсюда? Точно, это оно. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 25 Августа 2011 Для принудительной загрузки модуля есть специальная движковая функция prefetch(<имя модуля без расширения>) Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение
Malandrinus 615 Опубликовано 15 Сентября 2011 FANAT, ActivePerl - это среда выполнения для языка Perl, т.е. то, что надо для запуска acdc в случае, если он не скомпилирован, т.е. если ты пытаешься запустить файл с расширением *.pl. Если у тебя скомпилированный acdc, т.е. с расширением *.exe, то и его не надо. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Поделиться этим сообщением Ссылка на сообщение