Форумы на Наша-Life
Home user CP  
Календарь событий Найти других пользователей Часто задаваемые Вопросы Поиск  
Автор
Тема
Создать Новую Тему    Ответить
PollL
(Готов к приключениям.)

Зарегистрирован: Nov 2004
Проживает: Russian Federation/Москва
Написал: 1987 сообщений

Оценка: 52 Votes 52 чел.

Старожил Developer Большой респект! 
Скриптование сцен реакции NPC на игровые события.
Сообщение #934226
Общие сведения о том КАК это делать почерпаны их небольшого хелпера от Valve, спрятанного в файле scripts\talker\response_rules.txt. С английским у меня плохо, а потому не ждите перевода. Рассказываю как получилось. Создаёте "TXT" файл в этой-же папке, ну например, "MyMod_Talker.txt" и в нём Пишете примерно вот такую хрень -
criterion "IsBunkerDoor" "name" "bunker_door_door" "OnFullyOpen" required
response "CitizenClosedoor"
{
DISPLAYFIRST
scene "scenes/npc/$gender01/closedoor01.vcd"
scene "scenes/npc/$gender01/closedoor02.vcd"
scene "scenes/npc/$gender01/closedoor03.vcd"
scene "scenes/npc/$gender01/closedoor04.vcd"
scene "scenes/npc/$gender01/closedoor05.vcd"
scene "scenes/npc/$gender01/closedoor06.vcd"

}

rule CitizenClosedoor
{
criteria IsCitizen ConceptTalkLook PlayerNear IsBunkerDoor
response CitizenClosedoor
}

Теперь поясню ЧТО это за хрень такая и чего я хотел получить в результате..
Начало "разборок" можно почитать ЗДЕСЯ, а тута кратенько.
Условие. Нужно заставить Ситизенов реагировать на открытую дверь (ну поняли откуда это ) и проговаривать некий набор текстов (сцен).

Типа перевод.
Первая строка.
Нестандартное условие, названное("IsBunkerDoor"), настроенное на энтитю с ("name") именем ("bunker_door_door") если она в состоянии ("OnFullyOpen") полностью открыта - срабатывает (required).
Следующий абзац.
Получая комманду от оператора (response "CitizenClosedoor"), с высшим приоритетом (DISPLAYFIRST), проигрывать набор сцен -
scene "scenes/npc/$gender01/closedoor01.vcd"
scene "scenes/npc/$gender01/closedoor02.vcd" и т.д. ..
Дальше.
Правила (rule) для оператора (CitizenClosedoor)
Следующая строка включает стандартные и созданные правила. Тоесть наш оператор передаст коммандуна проигрывание сцен при совпадении следующих условий.. Тоесть ВСЕ они должны быть истинны.
1)IsCitizen 2)ConceptTalkLook 3)PlayerNear 4)IsBunkerDoor
1)Есть NPC_Citizen 2)не знаю 3)Игрок рядом 4)Дверь ОТКРЫТА
Ну вот типа так. Что-бы всё это заработало, вписываем в файл scripts\talker\response_rules.txt в самом конце строку с именем ВАШЕГО скрипта.
Пример.
#include "talker/MyMod_Talker.txt"

Пыс.Пыс.
Переведите ктонить нормально файло response_rules.txt ..
ПОЖАЛУЙСТА !!

PollL добавил 23-12-2009 в 07:20:12:
Админы, переименуйте пожалуйста тему в
"Скриптование сцен реакции NPC на игровые события."

Поправил PollL 23-12-2009 в 07:08

Old Post 23-12-2009 06:22
PollL отсутствует Посмотреть данные 'PollL' Отправить Приватное Сообщение для 'PollL' Посетить домашнюю страничку PollL Найти другие сообщения 'PollL' Добавить PollL в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
PollL
(Готов к приключениям.)

Зарегистрирован: Nov 2004
Проживает: Russian Federation/Москва
Написал: 1987 сообщений

Оценка: 52 Votes 52 чел.

Старожил Developer Большой респект! 
Сообщение #934336
Да уж.. Что-то я не так перевёл.. На дверь Ситизен не реагирует, на самом деле .. Болтает непереставая.. Как тока Игрока увидит. Переведите ктонить толково файлик ПОЖАЛУЙСТА !! Надо - ж знать, где косяк...
Old Post 23-12-2009 14:28
PollL отсутствует Посмотреть данные 'PollL' Отправить Приватное Сообщение для 'PollL' Посетить домашнюю страничку PollL Найти другие сообщения 'PollL' Добавить PollL в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
KLIMaka
(Президент Мира - Броука!)

Зарегистрирован: Dec 2007
Проживает: Украина/Запорожье
Написал: 456 сообщений

Оценка: 28 Votes 28 чел.

Сообщение #934422
Собсно, полная инфа здесь - Response_System

По поводу данного конкретного случая делаться может так:

Респонс и рул оставляем такими же. Меняем критерий на

criterion "IsBunkerDoor" "bunker_door" "1" required

Здесь важны два значения "bunker_door" и "1". Эти значения берутся из поля Response Contexts каждого НПС, и для того чтобы этот критерий выполнялся для конкретного НПС, у этого НПС в поле Response Contexts должно быть написано "bunker_door:1". Для изменения этого поля используется инпут AddContext с соответствующим аргументом.

Таким образом, можно поставить всем неписям, которые должны реагировать на открытую дверь поле Response Contexts = "bunker_door:0", и через аутпут двери "OnFullyOpen", устанавливать нужным неписям "bunker_door:1", и тогда они начнут соответствовать критерию IsBunkerDoor. При закрытии двери опять устанавливать "bunker_door:0".

Вот так вот
Old Post 23-12-2009 19:25
KLIMaka отсутствует Посмотреть данные 'KLIMaka' Отправить Приватное Сообщение для 'KLIMaka' Найти другие сообщения 'KLIMaka' Добавить KLIMaka в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
PollL
(Готов к приключениям.)

Зарегистрирован: Nov 2004
Проживает: Russian Federation/Москва
Написал: 1987 сообщений

Оценка: 52 Votes 52 чел.

Старожил Developer Большой респект! 
Сообщение #934427
Я всегда знал, что ты гений..
Спасибо большое за помощь, только ты это Не гению рассказывал.. Я нихрена не понял куда и что писать (ну кроме свойств NPC_citizen)
Добавлено через 5 минут..
Ещё раз прочёл. Что-то начал понимать..
Завтра с утра ещё раз попробую.. А то мОзги засраны совсем сегодня..

Поправил PollL 23-12-2009 в 19:37

Old Post 23-12-2009 19:33
PollL отсутствует Посмотреть данные 'PollL' Отправить Приватное Сообщение для 'PollL' Посетить домашнюю страничку PollL Найти другие сообщения 'PollL' Добавить PollL в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
PollL
(Готов к приключениям.)

Зарегистрирован: Nov 2004
Проживает: Russian Federation/Москва
Написал: 1987 сообщений

Оценка: 52 Votes 52 чел.

Старожил Developer Большой респект! 
Сообщение #934587
Вчитался. Сделал. Работает.
Правда заставить говорить и male и female не удалось (хоть есть звуковые файлы для обеих полов и в фейспозере они проигрываются тоже и те и эти), но мне и так пойдёт. Один болтает правильно и когда надо.
Спасибо Климака.
Old Post 24-12-2009 14:49
PollL отсутствует Посмотреть данные 'PollL' Отправить Приватное Сообщение для 'PollL' Посетить домашнюю страничку PollL Найти другие сообщения 'PollL' Добавить PollL в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
KLIMaka
(Президент Мира - Броука!)

Зарегистрирован: Dec 2007
Проживает: Украина/Запорожье
Написал: 456 сообщений

Оценка: 28 Votes 28 чел.

Сообщение #934634
Хм... не очень ясно из-за чего так происходит... У меня нормально и женские и мужские персонажи говорят.
Old Post 24-12-2009 18:28
KLIMaka отсутствует Посмотреть данные 'KLIMaka' Отправить Приватное Сообщение для 'KLIMaka' Найти другие сообщения 'KLIMaka' Добавить KLIMaka в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
 
PollL
(Готов к приключениям.)

Зарегистрирован: Nov 2004
Проживает: Russian Federation/Москва
Написал: 1987 сообщений

Оценка: 52 Votes 52 чел.

Старожил Developer Большой респект! 
Сообщение #934686
Я, тому неписю, который говорит, рандом фемале делаю, а он всёравно генерится мужиком и по мужитски говорит.. Короче я в ауте. Вчера мапу крэшанул, еле восстановил через ++Блокнот.. Эксперименты заканчиваю..
Климака, ещё раз спасибо.
Old Post 25-12-2009 08:01
PollL отсутствует Посмотреть данные 'PollL' Отправить Приватное Сообщение для 'PollL' Посетить домашнюю страничку PollL Найти другие сообщения 'PollL' Добавить PollL в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
manJak
(маппер-теоретик)

Зарегистрирован: Feb 2006
Проживает: Mother Russia/Moscow
Написал: 2953 сообщений

Оценка: 66 Votes 66 чел.

Developer Старожил 
Сообщение #934946
Ыыыы. о__О KLIMaka, раскрыл глаза, прямо-таки) Сколько ж я лет не подозревал о назначении инпута addcontext)) Я с системой респонзов вообще боялся иметь дела, страшно всё очень выглядело, а ты взял и одним абзацем поставил всё на места.
Old Post 26-12-2009 17:50
manJak отсутствует Посмотреть данные 'manJak' Отправить Приватное Сообщение для 'manJak' Найти другие сообщения 'manJak' Добавить manJak в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
KLIMaka
(Президент Мира - Броука!)

Зарегистрирован: Dec 2007
Проживает: Украина/Запорожье
Написал: 456 сообщений

Оценка: 28 Votes 28 чел.

Сообщение #934971
Ну, собсно, это PollL'у спасибо, это ж он эту тему поднял. У меня самого эти болтающие неписи блаженный трепет вызывали и во внутренности этого всего я совать нос не имел никакого желания. А оказалось все не так уж и сложно.
Old Post 26-12-2009 19:54
KLIMaka отсутствует Посмотреть данные 'KLIMaka' Отправить Приватное Сообщение для 'KLIMaka' Найти другие сообщения 'KLIMaka' Добавить KLIMaka в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
manJak
(маппер-теоретик)

Зарегистрирован: Feb 2006
Проживает: Mother Russia/Moscow
Написал: 2953 сообщений

Оценка: 66 Votes 66 чел.

Developer Старожил 
Сообщение #934989
Ну, PollL-у - да, безусловно, респект за то что копнул в этом направлении.
Old Post 26-12-2009 21:17
manJak отсутствует Посмотреть данные 'manJak' Отправить Приватное Сообщение для 'manJak' Найти другие сообщения 'manJak' Добавить manJak в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
PollL
(Готов к приключениям.)

Зарегистрирован: Nov 2004
Проживает: Russian Federation/Москва
Написал: 1987 сообщений

Оценка: 52 Votes 52 чел.

Старожил Developer Большой респект! 
Сообщение #935317
Тупой копнул - два умных "респектнули" .. Во как ..
Флуд, конечно, но удержаться не смог !!!
Old Post 28-12-2009 10:28
PollL отсутствует Посмотреть данные 'PollL' Отправить Приватное Сообщение для 'PollL' Посетить домашнюю страничку PollL Найти другие сообщения 'PollL' Добавить PollL в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Все время в GMT . Сейчас 15:58.
Создать Новую Тему    Ответить

Быстрый ответ
Ваше Имя:
Хотите Зарегистрироваться?
Ваш Пароль:
Забыли свой Пароль?
Вы можете оставлять свои комментарии анонимно, просто введя свои имя и оставив пустым поле пароля.
Ваш ответ:

[проверить размер]
[транслит в win] | [?]
[русская клавиатура]

Дополнительно: Подтверждение по E-Mail


Быстрый переход:
 
Оцените эту Тему:
 

Правила форума:
Создание Тем не разрешено
Создание Сообщений разрешено
Создавать Вложения не разрешено
Редактирование Сообщений не разрешено
Коды HTML запрещены
Коды форума разрешены
Смайлики разрешены
Коды [IMG] запрещены