Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: 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]
 
БарменДата: Чт, 05.05.2016, 00:49 | Сообщение # 1831
Ветеран
Свобода
Сообщений: 370
Награды: 11
Репутация: [ 105 ]

Всем привет народ, где регистрировать папки smart, nps, restrictor, и т.д. Которые должны находиться в gamedata\configs\scripts\локация. Платформа ЗП.
 
denis2000Дата: Чт, 05.05.2016, 08:03 | Сообщение # 1832
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Наблюдатель, Нет вся папка не требуется.


Бармен, Эти папки регистрировать не надо.


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

denis2000, Значит их просто создаешь и все?
 
НаблюдательДата: Вс, 08.05.2016, 16:54 | Сообщение # 1834
Ветеран
Пользователи
Сообщений: 402
Награды: 1
Репутация: [ 59 ]

Здравствуйте Всем! Админ, прошу простить великодушно за оффтоп, но пишу сообщение под жёстким прессингом 9-ти летнего племяша, который стоит рядом и контролирует процесс! Дело в том, что Ваш покорный слуга переиграл в 66 модов на ЗП. Не зря уважаемого asd123 улыбнуло по поводу "сектанства". biggrin И в одном из этих модов есть излом, который бегает за ГГ со словами: "Я тебя знаю, знаю я тебя!" и что-то вроде "Дам п...ды" Вроде озвучка была "Юрик из Домодедово". Племяш вынимает душу, просит установить этот мод! Даже сестрёнка попросила спросить на нашем форуме! А то я, как тот прапорщик: "Эти самые вижу чётко, но не помню, как называется этот мод"! А переигрывать заново все 66, лучше сразу выпить йаду. Может кто-то из благородных Джентльменов напишет в личку название этого мода, если имел с ним дело, дабы не засорять форум? Спасите, добрые люди. Короче всё, как в том анекдоте про Рабиновича в синагоге. Он обращается к Всевышнему: "Я никогда у тебя ничего не просил. А сейчас прошу впервые. Заметь, прошу не для себя. И прошу-то всего одно-единственное. Смерти." smile

Сообщение отредактировал Наблюдатель - Ср, 11.05.2016, 19:21
 
=Stalker123=Дата: Вт, 10.05.2016, 07:25 | Сообщение # 1835
Гражданский
Пользователи
Сообщений: 6
Награды: 0
Репутация: [ 0 ]

Здравствуйте. Можно как-то в ЗП сделать чтобы аномалии реагировали на нпс? Слышал что можно убить нпс скриптом при заходе в зону аномалии а потом труп сам взлетит и например, разорвётся на части. В общем как в ТЧ, только хотелось бы сделать такое для ЗП.

Сообщение отредактировал =Stalker123= - Вт, 10.05.2016, 07:27
 
denis2000Дата: Ср, 11.05.2016, 10:29 | Сообщение # 1836
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата =Stalker123= ()
Можно как-то в ЗП сделать чтобы аномалии реагировали на нпс?

Это реализовано во многих модах, в частности в "Припять. Точка отсчета". Если не дружите со скриптами, то даже не пытайтесь.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
=Stalker123=Дата: Пт, 13.05.2016, 10:08 | Сообщение # 1837
Гражданский
Пользователи
Сообщений: 6
Награды: 0
Репутация: [ 0 ]

Цитата denis2000 ()

Это реализовано во многих модах, в частности в "Припять. Точка отсчета". Если не дружите со скриптами, то даже не пытайтесь.


Жаль, надеялся, что дело затронет лишь конфигурации. Не подскажите ещё один момент?
Пытаюсь добавить в солянку "Мясник-мод".
Мод содержит части собак, псевдособак, снорков, кабанов, кровососов и плотей, вот только там нет руки бюрера, которую-бы очень хотелось видеть в игре. В некоторых файлах мода она прописана. Файловая структура такова:
Код
*configs\creatures\m_*имя мутанта*; Конфиг для каждого мутанта на снятие части
*configs\misc\monster_items; Прописанные части мутантов
*configs\text\rus\string_table_enc_mutants; Названия и описания частей
*configs\localization; Скрипт-ссылка на вышеуказанный файл
*configs\system; Инклуд (включение) в файл "misc\monster_items.ltx"
*meshes\dynamics\equipments\item_*имя части*; Игровая модель выброшенного предмета
*scripts\bind_monster; Скрипт коллбека убитого монстра на спавн и снятие части
*textures\ui\ui_icon_equipment; Иконки в рюкзаке


Я постарался добавить руку бюрера её во все необходимые файлы:
Код
*configs\creatures\m_burer; Прописал снятие на основе других мутантов, всё готово.
*configs\misc\monster_items; Итем руки бюрера был прописан создателем мода.
*configs\text\rus\string_table_enc_mutants; Добавил описание предмета и название.
*configs\localization; Изменения не нужны
*configs\system; Тоже не нужны
*meshes\dynamics\equipments\item_burer_hand; Добавил 3D модель.
*scripts\bind_monster; Изменения не требуются, коллбек универсален для всех мутантов.
*textures\ui\ui_icon_equipment; Иконка добавлена создателем мясника


После всех попыток добавления руки при нажатии на убитого бюрера ничего не происходит, хотя во всех недостающих файлах я её добавил. С других матантов части снимаются. Итем руки mutant_burer_hand прописан без ошибок. В чём может быть проблема?
 
denis2000Дата: Сб, 14.05.2016, 11:30 | Сообщение # 1838
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

=Stalker123=, Приведите файлы configs\creatures\m_burer и scripts\bind_monster.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
=Stalker123=Дата: Сб, 14.05.2016, 15:50 | Сообщение # 1839
Гражданский
Пользователи
Сообщений: 6
Награды: 0
Репутация: [ 0 ]

denis2000,

configs\creatures\m_burer


scripts\bind_monster
 
denis2000Дата: Сб, 14.05.2016, 16:40 | Сообщение # 1840
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

=Stalker123=, Надпись на монстре перед использованием есть?
Spawn_Inventory_Item_Probability отличное от 0 ставили?


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
=Stalker123=Дата: Вс, 15.05.2016, 03:10 | Сообщение # 1841
Гражданский
Пользователи
Сообщений: 6
Награды: 0
Репутация: [ 0 ]

denis2000, пробовал, игра вылетает с логом Can't open section 'mutant_burer_hand,2'. Please attach [*.ini_log] file to your bug report.

Кстати, у других работающих мутантах это значение стоит 0.0 и часть снимается. Попробовал поставить кабану (части работают у него) - тоже вылеты идут

UPD
Нет, надпись не появляется на бюрере


Сообщение отредактировал =Stalker123= - Вс, 15.05.2016, 10:26
 
denis2000Дата: Вс, 15.05.2016, 18:58 | Сообщение # 1842
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата =Stalker123= ()
Нет, надпись не появляется на бюрере

Сделайте в конфиге строку в таком виде:
Spawn_Inventory_Item_Section = mutant_burer_hand
Или пробуйте пробел перед цифрой:
Spawn_Inventory_Item_Section = mutant_burer_hand, 2


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
=Stalker123=Дата: Пн, 16.05.2016, 10:13 | Сообщение # 1843
Гражданский
Пользователи
Сообщений: 6
Награды: 0
Репутация: [ 0 ]

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

=Stalker123=, Могу сказать одно, условие из скрипта:
Код
if self.item and system_ini():section_exist(self.item) then

не выполняется. Или в таблицу в принципе ничего не попадает или секции с именем которое содержит переменная self.item нет в конфиге. Поэтому нет текстовой подсказки на Бюрере нет колбека на объект при юзанье.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
sergej5500Дата: Пн, 16.05.2016, 19:55 | Сообщение # 1845
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Добрый день. Интересует такой вопрос.

В Зове Припяти бандиты не водят игрока по локации. Это проверяет функция uni_traveler_precond в travel_manager.

Код проверки.

if npc:character_community() == "bandit" then
return false
end

В СГМ много несквадовых НПС. Базы бандитов, наемников, Рассвета и т.д. Если подойти к такому НПС и спросить "Чем занимаешься" - инициируем травел-диалог, то получим вылет из-за того, что непись несквадовый.

Вопрос такой. Как проверить, сквадовый НПС или нет?
 
Поиск: