Модостроение. Общие вопросы и ответы
|
|
denis2000 | Дата: Сб, 15.06.2013, 11:51 | Сообщение # 1 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Помощь тем кто хочет знать больше о игре и модах Если у вас появились вопросы по модостроению в игре 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]
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Наблюдатель | Дата: Вс, 08.11.2015, 23:58 | Сообщение # 1531 |
Ветеран
Пользователи
Сообщений: 400
| Цитата STALKER_ICEBERG ( ) Уважаемый, не могли бы вы еще раз скинуть мне файлы безсмертных телохранителей? Нет проблем, уважаемый STALKER_ICEBERG. Скиньте мне в личку емейл, куда выслать. И да, вынужден разбить Вам сердце, если Вы вносите изменения после появления телохранителя, то изменения проявятся только после его гибели, на спавне следующего. Следовательно, в случае сборки Албора - никогда. Сожалею.
|
|
|
Эти 0 пользователя(ей) поблагодарили Наблюдатель за это полезное сообщение: |
|
|
STALKER_ICEBERG | Дата: Пн, 09.11.2015, 00:08 | Сообщение # 1532 |
Сталкер
Пользователи
Сообщений: 180
| Денис, ответьте на несколько вопросов: - Как быть с визуалами для новоиспеченного НПС, если в 2.2 добавили новые? Где их искать? - Так же не помню, враждует ли в ЗП Свобода с бандитами... - Если строить траекторию патруля НПС, можно ли ее сделать вокруг безопасной зоны Скадовска и сделать его бессмертным? - Как быть с файлами? Ведь по сравнению с 1.7 в 2.2 думаю они значительно поменялись... - Что делать с оружием, если мододел его изменил? - Как убрать превью (фотографию перед входом в главное меню)? - Как поменять фон главного меню? albor вставил картинку с М4А1, но она для разрешения 1028х568, а у меня 1680х1050
Сообщение отредактировал STALKER_ICEBERG - Пн, 09.11.2015, 00:11 |
|
|
Эти 0 пользователя(ей) поблагодарили STALKER_ICEBERG за это полезное сообщение: |
|
|
denis2000 | Дата: Пн, 09.11.2015, 08:58 | Сообщение # 1533 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата STALKER_ICEBERG ( ) Как быть с визуалами для новоиспеченного НПС, если в 2.2 добавили новые? Где их искать? На ваше усмотрение, можете использовать или нет. Лежат как и все остальные в meshes\actors\
Цитата STALKER_ICEBERG ( ) Так же не помню, враждует ли в ЗП Свобода с бандитами... Смотрите файл game_relations.ltx таблицу отношений группировок.
Цитата STALKER_ICEBERG ( ) Если строить траекторию патруля НПС, можно ли ее сделать вокруг безопасной зоны Скадовска и сделать его бессмертным? Можно.
Цитата STALKER_ICEBERG ( ) Как быть с файлами? Ведь по сравнению с 1.7 в 2.2 думаю они значительно поменялись... Работать с теми, что есть.
Цитата STALKER_ICEBERG ( ) Что делать с оружием, если мододел его изменил? Использовать те, что есть, или сделать свои.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
STALKER_ICEBERG | Дата: Пн, 09.11.2015, 10:46 | Сообщение # 1534 |
Сталкер
Пользователи
Сообщений: 180
| Цитата denis2000 ( ) denis2000 Как быть с последними вопросами? Я почему спросил про файлы - там ведь изменена структура (например, в файле ui_main_menu.script). Да, и последнее, можно ли НЕ делать отдельного НПС, а использовать случайного? Например, для того-же патруля вокруг Скадовска: вместо того, что бы создавать аж отдельного персонажа (по типу Никитоса) могу ли я задать только траекторию патруля судна рандомному сталкеру, как обычно просходит в лагерях, если за столиками/в посадочных местах все занято? То есть рандомнеймный сталкер будет ходить по заданой мной траектории, а потом уходить из лагеря вместе со всеми и в 18:00 опять возвращатся.
|
|
|
Эти 0 пользователя(ей) поблагодарили STALKER_ICEBERG за это полезное сообщение: |
|
|
denis2000 | Дата: Пн, 09.11.2015, 10:54 | Сообщение # 1535 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата STALKER_ICEBERG ( ) Как убрать превью (фотографию перед входом в главное меню)? В файле game_tutorials.xml тег <intro_logo>, сам показ убрать вроде нельзя, можно или заменить текстуру или указать время демонстрации 0 сек.
Цитата STALKER_ICEBERG ( ) Как поменять фон главного меню? Фалы ui_main_menu.xml ui_main_menu_16.xml тег background.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
STALKER_ICEBERG | Дата: Пн, 09.11.2015, 17:15 | Сообщение # 1536 |
Сталкер
Пользователи
Сообщений: 180
| Такой вопрос: как дать бессмертие Давиду (миссия про волну мутантов)? Прописание неуязвимости в его файле (был там один какой-то, Наблюдатель мне говорил про него) не помогло. Хочу прописать до его спавна (до миссии с ним далеко еще мне).
Сообщение отредактировал STALKER_ICEBERG - Пн, 09.11.2015, 17:24 |
|
|
Эти 0 пользователя(ей) поблагодарили STALKER_ICEBERG за это полезное сообщение: |
|
|
denis2000 | Дата: Вт, 10.11.2015, 08:43 | Сообщение # 1537 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата STALKER_ICEBERG ( ) Я почему спросил про файлы - там ведь изменена структура (например, в файле ui_main_menu.script). На то и модинг чтобы менять файлы. А вообще хоть визуально этот файл сильно изменен, но структура то осталась абсолютно такой же.
Цитата STALKER_ICEBERG ( ) можно ли НЕ делать отдельного НПС, а использовать случайного? Естественно, есть полностью рандомные НПС например sim_default_renegade_2.
Цитата STALKER_ICEBERG ( ) То есть рандомнеймный сталкер будет ходить по заданой мной траектории, а потом уходить из лагеря вместе со всеми и в 18:00 опять возвращатся. Для этого и есть симуляционные сквады, которые в дневное время ходят по локацим (симуляционным смартам), а в случае выброса прячутся в убежищах вечером приходят на Скадовск и занимают свободные работы на этом смарте (обычно это анимпоинты возле столов в баре).
Цитата STALKER_ICEBERG ( ) как дать бессмертие Давиду (миссия про волну мутантов)? 1-й вариант. В рабочих секция логики параметр invulnerable = true, сработает только после переключения на новую секцию, поскольку текущая секция уже считана из файла. 2-й вариант. Прописать имунитеты равные 0 (то есть не получать повреждения от воздействий), прямо в спавн-секции НПС, работает только до спавна НПС, после спавна эта секция не нужна.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
STALKER_ICEBERG | Дата: Вт, 10.11.2015, 16:14 | Сообщение # 1538 |
Сталкер
Пользователи
Сообщений: 180
| Продолжу марафон вопросов: Где находится файл с Давидом? И как дать телохранителям фразы сталкеров? Не нравится их молчаливое беганье. Пусть хоть говорят. И не от их группировки (Хан - Бандит, Фрегат - Сталкер), а другие. Хан'у - Свободовская, Фрегат - Сталкеровская, Наполеон/Легионер - Долг, Верещагин - Сталкеры.
|
|
|
Эти 0 пользователя(ей) поблагодарили STALKER_ICEBERG за это полезное сообщение: |
|
|
denis2000 | Дата: Вт, 10.11.2015, 19:02 | Сообщение # 1539 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата STALKER_ICEBERG ( ) Где находится файл с Давидом? Азбука модмейкера. Тривиальные задачи.
Цитата STALKER_ICEBERG ( ) И как дать телохранителям фразы сталкеров? Попробуйте в script_sound.ltx вписать группировки телохранителей.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Леший | Дата: Чт, 12.11.2015, 14:12 | Сообщение # 1540 |
Начальник разведки Долга
Долг
Сообщений: 1212
| Доброго времени суток! Подскажите пожалуйста, все основные моды устанавливаются путем замены папки Gamedata? Т.е я имея установленный оригинал, могу устанавливать разные моды не переустанавливая саму программу?
Такие моды как Солянка, Фотограф...
Агит-штаб Долга | ДОЛГокомат | Библиотека Зоны
|
|
|
Эти 0 пользователя(ей) поблагодарили Леший за это полезное сообщение: |
|
|
denis2000 | Дата: Чт, 12.11.2015, 18:41 | Сообщение # 1541 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата Mj12 ( ) Т.е я имея установленный оригинал, могу устанавливать разные моды не переустанавливая саму программу? Конечно, просто папку gamedata того мода в который не играете в данный момент переименуйте, а в папку gamedata поместите файлы мода в который собрались играть.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Наблюдатель | Дата: Чт, 12.11.2015, 21:33 | Сообщение # 1542 |
Ветеран
Пользователи
Сообщений: 400
| Здравствуйте Всем! Уважаемые Профи, подскажите пжл, где находится худ тактического шлема? Многие мододелы имеют нетрадиционноориентированную привычку коверкать его до безобразия. Дело в том, что это мой любимый шлем в игре, можно ли как-то возвращать ему оригинальный худ из ЗП в каком-то файле?
|
|
|
Эти 0 пользователя(ей) поблагодарили Наблюдатель за это полезное сообщение: |
|
|
denis2000 | Дата: Пт, 13.11.2015, 08:37 | Сообщение # 1543 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Наблюдатель, Что вы имеете ввиду под оригинальным? Не совсем понятно, что и где нужно вернуть.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
suhar_ | Дата: Пт, 13.11.2015, 10:53 | Сообщение # 1544 |
Бывалый
Пользователи
Сообщений: 106
| Приветствую. Пытаюсь разобраться с перепаковкой нет-пакета НПС. Общая схема строения нет-пакета взята из мода OGSM(CS) и является рабочей. Во всяком случае на опыте прочесть данные скриптом и вывести их на экран мне удалось. Трудности возникают именно при попытке перезаписи пакета. Итак, моя функция вызывается из файла sim_squad_scripted.script только при выполнении условия IsStalker(obj), т.е. при спавне НПС в сквад объект должен являться сталкером. Обращение к switch_stalker_packet происходит в конце функции sim_squad_scripted:add_squad_member.
При попытке теста игра зависает или крашится без какого-либо намёка на лог.
[cut=Скрипт моей функции] function switch_stalker_packet(position,lv_id,gv_id,obj) local obj_id=obj.id -- Читаем нет-пакет local packet = net_packet() packet:w_begin(0) packet:r_seek(2) obj:STATE_Write(packet) local money = packet:r_s32() local specific_character = packet:r_stringZ() local trader_flags = packet:r_s32() local character_profile = packet:r_stringZ() local community_index = packet:r_s32() local rank = packet:r_s32() local reputation = packet:r_s32() local character_name = packet:r_stringZ() local game_vertex_id = packet:r_u16() local distance = packet:r_float() local direct_control = packet:r_s32() local level_vertex_id = packet:r_s32() local object_flags = packet:r_s32() local custom_data = packet:r_stringZ() local story_id = packet:r_s32() local spawn_story_id = packet:r_s32() local visual_name = packet:r_stringZ()
-- Переводим НПС в оффлайн alife():set_switch_online(obj_id,false) alife():set_switch_offline(obj_id,true) -- Записываем данные в нет-пакет packet:w_begin(0) packet:w_s32(money) packet:w_stringZ(specific_character) packet:w_s32(trader_flags) packet:w_stringZ(character_profile) packet:w_s32(community_index) packet:w_s32(rank) packet:w_s32(reputation) -- К примеру, хочу поменять имена всех сталкеров character_name = "no_name" packet:w_stringZ(character_name) packet:w_u16(game_vertex_id) packet:w_float(distance) packet:w_s32(direct_control) packet:w_s32(level_vertex_id) packet:w_s32(object_flags) packet:w_stringZ(custom_data) packet:w_s32(story_id) packet:w_s32(spawn_story_id) packet:w_stringZ(visual_name) packet:r_seek(2) obj:STATE_Read(packet,packet:w_tell()) -- Переводим НПС в онлайн alife():set_switch_online(obj_id,true) alife():set_switch_offline(obj_id,false) end [/cut]
Хотелось бы узнать, как правильно переписать нет-пакет НПС.
Сообщение отредактировал suhar_ - Пт, 13.11.2015, 10:54 |
|
|
Эти 0 пользователя(ей) поблагодарили suhar_ за это полезное сообщение: |
|
|
Наблюдатель | Дата: Пт, 13.11.2015, 11:31 | Сообщение # 1545 |
Ветеран
Пользователи
Сообщений: 400
| Цитата denis2000 ( ) Наблюдатель, Что вы имеете ввиду под оригинальным? Не совсем понятно, что и где нужно вернуть. Здравствуйте Всем! Уважаемый denis2000, я хотел узнать, где меняется худ хотя бы тактического шлема. Как Вы знаете, если одеть тактический шлем на ГГ в оригинальной игре ЗП, то изображение на мониторе никак не меняется. Т.е. ГГ видит всю локацию на весь экран. Но во многих модах это изображение коверкается, т.е. ГГ видит как бы через какие-то очки, маску и т.д. В итоге при одевании того же тактического шлема часть экрана, типа "за очками", это либо тёмное пятно, либо сами очки покрыты какой либо "изморозью, либо грязью, либо трещинами", порождёнными больной фантазией автора мода. У умных и я не побоюсь этого слова, великих мододелов, типа команды SM, существуют файлы, которые возвращают классическое меню на экран. Но во многих модах изменения окончательные и одев свою любимый тактический шлем я сразу вижу только часть локации через всякие "разбитые очки" и прочие извращения. С Вашего позволения я хотел бы узнать, где можно править худ тактического шлема, что бы одев его, я видел всю локацию так же как и без него, на весь экран. Пытался выкидывать файлы из папки ui в конфигах, либо всё то же уродливое видение через типа "очки", либо вылет. На всякий случай информирую, играю в сборку модов от Dezertira.
|
|
|
Эти 0 пользователя(ей) поблагодарили Наблюдатель за это полезное сообщение: |
|
|
|