Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: 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]
 
Kapitan_komandorДата: Чт, 28.09.2017, 19:17 | Сообщение # 2716
Диггер Вольных
Вольные сталкеры
Сообщений: 12054
Награды: 15
Репутация: [ 1122 ]

denis2000, а зачм Атмосфер ставить...если в ЗП править?
И почему 1.6.02?
Разве папки бин имеет отношения к папке с погодой...что ты обозначил?



Жизнь это миг.за него и держись.
 
Voland-777Дата: Чт, 28.09.2017, 19:47 | Сообщение # 2717
Эмиссар
Пользователи
Сообщений: 1702
Награды: 9
Репутация: [ 474 ]

Цитата Kapitan_komandor ()
Разве папки бин имеет отношения к папке с погодой...

Имеет. В Атмосфер входят правки файлов двигла, а точнее рендеров освещения.
 
Kapitan_komandorДата: Чт, 28.09.2017, 19:49 | Сообщение # 2718
Диггер Вольных
Вольные сталкеры
Сообщений: 12054
Награды: 15
Репутация: [ 1122 ]

Цитата Voland-777 ()
В Атмосфер входят правки файлов двигла, а точнее рендеров освещения

sad ...ясненько...засада ещё более.



Жизнь это миг.за него и держись.
 
Voland-777Дата: Чт, 28.09.2017, 20:09 | Сообщение # 2719
Эмиссар
Пользователи
Сообщений: 1702
Награды: 9
Репутация: [ 474 ]

denis2000, добрый вечер. Хотел кое-что узнать: просматриваю файл логики вертолёта из Helicopter Mod.
Вот кусок файла:

[heli_move@start]
path_move = zat_heli_start
max_velocity = 60
engine_sound = false
mute = true
immortal = true
show_health = false
enemy = nil
on_info = {+about_skadovsk_dialog_done} heli_move@patr

Насколько понимаю, в строчке on_info описывается условие, за которого вертолет переходит в heli_move@patr. Можно ли задать вместо диалогов о Скадовске, скажем, выдачу первого квеста у Сыча? Я просто не знаю, где найти в файлах подобное условие.
 
denis2000Дата: Чт, 28.09.2017, 20:28 | Сообщение # 2720
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Voland-777, Если хотите, то посмотрите файл с этим диалогом Сыча, найдите инфопорцию, которая используется как сигнал, что он произошел и впишите ее в условие перехода вертолета между секциями.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
Voland-777Дата: Чт, 28.09.2017, 22:35 | Сообщение # 2721
Эмиссар
Пользователи
Сообщений: 1702
Награды: 9
Репутация: [ 474 ]

denis2000, игра вылетает с таким логом:

[error]Expression : 0
[error]Function : ErrorLog
[error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp
[error]Line : 49
[error]Description : Patrol path zat_heli_start doesnt exist
 
denis2000Дата: Пт, 29.09.2017, 12:07 | Сообщение # 2722
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Voland-777, Google Переводчик

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
Voland-777Дата: Вс, 01.10.2017, 16:20 | Сообщение # 2723
Эмиссар
Пользователи
Сообщений: 1702
Награды: 9
Репутация: [ 474 ]

denis2000, доброго времени суток. Прилепил небольшой аддон на основе STCoP на SGM, который подменяет лишь оригинальные стволы (модели), привязал цены, патроны из мода, тактики, адаптировал текстуры прицелов, вроде все работает, но редко (рандомно) игра вылетает при разрядке оружия в инвентаре с таким логом:
Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : ....r. - Зов Припяти\gamedata\scripts\dunin_ammo.script:76: attempt to index local 'se_obj' (a nil value)

Игра ругалась на скрипт перепаковщика патронов, который я и вовсе не трогал, через Notepad проверил, что почему-то капризничает вот эта функция:
function get_ammo_size(obj)
local se_obj = alife():object(obj:id())
packet:w_begin(0)
se_obj:STATE_Write(packet) (76-строка, по сути)
packet:r_seek(packet:w_tell() - 2)
return packet:r_s16()

Из-за чего может вылазить данная ошибка?
 
denis2000Дата: Вс, 01.10.2017, 22:33 | Сообщение # 2724
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Voland-777, По моему мнению объект обработки удаляется движком в момент работы данной функции.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
St0rmДата: Пн, 02.10.2017, 01:19 | Сообщение # 2725
Гражданский
Пользователи
Сообщений: 12
Награды: 0
Репутация: [ 0 ]

Нашёл в файле w_vintorez вот это - grenade_launcher_name = wpn_addon_grenade_launcher_m203. То есть, есть возможность поставить на него сей гранатомёт, если да, то как?
 
denis2000Дата: Пн, 02.10.2017, 10:16 | Сообщение # 2726
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата St0rm ()
Нашёл в файле w_vintorez вот это - grenade_launcher_name = wpn_addon_grenade_launcher_m203.

Для того чтобы была возможность поставить гранатомет нужно:
1. Соответствующий класс оружия, WP_AK74 вполне подходит
2. Указание о возможности это сделать (grenade_launcher_status 1-интегрированный, 2-съемный)
3. Указание типа гранатомета (grenade_launcher_name)
4. Указание координат на иконку куда присоединять гранатомет (grenade_launcher_x, grenade_launcher_y)
5. Указание партиктов и звукоы выстрела гранатомета (grenade_flame_particles, snd_***_grenade)
6. Наличие анимаций оружия с гранатометом (anm_***_gl, anm_***_g)
7. Указание типа гранат (grenade_class)


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
Voland-777Дата: Пн, 02.10.2017, 14:05 | Сообщение # 2727
Эмиссар
Пользователи
Сообщений: 1702
Награды: 9
Репутация: [ 474 ]

denis2000, я так понял, тут нужно редактировать время хранения трупов, пока двигло не уберет мусор, или смещать время действия скрипта, чтобы они не пересекались и не конфликтовали?
 
denis2000Дата: Пн, 02.10.2017, 17:21 | Сообщение # 2728
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Voland-777, Ничего не могу сказать, вам как разработчику виднее.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
St0rmДата: Пн, 02.10.2017, 23:01 | Сообщение # 2729
Гражданский
Пользователи
Сообщений: 12
Награды: 0
Репутация: [ 0 ]

denis2000, 5. Указание партиктов и звукоы выстрела гранатомета (grenade_flame_particles, snd_***_grenade)

Ни в одном файле с оружием этого не нашёл
 
denis2000Дата: Вт, 03.10.2017, 09:43 | Сообщение # 2730
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

St0rm, Эти параметры могут быть вынесены в отдельные секции другого файла.

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