Модостроение. Спавн и логика
|
|
denis2000 | Дата: Пн, 10.10.2011, 21:20 | Сообщение # 1 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Спавн и логика Создание объектов на локации и логика поведения этих объектов Если у вас появились вопросы по созданию динамических объектов в игре (НПС, монстры, аномалии, и т.п.) и настройке их "поведения". Задавайте их в этой теме - умные головы, модосторители и просто разбирающиеся в программировании люди вам ответят.
Много интересного материала здесь (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)", ее и надо расскомментировать, должно получиться вот так: Code function abort(fmt, ...) local reason = string.format(fmt, ...) error_log(reason) end Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией
Первый: Code 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) Второй: Code 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 по ссылке из шапки и соседнюю тему "Курс молодого бойца", возможно Ваш вопрос уже рассматривался.
Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки. Помните чем подробнее вопрос, тем точнее ответ.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Сахар | Дата: Пн, 11.05.2015, 10:33 | Сообщение # 1186 |
Гражданский
Пользователи
Сообщений: 2
| denis2000, В таблицу tips_icons скрипта news_manager.script
|
|
|
Эти 0 пользователя(ей) поблагодарили Сахар за это полезное сообщение: |
|
|
Звягинцев_Егор | Дата: Пн, 11.05.2015, 12:25 | Сообщение # 1187 |
Командующий НОИГ "Тайфун"
Ученые сталкеры
Сообщений: 1526
| Здравствуйте, меня зовут Егор. У меня такой вопрос: а как убрать определённых мутантов из игры? Допустим, кровососа и болотную тварь.
Привыкший сражаться не жнёт и не пашет — Хватает иных забот! Налейте наёмникам полные чаши! Им завтра снова в поход!
|
|
|
Эти 0 пользователя(ей) поблагодарили Звягинцев_Егор за это полезное сообщение: |
|
|
Сахар | Дата: Пн, 11.05.2015, 13:42 | Сообщение # 1188 |
Гражданский
Пользователи
Сообщений: 2
| Звягинцев_Егор, Убрать респавн монстров в смарт терреинах испавн в начале игры.
|
|
|
Эти 0 пользователя(ей) поблагодарили Сахар за это полезное сообщение: |
|
|
Phorux | Дата: Сб, 16.05.2015, 07:53 | Сообщение # 1189 |
Гражданский
Пользователи
Сообщений: 6
| Хай всем, делаю свои простые конфигурационные моды, да вот думаю сделать различные сцены в ЗП. Например как с Петрухой у "Котла", когда он в газировку зашёл.. Анимации думаю из игры взять неиспользованные, но чтоб при этом НПС и мутанты действовали (При необходимости атаковать игрока или других НПС). Знает кто-нибудь как реализовать подобные сцены?
АЗАЗА Стрекоза
|
|
|
Эти 0 пользователя(ей) поблагодарили Phorux за это полезное сообщение: |
|
|
denis2000 | Дата: Сб, 16.05.2015, 12:31 | Сообщение # 1190 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Phorux, Поведение НПС (в том числе и в катсценах) задается логикой, для начала посмотрите КМБ уроки 5-7.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
alex_xp_77 | Дата: Чт, 21.05.2015, 21:21 | Сообщение # 1191 |
Научный сотрудник.
Ученые сталкеры
Сообщений: 242
| Доброго дня коллеги, тут вот вопрос возник, прежде чем поставить дверь , обычную, я как бы вообще никакую не ставил, но знаю что к двери присваевается логика, не подскажете у кого нибудь есть шпаргалка с логикой для двери, а то глух очень по этой теме, да и вопросик , двери ставить в sdk, или в максе ?? http://SSMaker.ru/681d3516/ Тут только в максе делаю пещеру х2, вот и возник такой вопрос, если не сложно скиньте мне логику на двери, на любые, да и сам процесс, для тч нужно было рестиктор ставить, а на зп не ведаю!! Заранее благодарствую за любую помощь)
|
|
|
Эти 0 пользователя(ей) поблагодарили alex_xp_77 за это полезное сообщение: |
|
|
denis2000 | Дата: Чт, 21.05.2015, 22:58 | Сообщение # 1192 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата alex_xp_77 ( ) двери ставить в sdk, или в максе ? Конечно же в SDK ведь это динамический объект. Логика: Код [logic] active = ph_door@closed_locked
[ph_door@closed_locked] ;Дверь закрыта на замок closed = true ;Дверь закрыта locked = true ;Замок закрыт tip_open = door_locked ;Сообшение при приближении к двери on_info = {} ph_door@closed_unlocked snd_open_start = trader_door_open_start ;Звук начала открывания двери snd_close_start = trader_door_close_start ;Звук начала закрывания двери snd_close_stop = trader_door_close_stop ;Звук окончания закрывания двери
[ph_door@closed_unlocked] ;Дверь закрыта но замок открыт closed = true ;Дверь закрыта locked = false ;Замок закрыт on_use = ph_door@open ;Открыться при использовании ГГ snd_open_start = trader_door_open_start snd_close_start = trader_door_close_start snd_close_stop = trader_door_close_stop
[ph_door@open] ;Дверь открыта closed = false ;Дверь открыта locked = false ;Замок открыт on_info = {} ph_door@closed_locked ;Закрыться на замок при условии on_use = ph_door@closed_unlocked ;Закрыться при использовании ГГ snd_open_start = trader_door_open_start snd_close_start = trader_door_close_start snd_close_stop = trader_door_close_stop
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Phorux | Дата: Ср, 03.06.2015, 03:43 | Сообщение # 1193 |
Гражданский
Пользователи
Сообщений: 6
| Приветствую всех. Наконец-то осилил all.spawn и логику нпс, попытался им даже анимации прописать. Вот только я ещё мутантов влепить хотел, а как - непонятно. По задумке будет мутант (пёс) с анимацией (Просто сидит) и никуда не убегает. Вот как анимация у химеры в квесте где она спит, только будет пёс, который просто сидеть будет и всё. Вот только куда профиль мутантов вписывать, их спавнить и как им анимации присваивать? [cut noguest=Вот например мутанты с анимациями] [/cut]
АЗАЗА Стрекоза
Сообщение отредактировал Phorux - Ср, 03.06.2015, 07:23 |
|
|
Эти 0 пользователя(ей) поблагодарили Phorux за это полезное сообщение: |
|
|
denis2000 | Дата: Ср, 03.06.2015, 08:33 | Сообщение # 1194 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата Phorux ( ) По задумке будет мутант (пёс) с анимацией (Просто сидит) и никуда не убегает. У вас на ПК есть прекрасный пример такой схемы поведения - собака Ноя. Как и у НПС у мутанта, может быть конкретная схема поведения (логика), которая может задаваться через кастом дату в секции мутанта, через ексклюзив на смарте или общие работы на смарте (отличие от работ для НПС в специальном параметре monster_job = true). В отличии от НПС схемы поведения монстров такие: [cut]load_scheme("mob_remark","mob_remark",stype_mobile) load_scheme("mob_walker", "mob_walker",stype_mobile) load_scheme("mob_combat","mob_combat",stype_mobile) load_scheme("mob_death","mob_death",stype_mobile) load_scheme("mob_jump","mob_jump", stype_mobile) load_scheme("mob_home","mob_home",stype_mobile)[/cut] Анимации можно также задавать редактируя точки пути в схеме mob_walker.
У мутантов нет профилей персонажа, соответсвенно вписывать нечего.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Phorux | Дата: Ср, 03.06.2015, 13:30 | Сообщение # 1195 |
Гражданский
Пользователи
Сообщений: 6
| Спасибо. Но столкнулся с проблемой смарт-террейнов. Не найдётся у вас списков обозначения смарт-террейнов затона? Например zat_a2 - скадовск, zat_b38 - ВНЗ, zat_b42 - пещера с говорящим контролёром. А ещё некоторые как zat_sim_23 или zat_b53 неизвестны.
АЗАЗА Стрекоза
|
|
|
Эти 0 пользователя(ей) поблагодарили Phorux за это полезное сообщение: |
|
|
makdm | Дата: Ср, 03.06.2015, 16:50 | Сообщение # 1196 |
Рожденный в СССР
Разработчики
Сообщений: 1294
| Цитата Phorux ( ) Наконец-то осилил all.spawn и логику нпс Цитата Phorux ( ) Не найдётся у вас списков обозначения смарт-террейнов затона? Phorux, зачем вам список, если вы освоили all.spawn ???? Делаете свой смарт-террейн там, где вам необходимо для выполнения работы НПС. И забудьте про смарты разрабов сталкера.
Терпение...... И все получится!
|
|
|
Эти 0 пользователя(ей) поблагодарили makdm за это полезное сообщение: |
|
|
denis2000 | Дата: Ср, 03.06.2015, 21:24 | Сообщение # 1197 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата Phorux ( ) Не найдётся у вас списков обозначения смарт-террейнов затона? Изучайте X-Ray SDK и таких вопросов не появиться, вы всегда будете видеть наличие спавн-элементов на любом участке локации.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Phorux | Дата: Пт, 05.06.2015, 06:41 | Сообщение # 1198 |
Гражданский
Пользователи
Сообщений: 6
| Кхм... Спасибо за советы, пытаюсь работать со смартами, а ещё у меня возник небольшой вопрос. В ТЧ после смерти ГГ можно было крутить камерой вокруг и смотреть, а в ЗП камера не поворачивается и направлена на труп ГГ. Можно ли сделать вращения камеры в ЗП?
И вопрос по камере другой. При атаке контролёра можно сделать чтоб камера не "летала", как в ТЧ?
АЗАЗА Стрекоза
Сообщение отредактировал Phorux - Пт, 05.06.2015, 06:45 |
|
|
Эти 0 пользователя(ей) поблагодарили Phorux за это полезное сообщение: |
|
|
denis2000 | Дата: Пт, 05.06.2015, 08:42 | Сообщение # 1199 |
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
| Цитата Phorux ( ) Можно ли сделать вращения камеры в ЗП? Вероятно эту возможность отобрали в движке. Цитата Phorux ( ) При атаке контролёра можно сделать чтоб камера не "летала", как в ТЧ? В файле m_controller.ltx в секции [m_controller_attack_effector] регулируйте параметры камеры.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)
|
|
|
Эти 0 пользователя(ей) поблагодарили denis2000 за это полезное сообщение: |
|
|
Phorux | Дата: Пт, 05.06.2015, 11:54 | Сообщение # 1200 |
Гражданский
Пользователи
Сообщений: 6
| Благодарю за контролёра, а с камерой вынужден не согласиться. Заметил интересную вещь - если начать новую игру, и при этом не делать в ней ни единого сохранения (То есть даже автосохранение при новой игре не делать), а потом убить ГГ, то при нажатии на "Последнее сохранение", которого собственно нет можно наблюдать происходящее дальше, при этом поворачивая камеру.
АЗАЗА Стрекоза
|
|
|
Эти 0 пользователя(ей) поблагодарили Phorux за это полезное сообщение: |
|
|
|