|
Модостроение. Спавн и логика
|
|
| 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 за это полезное сообщение: |
|
|
| Азазель | Дата: Пн, 10.06.2013, 20:19 | Сообщение # 421 |
|
Новичок
Пользователи
Сообщений: 77
| denis2000, Ошибка исчезла при смене номера секции на больший. Но вылезла другая. Теперь ACDC кидает кучу ошибок про шейпы и отсутствие секции спейс рестриктор
А скриншотом не порадуете? denis2000
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Азазель за это полезное сообщение: |
|
|
| 9vova8 | Дата: Вт, 18.06.2013, 16:08 | Сообщение # 422 |
|
Новичок
Пользователи
Сообщений: 91
| Доброго времени суток ,подскажите пожалуйста, как запретить мутантам воевать друг против друга (в game relation отношение им поставил 5000). Зарание спасибо.
Сообщение отредактировал 9vova8 - Вт, 18.06.2013, 16:08 |
| |
|
| Эти 0 пользователя(ей) поблагодарили 9vova8 за это полезное сообщение: |
|
|
| sergej5500 | Дата: Вт, 18.06.2013, 16:19 | Сообщение # 423 |
 Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
| 9vova8, Полагаю, что нужно редактировать таблицу [monster_relations] в game_relations. Значения ; [1] друг, [0] нейтрал, [-1] враг, [-2] злейший враг.
|
| |
|
| Эти 0 пользователя(ей) поблагодарили sergej5500 за это полезное сообщение: |
|
|
| Азазель | Дата: Чт, 20.06.2013, 15:07 | Сообщение # 424 |
|
Новичок
Пользователи
Сообщений: 77
| Всем доброго времени суток. Такой вопрос. Заспавнил нпс через скрипт. Прописал логику meet все хорошо работает. Но вот при добавлении victim нпс же должен вроде как оборачиваться на актора а он так и стоит столбом. Как бы исправить ?
Какая версия? denis2000
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Азазель за это полезное сообщение: |
|
|
| Маркс | Дата: Чт, 20.06.2013, 23:35 | Сообщение # 425 |
 Новичок
Пользователи
Сообщений: 73
| Вечер Добрый. Создал НПС.Но не появляется окно диалога.Подскожите?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Маркс за это полезное сообщение: |
|
|
| FantomICW | Дата: Чт, 20.06.2013, 23:37 | Сообщение # 426 |
 Лидер «Свободы»
Свобода
Сообщений: 4438
| Маркс, а у НПС диалог прописан в его секции в файле character_desc_...?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили FantomICW за это полезное сообщение: |
|
|
| Маркс | Дата: Чт, 20.06.2013, 23:43 | Сообщение # 427 |
 Новичок
Пользователи
Сообщений: 73
| zaton
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Маркс за это полезное сообщение: |
|
|
| FantomICW | Дата: Чт, 20.06.2013, 23:45 | Сообщение # 428 |
 Лидер «Свободы»
Свобода
Сообщений: 4438
| Маркс, так диалог в секции нпс прописан?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили FantomICW за это полезное сообщение: |
|
|
| Маркс | Дата: Чт, 20.06.2013, 23:45 | Сообщение # 429 |
 Новичок
Пользователи
Сообщений: 73
| Да [cut noguest=Screen] [/cut]
Сообщение отредактировал Маркс - Чт, 20.06.2013, 23:49 |
| |
|
| Эти 0 пользователя(ей) поблагодарили Маркс за это полезное сообщение: |
|
|
| FantomICW | Дата: Чт, 20.06.2013, 23:52 | Сообщение # 430 |
 Лидер «Свободы»
Свобода
Сообщений: 4438
| Маркс, прописана ли секция meet в логике НПС?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили FantomICW за это полезное сообщение: |
|
|
| Маркс | Дата: Чт, 20.06.2013, 23:55 | Сообщение # 431 |
 Новичок
Пользователи
Сообщений: 73
| Нет Добавлено (20.06.2013, 23:55) --------------------------------------------- Вот код логики.
[cut noguest=Код Логики] [logic] active = remark1 invulnerable = true inv_max_weight = 1 combat_ignore = combat_ignore danger = danger_ignore
[remark1] no_move = true anim = guard_chasovoy
[danger_ignore] ignore_distance = 5
[/cut]
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Маркс за это полезное сообщение: |
|
|
| FantomICW | Дата: Пт, 21.06.2013, 00:09 | Сообщение # 432 |
 Лидер «Свободы»
Свобода
Сообщений: 4438
| Маркс, тогда создаем секцию meet: Код [logic] active = remark1 invulnerable = true inv_max_weight = 1 combat_ignore = combat_ignore danger = danger_ignore
[remark1] no_move = true anim = guard_chasovoy meet = meet_remark1
[danger_ignore] ignore_distance = 5
[meet_remark1] abuse = false use = true allow_break = false meet_on_talking = false
Сообщение отредактировал FantomICW - Пт, 21.06.2013, 00:10 |
| |
|
| Эти 0 пользователя(ей) поблагодарили FantomICW за это полезное сообщение: |
|
|
| Азазель | Дата: Пт, 21.06.2013, 00:33 | Сообщение # 433 |
|
Новичок
Пользователи
Сообщений: 77
| denis2000, Чистая ЗП 1.6.02. Сейчас переделал схему на такую: Код [logic] active = camper@basmath combat_ignore = combat_ignore
[camper@basmath] path_walk = basmath_walk path_look = basmath_look meet = meet@basmath danger = danger_condition@basmath invulnerable = true
[danger_condition@basmath] ignore_distance = 0 ignore_distance_corpse = 0
[meet@basmath] use = true use_wpn = true meet_talk_enabled = true
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Азазель за это полезное сообщение: |
|
|
| makdm | Дата: Пт, 21.06.2013, 09:06 | Сообщение # 434 |
 Рожденный в СССР
Разработчики
Сообщений: 1294
| Азазель, Секцции meet на ЗП и ТЧ отличаются. Вы пишите для ТЧ. Откройте файл xr_meet.script и посмотрите, что и как задаётся в секции meet.
Вот , скажем так, "стандартная" секция.
[cut=Секция][meet@standart] close_anim = nil close_victim = nil close_snd_hello = nil close_snd_bye = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 use = {=actor_enemy} false, true allow_break = false trade_enable = false meet_on_talking = false abuse = false [/cut]
Ну а Вы в неё проставляйте те значения, которые Вам необходимы при встрече ГГ со сталкером
Терпение...... И все получится!
Сообщение отредактировал makdm - Пт, 21.06.2013, 09:56 |
| |
|
| Эти 0 пользователя(ей) поблагодарили makdm за это полезное сообщение: |
|
|
| Азазель | Дата: Пт, 21.06.2013, 14:12 | Сообщение # 435 |
|
Новичок
Пользователи
Сообщений: 77
| makdm, Благодарю. А где можно посмотреть какой параметр за что отвечает ?
|
| |
|
| Эти 0 пользователя(ей) поблагодарили Азазель за это полезное сообщение: |
|
|