![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#471
|
|
Level 14 ![]() ![]() ![]() ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Эльф ![]() |
Цитата Позже могу написать пример Буду благодарен. |
![]()
Сообщение
#472
|
|
Level 9 ![]() ![]() ![]() Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
Создаешь скрипт, название которого i_item_ac где item - тег того айтема который активируешь. На айтеме ставь каст спела "Activate Object".
В скрипте пишешь: Neverwinter Script void main() { object oPC = GetItemActivator(); AssignCommand(oPC, ActionStartConversation(oPC, "dialog")); //где dialog - название диалога для разговора } Все просто. |
![]()
Сообщение
#473
|
|
Level 14 ![]() ![]() ![]() ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Эльф ![]() |
Спасибо, дружище!
|
![]()
Сообщение
#474
|
|
Level 2 ![]() Класс: Монах Характер: Lawful Neutral Раса: Эльф ![]() |
Еще раз по подробней, пожалуйста, как решить эту задачу (по возможности без редактирования 2да):?
Цитата 2. Делаем мечь "Лаликор":
Мечь по сеттингу - разговаривающий. Как сделать так чтобы он при ударе по врангу с 20% вероятностью произносил фразу (текст всплывать должен) случайно выбранную из некого набора? |
![]()
Сообщение
#475
|
|
Level 9 ![]() ![]() ![]() Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
Tristar, мне видится пока только один путь решения:
В скрипте NW_C2_DEFAULTD пиши следующее: Neverwinter Script void main() { int nEvent = GetUserDefinedEventNumber(); int iPercentage = 20; switch( nEvent ) { case EVENT_DAMAGED: { object oDamager = GetLastDamager(); if (GetIsPC(oDamager) && GetTag(GetLastWeaponUsed(oDamager)) == "lalikor_sword") { if (d100() <= iPercentage) { switch (d10()) { case 1: FloatingTextStringOnCreature("1", oDamager); break; case 2: FloatingTextStringOnCreature("2", oDamager); break; case 3: FloatingTextStringOnCreature("3", oDamager); break; case 4: FloatingTextStringOnCreature("4", oDamager); break; case 5: FloatingTextStringOnCreature("5", oDamager); break; case 6: FloatingTextStringOnCreature("6", oDamager); break; case 7: FloatingTextStringOnCreature("7", oDamager); break; case 8: FloatingTextStringOnCreature("8", oDamager); break; case 9: FloatingTextStringOnCreature("9", oDamager); break; case 10: FloatingTextStringOnCreature("10", oDamager); break; } } } break; } } } Где iPercentage - процент наступления этого события, "lalikor_sword" - тег говорящего меча, а "1", "2", "3" в case'е - строки которые будут случайным образом всплывать над атакующим. Сообщение отредактировал Lorendroll - Aug 24 2008, 15:20 |
![]()
Сообщение
#476
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
ээ.. лучше всетаки события меча обрабатывать. см example.nss, там шаблон-обработчик вроде бы 6 событий, среди них и onHit.
|
![]()
Сообщение
#477
|
|
Level 2 ![]() Класс: Монах Характер: Lawful Neutral Раса: Эльф ![]() |
Лекс, опиши, пожалуйста, детально, как это сделать и чем данный вариан оптимальней, предложенного Лорендролом?
|
![]()
Сообщение
#478
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
ну чем оптимальней - видно сразу. Меньшее число "холостых" запусков скрипта. По подробнее - чуть позже, сейчас очень не до НВН.
|
![]()
Сообщение
#479
|
|
Level 9 ![]() ![]() ![]() Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
Я смог обнаружить только следующие стандартные эвенты:
Neverwinter Script const int X2_ITEM_EVENT_ACTIVATE = 0; const int X2_ITEM_EVENT_EQUIP = 1; const int X2_ITEM_EVENT_UNEQUIP = 2; const int X2_ITEM_EVENT_ONHITCAST = 3; const int X2_ITEM_EVENT_ACQUIRE = 4; const int X2_ITEM_EVENT_UNACQUIRE = 5; const int X2_ITEM_EVENT_SPELLCAST_AT = 6; |
![]()
Сообщение
#480
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Они нужны были в нвн1, т.к. там все "айтемовые эвенты" запускали один и тот же скрипт под названием "<Item Tag>", в котором требовалось проверить - "а что произошло-то?"
В нвн2 же нужно добавлять соотвествующий эвенту постфикс: i_<Item Tag>_ac - скрипт на активацию предмета i_<Item Tag>_aq - скрипт на взятие предмета i_<Item Tag>_ua - скрипт на выбрасывание/потерю предмета i_<Item Tag>_eq - скрипт на одевание предмета i_<Item Tag>_ue - скрипт на снятие предмета Естественно скрипт надо ещё заставить запускаться - так что нужна "активация" - свойство On Hit Cast Spell : Unique Power. |
![]()
Сообщение
#481
|
|
Level 9 ![]() ![]() ![]() Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
azathoth, ах да! Ну разумеется, можно добавить каст-спелл-он-хит! Дырявая моя бошка. Я просто думал над этим скриптом с корсытной целью изобразить поломку вещей на своем шарде (IMG:style_emoticons/kolobok_light/prankster2.gif) А ежели это будет уникальный меч, то конечно можно просто засунуть в i_<Item Tag>_ac
Neverwinter Script object oDamager = GetLastUsedBy(); int iPercentage = 20; if (d100() <= iPercentage) { switch (d10()) { case 1: FloatingTextStringOnCreature("1", oDamager); break; case 2: FloatingTextStringOnCreature("2", oDamager); break; case 3: FloatingTextStringOnCreature("3", oDamager); break; case 4: FloatingTextStringOnCreature("4", oDamager); break; case 5: FloatingTextStringOnCreature("5", oDamager); break; case 6: FloatingTextStringOnCreature("6", oDamager); break; case 7: FloatingTextStringOnCreature("7", oDamager); break; case 8: FloatingTextStringOnCreature("8", oDamager); break; case 9: FloatingTextStringOnCreature("9", oDamager); break; case 10: FloatingTextStringOnCreature("10", oDamager); break; } } Вроде как то так |
![]()
Сообщение
#482
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Neverwinter Script object oDamager = GetLastUsedBy(); int iPercentage = 20; if (d100() <= iPercentage) { switch (d10()) { case 1: FloatingTextStringOnCreature("1", oDamager); break; case 2: FloatingTextStringOnCreature("2", oDamager); break; case 3: FloatingTextStringOnCreature("3", oDamager); break; case 4: FloatingTextStringOnCreature("4", oDamager); break; case 5: FloatingTextStringOnCreature("5", oDamager); break; case 6: FloatingTextStringOnCreature("6", oDamager); break; case 7: FloatingTextStringOnCreature("7", oDamager); break; case 8: FloatingTextStringOnCreature("8", oDamager); break; case 9: FloatingTextStringOnCreature("9", oDamager); break; case 10: FloatingTextStringOnCreature("10", oDamager); break; } } |
![]()
Сообщение
#483
|
|
Level 6 ![]() ![]() Класс: Некромант Характер: Lawful Evil Раса: Нежить ![]() |
спецефический черный юмор программистов? оО
|
![]()
Сообщение
#484
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
примеры смешны с точки зрения кода (IMG:style_emoticons/kolobok_light/biggrin.gif)
в реализации же, я надеюсь, будет что-то типа такого: Neverwinter Script if (GetRacialType(oTarget) == RACIAL_TYPE_GOBLIN) { SpeakString("В топку гоблинов. Го на орков!"); } Цитата Я просто думал над этим скриптом с корсытной целью изобразить поломку вещей на своем шарде в этом случае советую смотреть в сторону того же On Hit Cast Spell, только создать кастомный спелл в 2да (или отредактировать тот самый Unique Power, если хаки не дозволены), который и будет обрабатывать поломку (и не только (IMG:style_emoticons/kolobok_light/wink3.gif) ... к тому же будет ещё и обрабатываться атака плейсов и прочих адамантиновых дверей) Только у меня были глюки в нвн1 с одновременной атакой оружием в обоих руках, нвн2 по этому поводу не тестировал. Сообщение отредактировал azathoth - Aug 28 2008, 23:24 |
![]()
Сообщение
#485
|
|
Level 9 ![]() ![]() ![]() Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
azathoth, и придется каждому вэпону вручную задавать свойство OnHitCastSpell:UniquePower? Я хотел бы этого избежать...
|
![]()
Сообщение
#486
|
|
Level 2 ![]() Класс: Монах Характер: Lawful Neutral Раса: Эльф ![]() |
Скрипт сделал.
Поставил свойство Каст Спел Он хит: Юник Пауа. Не работает - сообщения не выдаются ( |
![]()
Сообщение
#487
|
|
Level 9 ![]() ![]() ![]() Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
Проверил, действительно не работает. Надо заменить object oDamager = OBJECT_SELF;
Сообщение отредактировал Lorendroll - Aug 30 2008, 15:18 |
![]()
Сообщение
#488
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
вопросы по переводу переехали сюда: http://www.city-of-masters.ru/forums/index...mp;#entry121098
|
![]()
Сообщение
#489
|
|
Level 12 ![]() ![]() ![]() ![]() Класс: Вор Характер: Chaotic Good Раса: Полуэльф NWN: Тестер ![]() |
Кто знает как сохранить группу предметов в виде Prefabs? "Экспортировать группу" конечно получается, но вот импортнуть её потом в модуль - нет, у кого получалось, подскажиет плз.
Разобралась: Сначла ПКМ-Group, потом ПКМ- Export group, сохраняем, заркываем тулс. И лёгким движением мышки преносим нашу группу из папки Prefabs в папку Override. Открываем тулс. Ура, группа на месте - в палитре Prefabs! Сообщение отредактировал Ёжик - Sep 12 2008, 14:21 |
![]()
Сообщение
#490
|
|
Level 2 ![]() Класс: Маг Характер: Chaotic Good Раса: Человек ![]() |
to VitNWN2
------- 4.Как сделать так чтобы в зависимости от твоего решения(в диалоге) определённый персонаж присоединился к твоей команде? ------- на диалоге вешаешь команду addHencmen Описание увидишь в редакторе. Там не сложно. P.S. админам: извините, случайно ответил на старый вопрос. пост можно удалять. Сообщение отредактировал ZipovUA - Sep 15 2008, 11:29 |
![]()
Сообщение
#491
|
|
Level 1 Класс: Волшебник Характер: Lawful Neutral Раса: Человек ![]() |
День(вечер) добрый.
Не поможете ли: 1) в созданной локации есть овраг, через него положил мост. Как сделать, чтобы перс мог идти по мосту? На данный момент герой бежит сквозь мост (и в случае если мост объект как размещаемый, и если он элемент окружения) 2) не смог найти как же задавать патрулирование: вэйпойнты созданы, на Wiki написано, что их нужно указать в скриптах, но где в свойствах НПС такой скрипт - не нашел. Если же задавать нужно не свойствах НПС, то как сделать, чтобы одни персонажи ходили (например, стража), а другие на эти вэйпойнты не реагировали. 3) где и как задавать получаемый опыт - за убийства (чтоб зависел от разницы уровней героя и монстра) - за взлом замков и разоружение ловушек (если как и в квестах нужно запускать скрипт ga_give_xp, то где его указывать?) заранее спасибо. |
![]()
Сообщение
#492
|
|
Level 18 ![]() Класс: Страж Тьмы Характер: True Neutral Раса: Человек МАСТЕР D&D ![]() |
|
![]()
Сообщение
#493
|
|
Level 1 Класс: Волшебник Характер: Lawful Neutral Раса: Человек ![]() |
уточняю вопрос про ХР за взлом замков и разоружение ловушек: вариант задания ХР с помощью скрипта, как описано в Wiki это единственный (или лучший) вариант?
Griffon Спасибо. У меня non-walk был настроен с начала оврага, а мост начинался чуть раньше. Подровнял до края моста и все заработало. |
![]()
Сообщение
#494
|
|
Level 18 ![]() Класс: Страж Тьмы Характер: True Neutral Раса: Человек МАСТЕР D&D ![]() |
Stobor, не за что. Есть еще полезная штука в плейсах - помощник проходимости (walkmesh helper). С его помощью так же можно решать такие вопросы - только нужно правильно выставить размер и расположение помощника и ставить его чуть-чуть выше.
Можешь смело использовать данный код, т.к. его писали мастера скриптинга. Если, что-то выкладывается в вики, то это уже проверенный материал. |
![]()
Сообщение
#495
|
|
Level 14 ![]() ![]() ![]() ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Эльф ![]() |
ENCOUNTERS
Создали в палитре мобов и НПСов. Хочу добавить их на шард через encounters. Научите, пожалуйста, КАК ДЕЛАТЬ ENCOUNTERS? Или помогите ссылкой на инструкцию.... |
![]() ![]() |
Текстовая версия | Сейчас: 17th September 2025 - 05:36 |