Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: denis2000, FantomICW  
Модостроение. Общие вопросы и ответы
denis2000Дата: Сб, 15.06.2013, 11:51 | Сообщение # 1
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Помощь тем кто хочет знать больше о игре и модах

Если у вас появились вопросы по модостроению в игре 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]
 
denis2000Дата: Ср, 21.03.2018, 08:09 | Сообщение # 2836
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

sergej5500, Тогда уж не забывайте откорректировать впридачу все файлы логики для этого НПС иначе он не будет их принимать, а также все проверки в скриптах где он упоминается, раз не используете метод
Код
npc:set_character_community("stalker", 0, 0)

В xr_effects.script:
Код
function change_npc_community(actor, npc, p)
    if(p[1]~=nil) then
  npc:set_character_community(p[1], 0, 0)
    end
end

В логике персонажа:
Код
on_info = {+now_npc_stalker -npc_community_stalker} %=change_npc_community(stalker) +npc_community_stalker%
 
НаблюдательДата: Пт, 23.03.2018, 20:27 | Сообщение # 2837
Ветеран
Пользователи
Сообщений: 400
Награды: 1
Репутация: [ 59 ]

Цитата denis2000 ()
Тогда уж не забывайте откорректировать впридачу все файлы логики для этого НПС

Цитата sergej5500 ()
Одним файлом тут не обойтись.

Благодарю за ответ, уважаемые Профи. Всё не так просто оказывается. Я по наивности думал что она просто где-то прописана в файле и меняется как группировка ГГ в повелителе зоны. Следовательно и для того, что бы сделать одного Яра нейтральным к "Долгу" не обойтись без глобальных правок?
 
sergej5500Дата: Пт, 23.03.2018, 23:36 | Сообщение # 2838
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Цитата Наблюдатель ()
что бы сделать одного Яра нейтральным к "Долгу" не обойтись без глобальных правок?


Можно сделать всю Свободу на время нейтральной Долгу. А ещё можно после квеста в Копачах подойти к Яру и вместе с ним телепортироваться на Янов.
 
terr_rДата: Вт, 27.03.2018, 22:44 | Сообщение # 2839
Удаленные



Раньше играл с windows'а и ставил поверх чистой Зов Припяти 1.6.02 ствол AKS-74 из SGM 1.7 – все идеально работало; по определенным причинам сейчас мне доступен только макбук, на котором идеально идет и чистая Зов Припяти, и SGM 2.2, но при попытке поставить поверх SGM 2.2 тот самый ствол вылетает ошибка при запуске – "can't find include file: w_aks74.ltx"
Все файлы из папки с акс74 прописал в папку с модом, файл w_aks74.ltx в наличии, не могу понять почему игра ругается.
Перерыл гугл, говорят мол файла нет или его надо переставить, но перестановка не помогает
 
Voland-777Дата: Вт, 27.03.2018, 22:57 | Сообщение # 2840
Эмиссар
Пользователи
Сообщений: 1702
Награды: 9
Репутация: [ 474 ]

terr_r, а он прописан в configs/weapons/weapons.ltx?
 
terr_rДата: Ср, 28.03.2018, 07:42 | Сообщение # 2841
Удаленные



Voland-777, да, первым делом туда прописал

Сборка от Енота кстати тоже вылетает при запуске, только логи, к сожалению, не смотрел
Может ли быть такое, что обертка для запуска win приложений на маке не воспринимает конфиги нового оружия?
С другой стороны – броники из sgm 2.2 работают без проблем, да и все остальное тоже


Сообщение отредактировал terr_r - Ср, 28.03.2018, 07:47
 
denis2000Дата: Ср, 28.03.2018, 08:30 | Сообщение # 2842
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

terr_r, Файл прописанный в configs/weapons/weapons.ltx не существует по указанному пути (имя файла не совпадает, путь не совпадает, файл отсутствует).
Цитата terr_r ()
обертка для запуска win приложений на маке не воспринимает конфиги нового оружия?

Чудес не бывает.
 
terr_rДата: Ср, 28.03.2018, 09:20 | Сообщение # 2843
Удаленные



denis2000, конфиг ствола прописан в gamedata/configs/weapons/weapons/w_aks74.ltx там же где лежат и остальные стволы; пробовал заново прописать название файла, не помогло

вторые сутки просто уже исследую способы заставить все работать и никаких подвижек, видимо не судьба

О, снизошло озарение и я дописал к строчке с конфигом в файле weapons папку weapons. Теперь пишет ошибку line 502, can't open section 'mod_ak74'. Теперь у меня точно нет идей

В modders-wiki.ru поиск по номеру линии дает результат https://modders-wiki.ru/xr:Line_342, только все равно непонятно что не так с секцией mod_ak74


Сообщение отредактировал terr_r - Ср, 28.03.2018, 09:38
 
sergej5500Дата: Ср, 28.03.2018, 10:08 | Сообщение # 2844
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Цитата terr_r ()
только все равно непонятно что не так с секцией mod_ak74


Игра не может её найти. В каком-то файле (вероятно, в том, который вы добавили), прописана ссылка на эту секцию. Такие ссылки любят в СГМ. Там часто выносят некоторые параметры оружия в отдельные файлы. w_sections, например.

Проверяйте мод-источник. Ищите секцию mod_ak74 и скопируйте её в ваш мод.
 
terr_rДата: Ср, 28.03.2018, 11:33 | Сообщение # 2845
Удаленные



Действительно – случайно перенес в заголовок конфига строчку из конфига оригинала ак74. Другой момент – теперь игра запускается и после логотипа sgm вылетает не доходя до главного меню со следующей ошибкой:
[error]File: D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line: 748
[error]Description: ... call of pripyat\gamedata\scripts\sgm_version.script:10: attempt to call global ‘get_mod_version’ (a nil value)

Как с этим быть?
 
denis2000Дата: Ср, 28.03.2018, 11:58 | Сообщение # 2846
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

terr_r, Видимо покурочили файл _g.script в котором и содержиться функция get_mod_version.
 
terr_rДата: Ср, 28.03.2018, 12:07 | Сообщение # 2847
Удаленные



denis2000, ошибка указывает на поломанный синтаксис? менял _g.script чтоб получать подробный лог ошибки
 
denis2000Дата: Ср, 28.03.2018, 15:31 | Сообщение # 2848
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата terr_r ()
ошибка указывает на поломанный синтаксис?

Именно! Верните скрипт в начальное состояние.
 
НаблюдательДата: Чт, 05.04.2018, 10:40 | Сообщение # 2849
Ветеран
Пользователи
Сообщений: 400
Награды: 1
Репутация: [ 59 ]

Здравствуйте Всем! Играл в мод на ЗП с повышенным интеллектом НПС. Всё было супер, до спуска в подземелье при походе на Припять. При загрузки подземной локации ловлю вылет:
Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : ...pyat complete\gamedata\scripts\level_weathers.script:105: bad argument #2 to 'random' (interval is empty)
Подскажите пожалуйста, умные Люди с чем он может быть связан и можно ли от него избавиться? Если это вылет не из серии "много причин". smile
 
denis2000Дата: Пт, 06.04.2018, 18:52 | Сообщение # 2850
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Наблюдатель, В оригинальном файле level_weathers.script строка 105 пустая, делаю вывод, что файл правили модостроители, а значит без их правок мы ничего не сможем вам подсказать.
 
Поиск: