Создание объектов на локации и логика поведения этих объектов
Если у вас появились вопросы по созданию динамических объектов в игре (НПС, монстры, аномалии, и т.п.) и настройке их "поведения". Задавайте их в этой теме - умные головы, модосторители и просто разбирающиеся в программировании люди вам ответят.
Сборник модостроения ЗП v10.10.11 (автор: XOBAH): *.CHM, *.HTML [cut noguest=Если у вас не открывается файл CHM]Если у вас не открывается файл: 1. Запустите [Пуск]=>[Выполнить] (либо хот-кей [WIN]+[R]) 2. Введите команду (без кавычек) "regsvr32 %windir%\system32\hhctrl.ocx" 3. Если вылезло окно об успешном завершении вы все сделали правильно и можете перезагружать компьютер (а может и не надо) Также: файлы МОГУТ не открываться если в пути к файлу есть: символы кириллицы, "_", "#" Также: есть не стандартные программы-просмоторщики CHM файлов. Например: FBReader[/cut]
[cut=Где найти лог игры после вылета]Что такое LOG ошибки, и как мне его найти? Это система отладки происходивших вылетов, которая подается игрой в форме текста, хотя не всегда. Для того чтоб найти LOG необходимо зайти вот сюда:
В Win хр лог находится:
C:\Documents and Settings\All Users\Документы\S.T.A.L.K.E.R. - Зов Припяти\logs
Затем открываете первый файл в формате TXT, и в нем отбираете с низу 25 строчек. После кидаете эти 25 строчек в сообщение на форум.
В Win7 лог находится C:\Users\Public\Documents\S.T.A.L.K.E.R. - Зов Припяти\logs
Путь к папке с логом можно найти открыв файл fsgame.ltx который находится в корневой директории ЗП, за это отвечает строка: ... $app_data_root$ = true | false| $fs_root$| users\(тут мы указываем что папка пользователя, будет хранится рядом с Fsgame.ltx) ... $logs$ = true| false| $app_data_root$| logs\(а тут мы указываем что в папке пользователя, в подпапке Logs будут храниться наши логи) ... [/cut][cut=Получение более подробной информации о вылете (ХОВАН)] Открываем файл _g.script и ищем такую функцию: function abort(fmt, ...) Там есть заккомментированная строчка "--error_log(reason)", ее и надо расскомментировать, должно получиться вот так:
Code
function abort(fmt, ...) local reason = string.format(fmt, ...) error_log(reason) end
Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией
Первый:
Code
Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ....a.l.k.e.r. - Зов Припяти\gamedata\scripts\_g.script:478: bad argument #2 to 'format' (string expected, got nil)
Второй:
Code
Expression : 0 Function : ErrorLog File : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp Line : 49 Description : 'Attempt to read a non-existant string field 'path_walk' in section 'walker@mechanic'
[/cut]
Перед тем, как задать вопрос в этой теме, прочтите все предыдущие страницы, статьи в wiki по ссылке из шапки и соседнюю тему "Курс молодого бойца", возможно Ваш вопрос уже рассматривался.
Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки. Помните чем подробнее вопрос, тем точнее ответ.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение:
Денис вот тут конфиг химеры, не могли ли вы поточнее обьяснить, что я должен поменять??Будьте добры разясните так как сам я не пойму, что нужно изменить в строчках что бы спавнился монстр на террейне :http://SSMaker.ru/747bd994/
Эти 0 пользователя(ей) поблагодарили alex_xp_77 за это полезное сообщение:
alex_xp_77, Для начала раскоментировать параметр $spawn (который кстати и определяет в структуре SDK, где находится химера в списке) "Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение:
Дело в том что мене уже посоветовали раскоментировать, думал дальше пойдет проще,(например на снорке) сравню настройки, поправлю кое где, и все, да не тут то было, настройки идентичные, и вот в тупике из за этого Денис (((
Эти две строчки означают, что вы раскоментировали параметр, а в списке ее все равно нет? denis2000
В списке нет, но я ничего не трогал, все как и было!!
Как потрогаете, сообщите о результате. denis2000
Сообщение отредактировал alex_xp_77 - Сб, 26.04.2014, 21:51
Эти 0 пользователя(ей) поблагодарили alex_xp_77 за это полезное сообщение:
Попробовал присоединить к СГМ 2.1 для ЗП локацию Кордон из ЧН 1.5.10 (игра чистая).
Для работы использую ACDC 1_37 (самый свежий на сегодняшний день). Возникли следующие затруднения.
1. Спавн от СГМ 2.1 для ЗП ACDC разбирает и собирает без проблем и ограничений.
2. Спавн от ЧН можно разобрать. Затем можно собрать. Но новособранный спавн от ЧН при следующей разборке дает ошибку.
3. Аналогичная картина при попытке разобрать спавн от СГМ с добавленным Кордоном. С помощью компилятора, входящего в комплект СГМ удалось собрать общий спавн. Можно его собирать и разбирать. Но ACDC 1.37 предпочтительнее. Он сортирует секции по алфавиту. И при обработке спавна от ЧН и сборного спавна дает ошибку.
Можно, не используйте sim_faction тем более что в ЗП их больше нет. "Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение:
denis2000, Спасибо. Теперь возникло другое осложнение. Пересчет вертексов из ACDC глючит. Я убрал лишнее из alife_escape. Исправил нумерацию секций. Батник acdc_parse.
спотыкается на объектах section_name = campfire. Начиная с номера 8000741. Чем ему не нравятся эти секции? В файле Затона секции аналогичные. Кордон
Еще один вопрос. Батник acdc_split формирует для каждой локации lelel.spawn и level.game. Можно ли решить обратную задачу? Имея lelel.spawn и level.game для всех нужных локаций, собрать полноценный спавн? Можно ли присоединить локацию таким методом?
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение:
Чем ему не нравятся эти секции? В файле Затона секции аналогичные.
Бес понятия, чем не нравятся - этот вопрос следовало бы адресовать авторам программы или хотя бы приложить лог конвертера. Не получается автоматом пересчитайте вручную.
Цитатаsergej5500 ()
Еще один вопрос. Батник acdc_split формирует для каждой локации lelel.spawn и level.game. Можно ли решить обратную задачу?
Да конечно: конвертер потом эти файлы декомпилирует в формат SDK (при декомпиляции уровня), в SDK создадите билд уровня, а компилятор спавна снова соберет спавн, но зачем? "Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение:
Всем дорого дня!!Опять нужна помощь знатоков!!Хочу сделать новый сюжет, что бы все было как у людей, вот и на этот раз, пытался через sdk и config, заспавнить торговца, имя торговца trade_ashot, ну сделал все как и уроке, на каком то сайте, не суть важно, но при запуске игры , с уже новым торговцем, произошел вылет, даже игра не запустилась, вылез лог вот тут: http://SSMaker.ru/01c47641/ , ну понятно что лог на ashot_trader.xml , я ассортимент торговца взял из файла trade_trader, этот файл для обычного торговца, вот что у меня в самом документе ashot_trader.xml тут: http://SSMaker.ru/4aeab18d/ поменял имя на ashot_trader, вот в этих документах: npc_profile,character_desc_sev_plato(этот создал сам, с именем моей локации),system, вроде все !!Помогите кто знает в чем дело, очень нужна ваша помощь!
Эти 0 пользователя(ей) поблагодарили alex_xp_77 за это полезное сообщение:
+ в логе у вас "error while parsing XML file" == 100% синтаксическая ошибка. Проверьте все теги на правильность, например Ноутпадом ++. Часто что-нибудь не хватает, например ">". Или наоборот, что-нибудь лишнее. Изменяем реальность S.T.A.L.K.E.R. CoP: "Цена Новых Исследований" / "New Investigations' Value"
Сообщение отредактировал NIV - Вт, 29.04.2014, 09:39
Эти 0 пользователя(ей) поблагодарили NIV за это полезное сообщение:
Добрый вечер всем!! По поводу торговца, тут поковырялся понял что не прописал пути приветствия, точнее диалога характерного для торговца,и незнаю как это сделать грамотно, то есть профиль торговца, ashot_trader, может кто подскажет по какому пути можно вытащить диалог обычного торговца, хотя бы Скряги?Был бы очень благодарен за помощь!
Сообщение отредактировал alex_xp_77 - Ср, 30.04.2014, 18:35
Эти 0 пользователя(ей) поблагодарили alex_xp_77 за это полезное сообщение:
tema796, А кто сесть то должен? Где информация о скваде? Где спавн? "Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение:
tema796, 1. В секции [smart_terrain] параметр max_population - обязательный! Иначе применяется значение по умолчанию = 0. 2. Для проверки уберите кондишен npc_in_zone. "Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение:
P.s. : вот пути до файлов, вдруг поможет 1)D:\Игры\S.T.A.L.K.E.R. - Call of Pripyat\gamedata\configs\scripts\escape\smart_terrain\(там лежит esc_sid ) 2)D:\Игры\S.T.A.L.K.E.R. - Call of Pripyat\gamedata\configs\scripts\escape\job\esc_sid\(там лежит esc_sid_bar )
Сообщение отредактировал tema796 - Пт, 02.05.2014, 15:15
Эти 0 пользователя(ей) поблагодарили tema796 за это полезное сообщение: