![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#36
|
|
Level 2 ![]() Класс: Рейнджер Характер: Lawful Good Раса: Человек ![]() |
Конкретизирую про вора:
У вас есть хенчмен Томми. Вы сами воровать не умеете. 1) Вы говорите "Томми, проверь этого господина". И он кидается проверять господина, на которого укажешь мышкой. Либо, если это невозможно, то он сам определяет ближайшего господина в радиусе 1-5 метров либо вообще ближайшего. Примерно так. 2) Дополнительное условие - чтобы не было обломов. То биш Томми, получив приказ, кидает кости. Если результат не в его пользу, то он говорит "облом, сир". Если нормально, то {ворует колечко и т.д.} |
![]()
Сообщение
#37
|
|
4-х Кубовый ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек NWN: Скриптинг [Sn] Проклятие Левора ![]() |
Сарлес, я когда-то начинал писать эту системку, но боюсь не дописал и она де-то у меня потерялась... На самом деле здесь ничего сложного нет. Один диалоговый скриптик средних размеров. Скажу сразу, кликать мышой, указывая цель вора, не получится. Придется делать что-то вроде "поиска ближайшего нейтрала к PC" и броски костей. Сам я сейчас не сяду писать этот скрипт (банально нет времени), ты уж попробуй сам. Что будет в упор непонятно - спрашивай. Если надо могу расписать по броскам:
[d20 + скилл PickPocket за вора] против [d20 за непися]. |
![]()
Сообщение
#38
|
|
Level 2 ![]() Класс: Рейнджер Характер: Lawful Good Раса: Человек ![]() |
Как называются функции "украсть что-то у кого-то" и "получить результат броска?"
|
![]()
Сообщение
#39
|
|
Level 7 ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Тексты ![]() |
Начал разбираться в днём и ночью. в OnSP простолюдинов повесил скрипт
#include "NW_O2_CONINCLUDE" #include "NW_I0_GENERIC" void main() { SetSpawnInCondition(NW_FLAG_DAY_NIGHT_POSTING); SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS); SetSpawnInCondition(NW_FLAG_ESCAPE_RETURN); SetListeningPatterns(); WalkWayPoints(); } Осталось дело за малым, создать дневные и ночные POST-ы, а вот как это сделать я не понимаю. Помогите пожалуйста. Спасибо. |
![]()
Сообщение
#40
|
|
4-х Кубовый ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек NWN: Скриптинг [Sn] Проклятие Левора ![]() |
Sir_Sarles А зачем тебе это???
ActionUseSkill(SKILL_PICKPOCKET, ...), но я бы писал собственную функцию с ActionTakeItem(...) с посылом далее кастомного Event'а этому неписю, у которого крадут. Этот эвент и сам процесс кражи обрабатывается уже само собой неписем (можно даже подвязать к OnDisturb непися). Результат броска делаешь сам, внешний. Пример: Код if (d20() < d20() + скилл кражи хенча) { ....... кража удачна } else { ....... облом-с } Osiris Ставишь пост с таким тэгом: Дневной - POST_[тэг непися] Ночной - NIGHT_[тэг непися] Можно тоже самое сделать с вейпами (чтобы ходили по-разному днем и ночью) Дневной - WP_[тэг непися]_[номер вейпа] Ночной - WN_[тэг непися]_[номер вейпа] Само собой это все без квадратных скобок. (IMG:style_emoticons/kolobok_light/wink3.gif) |
![]()
Сообщение
#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)
|
![]() ![]() |
Текстовая версия | Сейчас: 15th May 2025 - 08:46 |