Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: 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Дата: Вт, 19.01.2016, 08:45 | Сообщение # 1621
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Бармен, Непонятно. Как ставили и что собственно требуется?

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
БарменДата: Вт, 19.01.2016, 16:04 | Сообщение # 1622
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

denis2000, Ну чтобы метка появились, нужна же space_restrictor ставить. Прописать в custom_data вот это:
Код
[story_object]
story_id = per_a1_spot

Ну так вот я так сделал, а он мне при компиляции локации пишет:
Код
Spawn Point: 'per_a1_spot' must contain attached shape.

Что я не так сделал?
 
sergej5500Дата: Вт, 19.01.2016, 16:21 | Сообщение # 1623
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Бармен,

Что то не так с шейпом. Выложите всю секцию рестриктора.
 
denis2000Дата: Вт, 19.01.2016, 17:26 | Сообщение # 1624
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата Бармен ()
Ну чтобы метка появились, нужна же space_restrictor ставить.

Чтобы появилась метка нужно поставить метку и не важно, что за объект для этого будет (можно и рестриктор). Какое отношение к виду и методу установки метки имеет стори_ид объекта? Ответ: никакого отношения не имеет - это вспомогательный параметр, для более простого поиска объекта.
Цитата Бармен ()
Spawn Point: 'per_a1_spot' must contain attached shape.

Это сообщение означает, что рестриктор то вы в SDK поставили, но шейп к нему не прикрутили, а это непорядок.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
БарменДата: Вт, 19.01.2016, 22:55 | Сообщение # 1625
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

denis2000, Спасибо все сделал, я shape забыл поставить biggrin
 
НаблюдательДата: Пт, 22.01.2016, 18:17 | Сообщение # 1626
Ветеран
Пользователи
Сообщений: 402
Награды: 1
Репутация: [ 59 ]

Здравствуйте Всем! Уважаемые Знатоки, с вами играет в "Luchuy Zimniy Mod" от Эмиля Наблюдатель из Урюпинска. Играет до момента выхода в Припять. После вылет с логом:
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 'night_bkg_1'. Please attach [*.ini_log] file to your bug report
Уважаемый asd123, просветил меня, что игра пытается создать что-то с несуществующей секцией. А теперь внимание, вопрос! Может ли это быть связано с роликом после появления ГГ и его команды и их встречи с военными? Просто в одном зимнем моде я помню, что этот ролик был вырезан и приход ГГ в Припять начинался без ролика, а сразу с диалога с Ковальским? Можно ли как-то самому вырезать фильм о появлении ГГ в Припяти, что бы сразу после перехода начинался диалог с Ковальским. Конечно если это не слишком сложно для дилетанта, вроде меня.
 
denis2000Дата: Пт, 22.01.2016, 19:27 | Сообщение # 1627
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Наблюдатель, Это отсутствует секция звукового канала из файла sound_channels.ltx:
Код
[night_bkg_1]
        max_distance                     = 31.000000
        min_distance                     = 30.000000
        period0                          = 0
        period1                          = 0
        period2                          = 1
        period3                          = 1
        sounds                           = ambient\background\night_bkg_1


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
НаблюдательДата: Сб, 23.01.2016, 08:15 | Сообщение # 1628
Ветеран
Пользователи
Сообщений: 402
Награды: 1
Репутация: [ 59 ]

Здравствуйте Всем! Пишу, может кому-то пригодится. Благодарю уважаемый denis2000 и Всех принявших живое участие. После указанной Вами правки, ролик прибытия таки пошёл в зимнем варианте. Просто праздник души, именины сердца. Мод действительно, из зимних, один из лучших. Как говорится простенько, но со вкусом. ИМХО. smile
 
asd123Дата: Сб, 23.01.2016, 19:00 | Сообщение # 1629
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

Приветствую читателей! happy Подскажите.. хочу добавить звук в мегафон на бывшей базе Свободы в Тёмной Долине. Сделал рестриктор, добавил звук.. Проблема вот в чём: Мне нужно, чтобы звук был очень громким(таким же громким, какой он был в ЧН в том же месте). Какие параметры для звука нужно задать? Или что-то в логике рестриктора подправить? Собственно, вот логика:
Код
[logic]
active = sr_universal

[sr_universal]
scheme_type = sound_zone
sound_zone_theme = radio_music\radio_music_gimn_capitol
sound_zone_cond = {-capitol_out} true, false
sound_zone_range_min = 4
sound_zone_range_max = 250


У мутантов тоже есть группировки. © Движок X-Ray




Сообщение отредактировал asd123 - Сб, 23.01.2016, 19:01
 
denis2000Дата: Сб, 23.01.2016, 20:31 | Сообщение # 1630
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

asd123, Нужно менять параметры этого звукового файла в SDK, в частности параметр Max Dist.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
asd123Дата: Сб, 23.01.2016, 20:42 | Сообщение # 1631
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
Награды: 10
Репутация: [ 423 ]

denis2000, Спасибо smile Подскажите ещё по одному вопросу.. В СГМ есть скрипт на отображение координат по нажатию клавиши в главном меню. Собственно, я жаловался на параметр direction, и оказывается не зря. Вот как записан сам скрипт: [cut]
Код
function main_menu:OnButton_coord_pos_clicked()
    text="Позиция:\\nX= "..db.actor:position().x.."\\nY= "..db.actor:position().y.."\\nZ= "..db.actor:position().z.."\\nlevel_vertex= "..db.actor:level_vertex_id().."\\ngame_vertex_id= "..db.actor:game_vertex_id().."\\ndirection= "..db.actor:direction():getH()
    news_manager.send_tip(db.actor,text,0,mutant_hunter,10000,nil,"Координата")
    fill_log(db.actor:position().x..","..db.actor:position().y..","..db.actor:position().z..","..db.actor:level_vertex_id()..","..db.actor:game_vertex_id())
    --/debug_to_file("points.txt",db.actor:level_vertex_id()..","..db.actor:game_vertex_id())
    debug_to_file("points.txt",db.actor:position().x..","..db.actor:position().y..","..db.actor:position().z..","..db.actor:level_vertex_id()..","..db.actor:game_vertex_id().."|"..db.actor:direction().x..","..db.actor:direction().y..","..db.actor:direction().z)
end
[/cut]
Вроде как, скрипт считывает координаты direction по осям x, y, z, но не отображает их в тексте. Как это исправить? А ещё чтобы direction в лог записывался.


У мутантов тоже есть группировки. © Движок X-Ray




Сообщение отредактировал asd123 - Сб, 23.01.2016, 20:51
 
БарменДата: Сб, 23.01.2016, 23:43 | Сообщение # 1632
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

Всем привет, как сделать карту в ПДА для подземной локации. И еще как перевести локацию на статику, а то она работает только с Динамикой и выше. Для меня Динамика не проблема, ну игроками у кого слабый ПК будет проблема. Платформа ЗП.
 
denis2000Дата: Вс, 24.01.2016, 13:38 | Сообщение # 1633
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата Бармен ()
как сделать карту в ПДА для подземной локации.

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

А в чем проблема?


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
БарменДата: Вс, 24.01.2016, 14:39 | Сообщение # 1634
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

Цитата denis2000 ()
Никогда не видел карт подземных локаций в Сталкере. Видимо из-за отсутствия террейна как такового это невозможно.

Понятно.
Цитата denis2000 ()
А в чем проблема?

Локация делалась, для динамики вот и спрашиваю как перевести еще и на статику.
 
denis2000Дата: Вс, 24.01.2016, 15:38 | Сообщение # 1635
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

asd123, Пробуйте так:
[cut]
Код
function main_menu:OnButton_coord_pos_clicked()
    news_text="Позиция:\\nX= "..db.actor:position().x..
    "\\nY= "..db.actor:position().y..
    "\\nZ= "..db.actor:position().z..
    "\\nlevel_vertex= "..db.actor:level_vertex_id()..
    "\\ngame_vertex_id= "..db.actor:game_vertex_id()..
    "\\ndirectionH= "..db.actor:direction():getH()..
    "\\ndirectionX= "..db.actor:direction().x..
    "\\ndirectionY= "..db.actor:direction().y..
    "\\ndirectionZ= "..db.actor:direction().z
    
    file_text="Position "..db.actor:position().x..","..    db.actor:position().y..","..db.actor:position().z..","..
    db.actor:level_vertex_id()..","..db.actor:game_vertex_id()..
    ", Direction "..db.actor:direction().x..","..db.actor:direction().y..","..db.actor:direction().z
    news_manager.send_tip(db.actor,news_text,0,mutant_hunter,10000,nil,"Координата")
    fill_log(file_text)
    debug_to_file("points.txt",file_text)
end
[/cut]


Цитата Бармен ()
Локация делалась, для динамики вот и спрашиваю как перевести еще и на статику.

Вот я и спрашиваю в чем заключается суть фразы "делалась для динамики". Не рассчитывались лайт мапы? Лепили шейдеры не совместимые или что-то другое.


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