naxac 2 477 Опубликовано 17 Марта 2020 (изменено) @Han Sola, if lname=="l04_darkvalley" then local obj = AI:story_object(story_ids.val_borov) if obj and IAmAStalker[obj:clsid()] and obj:alive() then if has_alife_info("val_bandit_talk") then relation_registry.set_community_goodwill("bandit", 0, 500) end elseif relation_registry.community_goodwill("bandit", 0) > 0 then relation_registry.set_community_goodwill("bandit", 0, -2000) end elseif sname == "l04_darkvalley" and relation_registry.community_goodwill("bandit", 0) > 0 then relation_registry.set_community_goodwill("bandit", 0, -2000) end lname - текущий уровень sname - предыдущий уровень (с которого перешли) Всё это вызывается из net_spawn актера. Изменено 18 Марта 2020 пользователем naxac 1 2 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 21 Марта 2020 @Robbie's Mods, level.map_add_object_spot(npc:id(), "название_метки", "всплывающая подсказка") npc - клиентский объект непися 1 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 22 Марта 2020 @yousoup22, каким редактором пользуешься? В notepad++ есть меню кодировки, там выбери windows-1251. 1 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 30 Марта 2020 @yousoup22, поставь неписю section_name = stalker вместо esc_noobik. 1 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 16 Апреля 2020 (изменено) @Вася Сапля, подбирать не надо, можно просто рассчитать, если хочешь сделать параметры, эквивалентные оригинальным. Считается выводимый в описании артефакта параметр "Кровотечение" вот по такой формуле: value = -(w/b)*100 где w - это параметр wound_incarnation_v в секции actor_condition, а b - параметр bleeding_restore_speed в секции артефакта. А value, соответственно, само выводимое значение. Отсюда b = -100*w/value И остальные параметры примерно так же. См. xrGame\ui\ui_af_params.cpp Изменено 16 Апреля 2020 пользователем naxac 1 2 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 17 Апреля 2020 19 часов назад, Вася Сапля сказал: где можно изменить размер надписи игра окончена config\ui\game_tutorials.xml, туториал game_over. 19 часов назад, Вася Сапля сказал: поменять названия сложностей Ищи по содержимому в файлах в папке config\text\rus. 1 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 19 Апреля 2020 (изменено) 21 час назад, Beliy123 сказал: Function : CALifeSimulator__spawn_item ... Arguments : Invalid section! Где-то спавнится несуществующая секция. Изменено 19 Апреля 2020 пользователем naxac Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 1 Мая 2020 @Space.Marine, это игра не может понять некоторые клавиши твоей клавиатуры, настройки тут ни при чём. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 2 Мая 2020 @ru trash_, *.graph recompiler (ggRC) v.0.7 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 5 Мая 2020 @monk, это на широкоформатах, наверное, так? Из-за сжатия иконки по горизонтали, когда она в слоте, такое происходит. Если бы она не сжималась, то аддон был бы на своём месте, но иконка была бы растянутой. Тут в движке надо править - при сжатии иконки положение аддона по Y тоже изменять на тот же коэффициент. 1 2 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 11 Мая 2020 @UriZzz, тут поможет AddDialogToRender. 1 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 21 Мая 2020 @Ninna, причина может быть в том, что у нпс, которые есть с начала игры, визуал прописан в all.spawn. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 21 Мая 2020 @mole venomous, нет, наоборот. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 23 Мая 2020 @Svobodovec_Arbuz, игра не может найти инфопорцию esc_tutorial_secret_place. 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 24 Мая 2020 (изменено) @ru trash_, "ридми" читал? Там же всё подробно описано. Если у тебя его нет, то вот, на всякий случай: Утилита для слияния глобальных графов ggrc.pl v.0.6 Использование: ---------------------------------------------------- --------------СОВМЕЩЕНИЕ ГРАФОВ--------------------- ---------------------------------------------------- 1) Собираете в gamedata/levels/ все уровни, которые вы хотите объединить. Ну или хотя бы положите туда нужные файлы - level.gct и level.ai. У ЧН и ЗП уровни не имеют файлов level.gct, класть не надо. 2) Кладете в корень геймдаты (где лежит game.graph) нужные game.graph и/или section4.bin (тоже геймграф, только от ЧН/ЗП. Запакован в all.spawn, ищите там). 3) Делаете нужный батник для сборки, запускаете. Если батник составлен правильно, заработает скрипт, который будет вас информировать о ходе работы всякими буковками. В данной версии чтение/запись level.ai работает медленно, терпите. 4) На выходе получите: -в корне геймдаты результирующий граф - game.graph.new -в папках уровней файлы level.gct и level.ai. 5) переименовываете game.graph.new в game.graph (ну или в section4.bin, если родительский граф у вас от ЗП), копируете level.ai и level.gct (если утлитика не совмещена с игрой) и запускаете с ними игру. Чтобы добавить подключенные локации в спавн, в all.ltx распакованного спавна в секции [alife_objects] добавляете alife_локация.ltx от ваших локаций. Еще поменяйте level_count в секции [header] на значение согласно получившегося графа. Главное, не трогайте больше ничего в [header]! Команда: ggrc.pl [-g1 ] [-l1 ] [-g2 ] [-l2 ] Значения параметров: -g1 - родительский граф, т.е. от того билда, к которому вы планируете присоединить локации. указывается в формате: game.graph,1935. Список ключей смотрите ниже. -l1 - список уровней, которые хотите оставить в родительском графе, через запятую (без пробелов!) -g2 - дочерний граф, т.е. от того билда, откуда берете локации. указывается в формате: game.graph,1935. Список ключей смотрите ниже. -l2 - список уровней, которые хотите взять из дочернего графа, через запятую (без пробелов!) !!!Внимание! Уровни указывать в том же порядке, в каком они идут в гейм.графе! !!!Для совмещения графов БОЛЬШЕ НИКАКИХ КЛЮЧЕЙ НЕ УКАЗЫВАТЬ! Пример: ggrc.pl -g1 game.graph,soc -l1 l01_escape,l02_garbage -g2 section4.bin,cop -l2 zaton,pripyat Замечание: таким образом можно подключать локации к финальным версиям сталкера или к билдам не старше 2006 года. Причина проста - для работы локации в билдах 22xx, например, требуется корректный level_sectors.ai и правка level. Генерация level_sectors.ai пока не реализована. ------------------------------------------------------------ --------------------РАСПАКОВКА ГРАФА------------------------ ------------------------------------------------------------ Также поддерживается распаковка графа от любого билда. Функционал аналогичен ggtool.pl. Использовать просто. Кладете граф в папку с программой, запускаете батник для распаковки. Команда: ggrc.pl [-g1 ] [-o ] [-l] [-i] [-g] [-rct] -g1 - граф для распаковки -o - файл вывода результатов. Указывать расширение! -l - декомпиляция level.graph. Из-за неправильного заголовка при декомпиляции level.graph от 1475,1510 неверно определяется edge_count (начиная с 1834 все нормально). Ориентируйтесь на число секций edge. -g - выводит список уровней, отсортированных по гейм_вертексу, в отдельный файл guids.txt. Для билдов старше 1849 (24 февраля 2004) также выводятся связи между уровнями. -i - игнорирование левел-поинтов. Существенно ускоряет работу программы. У билдов младше 1472 (включая) левел-поинты в game.graph не содержатся, указывать ключ не надо. -rct - читать и выводить кросс-таблицы (для ЧН, ЗП). Лучше не пользовать, кросс-таблицы оооочень большие, читаются долго, а практического толку от них ноль. Для распаковки графа БОЛЬШЕ НИКАКИХ КЛЮЧЕЙ НЕ УКАЗЫВАТЬ! Пример: ggrc.pl -g1 game.graph,2215 -o links.txt -g -i ------------------------------------------------------------ --------------------ДОБАВЛЕНИЕ АИ-ПЕРЕХОДОВ----------------- ------------------------------------------------------------ АИ-переходы необходимы для оффлайн-навигации неписей между разными локациями. Выбираете два вертекса, один на одной локации, второй на другой, соединяете связью - переход для непися готов. Команда: ggrc.pl [-g1 ] [-ai ] -g1 - граф для добавления переходов -ai - соединяемые вертексы, через запятую (без пробелов!). Пример: ggrc.pl -g1 game.graph,2215 -ai 14,134 На выходе получите файл типа game.graph.new_edge. Это геймграф с готовыми переходами. Больше ключей не нужно. ------------------------------------------------------------- Ключи билдов: 1469 - билд 1469 1472 - билд 1472 1510 - билды с датой компиляции от июня 2003 (1475) по первую половину августа 2004 (1902) 1935 - билды с датой компиляции от второй половины августа 2004 (1911) по февраль 2005 (2201) 2215 - билды с датой компиляции от апреля 2005 (2203) по декабрь 2005 (2365) SOC - билды с датой компиляции от начала 2006 по билд 3120. COP - от ЧН и выше. ------------------------------------------------------------- История версий: v.0.6 - добавлена коррекция вертексов в кросс-таблицах. Добавлена правка версии xrLC в файле level при переносе локаций в билды/из билдов. v.0.5 - пофиксен ряд багов, тестово добавлена поддержка билдов 1911-2201. v.0.4 - отключено чтение неизменяемых файлов (родительские level.ai, level.gct, дочерние level.ai, если версии графов одинаковы) v.0.3 - включена возможность добавления аи-переходов между локациями. v.0.2 - включено восстановление level.graph по game.graph (работает для всех версий, начниная по крайней мере с 2005 года - более ранние пока не проверял, теоретически тоже должны корректно восстанавливаться). Немного изменен алгоритм коррекции game_vertex_id у связей. v.0.1 - реализован основной функционал (совмещение графов, обновление кросс-таблиц и аи-сетки) -------------------------------------------------------------- Авторство: Исходный код распаковки графа финалки ТЧ - bardak (огромное ему спасибо) Все остальное - K.D. Изменено 24 Мая 2020 пользователем naxac Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 28 Мая 2020 @Pir@t@s, вернее всего в какую-то движковую функцию передаются неправильные аргументы, либо nil. 15 часов назад, Ренсон сказал: скриптово заспавненными переходами ... НПС и мобы ... пользоваться не могут Они и аллспауновскими тоже не могут. Для перемещения между уровнями нпс используют так называемые аи-переходы - связи между вершинами графа (гейм-вертексами). Добавить их можно через СДК или при помощи game.graph recompiler (ggrc). 1 2 3 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 9 Июня 2020 (изменено) @СЕРА, надо подгонять global rect под bound rect, т.е. менять растяжение текстуры по пропорциям уровня, т.к текстура, полученная через demo_record, квадратная. Изменено 9 Июня 2020 пользователем naxac 1 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 5 Октября 2020 8 часов назад, Houdini_one сказал: что нужно сделать, чтобы погода не исчезала при перезагрузке сэйва? Либо установить такую погоду по умолчанию для нужной локации в конфигах, либо добавлять условия, по которым должна быть твоя погода, в level_weathers.script, туда, где включается погода (где происходит level.set_weather). Например, при установке погоды выдавать инфопоршень, а в level_weathers проверять наличие этого инфопоршня. 1 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 10 Ноября 2020 @Ворон545, попробуй этот вариант адаптировать: https://yadi.sk/d/oUCJq2xExL68Iw Я раньше его использовал, работало нормально. для каждой секции патронов в конфигах создаётся фейковая секция вида [ammo_fake]:ammo и затем в инвентаре все патроны, которые находятся не на поясе, заменяются на эти фейки. При открытии окон обыска, инвентаря или торговли фейки меняются обратно на настоящие патроны, при закрытии окон - снова происходит замена на фейки. Алгоритм простой и надёжный (= 1 1 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение
naxac 2 477 Опубликовано 14 Ноября 2020 4 часа назад, mole venomous сказал: if sobj:clsid()>172 and sobj:clsid()<180 then Вот из-за этого и не удаляются. Не надо так делать. Есть же движковый класс clsid - сделай массив с классами нужных аномалий, и по нему проверяй, что удалять. local anom_classes = { [clsid.zone_mbald] = true, [clsid.zone_electra_s] = true, ...и т.д.} ... if anom_classes[sobj:clsid()] then ... 1 2 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Поделиться этим сообщением Ссылка на сообщение