![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1736
|
|
Level 1 Класс: Обыватель Характер: Chaotic Good Раса: Эльф ![]() |
Здравствуйте.
У меня такой вопрос: Как сделать, чтобы при взломе двери игроком, находящиеся рядом охранники НПС становились для него враждебными, и нападали? |
![]()
Сообщение
#1737
|
|||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
скриптами на слоты onDamage onUnLock двери. логика там простая: берем дамагера/анлокера и натравливаем на него охрану, что рядом. функции:
Добавлено в [mergetime]1131887341[/mergetime] с такими вопросами малек не сюда. Тривиальные скрипты и прочие начальные вопросы в тему "Вопросы новичков". + посмотри обязательно тему "Вопросы и Ответы". Там же есть ссылка на туториал. Читать обязательно. |
||||
![]()
Сообщение
#1738
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Хм, такой вопросик.
Как отследить, кто первым начал бой, герой или НПС? |
![]()
Сообщение
#1739
|
|||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Ну НПС редко сам нападает :) Говори нормально. Где отследить, на шарде или сингл. Ситуацию... Как первый раз за мужем. |
||
![]()
Сообщение
#1740
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
хм.. по идее в слоте onAttack NPC смотрим. Если во время атаки игрока НПС нейтрален и не в бою, то игрок по идее напал первый.
|
![]()
Сообщение
#1741
|
|||||||||||
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Неа Лекс, не прет. Ведь слот запускается не при клике на атаку. Ну, когда нажимаешь мирного атаковать. А в момент удара и вэтот же момент НПС становется враждебным и боевым. При чем это происходит раньше, чем проверка в слоте. Вот это не пашет
А это пашет
Так, точно пора отдыхать :crazy:
Угу. Видимо прейдется учитывать экстренные моменты, когда НПС сам начинает бой, при смерти НПС. Например, атака не там заснувшего ПС.
За сколько :oops: Сообщение отредактировал -fenix- - Nov 14 2005, 01:02 |
||||||||||
![]()
Сообщение
#1742
|
|||||||
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
покупайте наших слонов, наши слоны самые слоничтые слоны в мире 8(
не хостайловый
хостайловый... |
||||||
![]()
Сообщение
#1743
|
|||||
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Эм, не понял, что есть хостайловый :sorry: |
||||
![]()
Сообщение
#1744
|
|
Level 8 ![]() ![]() ![]() Класс: Паладин Характер: Lawful Good Раса: Полуэльф ПОДМАСТЕРЬЕ ![]() |
Фракция Hostile (Хостайл) - "враждебный".
|
![]()
Сообщение
#1745
|
|
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
в смысле если ПС ударил НПС, то НПС становится враждебным :DB: при этом ставить на ПЦ флаг напавшего
а если моб первым начал, то это можно узнать, изменив функцию DetermineCombatRound (или что-то типа того..) (проверку на нападение со стороны ПЦ - если флага нет, то моб начал 8( ) |
![]()
Сообщение
#1746
|
|||
Level 8 ![]() ![]() ![]() Класс: Паладин Характер: Lawful Good Раса: Полуэльф ПОДМАСТЕРЬЕ ![]() |
Отписываю о результатах. Все ништяк. Функция RandomLocation, как я и предполагал, работает даже без проверки верного местоположения. Просто движок не позволяет объекту создаться за пределами карты или на недоступном месте. Теперь стража появляется шагов за 10 от PC и подбегает к нему. Предупреждает три раза, на четвертый раз - убивает нафиг. Если игрок отбежал чуть дальше и снова сел - его догоняют два предыдущих стражника. Если отбежал далеко и сел - те двое уничтожаются, и появляются два новых, снова в 10 шагах. Lex, стоит лит этот скрипт в базу выложить?.. |
||
![]()
Сообщение
#1747
|
|||||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Выложи тут мы посмотрим. -fenix- вот я лично так и не понял зачем тебе узнавать кто напал первый. НПС сам не нападет, если РС не натворит дел. Соответсвенно, узнать кто первый дал по башке можно, но опять же, если НПС стоял и РС его тюкнул и не попал, то НПС не будет враждебным. (Помоему...) И эту тему уже разбирали где-то. Элементарное узнать кто начал невозможно. Можно конечно повесить на оружие евант, тюкнул по цели и записываем на нее имя, кто тюкнул и когда. Соответсвенно сверяем двух провенившихся и вычисляем кто виноват. Но это имхо не верно по соображениям морали. :this: Мы узнаем только КТО ПЕРВЫЙ УДАРИЛ. Но начать может тот кого спровоцировали. :agr: Добавлено в [mergetime]1131945069[/mergetime]
Хотя... :) Как в жизни. Судят кто попал под раздачу. :D |
||||
![]()
Сообщение
#1748
|
|||||||||
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Задумка такая, которая завязана на том, кто первым начал бой. Если ПС и НПС не был врагом и у ПС была одна вещь, то кой чего происходит :)
Неа. Если ПС совершил удар, не важно попал или нет, то раунд уже начался. НПС становется враждебным и долбит ПС.
Ведат проглядел я тот разговор :( Но уже и сам понял, что невозможно. Прейдется просто другие игровые моменты учитывать.
Объясни потом игроку :D |
||||||||
![]()
Сообщение
#1749
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Напишите плиз скриптик где НПС нагибается к бассеину и полностью вылечивается(типо как в Принце Персии).
|
![]()
Сообщение
#1750
|
|||
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Поставь скрипт на строчку в диалоге:
ЗЫ: в Принца Персии, я не играл. ЗЗЫ: сорри, просто скрипт я оч. быстро писал, торопился. А вы уж, "запинали" :crazy: Сообщение отредактировал Dik Morris - Nov 14 2005, 15:42 |
||
![]()
Сообщение
#1751
|
|
Level 8 ![]() ![]() ![]() Класс: Паладин Характер: Lawful Good Раса: Полуэльф ПОДМАСТЕРЬЕ ![]() |
БЛИН! А самому подумать да в Лексиконе нужные функции поискать?..
Скажу, что знаю: такой анимации (нагибается), как в Принце Персии, в НВН нет. Можно сделать на полу бассейн, и сложить два эффекта: сначала он типа из лужи воду набирает (копается на земле), потом пьет из бутылки. Или из фонтанчика для птиц (есть такой плейсебл) набирает (анимация, когда игрок типа ключом дверь открывает...), а потом пьет. Пить - ANIMATION_FIREFORGET_DRINK. |
![]()
Сообщение
#1752
|
|||||||
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Dik Morris, только тут не
А
или вообще
:) |
||||||
![]()
Сообщение
#1753
|
|||||||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
несоответствие.
лишнее.
не в тот стек загнал команду. НПС вылечится сразу. зы: по пункту 1 уже сказал Феникс. Добавлено в 15:01 ЗЫЫ: непонятна диалоговая привязка скрипта. И зачем так игрок. |
||||||||
![]()
Сообщение
#1754
|
|
Level 1 Класс: Обыватель Характер: Chaotic Good Раса: Эльф ![]() |
Lex
Спасибо. Оказывается просто не правильно выбрал писал объект для нападения GetLastUsedBy а не GetLastDamager и GetLastUnlocker :D Сообщение отредактировал Ashram - Nov 14 2005, 16:13 |
![]()
Сообщение
#1755
|
|||
Level 8 ![]() ![]() ![]() Класс: Паладин Характер: Lawful Good Раса: Полуэльф ПОДМАСТЕРЬЕ ![]() |
ANIMATION_LOOPING_GET_MID - шевелить руками на уровне пояса. ANIMATION_LOOPING_GET_LOW - копаться на полу. Это в дополнение к предыдущему посту. Добавлено в 20:09 Просили посмотреть скрипт, который заставляет стражу появляться и подбегать к отдыхающему игроку.
Добавлено в [mergetime]1131988315[/mergetime] Функция CreateClone была предоставлена мне AliceDiren, поэтому публиковать буду после ее разрешения. :oops: Сообщение отредактировал Kavin - Nov 14 2005, 20:10 |
||
![]()
Сообщение
#1756
|
|
Level 8 ![]() ![]() ![]() Класс: Паладин Характер: Lawful Good Раса: Полуэльф ПОДМАСТЕРЬЕ ![]() |
М-дя. Я опять застрял на мертвой точке.
Подскажите, пожалуйста, что сделать для того, чтобы, если определенное условие выполнилось, отдых прервался сразу же?.. |
![]()
Сообщение
#1757
|
|
Level 7 ![]() ![]() Класс: Маг Характер: True Neutral Раса: Эльф NWN: Скриптинг [Sn] ![]() |
Kavin, отдых прерывается очисткой стека акций. ClearAllActions
|
![]()
Сообщение
#1758
|
|
Level 8 ![]() ![]() ![]() Класс: Паладин Характер: Lawful Good Раса: Полуэльф ПОДМАСТЕРЬЕ ![]() |
О Боги! Такую элементарщину упустить из виду!!! Заработался совсем...
Забаньте меня, тупицу. :xz: AliceDiren, Спасибо! Добавлено в [mergetime]1132048002[/mergetime] Написал функцию, которая определяет наличие необходимых для отдыха предметов (костер и bedroll), и если чего-то не хватает, то выдает FloatingText, чего не хватает. В случае, если есть все для отдыха - она должна заставлять игрока подбегать к bedrollу, ложиться на него и отдыхать. Все работает, условия отдыха срабатывают, кроме одного: игрок где сидит - там и брякается на отдых, нифига не ложась на кровать. Вызов функции стоит на OnPlayerRest модуля, результат, возвращаемый функцией, служит сигналом для стражи. Что мне сделать для того, чтоб задержать отдых до того времени, когда игрок добежит до кровати, и как вставить анимацию?.. |
![]()
Сообщение
#1759
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Это уже разбиралось очень подробно. Феникс, делая свою систему сталкнулся с этой же проблемой.
|
![]()
Сообщение
#1760
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Kavin, тут есть пара тонкостей.
Например, ты можешь прервать отдых функцией ClearAllActions(), потом сделать анимацию и что-то еще и потом, как думается, нужно сделать ActionRest(). Ан нет, дело в том, что ActionRest() вызывает событие OnPlayerRest, короче это то же, что и иконка века. В результате получается бесконечный цикл и игра виснет. Если хочешь вставить свою анимацию или чего еще перед отдыхом, то нужно отменять отдых и юзать функцию ForceRest(object oCreature). Но это не очень хорошо, так как убирается полоска отдыха, все хиты вылечиваются и эффекты снимаются мгновенно, не действуют ограничения на отдых: если рядом враг, если ПС в бою... Вобщем, все что надумал, это писать свою функцию, которая проверяет врагов поблизости и состояние героя, потом оценивает хиты и постипенно их восполняет, а так же удаление эффектов через некоторое время. А вот полоску сделать не получется. Времени сейчас разбираться со своим отдыхом нет(я тебе уже говорил). Поэтому, если нужно, пиши функцию сам, я не знаю, когда сяду за нее. Надеюсь помог :) |
![]() ![]() |
Текстовая версия | Сейчас: 1st May 2025 - 11:43 |