![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1686
|
|
Level 5 ![]() ![]() Класс: Маг Характер: Lawful Good Раса: Тварь ![]() |
Никогда, не изучал и хочу узнать, как делается условие. "если ПК встав на определённый триггер, нажмёт отдых то.... "
|
![]()
Сообщение
#1687
|
|||||
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
Добавлено в 02:19
:D
Добавлено в 02:20 } LEX: Мм.. с GetIsInSubArea раньше не сталкивался. :) Пасиб за новую функцию. :D |
||||
![]()
Сообщение
#1688
|
|||
Level 9 ![]() Класс: Вор Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] ![]() |
:D :lol: еще есть SetName & SetDescription :D но в НВНХе.. весь крафт на этом стоит =) если подобного не будет в НВН2 - убьюсь нафиг :D кстати, а что там с SQL? самим приделывать придется? :drag: Добавлено в [mergetime]1130890569[/mergetime] зы. изврат этот тут Добавлено в [mergetime]1130890934[/mergetime] © :D |
||
![]()
Сообщение
#1689
|
|||
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Именно так я все сделал, 101% правильности! Но он не работает, т.е. работает на половину. Если НПС поставить в друго конце помещения, то он подойдет к мишени и будет стоять(как идиот!). Незнаю чего я там мудрю. :xz: Кажись все правильно... Кстати без этого скрипта первая моя местность будет совершенно Безталковой. Сообщение отредактировал Белатрис - Nov 2 2005, 07:39 |
||
![]()
Сообщение
#1690
|
|
Level 7 ![]() ![]() Класс: Маг Характер: True Neutral Раса: Эльф NWN: Скриптинг [Sn] ![]() |
Белатрис, а ты убрал галочку статик с мишени? Если нет, тогда, конечно, NPC ее атаковать не будет :xz: Я бы убрала галочку статик и указала, что это сюжетный плэйс, тогда скрипт заработает и NPC будет до бесконечности стрелять в мишень. ИХМО так.
|
![]()
Сообщение
#1691
|
|||||
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Народ сори, вопрос отпадает, я сам додумался. Но возник другой, функция
Она идет только под сценки? Или есть ли смысл использовать ее, в игре? PS: Скажем, увеличить «мозги» хенчу. AliceDiren
У меня он атакует, даже если плейс статик. ;) Сообщение отредактировал Dik Morris - Nov 2 2005, 19:31 |
||||
![]()
Сообщение
#1692
|
|||
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Dik Morris, можно увеличить кому угодно и где угодно, НО чем больше уровень АИ, тем больше нагрузка на проц. Лучше всего использовать это, как временное увеличение мозгов, скажем в сценки, чтобы в рассчитанном по секундам скрипте не случалось багов, по причине тупости ПС. |
||
![]()
Сообщение
#1693
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
аи ставится 0 у нпс, если игрока нет в локе
аи ставится лоу у нпс, если игрок в локе, но с нпс не контачит аи ставится хай у нпс во время боя аи хай у хенчшей, фамильяров и прочих пр умолчанию Вроде так |
![]()
Сообщение
#1694
|
|||
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Но если изменить АИ, то дефолт отменится, поэтому не забывайте переустанавливать АИ, после поправки мозгов. У хенчей наверное ставется, но ИМХО, если таких много, то лаги будут.
|
||
![]()
Сообщение
#1695
|
|||
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Почему не работает скрипт?
Это скрипт Айва, я только убрал здесь че-то, ну то что мне не нужно было. |
||
![]()
Сообщение
#1696
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
а что не работает?
\\ удаление всех вещей не корректное. А имено некорректно сработает, если в инвентаре будет сумка с вещами. + лишние скобки.. а так вроде ок |
![]()
Сообщение
#1697
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Мож из-за скобок? А вообще не надо уже, мне только что один пользователь в ЛС прислал другой скрипт.
|
![]()
Сообщение
#1698
|
|||||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Белатрис он работает, так как взят с моего нынешнего модуля и подправлен. А если лыжи не катются... то это не ко мне. Добавлено в [mergetime]1131178074[/mergetime]
:lol: :lol: :lol:
|
||||
![]()
Сообщение
#1699
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Не смешно!
У меня скрипт одежду дает, раздевает ПС, а вот одеть... фиг! |
![]()
Сообщение
#1700
|
|
Level 8 ![]() ![]() ![]() Класс: Паладин Характер: Lawful Good Раса: Полуэльф ПОДМАСТЕРЬЕ ![]() |
фуф. Устал и вновь обращаюсь к вам за помощью.
Вопрос такой: Делаю скрипт, в результате которого патрульный стражник, если увидит отдыхающего игрока, будет бежать к нему. Сначала пробовал писать индивидуальный скрипт на основе стандартного x2_def_percept, который вставлял в слот "OnPerception" стражника, в этот скрипт после строки ExecuteScript("nw_c2_default2", OBJECT_SELF); Вставлял следующие строки: object oPC=GetLastPerceived(); if (GetIsPC(oPC)&&GetIsResting(oPC)) { ClearAllActions(); ActionMoveToObject(oPC, TRUE, 3.0); } но в результате несчастный стражник, уйдя за три квартала от меня, с какого-то перепугу прибегал опять. :this: Рассмотрев повнимательнее скрипт nw_c2_default2, я понял, что игнорировать его полностью - нельзя, так как он включает действия и для случая, когда замечен враг, и т.п. Тогда я решил поставить на UserDefined те же самые строки, ведь в конце nw_c2_default2 идет вызов Event-а UserDefined. Теперь стражнику вообще чхать на меня, отдыхай хоть у него под ногами... :agr: Где моя ошибка?.. |
![]()
Сообщение
#1701
|
|
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
Kavin, твоя ошибка в выборе события - OnPerception срабатывает когда игрок входит/выходит в/из зоны видимости/слышимости стражника. т.е. твой скрипт будет работать только в тех случаях, когда игрок уже дрыхнет где-то, а стражник, подходя, замечает его.
нужно вешаться на OnHeartBeat(аналогично тому, как ты вешался на персепшн, т.е. после вызова nw_c2_default1) и там проверять, находится ли игрок в пределах видимости и его состояние. и там уже пинать бомжа. :crazy: |
![]()
Сообщение
#1702
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
другой вариант это при старте реста поиск стражников ближайших, которые игрока видят. Ну и далее по твоему сценарию. Так имхо экономичнее, чем хб стражи грузить
|
![]()
Сообщение
#1703
|
|
Level 8 ![]() ![]() ![]() Класс: Паладин Характер: Lawful Good Раса: Полуэльф ПОДМАСТЕРЬЕ ![]() |
Lex, как повесить скрипт на стражника, я знаю, а вот как выполнять скрипт при старте Rest-а игрока?.. Его-то слотов я не вижу.
dumbo, Спасибо. Способ подходящий, кажется. Единственное, что меня смущает, что OnHeartBeat происходит каждые 6 секунд, и пока стражник одуплится и добежит, ты уже отдохнешь и под шумок свалишь, особенно если низкоуровневый персонаж... А стражник тебя догонит, высунув язык на плечо, и скажет: "Низзя! Было тут отдыхать...". И все, хотя главная задача - помешать игроку отдохнуть. Была немного другая затея - когда игрок садится отдыхать, рядом с ним, шагах в 10-20, в случайном направлении, создавать Waypoint, телепортировать из казармы патруль, давать ему команду "К бомжу бегом марш!", и далее - мешать игроку отдыхать. Что мне помешало: 1. Не умею еще отлавливать начало отдыха игрока. 2. Думаю, помучившись, я бы сумел расположить Waypoint на расстоянии 10-20 шагов в случайном направлении. Но если игрок сядет отдыхать на краю карты, то стражу может забросить на макушки деревьев или вообще куда-то нафиг. Предполагаемые выходы из ситуации: а) понатыкать на карте Waypointов, и определять ближайший, к нему стражу и телепортировать. Но тогда получается слишком много объектов?.. При размере карты, скажем 12 на 12 надо будет минимум 144 waypointa. б) При расположении Waypointа проверять, не вышел ли он за пределы локации, и в соответствии с этим корректировать координаты. Однако я не умею проверять, не попал ли Waypoint за границу... Может быть, подскажет кто функции нужные?.. |
![]()
Сообщение
#1704
|
|||||||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
свойства модуля - события - onPCRest
функция CreateRandomLocation (есть в базе) + проверка на валидность координаты (тут придется наверное параметры локи занасить в локалки этой самой локи. По сути надо знать ширину и длину в тайлах и умножить то ли на 10, то ли на 15, чтобы получить коорлинаты.. я уж не помню ну и далее очевидно.. Проблемы это тем не менее полностью не решает)
хороший вариант. Канает. Но только наф так много? Прикинь локу города... поставь там всего то 10-20 поинтов и ты покроешь всю основную зону. не надо стремиться делать 1 поинт на тайл, лучше распологать их более рационально.. у дверей, закоулвок и прочих мест, откуда стражник мог появиться незамечанным)
??? если у тя стоят поинты, провека не нуна. Они ж на нормальных местах стоят. че-то меня седня на большой пост развезло.. молчанка на пару дней.. |
||||||||
![]()
Сообщение
#1705
|
|||
Level 8 ![]() ![]() ![]() Класс: Паладин Характер: Lawful Good Раса: Полуэльф ПОДМАСТЕРЬЕ ![]() |
Согласен с тобой, однако местность - не город, а хутор, и если я сяду на краю карты отдыхать, то стража не успеет добежать до меня из ближайшего закоулка. Кроме того, я подумал сегодня и забраковал этот вариант по той причние, что если я сяду отдыхать прям у невидимого Вэйпойнта, то стража "появится из сумрака" прямо около меня. Некузяво. Ночной дозор, блин. :yes: Так что остается только случайное расположение Вэйпойнта. В принципе, сейчас найду функцию RandomLocation и разберусь. О результатах отпишу. =) |
||
![]()
Сообщение
#1706
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Вот описание скрипта который мне нужен:
Когда 4 предмета(допустим с тагами 1 , 2 , 3 и 4) попадут на алтарь( с тагом Aktar_01 ) то на него производится эфект(как при лечении(я имею ввиду лучь оква-голубой))и с двери(таг Door_Sklep_01_12 ) снимается супер-пупер необезреживающаяся ловушка. Сообщение отредактировал Белатрис - Nov 6 2005, 11:29 |
![]()
Сообщение
#1707
|
|||||||||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
ну и где проблема? все, что надо для 1. снятия ловушки
2. эффека наложение:
сам эффект:
константы эффектов:
как делать: в закладку onDisturbed обрабатываешь работу с вещами, оперируя этим:
\\ скрипт пишется за 2-3 минуты максимум. Время пошло. |
||||||||||
![]()
Сообщение
#1708
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
А как проверка делается, а то я уже пол часа сижу со статьей и ничего не могу придумать!
|
![]()
Сообщение
#1709
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
варианты:
1. - на ивент INVENTORY_DISTURB_ADDED проверять, если добавили вещь с нужным тегом, то локалку соотв. сделать +1. Убрали -1. Или делать локалку-состояние.. описал ниже ее. (причем я не наю, как у тебя с уникальностью вещей.. но можно сделать проверку на дубли) - как только локалка стала = 4 то соотв эффект и ловушка. 2. после каждого изменения инвентаря алтаря (ADDED или REMOVED.. не суть, можно не проверять даже) пробегаешься по вещам, что там есть и формируешь локалку (либо как выше, либо локалку-состояние.. например 1111 значит, что все есть... 1011 значит, что нет второй вещи.. ну и тд.) и проверяешь в конце.. |
![]()
Сообщение
#1710
|
|
Level 8 ![]() ![]() ![]() Класс: Паладин Характер: Lawful Good Раса: Полуэльф ПОДМАСТЕРЬЕ ![]() |
Lex, послушай, я немного запутался.
Тип данных Location - это типа "Место с координатами Х, У, Z", или именно игровая локация?.. Сообщение отредактировал Kavin - Nov 6 2005, 20:06 |
![]() ![]() |
Текстовая версия | Сейчас: 1st May 2025 - 16:15 |