Dennis_Chikin 3 658 Опубликовано 24 Апреля 2014 Поделиться Опубликовано 24 Апреля 2014 (изменено) "Что у нее внутри, и как это сделать лучше". Для тех, кто уже разбирается в скриптах, конфигах, текстурах и "других страшных словах" ©, и имеет желание и время действительно делать их лучше.См. подробности в первом посте.Тема НЕ является ни столом заказов, ни службой техподдержки, ни справочным бюро. Изменено 28 Апреля 2014 пользователем Dennis_Chikin 2 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
boboz 0 Опубликовано 20 Апреля 2010 Поделиться Опубликовано 20 Апреля 2010 (изменено) Shadowman, меня интересует как двиг игры "знает" что координаты которые указаны в конфигах, надо брать в файле ui_icon_equipment.dds. Старые видеокарты не в состоянии загрузить текстуру размером 4096х4096 пикселей целиком они не могут загрузить такое количество пикселей, или такой размер файла ( 16Мб)? "Пикселей" sapsan Сообщение от модератора n6260 Есть интересная папочка (gamedata\config\ui) с конфигурационными файлами, изучайте Добавлено через 228 мин.: Разобрался. Максимальный размер поддерживаемых текстур зависит от текстурного блока видеокарты, и если этот размер 2048х2048, то соответственно текстура 4096х4096 туда не влезает. Дальше мне нужна помощь. Возможно ли использовать два файла с иконками, например ui_icon_equipment_1.dds и ui_icon_equipment_2.dds? зы: хочу сделать фикс иконок. зыы: у меня видео 9800GT, поэтому мне этот фикс не нужен, но хочется помочь людям. Изменено 20 Апреля 2010 пользователем n6260 Не прошло и 2,5 года. Ссылка на комментарий
Shadowman 939 Опубликовано 20 Апреля 2010 Поделиться Опубликовано 20 Апреля 2010 (изменено) Возможно ли использовать два файла с иконками, например ui_icon_equipment_1.dds и ui_icon_equipment_2.dds? boboz, нет. Только замена основного. Изменено 20 Апреля 2010 пользователем Shadowman Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64 Ссылка на комментарий
sapsan 336 Опубликовано 22 Апреля 2010 Поделиться Опубликовано 22 Апреля 2010 (изменено) Зарегистрировал и немного уже настроил хранилище на subversion для Солянки. Создал в расчете на совместную работу над самой Солянкой и для мододелов под Солянку. Оно открыто всем на чтение. Линк хранилища: svn://svn.opensvn.ru/narodnaya_solyanka Линк трака: http://trac.opensvn.ru/narodnaya_solyanka Для тех, кто будет допущен к хранилищу в режиме записи - в настройках клиента (речь идёт о TortoiseSVN) открыть на редактирование конфигурационный файл и сделать следующее: - раскомментировать строку enable-auto-props = yes; - добавить в секции [auto-props] следующие строки: *.script = svn:eol-style=native;svn:mime-type="text/x-lua;charset=windows-1251" *.ltx = svn:eol-style=native;svn:mime-type="text/xml;charset=windows-1251" *.xml = svn:eol-style=native;svn:mime-type="text/xml;charset=windows-1251" Это для корректного отображения виндовой кирилицы в траке. Настройку, логическое распределение и заливку уже существующих правок ещё не закончил. В нём не представлены самые тяжелые папки так как нет уверенности, что Солянку оттуда не выкинут, если всю её туда залить Если есть предложиния и замечания - в личку. P.S. Системы контроля версий - очень удобный инструмент для любого разработчика. Инофрмации по ним полно. Изменено 23 Апреля 2010 пользователем sapsan Ссылка на комментарий
Malandrinus 615 Опубликовано 27 Апреля 2010 Поделиться Опубликовано 27 Апреля 2010 (изменено) Заглянул в репозитарий. На мой взгляд, нет никакого смысла хранить там бинарные файлы. Надо хранить распакованные + батничек для сборки. Это касается как минимум аллспавна, партиклов и глобального графа. Более того, при некоторой аккуратности изменение этих файлов и добавление к ним данных даже не приведёт к необходимости начинать новую игру. Добавил. Можно даже попытаться наладить технологию подключения новых локаций "на лету". Если не ошибаюсь, то для этого надо не так уж много: добавить новую папку с уровнем и прописать её в конфигах, добавить новые точки в глобальный граф, дополнить аллспавн, при загрузке сейва доспавнить недостающие объекты на новую локацию. Всё, можно играть дальше с той-же сохранёнкой. Могу дать доступ на запись в хранилище для создания своей ветки. sapsan Изменено 27 Апреля 2010 пользователем sapsan Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Shadowman 939 Опубликовано 28 Апреля 2010 Поделиться Опубликовано 28 Апреля 2010 (изменено) malandrinus, есть вопрос: параметр restrictor_type в аллспавн. Видел варианты 0,2,3. Нашел только для restrictor_type = 2 - "эти рестрикты запрещают сталкерам ходить по кострам." 3 - вроде как какой-то экшен можно задать при попадании ГГ в него. С какой частотой запускается и как, например, её изменить - непонятно. Или только радиусом можно управлять? 0 - что значит и как работает не нашел ничего (кроме примеров в аллспавн ). Смотрел на Вики, форумам по Сталкеру - разрозненно, все больше "как сделать то-то". Ты не мог бы прокомментировать, если нетрудно? Изменено 28 Апреля 2010 пользователем Shadowman Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64 Ссылка на комментарий
Kolmogor 5 Опубликовано 28 Апреля 2010 Поделиться Опубликовано 28 Апреля 2010 (изменено) 3 - вроде как какой-то экшен можно задать при попадании ГГ в него. С какой частотой запускается и как, например, её изменить - непонятно. Рестрикторы с логикой обрабатываются в actor_binder:update -- обновление рестрикторов, которые под логикой, срабатывает через интервалы времени if self.next_restrictors_update_time < time then bind_restrictor.actor_update(delta) self.next_restrictors_update_time = time + 200 -- Частота 5 раз в секунду. Меняется здесь :) task_manager.actor_update() end Изменено 28 Апреля 2010 пользователем Kolmogor Ссылка на комментарий
Shadowman 939 Опубликовано 28 Апреля 2010 Поделиться Опубликовано 28 Апреля 2010 (изменено) Kolmogor, спасибо, понятно. Не знал. 5 раз в секунду, значит... Kolmogor, нашел скрипт ressurect.script - твой ("артефакт для воскрешения НПСов")? Попробовал через апдейт оживление - не пашет. Трупик на секунду пропадает, потом снова появляется. И вижу по отладке, что в условии: local obj = level.object_by_id(id) if obj == nil then --dbg.log("RES: real move offline") else --dbg.log("RES: wait offline") return end всегда срабатывает "wait offline". Вообще убрал эту проверку - заработало Запускал, правда, используя oAmkLauncher:AddFunc. И без предмета - просто нахожу под ногами труп, беру его id, и его амк-скриптами того... Что интересно, что вообще без пропускания через апдейт срабатывает. Иногда, правда, не с первого раза. Респект! BUKER, Увеличение точек неписей на миникарте: Вот тут ссылка есть: http://www.amk-team.ru/forum/index.php?sho...st&p=432068 V92, способ не мой. Я проверил у себя - дал как вариант Если оставить текстуру и изменить только размер - будет не то? --------- я проверил, прежде чем давать - ничего не сбито, все отображается Изменено 28 Апреля 2010 пользователем Shadowman Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64 Ссылка на комментарий
V92 417 Опубликовано 28 Апреля 2010 Поделиться Опубликовано 28 Апреля 2010 (изменено) Shadowman, еслиобъединить с тем что ты привел будет НЕнормально, ибо твой способ заменяет текстуру и размер метки на оригинальную из ТЧ. Я уже выложил специально для тех кто стандартные точки не видит небольшое приложение (сам посмотри). Вот его можно спокойно с правкой ставить. По кругам это я сам не доглядел, ибо когда тестил кругов нигде в ПДА не было, поэтому я их просто не увидел. И поправлено кое-что еще. Shadowman, мои опциональные точки на этом принципе и основаны - простое изменение размера без замены текстуры. Причем ни в коем случае нельзя править размеры в ui_common, ибо там только координаты текстур, и если лазить там своими ручками не зная что к чему - просто собьешь текстуру или вообще отображаться не будет. Изменено 28 Апреля 2010 пользователем V92 Мой музыкальный аддон для ОП-2 + Музыкальные флешки для плеера - для тех, кому не нравится оригинальная музыка. Более 150 новых треков различных направлений и исполнителей, каждый найдёт музыку на свой вкус. Апдейт 1.1 от 30.03.2015 - в плеер добавлены записи реальных радиостанций + наиболее подходящие миксы. Торрент.Пак измененных локаций из ОГСЕ 0.6.9.3 для ОП-2. Скачать можно здесь. Ссылка на комментарий
sapsan 336 Опубликовано 28 Апреля 2010 Поделиться Опубликовано 28 Апреля 2010 (изменено) Мысли о кражах из тайников с замками. Просматривал я скрипты и нашел вот что - неписи в оффлайне пробуют достать из тайников, которые были добавлены в список тайников на уровне (off_npcs[map].inv_boxes) при заполнении списка тайников. А заполнение списка происходит либо при загрузке вызовом amk_offline_alife.update_npc_tables() либо через 3 часа! игрового времени в amk_offline_alife.update() "мягким" способом (каждый объект из 65535 штук обрабатывается по очереди при каждом апдейте актора, а не за раз все 65535). Кроме того когда-то, видимо ради оптимизации, был отключен вызов update_tables() из offline_alife(), хотя по логике он там необходим. Таким образом неписи в оффлайне полезут в тайник не смотря на наличие в нём замка, если только не было произведено перезаполнение таблиц оффлайна. Предлагаю варианты исправление "памяти" неписей: - при установке/снятии замка принудительно вызывать update_tables(lname) для текущего уровня; - период мягкого обновления таблиц уменьшить до 15 минут игрового времени. P.S. "Мягкий" способ работы со всеми 65535 объектами можно применить в других местах. В данный момент это актуально для взрывчатки. Shadowman, по уборщику - можно попробовать как ты говоришь. Вполне может пройти В геймдату был включен и Thumbs.db, и старый jpg, и папка с асфальтом... Изменено 28 Апреля 2010 пользователем sapsan Ссылка на комментарий
Shadowman 939 Опубликовано 28 Апреля 2010 Поделиться Опубликовано 28 Апреля 2010 (изменено) через 3 часа! игрового времени sapsan, это фактически никогда Обалдеть! Тогда уже если так - при выкладывании замка хотя бы, ну и при загрузке сейва. Кстати, насчёт уборщика: можно ведь ограничиться неубиранием внутри зоны алайфа, а за её пределами - чистить как и раньше, как думаешь? И еще: в геймдату одним файлом почему-то включён уборщик из адаптации под 1.0006 по уборщику - можно попробовать как ты говоришь sapsan, попробовал и через апдейт и за а-лайфом. В первом случае не убирает нифига, во втором - вылетает в хр_мотиваторе на той строке, что как раз есть адаптация к 1.0006 (self.npc_script_version = alife():object(self.object:id()).script_version) ------------ Короче, по уборщику на патче 1.0006: пока выхода не вижу. Убирать будет все локи, кроме текущей - и точка. Если категорически не подходит - играем на 1.0004 + уборщик от Соли 17.04. Все, что мог придумать - проверил, не работает иначе. Изменено 29 Апреля 2010 пользователем Shadowman Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64 Ссылка на комментарий
V92 417 Опубликовано 28 Апреля 2010 Поделиться Опубликовано 28 Апреля 2010 (изменено) Говорил с Архарой, он сказал что респавн атров после выброса не трогал, и что проблема с их непоявлением появилась после правок по скриптам от Сапсана. Никоим образом ни на что не намекаю, но судя по всему именно в этих правках проблема. Нужно выброс посмотреть. Вергас вроде взялся, но ни слуху ни духу от него. Спавн артефактов я не трогал. Правил только спавн аномалий. Сам я подозреваю правки, которые были внесены по фриплею в коде выбросов. sapsan Возможно там и собака зарыта. Что ж, всем форумом будем ждать фикса. Изменено 28 Апреля 2010 пользователем V92 Мой музыкальный аддон для ОП-2 + Музыкальные флешки для плеера - для тех, кому не нравится оригинальная музыка. Более 150 новых треков различных направлений и исполнителей, каждый найдёт музыку на свой вкус. Апдейт 1.1 от 30.03.2015 - в плеер добавлены записи реальных радиостанций + наиболее подходящие миксы. Торрент.Пак измененных локаций из ОГСЕ 0.6.9.3 для ОП-2. Скачать можно здесь. Ссылка на комментарий
Pesticid 6 Опубликовано 28 Апреля 2010 Поделиться Опубликовано 28 Апреля 2010 (изменено) Господа скриптеры, несколько наблюдений по артам, может поможет. Соль последняя на шестом патче, ставил сразу со всеми правками, через пару часов игры - патч по ФПС. Сначала(первые два-три выброса) спавн был нормальный, потом - как обрезало. Интереса ради увеличил спавн в 100 раз, проспал несколько выбросов, и прочесал все доступные локи(Кордон, Свалку, Агро, ЗЛ, Бар) частой гребенкой с детектором. Результат - куча черных энергий. Ни одной самой завалящей медузы. Насколько я понимаю, они спавнятся разными функциями. Пробовал курить скрипты, но моих знаний не хватает... Кстати, изменение количества аномалий там же в AMK_ANOMS.SCRIPT работает исправно. Изменено 28 Апреля 2010 пользователем Pesticid Стрельбу по движущимся мишеням начинать только с разрешения администрации,В случае попадания боеприпасов в тело - обращаться к Богу! Ссылка на комментарий
Arhara 32 Опубликовано 30 Апреля 2010 Поделиться Опубликовано 30 Апреля 2010 Shadowman, По запрету сталков заходить в костры - этот вариант несколько неправилен - вернее - совсем неправилен. Используя его часто ловишь вылеты по валкам сталкеров. Так и было на болоте - пока я почти всё не переписал. Гораздо безглючнее вариант Экстрима, дополненный уменьшением радиуса повреждения от огня. Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка Ссылка на комментарий
sapsan 336 Опубликовано 5 Мая 2010 Поделиться Опубликовано 5 Мая 2010 (изменено) Прислали сохранение перед сейфом на Радаре. Если туда положить замок с последними правками, то получаю вылет: FATAL ERROR [error]Expression : I != levels().end() [error]Function : GameGraph::CHeader::level [error]File : e:\stalker\sources\trunk\xr_3da\xrgame\game_graph_inline.h [error]Line : 171 [error]Description : there is no specified level in the game graph : 224 stack trace: Из этого следует, что вылетает эта строка: alife():level_name(game_graph():vertex(obj.m_game_vertex_id):level_id() из функции: function update_tables(level) off_npcs[level]={monsters={},stalkers={},weapons={},artefacts={}, inv_boxes={}} local obj for a=1,65534 do obj = alife():object(a) if (obj and alife():level_name(game_graph():vertex(obj.m_game_vertex_id):level_id())==level) then add_fresh_meat(obj) elseif (obj and obj.parent_id ~= nil) then local p_obj = alife():object(obj.parent_id) if (p_obj) then local p_map = alife():level_name(game_graph():vertex(p_obj.m_game_vertex_id):level_id()) if (p_map == level) then add_fresh_meat(obj) end end end end end Если же перед ней проверять на game_graph():valid_vertex_id(obj.m_game_vertex_id), то вылета нет. А такой "работы" с game_graph без предварительной проверки валом. В том числе и в аддоне Бака по подстволам Ещё мысль: Если в add_fresh_meat(obj) и в место, где наполняется таблица items вставить проверку на протектед_итем, то большая часть проблем с собранными неписями квестовыми предметами уйдет. Потом ещё найти, где они в онлайне поднимают предметы. Изменено 5 Мая 2010 пользователем sapsan Ссылка на комментарий
Shadowman 939 Опубликовано 5 Мая 2010 Поделиться Опубликовано 5 Мая 2010 game_graph():valid_vertex_id(obj.m_game_vertex_id) sapsan, если перед размещением объекта проверять такое - то наверное таки да, будет толк. А вот у уже существующего - к сожалению не проходит - вылетает с ругательством на тот же вертекс (это я про попытку отловить предмет с кривым вертексом, который уже есть на локе). Понятие вертекс для объекта, как я понял, существует только когда сам ГГ на этой локе. Железо: Intel Core i5 9400F / 16Gb DDR4 2400MHz / SSD NVMe M.2 Samsung 970 EVO Plus 256Gb / GF GTX 1050Ti 4Gb Ось: Win10x64 Ссылка на комментарий
Arhara 32 Опубликовано 5 Мая 2010 Поделиться Опубликовано 5 Мая 2010 (изменено) sapsan, Этих сейфов по локам - не один и не два Один - в тайнике дока на Припяти, где снайперка, там вообще нет вертексов Разница лишь в том, что моделька другая. Могу путать, но тот сейф спавнили в НЛС5. Можно убрать - всё равно путь загораживает на Варлаб. sapsan Поставить можно. Но этот ящик надо удалить - давно хотел Изменено 5 Мая 2010 пользователем Arhara Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка Ссылка на комментарий
sapsan 336 Опубликовано 5 Мая 2010 Поделиться Опубликовано 5 Мая 2010 Arhara, для начала можно попробовать в скриптах повставлять защиту от некорректных вертексов, а там видно будет... Ссылка на комментарий
Arhara 32 Опубликовано 5 Мая 2010 Поделиться Опубликовано 5 Мая 2010 (изменено) sapsan, amk.spawn_item("m_inventory_seif",vector():set(306.47,-39.39,-26.22),1930,69058) вот этот сейф в sak.script. надо глянуть, что в нём спавнится да закоментить. А, пустой... Изменено 5 Мая 2010 пользователем Arhara Еще 10 лет таких цен, зарплат и пенсий, и вместо переписи населения будет перекличка Ссылка на комментарий
magnit 208 Опубликовано 6 Мая 2010 Поделиться Опубликовано 6 Мая 2010 Arhara За всё время игры в этом сейфе ничего не спавнится, ну или наводку на него не давал никто. Относись к людям так, как хочешь чтобы они относились к тебе. Ссылка на комментарий
sapsan 336 Опубликовано 8 Мая 2010 Поделиться Опубликовано 8 Мая 2010 Мысли по ходу: использование math.random() нужно заменить на random_number() так как в последнем перед вызовом math.random() вызывается math.randomseed(device ():time_global()), что даст действительно случайный результат, а то, например, у игроков и у меня часто ЧУ не начинается подряд много раз... [spoiler=random_number() из _g.script] function random_number (min_value, max_value) math.randomseed (device ():time_global ()) if min_value == nil and max_value == nil then return math.random () else return math.random (min_value, max_value) end end Ссылка на комментарий
Рекомендуемые сообщения