Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: 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]
 
suhar_Дата: Вс, 15.02.2015, 19:39 | Сообщение # 1171
Бывалый
Пользователи
Сообщений: 106
Награды: 0
Репутация: [ 0 ]

При декомпиляции локаций Зова Припяти в формат SDK0.7 возникает ошибка:
[bug] unexpected code path at ..\level_tools_details.cxx:83
Использую стандартный конвертер от Бардака и Колмогора.
Ситуация следующая: был изменён файл all.spawn, внесены правки в содержание некоторых тайников, а также изменены некоторые ранее присутствующие на оригинальных локациях предметы.
В папках локаций обнаружил файлы level.spawn, в которых нашлись названия старых (неправленных) тайников. Судя по всему, вылет происходит как раз из-за того, что эти самые файлы не синхронизированы с файлом общего спавна. Вопрос, как это сделать? И для чего разрабы сделали дублирующийся список спавна предметов, если игра использует all.spawn?


Сообщение отредактировал suhar_ - Вс, 15.02.2015, 19:40
 
denis2000Дата: Вс, 15.02.2015, 23:21 | Сообщение # 1172
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

suhar_, Для спавна игра использует all.spawn, для декомпиляции конвертор использует level.spawn, то что они не совпадают к вылету не приводит, для точного определения причины приведите подробный лог. Как перенести изменения сделанные в all.spawn напрямую есть урок в КМБ.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
suhar_Дата: Вт, 17.02.2015, 18:42 | Сообщение # 1173
Бывалый
Пользователи
Сообщений: 106
Награды: 0
Репутация: [ 0 ]

В Зове Припяти в конфигах шлемов и их апгрейдов не читаются параметры power_loss и power_restore_speed. Допустим, что параметр power_loss предназначался только для костюмов, но вот power_restore_speed используется в апгрейдах шлемов. В игре сделав этот апгрейд, скорость восстановления сил совершенно не меняется. Это наводит на мысль, что разрабы просто допустили баг, не внесли у шлемов чтение этого параметра. Вопрос: можно ли это исправить, не внося изменения в движок (сдаётся мне, что чтение этих параметров зашито именно в движке). Например, скрипт, который будет принудительно считывать этот параметр.
Аналогичный вопрос для чтения параметра инфракрасного сканера у костюмов. В оригинале он читается только у шлемов. Можно ли принудительно считывать его у костюмов?
 
denis2000Дата: Вт, 17.02.2015, 19:12 | Сообщение # 1174
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата suhar_ ()
Это наводит на мысль, что разрабы просто допустили баг

Что совершенно не удивительно.
Цитата suhar_ ()
можно ли это исправить, не внося изменения в движок (сдаётся мне, что чтение этих параметров зашито именно в движке). Например, скрипт, который будет принудительно считывать этот параметр.

Скрипт который будет читать этот параметр сделать возможно, дальше принудительно изменять уровень силы у ГГ? Это тоже возможно.
Цитата suhar_ ()
Можно ли принудительно считывать его у костюмов?

Вот тут без правок движка никак иначе получиться что-то типа такого: Локатор объектов с отображением меток на «забрале». Для Зова Припяти


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
BIZonnikДата: Вт, 17.02.2015, 21:29 | Сообщение # 1175
Гражданский
Пользователи
Сообщений: 14
Награды: 0
Репутация: [ 0 ]

Товарищи, подскажите как перенести оружие из shoker 2.0 на чистый ЗП?
 
suhar_Дата: Ср, 18.02.2015, 03:29 | Сообщение # 1176
Бывалый
Пользователи
Сообщений: 106
Награды: 0
Репутация: [ 0 ]

Цитата BIZonnik ()
как перенести оружие из shoker 2.0 на чистый ЗП?

Курс молодого бойца, урок 15, 15а.
Цитата denis2000 ()
иначе получиться что-то типа такого

Идея здоровская, но, безусловно, требующая доработки.
Но сейчас именно тот случай, когда нужен сканер оригинального ЗП, который выводит метки не на худ, а на миникарту. И нужен он именно на костюмах.
 
denis2000Дата: Ср, 18.02.2015, 08:18 | Сообщение # 1177
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата suhar_ ()
Но сейчас именно тот случай, когда нужен сканер оригинального ЗП

В таком случае могу дать ссылки на исходники движка ЗП, оригинальный сканер и включение его в апгрейдах именно там.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
suhar_Дата: Чт, 19.02.2015, 16:21 | Сообщение # 1178
Бывалый
Пользователи
Сообщений: 106
Награды: 0
Репутация: [ 0 ]

Цитата denis2000 ()
могу дать ссылки на исходники движка ЗП

Нашёл в себе смелость и скачал. Возникает сразу множество вопросов.
Последняя версия ЗП вышла в январе 2010 года, тогда как файлы исходников датируются 2008 годом. На данный момент меня интересует только библиотека XRGame.dll. Если я скомпилирую (пока я делать этого не умею, но хочу знать заранее) все необходимые файлы в новый xrgame не возникнет ли проблем?
Короче говоря, меня беспокоит то, насколько эти исходники "свежие". Есть ли смысл сейчас тратить кучу времени на работу с ними. Не окажется ли так, что остальные файлы движка заточены под более поздний вариант xrgame. Может ли так получиться, что даже при грамотной компиляции из этих исходников получится заведомо нерабочая библиотека, ввиду того, что другие файлы движка используют ресурсы, которые в этих исходниках просто не существуют, по причине того, что они (исходники) на момент выхода игры уже устарели.

Установил Borland C++ builder. Решил начать с простого: исправить у новых бустеров всплывающую менюшку с "использовать" на "съесть" или "выпить". За это отвечает файл engine.vc2008\xrGame\ui\UIActorMenuInventory.cpp
Внести необходимые правки оказалось несложно. Теперь задача сводится к тому, чтобы собрать новый xrgame.dll
Может быть, здесь есть кто-нибудь, кто уже компилировал движковые файлы и может что-нибудь подсказать?


Сообщение отредактировал suhar_ - Чт, 19.02.2015, 16:31
 
grid2210Дата: Чт, 19.02.2015, 22:52 | Сообщение # 1179
Гражданский
Пользователи
Сообщений: 4
Награды: 0
Репутация: [ 0 ]

Здраствуйте, искал много но ответа не нашел, подскажите пожалуйста по какой формуле вычисляетсяется параметр оружия "scope_zoom_factor" если быть точнее как сделать в sgm 2.2 что бы при прицеливании не было зума, как например в большинстве версий тч? Заранее благодарен
 
AkameДата: Пт, 20.02.2015, 04:54 | Сообщение # 1180
Удаленные



Подскажите. Возможно ли! чтобы после выброса, Сталкеры которые попали под выброс и не укрылись от него, т.е. умерли автоматически становились зомбированными.
возможно ли прописать подобное ?
 
СахарДата: Пт, 20.02.2015, 05:10 | Сообщение # 1181
Гражданский
Пользователи
Сообщений: 2
Награды: 4
Репутация: [ 69 ]

Akame, Смотри в сборнике модостроителя ссылка в шапку.
Цитата suhar_ ()
Установил Borland C++ builder.

Советую использовать Microsoft Visual Studio 2010. Так как сталкер скорее всего писали в нем плюс будет подсветка ошибок а также подсказка по классам, методам и т.п.

Добавлено (20.02.2015, 05:10)
---------------------------------------------
Akame, Смотри в сборнике модостроителя ссылка в шапку.

Цитата suhar_ ()
Установил Borland C++ builder.

Советую использовать Microsoft Visual Studio 2010. Так как сталкер скорее всего писали в нем плюс будет подсветка ошибок а также подсказка по классам, методам и т.п.


 
VUGДата: Пт, 20.02.2015, 06:45 | Сообщение # 1182
Гражданский
Пользователи
Сообщений: 4
Награды: 0
Репутация: [ 0 ]

Цитата grid2210 ()
по какой формуле вычисляетсяется параметр оружия "scope_zoom_factor" если быть точнее как сделать в sgm 2.2 что бы при прицеливании не было зума

Формулу не подскажу, но если правильно помню, то приближение отсутствует при scope_zoom_factor = 100, уменьшение параметра увеличивает приближение. Кстати, в комплекте gamedata sgm 2.2 должен быть файлик с таблицей соответствия этого параметра и приближения реальных прицелов.

Добавлено (20.02.2015, 06:45)
---------------------------------------------

Цитата Akame ()
после выброса, Сталкеры которые попали под выброс и не укрылись от него, т.е. умерли автоматически становились зомбированными

Эта функция реализована в ARS COP моде "Выброс с некоторой вероятностью зомбирует НПЦ". Каким образом - не разбирался.
 
suhar_Дата: Пт, 20.02.2015, 07:20 | Сообщение # 1183
Бывалый
Пользователи
Сообщений: 106
Награды: 0
Репутация: [ 0 ]

Цитата Сахар ()
Советую использовать Microsoft Visual Studio 2010

Ок. У вас есть опыт работы с файлами движка?
 
СахарДата: Пт, 20.02.2015, 07:35 | Сообщение # 1184
Гражданский
Пользователи
Сообщений: 2
Награды: 4
Репутация: [ 69 ]

suhar_, К несчастью нет все никак не получается их скачать.

 
denis2000Дата: Пт, 20.02.2015, 10:15 | Сообщение # 1185
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата grid2210 ()
по какой формуле вычисляетсяется параметр оружия "scope_zoom_factor" если быть точнее как сделать в sgm 2.2 что бы при прицеливании не было зума

Приблизительно кратность прицела это соотношение угла зрения без оптики, к углу зрения с оптическим прицелом.
Параметр scope_zoom_factor - угол зрения в градусах, стандартный угол зрения без прицела в сталкере 73,3.
Значит если не должно быть увличения ставите scope_zoom_factor = 73,3, если хотите примерно двукратное то scope_zoom_factor = 37. Точный параметр можно подобрать в игре, при этом видимый размер объекта должен увеличиваться ровно на требуемую кратность прицела при его применении.

Цитата Akame ()
после выброса, Сталкеры которые попали под выброс и не укрылись от него, т.е. умерли автоматически становились зомбированными

Правьте скрипт surge_manager.script функция CSurgeManager:kill_all_unhided() В шапке темы, также есть Сборник модостроителя в котором есть рецепт превращение части трупов в зомби.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
Поиск: