Гражданский ИИ |
Здравствуйте, гость ( Вход | Регистрация )
Гражданский ИИ |
Oct 2 2012, 17:46
Сообщение
#1
|
|
Level 19 Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов |
Стало немного скучно, и я по наводке Вирусмана решил сделать сабжевую хрень (IMG:style_emoticons/kolobok_light/smile.gif) Заодно сделаю топик на тему нвн, каких тут почти не осталось (IMG:style_emoticons/kolobok_light/smile.gif)
Суть работы сабжа проста. Обычно на коммонеров вешают что-то типа рандомволка, и они тупо слоняются туда-сюда, втыкаясь во все углы. Либо просто вырубают им ИИ, чтобы они как буратины стояли на месте (ммо-стайл). Мне было предложено искусственному интеллекту добавить немного... интеллекту (IMG:style_emoticons/kolobok_light/smile.gif) Заставлю неписей заниматься делами: кто-то утром пойдёт на работу (а вечером - домой), кто-то - молиться, кто-то - бухать и т.п. Всё без индивидуальных маршрутов и скриптов. Что уже сделано: самое скучное - поиск кратчайшего пути по дереву вейпоинтов, ходьба из пункта А в пункт Б хоть через 10 локаций. Что предстоит сделать: самое весёлое - запрограммировать болванчиков на свободу выбора жизненных приоритетов. Нафига: а хз, для разминки мозгов. Ну и мб Экзису всё-таки пригодится. В любом случае, все наработки я выложу в общий доступ. Ах да. Есть хитрые идеи творческого плана? |
Oct 7 2012, 22:48
Сообщение
#2
|
|
Тролль Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь |
Берем дверь, ставим на триггер OnOpen:
Код void main(script1) { object oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF, 1, -1, -1, -1, -1); object oArea = GetArea(OBJECT_SELF); if ((GetIsObjectValid(oPC))&&(GetArea(oPC) == oArea)) { if (GetIsOpen(OBJECT_SELF)) { DelayCommand(300.0, SetLocked(OBJECT_SELF, FALSE)); } else { return; } } else { ActionCloseDoor(OBJECT_SELF); } } и на OnUnLock: Код void main() { ExecuteScript("script1", OBJECT_SELF); } …в результате получаем дверь, которая будучи однажды открыта кем-либо раз в 5 минут проверяет свое состояние, и в случае если она открыта и игрока нет поблизости – затворяет (при необходимости и запирает) себя и прекращает проверки. Система из моего модуля «антиполтергейст» - всегда раздражали самозакрывающиеся двери на шардах… |
Текстовая версия | Сейчас: 25th June 2024 - 18:44 |