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

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


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

Всем привет.

Интересуют причины ошибки "v:ge_destroy [какое-нибудь число] not found on server"

Видна в консоли в момент смерти какого-нибудь нпс. В игре проявляется судя по всему в том что в труп нпс не спавнятся какие-нибудь вещи (например патроны или еда), хотя должны.

Где копать причину, как лечить?

 

Не следует каждую строку в логах трактовать как ошибку.

Указанная строка, как и строки об отсутствии комментариев в некоторых звуковых файлах, имеет информационный характер.

Говорит не о том, что 'не заспавнилось', что-то, а не обнаружен объект на сервере.

Подобное происходит, когда удаляется некий объект из игры без разрегистрации на сервере или родительский объект (например, НПС) удаляется вместе с его вещами. Вот о таких 'исчезнувших' вещах и говорит лог.

Если надоедают такие строки - копать/лечить правкой движка или удалять объекты корректно.

--/ Artos

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

KD87

Назвать конкретные не могу. И не встречалось мне лично и не так много за эти полгода распаковывал модов ...

 

1. В ответе (#7234), посчитав для себя не вправе использовать категоричное утверждение обо 'всех' (пояснение ниже), дал смягчающую формулировку, вставив мягкую 'сомневалку' в виде слова 'почти' в скобках.

 

2. Пояснение про сомневалку (касается релизной версии 2 june 2011):

2.1. Универсальность утилиты (ACDC) базируется (в том числе) на способности читать конфиг-файлы (*.ltx) игры/модов, получая информацию о добавленных разработчиком мода новых секциях объектов, которые могут встречаться в 'all.spawn'-е.

Если 'неизвестная' секция не сможет быть прочитана или прочитана с ошибкой - работа утилиты с данным модом невозможна.

2.2. В модах, особенно не мало известных, нередко встречаются некритические ошибки в конфиг-файлах, которые не влияют на работоспособность игры с модом.

Пример такой ошибки - пропуск символа комментирования ';' (точка с запятой), отделяющая реальные данные от собственно комментария:

'[my_item] ;-- это мой предмет' -> '[my_item] -- это мой предмет'

Игра прочитает такой конфиг, но утилита, наткнувшись на ошибку - прекращает работу.

2.3. Т.о. если модмейкер добавив новые секции и упаковав в 'all.spawn' после этого внесет некритические ошибки в конфиг файлы и выложит мод - распаковать сможет только тот, кто найдет и исправит ошибки, на которых спотыкается утилита.

 

На последних бетта версиях я уже не встречал вроде бы таких остановок/затыков (предполагяю был подправлен парсер).

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

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

Artos, я спрашиваю не насмешки ради, а развития для :) Я ведь как раз и разрабатываю этот самый универсальный acdc. Естественно, проверить все моды на распаковку я не могу, поэтому и прошу указать мне моды, спавн которых не распаковывается. Причины вылетов утилиты чаще всего в ошибках модостроителей, и это приходится учитывать. На данный момент проверена распаковка/запаковка спавнов модов AMK, NLC6, Народная Солянка. Также распаковываются спавны всех финалок и билдов (хотя, как показала практика, это всем побоку даже среди билдоманов гейм.ру), также есть ряд дополнительных фич (например, конвертация спавна). К сожалению, отзывов (и предложений) о работе утилитки от мододелов практически не поступает, что затрудняет дальнейшее развитие.

Кстати, последняя версия - от 30 августа. Там кой-чего подправлено, в том числе парсер.

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

KD87, я и не воспринял твой вопрос как насмешку :-)

Контекст вопроса я понял - тебе нужна информация, чтобы дорабатывать или подправлять. То, что ты автор этой утилиты - в курсе (все же и читаю коды и постоянно к вам на сайте в 'Source Code' заглядываю).

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

Именно с этой универсальной версией (2 june 2011) с версией мода SIMBION:SHOC v3.0rc11 (начала этого года, а позже было исправлено) при распаковке столкнулся с ограничениями парсера. Попытка подключить парсер конфигов показала наличие ошибок в конфиг-файлах и распавка была невозможна. Посмотрев конфиги - обнаружит 3-4 пропуска 'точек с запятой' в комментах. Исправив - все прошло как по маслу.

Сейчас при работе с модом, именно чищу/правлю алл.спавн, пользуюсь универсальными вариантами ACDC. Причем, постоянно ее обновляю до последней бетты и работаю с ней (предварительно проверив на 'вшивость'). Нареканий нет

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

Ранее хотел сам обратиться с предложениями к Вам, но ... откладывал.

Например, хотел предложить/попросить сделать опцию для указания пути к файлу 'game.graph', дабы не искать и/или не держать его в корне папки с утилитой

Готов оказывать помощь информативную или как тестер в вашей работе над утилитой (с Perl'ом когда то был на 'ты', но ... подзабыл многое).

 

Учитывая, что говорим об универсальном варианте ACDC, думаю (если понадибится) дальнейшие подобные вопросы удобнее обсуждать в как раз универсальном топике "Скриптование, спавн и логика. Вопросы касательно: скриптов, спавна (all.spawn в числе) и логики". Это даст инфу и модмейкерам на других версиях игры, может у них возникнут вопросы/нарекания/пожелания.

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

Подскажите пожалуйста, где прописана перемена ( ближе-дальше) кратности бинокля? Какие это строки? В w_binoc? Где возможно поискать подробное описание (расшифровки) файла w_binoc.. ?

 

Сообщение от модератора Cyclone

scope_zoom_factor (чем меньше значение, тем больше увеличение).

 

Извините, но это постоянная кратность......А нужна именно переменная...., динамическая.... так сказать....

 

Нет такой переменной в скриптах и тем более в конфигах.

Это функции движка и работает внутри него.

--/ Artos

 

Добавлено через 80 мин.:

Спасибо, теперь понятно..

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

Че это за фигня.. d482748dd71c96f5d6326115d120012653951599019477.jpg Вставляю новые стволы в Нар.Сол, ничего лишнего вроде не редактировал, и появилась такая бяка, ГГ ходит кагбудто очень уставший..

Обращаю внимание, что этот топик по файлам на основе оригинальной игры SHoC (ТЧ), а не по всевозможностям, которые добавлены модмейкерамии и НИКАКОГО отношения не имеют к оригинальным кодам.

Подобным вопросам место или в топиках по соответствующим модам или в общем топике "Скриптование ..."

--/ Artos

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

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

1) Подскажите пожалуйста, где можно скачать Рыжий Лес для ТЧ? Только дайте пожалуйста РАБОЧУЮ ссылку, которая не приведет меня на страницу с надписью "файл был удален" и т.д.

Идем в топик "Ищу файлы / моды / аддоны" --/ Artos

2) Как добавить разгрузочный пояс?

Спрашиваем это у того, кто сделал некий "разрузочный пояс" --/ Artos

3)Какой файл отвечает за надпись "Игра окончена"?

См. 'config\text\rus\string_table_general.xml'

Учимся сами получать ответы на элементарные вопросы!

Простейший поиск интересующего текста по файлам из папки игры за секунды дает ответы.

--/ Artos

Заранее спасибо.

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

Спасибо. :D

 

Вот еще:

 

В файле actor (C:\Program Files\GSC World Publishing\S.T.A.L.K.E.R\gamedata\config\creatures) написано следующее:

 

[actor_condition]

satiety_v = 0.000105 ;скорость уменьшения сытости со временем

radiation_v = 0.0000001 ;скорость уменьшения радиации

satiety_power_v = 0.000055 ;увеличение силы при уменьшении сытости

satiety_health_v = 0.0001 ;увеличение здоровья при уменьшении сытости

satiety_critical = 0.0 ;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшаться

radiation_health_v = 0.004 ;уменьшение здоровья при воздействии радиации

 

Вопрос:

В "satiety_power_v" и "satiety_health_v" увеличение, или все-таки уменьшение?

Извините меня,я имел ввиду где хранятся координаты текста(новая игра,и т.д)

Извините меня,я имел ввиду где хранятся координаты текста(новая игра,и т.д)

Координаты кнопок в главном меню прописаны в ui_mm_main.xml

	<menu_main btn_height="30" font="graffiti22" a="255" r="0" g="0" b="0">
	<btn name="btn_new_game"	caption="ui_mm_newgame" />
	<btn name="btn_load"		caption="ui_mm_load_game" />
	<btn name="btn_multiplayer"	caption="ui_mm_multiplayer_n" />
	<btn name="btn_options"		caption="ui_mm_options_n" />
	<btn name="btn_credits"		caption="ui_mm_credits" />
	<btn name="btn_quit"		caption="ui_mm_quit2windows" />
</menu_main>

<menu_main_last_save btn_height="30" font="graffiti22" a="255" r="0" g="0" b="0">
	<btn name="btn_new_game"	caption="ui_mm_newgame" />
	<btn name="btn_load"		caption="ui_mm_load_game" />
	<btn name="btn_lastsave"	caption="ui_mm_last_save" />
	<btn name="btn_multiplayer"	caption="ui_mm_multiplayer_n" />
	<btn name="btn_options"		caption="ui_mm_options_n" />
	<btn name="btn_credits"		caption="ui_mm_credits" />
	<btn name="btn_quit"		caption="ui_mm_quit2windows" />
</menu_main_last_save>

 

Тексты кнопок - ui_st_mm.xml

 

п.с. пожалуйста юзайте Notepad++ последней версии. С помощью этой программы все находиться за считанные секунды ;)

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

А можно ли, точней сказать как сделать в ТЧ отметки локаций, типа Цементный завод, Янов как в ЗП.. Ведь это точно как то реализовать можно..

FANAT, спавнишь space_restrictor, его имя добавляешь в таблицу primary_objects_tbl в pda.script. Так это реализовано исходно.

Капрал Хикс, Метки мини-локаций - это обычные метки типа "primary_object", поставленные на спейс рестрикторы. Соответственно, порядок действий такой:

1) Спавнится спейс рестриктор в том месте, которое нужно отметить (к примеру, zat_b55_spot на аномалии Коготь). Обязательно надо дать ему story_id (к примеру, 567).

2) Делается запись где-нибудь в text/rus/ с названием мини-локации

    <string id="st_zat_b55_name">
        <text>Аномалия «Коготь»</text>
    </string>

3) Ставится метка на рестриктор таким образом: level.map_add_object_spot(alife():story_object(567), "primary_object", "st_zat_b55_name"). Можно вместо "st_zat_b55_name" и сам текст написать.

 

В ЗП все это сделано в pda.script, никаких новых функций по сравнению с ТЧ при этом не используется. Советую изучить, сделать такую же систему и для ТЧ.

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

Ну в таком случае можно попросить сам файл скрипта pda.script? Сделаем :)

Рассуждения по поводу производительности :wacko2:

Почему:

1. Диалоги пишутся двумя файлами? Один "код" второй текст-расшифровка. Разве не удобней все в один запхнуть? Если мы все диалоги (допустим) перепишем таким методом не будет ли быстрее игра летать? Как происходит загрузка этих файлов? Все же в систем прописано...

 

2. И еще одно: может стоит все анимки монстров/нпс подключать отдельным файлом? Я про формат анимок omf?

Опять же, грузятся объекты (при загрузке игры)..., прикрепленные к ним анимации (в формате omf) не грузятся ли только при попадании в он-лине радиус актору? В ЗП вроде все так сделано.

 

Чет наворотил, надеюсь разберете.

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

1. Не будет. Все строчки грузятся в оперативную память - какая разница из какого места грузить. Структуру данных в сталкере уже не изменишь. Да и не факт, что придумаешь лучше, чем есть.

 

2. С чего бы это огф грузятся, а омф не грузятся :) Логично предположить, что огф и омф грузятся одновременно. Если по каким-то причинам загрузили огф, то и анимации к нему надо загрузить.

В ТЧ если посмотреть - если одни и те же анимации используются несколькими объектами, то они выносятся в омф. Хорошо видно на монстрах. Если у монстра одна модель, то анимации зашиты в модель. Если несколько, то вынесены.

amik,

1. Диалоги пишутся двумя файлами? Один "код" второй текст-расшифровка. Разве не удобней все в один запхнуть? Если мы все диалоги (допустим) перепишем таким методом не будет ли быстрее игра летать? Как происходит загрузка этих файлов?

Ты имеешь в виду структуру + локализацию? Слияние ничего не даст. Диалоги - это вообще по памяти копейки, да ещё и грузятся один раз за всю игру. Т.е. даже не просто один раз за загрузку, а один раз за запуск программы.

 

2. И еще одно: может стоит все анимки монстров/нпс подключать отдельным файлом? Я про формат анимок omf?

Опять же, грузятся объекты (при загрузке игры)..., прикрепленные к ним анимации (в формате omf) не грузятся ли только при попадании в он-лине радиус актору? В ЗП вроде все так сделано.

Мне кажется, а ТЧ тоже анимации внешние для сталкеров, и только для монстров внедрённые в модель. Или ошибаюсь?

 

С другой стороны, у меня есть подозрение, что здесь вопрос исключительно удобства, поскольку в памяти анимации для каждого визуала сидят отдельно, даже если одинаковые.

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

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

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

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

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

Войти

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

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

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