![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#41
|
|
Level 2 ![]() Класс: Рейнджер Характер: Lawful Good Раса: Человек ![]() |
В моем модуле, у одного типа есть кольцо регенерации, которое следует украсть. (IMG:style_emoticons/kolobok_light/smile.gif) На весь модуль это единственный предмет, поддающийся краже, поэтому надо бросить игроку подсказку на эту тему. (IMG:style_emoticons/kolobok_light/smile.gif)
Спасибо, попробую разобраться |
![]()
Сообщение
#42
|
|
4-х Кубовый ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек NWN: Скриптинг [Sn] Проклятие Левора ![]() |
Тогда 100% тебе надо писать единичный (не универсальный скрипт!). Это проще. Ты можешь вообще привязаться жестко к скиллу игрока или хенча и написать скрипт через диалог, всплывающий в том месте локи, де ты планируешь украсть это кольцо. Через триггер всплывет (IMG:style_emoticons/kolobok_light/wink3.gif) . Помоему проще и быстрее всего. В конце диалога проверка скиллов и прочего и соответственно результирующие ветки. Удачи! (IMG:style_emoticons/kolobok_light/wink3.gif)
|
![]()
Сообщение
#43
|
|
Level 5 ![]() ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить ![]() |
Вот здесь есть пара скриптов.
|
![]()
Сообщение
#44
|
|
Сивоха ![]() ![]() ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек ![]() |
Вот вопрос. Какая функция(если такая есть) возвращает тип робы. Вообщем ситуация такая: нужен скрипт, который запрещал бы использование предмета, если на ПС одета роба не первого типа.
|
![]()
Сообщение
#45
|
|
Level 5 ![]() ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить ![]() |
Такой функции нет.
|
![]()
Сообщение
#46
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Мастер Оружия Характер: Lawful Good Раса: Эльф NWN: Маппинг ![]() |
Нужен ну ооочень простой скрипт, но я не знаю как его сделать (IMG:style_emoticons/kolobok_light/smile.gif)
Вобщем игрок наступает на тригер и у него начинается разговор с неписем (это я знаю как сделать) После разговора этот тригер должен удаляться для того чтобы повторное наступление на тригер не привело к повторному разговору, как это сделать? Сообщение отредактировал Elven king - Jun 11 2004, 19:07 |
![]()
Сообщение
#47
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
удали триггер сразу после наступания
Добавлено в [mergetime]1086971357[/mergetime] те так: ..... AssignCommand(oNPC,ActionStartConversation(..)); DestroyObject(OBJECT_SELF,0.5); ..... Добавлено в [mergetime]1086971480[/mergetime] надеюсь система триггер-диалог у тебя универсальна, не под каждого НПС отдельный скрипт? |
![]()
Сообщение
#48
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Мастер Оружия Характер: Lawful Good Раса: Эльф NWN: Маппинг ![]() |
Нет, скрипт вобще так выгледет:
Код void main() { object oPC = GetEnteringObject(); object oNPC = GetObjectByTag("TAG_SIGILSTUDENT"); if (GetIsPC(oPC)) { AssignCommand(oNPC, ActionMoveToObject(oPC, FALSE)); AssignCommand(oNPC, ActionStartConversation(oPC)); DestroyObject(OBJECT_SELF,0.5); } } А как сделать что бы он был уневерсальным не подскажешь? Сообщение отредактировал Elven king - Jun 11 2004, 19:58 |
![]()
Сообщение
#49
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
из
object oNPC = GetObjectByTag("TAG_SIGILSTUDENT"); сделай object oNPC = GetNearestObjectByTag(GetTrapKeyTag(OBJECT_SELF)); тогда этот скрипт будет для любого НПС, если в поле KeyTag ты запишешь ТЭГ нужного тебе НПС для ДАННОГО тригера |
![]()
Сообщение
#50
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Elven king вот простое решение твоей проблемы.
Код void main() { object oPC = GetEnteringObject(); object oNPC = GetObjectByTag("TAG_SIGILSTUDENT"); if (GetIsPC(oPC) && !GetLocalInt(OBJECT_SELF, "STOP")) { SetLocalInt(OBJECT_SELF, "STOP", TRUE); AssignCommand(oNPC, ActionMoveToObject(oPC, FALSE)); AssignCommand(oNPC, ActionStartConversation(oPC)); } } Удаление триггера черевато боком (IMG:style_emoticons/kolobok_light/lol.gif) Может рухнуть набор акций, если у тебя длинный код. |
![]()
Сообщение
#51
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Айв, не говори ерунды, если все через Assign то никакого удаления нет, так как очередь на НПС. Главное удалить триггер не сразу-же а с небольшой задержкой. полсекунды вполне хватает, чтобы длинющую очередь выстроить.
|
![]()
Сообщение
#52
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Ну это ты знаешь. А он не волокет в тонкостях. Ему нужно просто и что бы было понятно и работало. Дальше он сам сделает как поймет. (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#53
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Вопрос по анимации. Как сделать анимацию атаки? Именно анимацию, а не заставить PC нападать. Констант таких я не нашел, возможно ли это?
|
![]()
Сообщение
#54
|
|
4-х Кубовый ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек NWN: Скриптинг [Sn] Проклятие Левора ![]() |
Стандартными способами нельзя. Можно поменять саму анимацию, на одной из существующих констант. То есть выдрать анимацию одиночной атаки (допустим с длинным мечом) и заменить ею одну из существующих анимаций. Само собой без хака не обойтись. Подробнее я к сожалению не смогу объяснить. Надеюсь Айс это сделает (IMG:style_emoticons/kolobok_light/smile.gif) . [гы, глядя в сторону Айса...]
|
![]()
Сообщение
#55
|
|
Level 9 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Дракон NWN: Скриптинг [PW] ![]() |
Не, спасибо. Либо просто - либо никак (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#56
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
да, к сожалению констант нет.
|
![]()
Сообщение
#57
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Мастер Оружия Характер: Lawful Good Раса: Эльф NWN: Маппинг ![]() |
Такой вот вопрос, как вам кажется, как легче создать расовые плюшки для Дроу тоесть чтобы он мог сразу использовать темноту и как сделать волшебный огонь, который просто появляется как эффект вокруг жертвы?
|
![]()
Сообщение
#58
|
|
4-х Кубовый ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек NWN: Скриптинг [Sn] Проклятие Левора ![]() |
Мне кажется здесь надо переписать чуток 2да по фитам и магии... По-другому вроде новые спеллы не дать...
|
![]()
Сообщение
#59
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Мастер Оружия Характер: Lawful Good Раса: Эльф NWN: Маппинг ![]() |
Ну... это то да, а вот как быть с тем чтобы магия Darkness была врождена, тоесть как бы использовалась к примеру два раза в день?
|
![]()
Сообщение
#60
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Elven king слишком пространнственный вопрос. Конкретней ситуацию опиши. Про спелл, можно надеть шкурку на РС. Но для шарда это не очень (IMG:style_emoticons/kolobok_light/sad.gif)
|
![]()
Сообщение
#61
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Мастер Оружия Характер: Lawful Good Раса: Эльф NWN: Маппинг ![]() |
Нет, тут не для Шарда, а так для одиночной игры, вся ситуация сосотит в том, что мне нужно реализовать суб расу Дроу, которая как известно обладает двумя способностями(на даный момент хватает только спела).
И можетете ктонибудь сказать какой командой можно одеть эту шкуру? |
![]()
Сообщение
#62
|
|
Level 4 ![]() ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Орк NWN: Скриптинг [PW] ![]() |
Такой вопрос:
можно ли каким нибудь образом восстановить игроку запомненные, но уже использованные спеллы (без отдыха)? Ато я в тулсете знаю только возможность уменьшить количество кастов запомненного спелла, а вот обратной возможности так и не нашел... (IMG:style_emoticons/kolobok_light/shout.gif) |
![]()
Сообщение
#63
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
2 Vestel
Этот скрипт ставишь на OnEnter локации. Делаешь невидимого монстра с нейтральной фракцией ко всем и делаешь его плотовым. Для диалога немного переделай. Сможешь? Код //:://///////////////////////////////////////////// //:: Name //:: Copyright (c) 2004 WRG! //::////////////////////////////////////////////// //:: Created By: Aiwan //:: Created On: //::////////////////////////////////////////////// void main() { object oPC = GetEnteringObject(); // GetPCSpeaker(); if (!GetIsPC(oPC) || GetLocalInt(oPC, "START_PC")) // ДЛЯ ЛОКАЦИИ {return;} if (GetIsPC(oPC)) { SetLocalInt(oPC, "START_PC", TRUE); AssignCommand(oPC, ClearAllActions()); object oSpeaker=CreateObject(OBJECT_TYPE_CREATURE,"ResRef_невидимого_НПС",GetLocation(oPC),FALSE); AssignCommand(oSpeaker, ActionStartConversation(oPC, "dlg_assignskills")); } } В конце своего диалога на слот Normal и слот Aborted делаешь кусочек кода: Код void main()
{ DestroyObject(OBJECT_SELF, 0.5); } |
![]()
Сообщение
#64
|
|
Level 7 ![]() ![]() Класс: Чемпион Торма Характер: Chaotic Good Раса: Человек NWN: DM ![]() |
Вопрос первый.
При первом входе персонажа на сервер, должен срабатывать скрипт, который начинает с ним диалог (вроде как на Энтарионе "система именных оружий" и т.д). Этот же диалог должен начинаться после каждого ЛевелАпа. Проверка на первость входа идет через стандартное Deity по факту наличия зарезервированных символов в котором и должен запускаться диалог. С подсказки Aiwan'a была создана НПС (таг: "MCS_TALKMAN"), которой было заданно имя, которая будет вести диалог. Она спрятана в дальнюю локацию с названием "Секретная Лока" (таг: "SECRET_AREA"). При использывании конструкции: Код objeсt oMCS=GetObjectByTag("MCS_TALKMAN"); диалог не начинается.ActionStartConversation(oMCS,"dlg_testdialog",TRUE, TRUE); Может быть надо как-то указывать, что действие происходит в разных локациях или что? Буду рад любой помощи. Вопрос второй. В диалоге должна появляться фраза использующая переменные. Типа Цитата "Уже прошло 2.. 3.. 6.. 8.. дней из 11 отпущенных". Переменную с LocalInt'a я считать могу, а вот, как вставить ее в диалог не разобрался. Может кто-нибудь подсказать?..
|
![]()
Сообщение
#65
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
2 Elven king делаешь шкурку со свойствами. Код впихивай хоть куда.
Код void main() { object oPC = GetFirstPC(); DestroyObject(GetItemInSlot(INVENTORY_SLOT_CARMOUR, oPC)); // если уже висит какая-нибудь шкурка object oItm = CreateItemOnObject("ResRef шкурки", oPC, 1); AssignCommand(oPC, ActionEquipItem(oItm, INVENTORY_SLOT_CARMOUR)); } |
![]() ![]() |
Текстовая версия | Сейчас: 18th May 2025 - 23:37 |