Модостроение. Общие вопросы и ответы
|
|
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 за это полезное сообщение: |
|
|
asd123 | Дата: Пт, 28.11.2014, 14:49 | Сообщение # 781 |
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
| Цитата Сахар ( ) Странная функция для спавна НПС вообще то используются такие : Суть в том, что я хочу создать одиночного НПС не сквадного для получения собственной логики (Как базы Рассвета, Наёмников, Монолита).
Хочу выразить Вам огромную благодарность за закрытие спавн функции. По поводу all.spawn.. У меня не работает программа для распаковки all.spawn'a. Не знаю почему. Может быть из-за W8?
У мутантов тоже есть группировки. © Движок X-Ray
Сообщение отредактировал asd123 - Пт, 28.11.2014, 14:49 |
|
|
Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |
|
|
Сахар | Дата: Пт, 28.11.2014, 15:17 | Сообщение # 782 |
Гражданский
Пользователи
Сообщений: 2
| Цитата для получения собственной логики А что мешает сделать для НПС иксклюзивную работу?
|
|
|
Эти 0 пользователя(ей) поблагодарили Сахар за это полезное сообщение: |
|
|
FantomICW | Дата: Пт, 28.11.2014, 16:58 | Сообщение # 783 |
Лидер «Свободы»
Свобода
Сообщений: 4438
| Кстати, случайно наткнулся на: Код =spawn_object(jup_b16_pseudodog_strong:jup_b16_spawn_psy_dog:0:270) Это псевдособака в Оазисе. То есть эту функцию использовали разрабы для спавна мобов. Другое дело, что многие приемы GSC не являются эталоном правильности. Любого НПС в ЗП рекомендуется спавнить сквадом + под эксклюзивной логикой на смарте.
|
|
|
Эти 0 пользователя(ей) поблагодарили FantomICW за это полезное сообщение: |
|
|
denis2000 | Дата: Пт, 28.11.2014, 20:05 | Сообщение # 784 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата asd123 ( ) У меня не работает программа для распаковки all.spawn'a. Не знаю почему. Может быть из-за W8? Кто его знает, может и из-за винды, вы же подробности утаиваете.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Дизель | Дата: Пт, 28.11.2014, 20:20 | Сообщение # 785 |
Сталкер
Разработчики
Сообщений: 260
| Цитата asd123 ( ) У меня не работает программа для распаковки all.spawn'a. Не знаю почему. Может быть из-за W8? АктивПерл на Вин8 есть? Если существует, то его надо установить.
andreyholkin
|
|
|
Эти 0 пользователя(ей) поблагодарили Дизель за это полезное сообщение: |
|
|
CBO6ODA | Дата: Пт, 28.11.2014, 20:55 | Сообщение # 786 |
Отмычка
Пользователи
Сообщений: 30
| Как прописать новому НПС новый диалог ?
SGM 2.2 CBO6ODA EDITION - 32% (24.04.2017)
|
|
|
Эти 0 пользователя(ей) поблагодарили CBO6ODA за это полезное сообщение: |
|
|
Glomar | Дата: Пт, 28.11.2014, 22:24 | Сообщение # 787 |
Хозяин Зоны
Пользователи
Сообщений: 23464
| Цитата CBO6ODA ( ) Как прописать новому НПС новый диалог ? Для начала нужно посетить вот эту тему и освоить азы модостроя - Курс молодого бойца - КМБ. Уроки для начинающих. В теме всё детально описано с примерами. Осталось только самим разобраться. А то что не понятно спросить тут.
|
|
|
Эти 0 пользователя(ей) поблагодарили Glomar за это полезное сообщение: |
|
|
sergej5500 | Дата: Пт, 28.11.2014, 22:34 | Сообщение # 788 |
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| CBO6ODA,
Находите секцию непися в character_desc_**.
Секцию НПС имеют примерно такой вид.
[cut=Секция] <specific_character id="esc_b1_commander_1" team_default = "1"> <name>esc_b1_commander_1_name</name> <icon>ui_inGame2_Soldier_4</icon> <map_icon x="1" y="0"></map_icon> <bio>Опытный сталкер. Детальная информация отсутствует.</bio> <class>esc_b1_commander_1</class> <community>army_alies</community> <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_01\military\</snd_config> <rank>30</rank> <reputation>0</reputation> <visual>actors\stalker_soldier\stalker_soldier_4</visual> <supplies> [spawn] \n wpn_pm \n ammo_9x18_fmj = 1 \n dv_esc_b1_commander_1_case \n #include "gameplay\character_items.xml" #include "gameplay\character_food.xml" #include "gameplay\character_drugs.xml" #include "gameplay\character_drugs_3.xml" </supplies> <start_dialog>esc_b1_commander_1_start_dialog</start_dialog> <actor_dialog>esc_b1_commander_1_way_zaton_dialog_1</actor_dialog> <actor_dialog>esc_b1_commander_1_way_zaton_dialog_2</actor_dialog> <actor_dialog>esc_b1_commander_1_way_zaton_dialog_3</actor_dialog> <actor_dialog>esc_b1_commander_1_way_zaton_dialog_4</actor_dialog> <actor_dialog>esc_b1_commander_1_way_zaton_dialog_5</actor_dialog> <actor_dialog>esc_b1_monster_attack_task_dialog</actor_dialog> <actor_dialog>about_story_dialog</actor_dialog> <actor_dialog>actor_break_dialog</actor_dialog> #include "gameplay\character_criticals_4.xml" </specific_character>[/cut]
После секции supplies идут диалоги этого НПС.
start_dialog (esc_b1_commander_1_start_dialog) - это диалог, который начинает НПС. У непися может быть только один такой диалог. actor_dialog (esc_b1_commander_1_way_zaton_dialog_1, esc_b1_commander_1_way_zaton_dialog_2) - это диалоги, которые начинает ГГ. Их может быть много.
В start_dialog не стоит без необходимости вставлять экшион dialogs.break_dialog . Если все ветви стартового диалога кончаются этим экшеном, то диалоги актора для этого непися будут недоступны.
Советую изучить урок по диалогам.
|
|
|
Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
asd123 | Дата: Сб, 29.11.2014, 14:14 | Сообщение # 789 |
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
| Цитата FantomICW ( ) Это псевдособака в Оазисе. То есть эту функцию использовали разрабы для спавна мобов. Другое дело, что многие приемы GSC не являются эталоном правильности. Любого НПС в ЗП рекомендуется спавнить сквадом + под эксклюзивной логикой на смарте Ну ладно. А что насчет персонажа, которому я хочу поставить метку лидера группировки? Две метки смешаются, и всё. Трындец системе.
P.s. spawn_object я взял из ЧН
У мутантов тоже есть группировки. © Движок X-Ray
Сообщение отредактировал asd123 - Сб, 29.11.2014, 14:14 |
|
|
Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |
|
|
Дизель | Дата: Сб, 29.11.2014, 15:27 | Сообщение # 790 |
Сталкер
Разработчики
Сообщений: 260
| Индивидуального НПС лучше спавнить через логику с рестриктором и вейпоинтом. Примерно так: %=spawn_object(nps_name:way_point_nps_spawn)%
Мне даже очень это нравится, всё работает ништяк. Просто и без проблем.
andreyholkin
|
|
|
Эти 0 пользователя(ей) поблагодарили Дизель за это полезное сообщение: |
|
|
asd123 | Дата: Вс, 30.11.2014, 02:28 | Сообщение # 791 |
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
| Цитата Дизель ( ) Индивидуального НПС лучше спавнить через логику с рестриктором и вейпоинтом. Примерно так: %=spawn_object(nps_name:way_point_nps_spawn)% Можно ли поконкретнее? Вейпоинт и рестриктор - это?..
У мутантов тоже есть группировки. © Движок X-Ray
|
|
|
Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |
|
|
Сахар | Дата: Вс, 30.11.2014, 05:38 | Сообщение # 792 |
Гражданский
Пользователи
Сообщений: 2
| Цитата asd123 ( ) Вейпоинт Она же точка пути используется для создания путей для НПС по логикой, например walker так же используется в логике например если надо телепортировать НПС, ГГ pаспавнить труп, предмет или НПС Так же используется в логиках Код sr_particle sr_cutscene ph_force sr_crow_spawner Ну и во всех логиках поведения сталкер и монстров, а так же в логике вертолёта. Цитата asd123 ( ) рестриктор Полное название спейс рескриптор зона для работы с логикой то есть ты захочешь создать логику например такую Код [logic] active = sr_crow_spawner
[sr_crow_spawner] max_crows_on_level = 43 spawn_path = jup_crow_spawn_1, jup_crow_spawn_2, jup_crow_spawn_3, jup_crow_spawn_4, jup_crow_spawn_5 Нужно создать сначала рескриптор. Так же есть специальные схемы для работы именно в спейс рескрипторах их названия начинаются с прификса sr_
Сообщение отредактировал Сахар - Вс, 30.11.2014, 05:40 |
|
|
Эти 0 пользователя(ей) поблагодарили Сахар за это полезное сообщение: |
|
|
asd123 | Дата: Вс, 30.11.2014, 14:52 | Сообщение # 793 |
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
| Цитата Сахар ( ) Полное название спейс рескриптор зона для работы с логикой то есть ты захочешь создать логику например такую Код[logic] active = sr_crow_spawner [sr_crow_spawner] max_crows_on_level = 43 spawn_path = jup_crow_spawn_1, jup_crow_spawn_2, jup_crow_spawn_3, jup_crow_spawn_4, jup_crow_spawn_5 Нужно создать сначала рескриптор. Так же есть специальные схемы для работы именно в спейс рескрипторах их названия начинаются с прификса sr_ И это тоже прописываться должно с помощью all.spawn, да?
У мутантов тоже есть группировки. © Движок X-Ray
|
|
|
Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |
|
|
denis2000 | Дата: Вс, 30.11.2014, 15:15 | Сообщение # 794 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата asd123 ( ) И это тоже прописываться должно с помощью all.spawn, да? Вообще то через SDK, но многие пищут прямым редактированием all.spawn. Так повелось из-за того, что сначала стали модить, а уж потом разработчики выпустили в свободное плавание инструментарий для работы модеров.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
asd123 | Дата: Вс, 30.11.2014, 17:26 | Сообщение # 795 |
Mr. «Магма»
Военные сталкеры
Сообщений: 1386
| Новый вопрос: Если я скопирую meshes сидоровича и его текстуры из ЧН, и вставлю в ЗП, то будет ли возможна его реализация в геймплей?
У мутантов тоже есть группировки. © Движок X-Ray
Сообщение отредактировал asd123 - Вс, 30.11.2014, 17:27 |
|
|
Эти 0 пользователя(ей) поблагодарили asd123 за это полезное сообщение: |
|
|