Модостроение. Общие вопросы и ответы
|
|
denis2000 | Дата: Сб, 15.06.2013, 11:51 | Сообщение # 1 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Помощь тем кто хочет знать больше о игре и модах Если у вас появились вопросы по модостроению в игре S.T.A.L.K.E.R. Задавайте их в этой теме - умные головы, модосторители и просто разбирающиеся в программировании люди вам ответят.
Много интересного материала здесь (wiki), Lua_help.script, Help из SDK 0.7
Сборник модостроения ЗП 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)", ее и надо расскомментировать, должно получиться вот так: Код function abort(fmt, ...) local reason = string.format(fmt, ...) error_log(reason) end Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией
Первый: Код 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) Второй: Код 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 по ссылке из шапки и соседнюю тему "Курс молодого бойца", возможно Ваш вопрос уже рассматривался.
Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки. Помните чем подробнее вопрос, тем точнее ответ.
Посты, для которых есть свои категории, из этой темы будут удаляться или перемещаться в соответсвующую тему. Персональных извещений в ЛС о переносе\удалении поста не будет, ищите сами. Учитывайте, что в системах Ucoz тема не обновляется в статистике при переносе поста. Посты, написанные здесь-же после переноса, будут расцениваться как кросспостинг, со всеми вытекающими
[cut noguest=Первый юбилей нашей темы] Здравствуйте господа модостроители, и все так или иначе причастные к этому. Нашей теме исполнился 1 год. От души поздравляю Всех Вас дорогие друзья, творческих успехов. Хочу так же выразить отдельную благодарность denis2000 и ХОВАН. tracker 23.06.11
[/cut]
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
lychagin0 | Дата: Пн, 30.05.2016, 13:48 | Сообщение # 1891 |
Легенда Зоны
Вольные сталкеры
Сообщений: 1303
| denis2000, Спасибо, Вы как всегда неоценимы. Буду искать. Добавлено (30.05.2016, 13:48) --------------------------------------------- И снова здравствуйте. Так как кроме одной ошибки в соединении графов(левел ченжер) я не нашёл, то решил попробовать собрать спавн с помощью СДК, сказано сделано, сквады все заспавнились с началом игры, как им и положено. Но опять незадача, все без исключения заспавнились в двойном экземпляре. Хотя по файлам конфигов этого быть не должно. Сквады с ай-ди то же в двойном экземпляре. Я окончательно запутался и не пойму что надо делать. denis2000, выручайте пожалуйста.
|
|
|
Эти 0 пользователя(ей) поблагодарили lychagin0 за это полезное сообщение: |
|
|
sergej5500 | Дата: Пн, 30.05.2016, 14:05 | Сообщение # 1892 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата lychagin0 ( ) все без исключения заспавнились в двойном экземпляре
Это глюк СГМ. У функции начального спавна две таблицы. Некоторые локации прописаны в обоих таблицах. Некоторые в одной. Зачем, непонятно. Это приводит к сбоям. Если я в чистом ЗП декомпилирую Кордон в СДК, поставлю туда актора, и соберу спавн из одного Кордона, то игра не будет спавнить Бороду на Затоне. Потому, что Затона нет. А в СГМ такой трюк не пройдёт. Игра попробует заспавнить Бороду на несуществующем Затоне. И вылетит. Двойной спавн - это один из глюков функции. У меня он тоже был. Сейчас под рукой нет нужных файлов, поэтому точную причину сбоя не назову.
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
lychagin0 | Дата: Пн, 30.05.2016, 14:42 | Сообщение # 1893 |
Легенда Зоны
Вольные сталкеры
Сообщений: 1303
| sergej5500, сейчас поставлю проверку на 1 и посмотрю. Добавлено (30.05.2016, 14:42) --------------------------------------------- Да действительно двойной спавн, сейчас всё нормально, но это не решает основную проблему, почему при подключении прогой АМК результат противоположный? Вроде не первый раз подключаю. А сборка получается кривая. Всю голову отломал. Результат с СДК по моему показывает, что с локациями всё в норме, или я ошибаюсь?
|
|
|
Эти 0 пользователя(ей) поблагодарили lychagin0 за это полезное сообщение: |
|
|
denis2000 | Дата: Пн, 30.05.2016, 18:22 | Сообщение # 1894 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| lychagin0, Это говорит о том, что в отличие от программы АМК SDK работает более корректно с геймграфом (что не удивительно, ведь это родная программа для этих операций). А то что программа от АМК иногда приводит к странным эффектам это давно замечено.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
lychagin0 | Дата: Пн, 30.05.2016, 19:55 | Сообщение # 1895 |
Легенда Зоны
Вольные сталкеры
Сообщений: 1303
| Цитата denis2000 ( ) к странным эффектам это давно замечено.
спасибо за ответ, а что теперь нужно сделать для избежания подобных глюков, SDK не вариант, т.к. я и ушёл от него к АМК потому, что в сгм-2.2 очень много скриптового спавна и переделать его весь просто не смогу. Можно ли SDK подсунуть каким то образом заплатку(затычку) вместо локации digger_stash из за которой собственно и происходит смещение вертексов
|
|
|
Эти 0 пользователя(ей) поблагодарили lychagin0 за это полезное сообщение: |
|
|
sergej5500 | Дата: Пн, 30.05.2016, 20:55 | Сообщение # 1896 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата lychagin0 ( ) Можно ли SDK подсунуть каким то образом заплатку(затычку) вместо локации digger_stash из за которой собственно и происходит смещение вертексов
Можно попробовать поступить так.
1. Распаковать all.spawn от СГМ при помощи ACDC 1.38.
2. Конвертировать файлы alife и way для каждой локации в level.spawn и level.game. Использовать эти файлы для декомпиляции локации в СДК. Полученные локации будут без граф-пойнтов.
3. На всех локациях расставить граф-пойнты по новой в нужном количестве. Кол-во можно определить из файла guids оригинального спавна СГМ.
[cut=Файл][zaton] gvid0 = 0 id = 108
[jupiter] gvid0 = 317 id = 115
[pripyat] gvid0 = 666 id = 118
[labx8] gvid0 = 857 id = 150
[jupiter_underground] gvid0 = 883 id = 158
[darkvalley] gvid0 = 934 id = 159
[digger_stash] gvid0 = 1152 id = 160
[l04u_labx18] gvid0 = 1173 id = 161
[military] gvid0 = 1232 id = 162
[agroprom] gvid0 = 1430 id = 163
[agroprom_underground] gvid0 = 1585 id = 164
[marsh] gvid0 = 1598 id = 165
[escape] gvid0 = 1843 id = 166
[/cut]
4. На Затон нужно поставить 317 граф-пойнтов. На Юпитер 666-317= 349 граф-пойнтов и т.д. На digger_stash 25 граф-пойнтов. Соответственно, на предыдущей локации darkvalley надо поставить на 25 граф-пойнтов больше.
5. После выполнения этой работы настроить левел-чендеры на всех локациях. Связать граф-пойнты в глобальный граф. В общем, провести полноценное подключение локаций друг к другу.
6. Настроить файл editors\gamedata\configs\game_levels в папке СДК. А именно, параметр id в секциях нужных локаций. Примерно так.
Для Затона id = 100001 Для Юпитера id = 100002
И так далее. Порядок возрастания id должен совпадать с порядком локаций в guids оригинального спавна. Сборщик спавна СДК собирает локации в порядке возрастания id
7. Собрать спавн средствами СДК. Распаковать спавн с помощью ACDC. Проверить файл guids. Если все сделано верно, то порядок локаций совпадет с порядком в оригинальном СГМ, стартовые гейм-вертексы будут равны исходным и скриптовый спавн не нарушится.
8. Работа адская. Более простого пути я не знаю.
Сообщение отредактировал sergej5500 - Пн, 30.05.2016, 20:57 |
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
lychagin0 | Дата: Пн, 30.05.2016, 23:37 | Сообщение # 1897 |
Легенда Зоны
Вольные сталкеры
Сообщений: 1303
| sergej5500, Спасибо за совет, но из за добавления аи-сетки на вышке размером метр на метр, игра не стоит свеч. Буду думать, а может у кого ещё идеи есть. Добавлено (30.05.2016, 23:37) --------------------------------------------- Всё кажется получилось! У меня была маленькая лока подключена (коллектор) всего 13 графов я навтыкал ещё 12, обозвал (сохранил) как digger_stash, собрал в SDK спавн всех локаций, закинул всё в игру и вуаля! Всё появилось и вроде всё работает. Досканально ещё не проверял, дума уже закипела, но судя по файлу guids.ltx все вертексы остались на месте, кроме конечно моей второй локации. Но это мелочи, там скриптами два или три спавна всего. Завтра проверю полностью.
|
|
|
Эти 0 пользователя(ей) поблагодарили lychagin0 за это полезное сообщение: |
|
|
Наблюдатель | Дата: Вт, 31.05.2016, 00:41 | Сообщение # 1898 |
Ветеран
Пользователи
Сообщений: 400
| Здравствуйте Всем! Умные Люди, помогите, пжл советом. Решил пробежаться в S.T.A.L.K.E.R. Forgotten Land, это что-то вроде Мизери, но не такое хардкорное. Когда в Копачи поднимается с дядькой Яром на чердак, подходим к окну, он приседает, но вместо видеоролика вылазит такая бяка: Expression : error handler is invoked! Function : handler_base File : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp Line : 764 Description : application is aborting Посоветуйте плиз, что править, если не слишком мудрёно.
|
|
|
Эти 0 пользователя(ей) поблагодарили Наблюдатель за это полезное сообщение: |
|
|
Kapitan_komandor | Дата: Вт, 31.05.2016, 08:24 | Сообщение # 1899 |
Диггер Вольных
Вольные сталкеры
Сообщений: 12054
| У меня вообще не запускается этот мод. Наблюдатель, а мод норм?...атмосфера там и лок сколько.
Жизнь это миг.за него и держись.
|
|
|
Эти 0 пользователя(ей) поблагодарили Kapitan_komandor за это полезное сообщение: |
|
|
denis2000 | Дата: Вт, 31.05.2016, 14:45 | Сообщение # 1900 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| sergej5500, Нет необходимости переделывать спавн всех локаций, достаточно только той на которой произведены изменения в сетке, остальным подсунуть leval.spawn и level.game извлеченные из all.spawn-a. Порядок локаций задать и можно собрать спавн заново.
Наблюдатель, Лог не информативен, можно долго ковырять и не найти, в чем проблема.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Наблюдатель | Дата: Ср, 01.06.2016, 12:03 | Сообщение # 1901 |
Ветеран
Пользователи
Сообщений: 400
| Здравствуйте Всем! Благодарю за разъяснение, уважаемый denis2000. Я так и подумал, но хотел услышать подтверждение Профи.
Цитата Kapitan_komandor ( ) Наблюдатель, а мод норм?...атмосфера там и лок сколько. Kapitan_komandor, я его тоже скачивал 2 раза. Одна скачка не пошла, может криво была залита. Локации, те же, что и в ЗП, сюжет тот же. Графика напоминает Мизери, только повеселее, небо голубое. По моему она и взята за основу. И мутанты не такие быстрые и свирепые, как там. Я его скачал только из-за пакета оружия и большего количества мутантов, чем в ЗП. А ещё там иконки денег, как настоящие российские рубли. Но, как я подозреваю, именно из-за пакета нового оружия он и вылетает достаточно часто. Автор явно его не доработал, отсюда и вылеты. Так что не расстраивайтесь, если не пошёл, особо нового там ничего нет.Добавлено (01.06.2016, 12:03) --------------------------------------------- Снова здравствуйте Всем! Джентльмены, я всё касательно Forgotten Land. Обратил внимание, что два стабильных вылета связаны с появлением наёмников на Юпитере - с дядькой Яром и связанные с административными документами. Есть подозрение, что аффтар что-то криво у них прописал. Подскажите, пжл, умные Люди, в каком файле ЗП прописаны амуниция и снаряга наёмников на Юпитере?
|
|
|
Эти 0 пользователя(ей) поблагодарили Наблюдатель за это полезное сообщение: |
|
|
sergej5500 | Дата: Ср, 01.06.2016, 12:15 | Сообщение # 1902 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| Цитата Наблюдатель ( ) в каком файле ЗП прописаны амуниция и снаряга наёмников на Юпитере?
В случае Дядьки Яра, насколько я помню, использованы дефолтные наёмники. Соответственно, файл character_desc_general, секции sim_default_killer.
В квесте Административные Документы, насколько помню, использованы эксклюзивные наёмники. Файл character_desc_jupiter. Нужных файлов сейчас у меня нет. Проверяйте всех из группировки killer.
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
Наблюдатель | Дата: Сб, 04.06.2016, 22:35 | Сообщение # 1903 |
Ветеран
Пользователи
Сообщений: 400
| Здравствуйте Всем! Благодарю, уважаемый sergej5500. Пишу, может кому пригодится. Таки интуиция меня не подвела. Заменил указанные Вами файлы, файлами из оригинальной ЗП и квесты с наёмниками, на Юпитере, пошли. Видимо и правда автор ошибся где-то в них. Добавлено (04.06.2016, 22:35) --------------------------------------------- Здравствуйте Всем! Джентльмены, я касательно того же Фоготен Лэнда. Мод прошёл, но во фриплее несколько раз словил вылет: [cut noguest]Expression : fatal error Function : CInifile::r_section File : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp Line : 502 Description : <no expression> Arguments : Can't open section 'wpn_m4a1'. Please attach [*.ini_log] file to your bug report[/cut] Я так понимаю, это связано с каким-то стволом? Подскажите, плиз, умные Люди, это можно исправить? Если конечно не очень трудоёмко.
|
|
|
Эти 0 пользователя(ей) поблагодарили Наблюдатель за это полезное сообщение: |
|
|
Voland-777 | Дата: Вс, 05.06.2016, 02:01 | Сообщение # 1904 |
Эмиссар
Пользователи
Сообщений: 1702
| Здравствуйте! При попытке запустить SGM 2.2 + WR получаю такие вылеты:
FATAL ERROR [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ...call of pripyat\gamedata\scripts\xr_statistic.script:533: attempt to compare number with nil [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ....l.k.e.r. call of pripyat\gamedata\scripts\_g.script:1831: attempt to index field 'actor' (a nil value) Что я трогал: изменял награду за охрану команды Тополя от Германа из "Велеса" на другой детектор, добавлял скрипт в отдельном файле, который отвечает за открытие консервы ножом. В bind_stalker прописал такое:
--' Antdiablon antdiablon_items.use_items(obj) --' Antdiablon
Ну и добавил нож в items.ltx + описание в st_items_equipment.xml.
|
|
|
Эти 0 пользователя(ей) поблагодарили Voland-777 за это полезное сообщение: |
|
|
denis2000 | Дата: Вс, 05.06.2016, 19:33 | Сообщение # 1905 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Наблюдатель, Говорит что не может найти секцию wpn_m4a1, ее нужно или добавить (например на базе уже существующего оружия) или заменить в том месте, где на нее ссылаются на другую - существующую секцию.
Цитата Voland-777 ( ) [error]Description : ...call of pripyat\gamedata\scripts\xr_statistic.script:533: attempt to compare number with nil В скрипте xr_statistic.script в строке 533, происходит сравнение числового параметра с параметром nil (пусто).
Цитата Voland-777 ( ) [error]Description : ....l.k.e.r. call of pripyat\gamedata\scripts\_g.script:1831: attempt to index field 'actor' (a nil value) В скрипте _g.script в строке 1831 индекс с именем actor опять таки равен nil (пусто).
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
|