Перейти к контенту

[SoC] Ковыряемся в файлах


Рекомендуемые сообщения

@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.

Изменено пользователем naxac

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Ссылка на комментарий

Подскажите как сдвинуть текст влево\вправо (ранг, группа, отношение \ новичок, нейтрал, враг) в диалоговом окне.
Как еще уменьшить фото сталкера в разделе "Ранги"

Как корректно прописать цвет текста в диалоге? Получилось вот наполовину, диалог не окрашен, плюс эта вот прописка осталась то в "чате" текст окрашен_7eKzneLEzM.jpg

Ссылка на комментарий

Подскажите, пожалуйста. Нужно, чтобы переход спавнился только после получения инфопоршня

 

Скрытый текст

[375]

; cse_abstract properties
section_name = level_changer
name = exit_to_agroprom_103
position = -69.8495788574219, 3.83781337738037, -362.127777099609
direction = 0, 0, 0
id = 65535
version = 118
script_version = 6
spawn_id = 3871

; cse_alife_object properties
game_vertex_id = 1487
distance = 13.8
level_vertex_id = 15229
object_flags = 0xffffff3e
custom_data = <<END

[spawner]
cond = {+yan_find_vasilyev_end}

[pt_move_if_reject]
path = yan_way_if_reject_to_agr
END
story_id = 9103

; cse_shape properties
shapes = 1
shape_0:type = sphere
shape_0:offset = 0,0,0
shape_0:radius = 2

; cse_alife_space_restrictor properties
restrictor_type = 3

; cse_alife_level_changer properties
dest_game_vertex_id = 520
dest_level_vertex_id = 117966
dest_position = -122.430000305176, 11.3800001144409, 185.539993286133
dest_direction = 0, -2.6800000667572, 0
dest_level_name = L03_agroprom
dest_graph_point = start_actor_10
 

Но не работает и переход доступен с начала игры. ЧЯДНТ?

Ссылка на комментарий

@Ренсон, для переходов такой метод с cond, ЕМНИП, не работает. Там либо скриптом нужно спавнить либо ещё один метод есть, но он немного позаковыристей.

  • Спасибо 1
  • Согласен 1
Ссылка на комментарий
24.05.2020 в 22:29, Chaser0000 сказал:

Подскажите как сдвинуть текст влево\вправо (ранг, группа, отношение \ новичок, нейтрал, враг) в диалоговом окне.

Изучи шапку вот этой темы.

Неважно – сколько у тебя друзей. Важно - сколько из них помогут тебе в трудную минуту и сколько вспомнят о тебе когда им хорошо.

"Худ" и "Умное выпадание частей монстров" для Народной солянки

Ссылка на комментарий

@Ренсон, я не уверен, что сработает. Но посмотри и попробуй, примени написанное на свой переход. Только вместо рестриктора используй вызов инфопоршня нужного, ну и в целом под себя подкорректируй. Ты-то уж разберешься.

  • Спасибо 1
Ссылка на комментарий

@Ренсон, Посмотри, как это было сделано в НС-2010. Там переход Бар-Армейские склады неактивен до поры, до времени. Как там сделано, не знаю, но принцип можно взять на вооружение, ИМХО, как раз переход скриптом спавнится. Или способ, который предлагает HellRatz (заспавнить в all.spawn со spawn_story_ids, при старте игры удаление, потом скриптовый спавн по spawn_story_ids). Я таким макаром спавнил полтеров.

Сталкер - наше всё!

Ссылка на комментарий

Всем привет сталкеры. У меня к вам сразу два очень сильно наболевших вопроса, ответы на которые в инете нигде не найти. 1. Как починить вот эти вот фонари под ногами? https://ibb.co/ZYpzmv7https://ibb.co/cJmjFHY 2. Как научить стукача свободы пользоваться рацией? Что я только не делала, и в альспавне у него рация есть, и в профиле по разному прописывала, он все равно упорно продолжает разговаривать с рукой. И еще он почему то всегда светит фонарем, даже если квест делать утром или днем.

Ссылка на комментарий

@Ninna, исправление наличия источника света под ногами NPC есть в патче от lvg_brest для ТЧ, но какие файлы при этом правились, надо спрашивать у авторов.

А по второму вопросу интересно - у Павлика есть анимка разговора по рации? Не помню уже просто.

Ссылка на комментарий

@Капрал Хикс, Да, анимация есть, за спину лезет и вроде как должен достать рацию, но практически всегда этого не делает. Насчет патча спасибо, правда там много всего ненужного мне (выбросы например и динамические аномалии), хотелось бы конкретно знать что и где править чтобы этих фонарей не было.

Изменено пользователем Ninna
Ссылка на комментарий
3 часа назад, Ninna сказал:

хотелось бы конкретно знать что и где править чтобы этих фонарей

Смотри sr_light.script из этого патча.

3 часа назад, Ninna сказал:

Да, анимация есть, за спину лезет и вроде как должен достать рацию

А сама рация у него есть?

  • Спасибо 1
Ссылка на комментарий
Только что, Marafon6540 сказал:

А сама рация у него есть?

Да, она у него и в профиле, и в альспавне, и я их перетасовывала по всякому (например в альспавне удаляю в профиле оставляю, и наоборот) все равно он с рукой разговаривает.

 

1 минуту назад, Marafon6540 сказал:

Смотри sr_light.script из этого патча

Спасибо, посмотрим.

Ссылка на комментарий

@Капрал Хикс@AndrewMor@HellRatz

Благодарю. Решение оказалось простое: подсмотрел скриптовый спавн переходов в OGSM. ЕМНИП, со скриптово заспавненными переходами, правда, такая засада, что НПС и мобы ими пользоваться не могут.

Изменено пользователем Ренсон
Ссылка на комментарий

Всем добра! Играя в ТЧ 1.0006 уже несколько раз поймал вылет на ровном месте. Самостоятельно выявить причину не удалось. В справочнике по вылетам своей проблемы не нашел. Подскажите пожалуйста в чем возможная причина и  где копать.

 

Expression    : error handler is invoked!
Function      : handler_base
File          : E:\stalker\sources\trunk\xrCore\xrDebugNew.cpp
Line          : 753
Description   : illegal instruction

Pir%40t%40s.gif

Ссылка на комментарий
3 часа назад, Ренсон сказал:

со скриптово заспавненными переходами, правда, такая засада, что НПС и мобы ими пользоваться не могут.

А они и из олл.спавна переходами не пользуются. НПС и мобы ходят по АИ-сетке, им переходы для ГГ до лампочки.

  • Согласен 4
  • Полезно 1

Сталкер - наше всё!

Ссылка на комментарий

@AndrewMor, только не по аи-сетке, а по граф поинтам. Если речь про оффлайн и переходы между уровнями.

  • Согласен 4
Ссылка на комментарий

@Pir@t@s, вернее всего в какую-то движковую функцию передаются неправильные аргументы, либо nil.

 

15 часов назад, Ренсон сказал:

скриптово заспавненными переходами ... НПС и мобы ... пользоваться не могут

Они и аллспауновскими тоже не могут. Для перемещения между уровнями нпс используют так называемые аи-переходы - связи между вершинами графа (гейм-вертексами). Добавить их можно через СДК или при помощи game.graph recompiler (ggrc).

  • Спасибо 1
  • Согласен 2
  • Полезно 3

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Ссылка на комментарий

@HellRatz, Ну да, по граф-пойнтам. Но если сетки нет - то и ходить никуда не будут, да и спавн не соберешь. Еще забыл сказать, что нужные граф-пойнты на локациях должны быть связаны.

 

Упс, naxac уже ответил про связь граф-пойнтов.

Изменено пользователем AndrewMor

Сталкер - наше всё!

Ссылка на комментарий

Народ, кто нибудь может сказать почему в тч нельзя добыть инфу по жарке и артефактам пустышкам? Как это можно исправить и добавить в энциклопедию все статьи?

Ссылка на комментарий
2 часа назад, Ninna сказал:

добыть инфу

Вот уж никогда не обращал внимания на эту ерунду, но думаю, можно выдавать нужные инфопорции в любом удобном месте из info_known_objects

  • Спасибо 1
  • Согласен 2

Здесь могла быть ваша реклама.

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...