![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3786
|
|
Level 3 ![]() Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
*bic, bic какой же еще. *avi-> *bic Спасибо! @>- Будем пробовать! |
![]()
Сообщение
#3787
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Вот именно конвертор и нужен Правильно заданный вопрос почти 100% полученный ответ. (IMG:style_emoticons/kolobok_light/declare.gif) Я ж не знал ЧТО ТЫ ИМЕЕШЬ ВВИДУ. |
![]()
Сообщение
#3788
|
|
Level 3 ![]() Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
Правильно заданный вопрос почти 100% полученный ответ. (IMG:style_emoticons/kolobok_light/declare.gif) Я ж не знал ЧТО ТЫ ИМЕЕШЬ ВВИДУ. (IMG:style_emoticons/kolobok_light/sorry.gif) Сами не знали, как точно обозвать эту прогу! Пардон, в следующий раз будем точны как... как... опытный скриптер, во!;) Кстати, о скриптах - совсем уж чушь творится - компайлер молчит=( Ни сообщения об ошибке, ни сообщения о том, что все ок... просто пустое поле внизу... что сие может значить? Что пора переставить игру? Или он как-то отключился и его просто надо включить... (и где?) Сообщение отредактировал Xfans - Jul 4 2008, 22:30 |
![]()
Сообщение
#3789
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Скажите, плиз, водится ли еще на сайте WRG прога, которая делает заставки/видюшки/титры к НВН? Заставки делаются с помощью 3Дмакса, флеша, на прочих аниматорских прогах. Соотвественно у нас его на сайте не было. Все делается в AVI и КОНВЕРТИРУЕТСЯ в BIC. Это обычный конвертор каких много. Твой вопрос звучит так прога, которая делает заставки/видюшки/титры к НВН?. Кстати, о скриптах - совсем уж чушь творится - компайлер молчит=( Не все что компелится работает. (с) |
![]()
Сообщение
#3790
|
|
Level 3 ![]() Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
Не все что компелится работает. (с) Это уже понятно=) Но все же, что с ним делать, чтобы он подавал признаки жизни? А то может он вовсе не компилирует ничего! (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) |
![]()
Сообщение
#3791
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Очередная проблема. Не хочет разговаривать плейсебл. Мне нужно, чтобы при попытке прочесть книжку в локации начинался диалог. Делаю все по инструкции - выставляю в свойствах объекта галочку Plot и Useable. Во вкладке скриптов на OnClick, OnUsed и OnDisturb выставляю вот это:
Neverwinter Script void main() { object oPC = GetClickingObject(); object oTome = OBJECT_SELF; AssignCommand(oPC,ActionStartConversation(oTome)); } Диалог присоединен. там тоже все как полагается - сначала ветка с проверкой на наличие амулета-переводчика на соответствующем слоте, потом - ветка, которая выводится, если амулет не надет. В первой части мода скрипт прекрасно работает, правда, там диалог с одной веткой без всяких проверок. Во второй - не хочет ни в какую. Что я не так делаю? |
![]()
Сообщение
#3792
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
на OnUsed
Neverwinter Script void main() { ActionStartConversation(GetLastUsedBy()); } В свойствах плэйса, на вкладке улучшенный - поставь нужный диалог в поле "разговор". GetLastUsedBy(); - это значит объект, который последним поюзал данный предмет - такое ставитсья на вкладку OnUsed. GetClickingObject(); - это тот кто просто кликнул на объект - такое ставиться на вкладку OnClick. на вкладку OnDisturb ставятся скрипты, которые производят какое-то действие или событие, если происходит воздействие на предметы в инвентаре, например: перемещение из инвен.плэйса к себе в инвен. или наоборот. |
![]()
Сообщение
#3793
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Попробовала - не работает (IMG:style_emoticons/kolobok_light/sad.gif)
Сообщение отредактировал shadowdweller - Jul 5 2008, 22:11 |
![]()
Сообщение
#3794
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Мел, боюсь, что плейс не умеет выполнять ActionStartConversation, надо, наверное, на игрока перекидывать. И здесь лучше юзать BeginConversation.
Цитата Попробовала - не работает Укажи там напрямую реф диалога. И перекинь функцию на игрока:Neverwinter Script void main()
{ object oPC = GetLastUsedBy(); object oTome = OBJECT_SELF; AssignCommand(oPC, BeginConversation(oTome, "<реф диалога>")); } Сообщение отредактировал Ilerien - Jul 6 2008, 11:23 |
![]()
Сообщение
#3795
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Не надо ничего извращать.
Neverwinter Script //::////////////////////////////////////////////// //:: OnExit am_pus_dialog //:: Copyright © 2005 WRG! //::////////////////////////////////////////////// /* Скрипт использования PLC_ объектов для диалога. */ //::////////////////////////////////////////////// //:: Created By: Aiwan //:: Created On: 26.12.2005 //::///////////////////////////////////////////// void main() { object oPC = GetLastUsedBy(); object oSelf = OBJECT_SELF; AssignCommand(oPC, ClearAllActions()); ActionStartConversation(oPC); } У тебя просто ошибка где-то ищи. Небывает, что просто так в одном месте работает, в другом нет. Что то ты в настройках намудрила... Смени фракцию у плейсас с враждебной на нейтральную. Воткни строку без проверок и посомтри, ошиблась ты в скриптах или нет. Код что привел работает во всем модуле с разными объектами. Ни разу не тупило... Во вкладке скриптов на OnClick, OnUsed и OnDisturb выставляю вот это: Выстави ОДИН скрипт на OnUsed. |
![]()
Сообщение
#3796
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Урра! Заработала! Ребята, спасибо! (IMG:style_emoticons/kolobok_light/thank_you.gif)
|
![]()
Сообщение
#3797
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Потестил, плейс умеет начинать диалог (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#3798
|
|
Level 3 ![]() Класс: Клерик Характер: Chaotic Good Раса: Эльф ![]() |
У меня вот тоже с диалогом проблема, только другая - NPC должен (бы!), когда 1-й раз видит PC, бежать к нему и начинать диалог. Пробовал ставить триггер, при наступании на который этот NPC делал бы, что ему надо - не работает. Поставил NPC OnPerception, чтоб бежал - он начал таскаться за PC, как привязанный=( Попробовал добавить условие, чтоб бегал, только пока не говорили 1-й раз (на диалоге ставится переменная)
Neverwinter Script void main() { object oNPC = OBJECT_SELF; object oPC = GetFirstPC(); if(GetIsPC(oPC) && GetLocalInt(GetPCSpeaker(), "AineTalk") < 1 && GetLocalInt(oPC,"NW_L_Init" + GetTag(oNPC)) == FALSE && IsInConversation(oNPC) == FALSE) { AssignCommand(oPC,ClearAllActions()); AssignCommand(oNPC,ClearAllActions()); AssignCommand(oNPC,ActionForceMoveToObject(oPC)); AssignCommand(oNPC,ActionStartConversation(oPC)); } } Все равно таскается! Может я в скрипте что-то не так сделал? Сообщение отредактировал Lirulin - Jul 6 2008, 17:25 |
![]()
Сообщение
#3799
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Цитата Пробовал ставить триггер, при наступании на который этот NPC делал бы, что ему надо - не работает ну дык сделай чтобы рабатало, а не виласепедры придумывай. 1. не видно где устанавливается локалка 2. GetPCSpeaker() на онПерсепшен? |
![]()
Сообщение
#3800
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Lirulin, у меня работает так:
1. Создаешь триггер, при входе на который игрока к нему будет бежать НПС. Нужен триггер типа NewGeneric. 2. Внутри триггера создаешь вэйпойнт - точку, куда будет возвращаться НПС, если игрок вышел из области триггера, и присваиваешь ему тэг "WP_RETURN_ТЭГ_НПС" (без кавычек, разумеется) 3. На этот вэйпойнт ставишь НПС 4. В скриптах триггера на OnEnter ставишь вот это: Neverwinter Script void main() { object oNPC = GetObjectByTag("ЗДЕСЬ_ТЭГ_НПС"); object oPC = GetEnteringObject(); if(GetIsPC(oPC) && GetLocalInt(oPC,"Dlg_Init_" + GetTag(oNPC)) == FALSE && !IsInConversation(oNPC)) { AssignCommand(oPC,ClearAllActions()); AssignCommand(oNPC,ClearAllActions()); AssignCommand(oNPC,ActionMoveToObject(oPC)); AssignCommand(oNPC,ActionStartConversation(oPC)); } } 5. И на OnExit - вот это: Neverwinter Script void main(){ string sTag = "ЗДЕСЬ_ТЭГ_НПС"; object oExit = GetExitingObject(); if(GetTag(oExit) == sTag) { AssignCommand(oExit,ClearAllActions()); AssignCommand(oExit,ActionMoveToObject(GetNearestO bjectByTag("WP_RETURN_" + sTag))); } } Вот это - как раз для того, чтобы НПС не ходил за героем хвостом. Кажется, все. Сообщение отредактировал shadowdweller - Jul 6 2008, 19:27 |
![]()
Сообщение
#3801
|
|
Level 3 ![]() Класс: Клерик Характер: Chaotic Good Раса: Эльф ![]() |
shadowdweller, огромное спасибо! Я и сам понимаю, что с триггером проще, но видимо я там где-то тож лопухнулся в скрипте - и...
(я знаю, что тэги без кавычек (IMG:style_emoticons/kolobok_light/rolleyes.gif) ) ну дык сделай чтобы рабатало, а не виласепедры придумывай. 1. не видно где устанавливается локалка 2. GetPCSpeaker() на онПерсепшен? Устанавливалась в диалоге, в другом скрипте. Про Speaker - OnPerception - поправлю, вдруг получися. А придумывать велосипеды я престану, когда научусь нормально. Пока же я выкручиваюсь.. Сообщение отредактировал Lirulin - Jul 6 2008, 20:37 |
![]()
Сообщение
#3802
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
(я знаю, что тэги без кавычек) А я вот не знала. Сколько мучилась из-за этого... Теперь неосознанное стремление всем разжевать. (IMG:style_emoticons/kolobok_light/smile.gif) Вот только единственное - НПС у меня не бежит, а вразвалочку прогулочным шагом идет. Слышала, что есть какая-то переменная Neverwinter Script int bRun , но вот как задавать - не знаю...Думаю, из более солидных специалистов кто поможет (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#3803
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
за отсутствием солидных спецов могу помочь я.
nRun - параметр в функции ActionMoveToObject (и всех других Move'ов), подробнее см. помощник в скрипт эдиторе или лексикон. |
![]()
Сообщение
#3804
|
|
Level 3 ![]() Класс: Клерик Характер: Chaotic Good Раса: Эльф ![]() |
А я вот не знала. Сколько мучилась из-за этого... Теперь неосознанное стремление всем разжевать. (IMG:style_emoticons/kolobok_light/smile.gif) Вот только единственное - НПС у меня не бежит, а вразвалочку прогулочным шагом идет. Ну, я вот хоть и знаю, а иногда забываю! Однажды скопировал нужный мне тэг из скрипта, придал этот тэг объекту (не помню, что это было), а кавычки забыл убрать. Долго не мог понять, почему не работает=) А вроде еще можно просто скорость перемещения задать? float'ом... то ли после того, какой собсно, объект перемещается, писать этот float, то ли... не помню! (IMG:style_emoticons/kolobok_light/unsure.gif) У меня у самого вразвалочку топают! (но им вроде бегать по статусу не положено, потому я не задумывался над этим=)) |
![]()
Сообщение
#3805
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Если чару, то через Leto. (IMG:style_emoticons/kolobok_light/biggrin.gif) Скорость можно менять и через эффект. EffectMovementIncrease (и Decrease или что-то похоже. Поиск по слову movement рулит)
|
![]()
Сообщение
#3806
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
nRun - параметр в функции ActionMoveToObject (и всех других Move'ов), подробнее см. помощник в скрипт эдиторе или лексикон. Lex, спасибо огромное! По секрету, именно из скрипт-эдитора в тулсете я про эту функцию и узнала. Даже прочитала, перевела и догадалась, что она значит, правда! Проблема не в том, где найти, а в том, как пользоваться. Но твое внимание льстит, однозначно. |
![]()
Сообщение
#3807
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Проблема не в том, где найти, а в том, как пользоваться. (IMG:style_emoticons/kolobok_light/pardon.gif) проще, как говорится, некуда: ставишь TRUE - бежит. Ставишь FALSE (или ничего не ставишь) - не бежит. Думал такие вещи ты уже знаешь. TINT: чтобы указать необязательный параметр у функции, необходимо обязательно указывать все параметры до него, даже если вас устраивают значения по умолчанию. TINT2: обязательный параметр это тот параметр, который не имеет значения по умолчанию. Они идут первыми, только после того как закончатся все обязательные параметры, идут необязательные, со значением по умолчанию. Перемешать порядок параметров нельзя. Создавая свои функции, учитывайте это. Старайтесь, так же, ставить необязательные параметры в порядке частоты их изменения. Те тот парамерт, который чаще всего будет настраиваться разработчиком нужно ставить как можно раньше. Тот, который будет настраиваться редко, в самый конец списка. |
![]()
Сообщение
#3808
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Чертишь триггер, в таг триггера пишешь TR_CONV_ТАГ_ТВОЕГО_НПС Скрипт в слот на OnEnter. Имя триггера - фраза которую скажет НПС увидев РС. В свойствах KeyTag - больше 0 - подбежит. Все.
Neverwinter Script //::////////////////////////////////////////////// //:: OnEnter am_ten_speak_npc //:: Copyright © 2005 WRG! //::////////////////////////////////////////////// /* Текст над NPC KeyTag - Количество раз. Если 0, то бесконечно. TAG НПС приписываем к четырем знакам к TAG-у триггера. НПС SubRace - анимации, НПС Deity - Длительность анимаций. */ //::////////////////////////////////////////////// //:: Created By: Aiwan //:: Created On: 21.04.2005 //::////////////////////////////////////////////// void main() { object oPC = GetEnteringObject(); // PC object oTrig = OBJECT_SELF; string sTag = GetTag(oTrig); // Таг триггера TR_SPK_ string sNPC = GetStringRight(sTag, (GetStringLength(sTag)- 7)); // Таг НПС object oNPC = GetNearestObjectByTag(sNPC); string sSpeak = GetName(oTrig); // Фраза int i = StringToInt(GetLockKeyTag(oTrig)); // Количество раз int iSp = GetLocalInt(oTrig, "SPEAK"); int iAnim = StringToInt(GetSubRace(oNPC)); // Анимации float fAnim = StringToFloat(GetDeity(oNPC)); // Длительность анимаций if (!GetIsObjectValid(oNPC) || !GetIsPC(oPC) || iSp >= i && i!=0) { return; } AssignCommand(oNPC, ClearAllActions()); AssignCommand(oNPC, ActionDoCommand(SetFacingPoint(GetPosition(oPC)))) ; DelayCommand(1.0, AssignCommand(oNPC, SpeakString(sSpeak))); if (GetSubRace(oNPC)!="") { if (GetDeity(oNPC)=="") fAnim = 1.0; AssignCommand(oNPC, ActionPlayAnimation(iAnim, 1.0, fAnim)); } if (i!=0) { SetLocalInt(oTrig, "SPEAK", (iSp+1)); } } Есть скрипт для НПС, который будетбегать за РС и говорить типа: "Великий воин, последователь Темпуса! Подойди ко мне, базар есть!" Настраивается дистанция. Напирмер, вы отбежали от НПС на 15 метров и все, он успокоился пока вас снова не увидит. |
![]() ![]()
Сообщение
#3809
|
|
Level 4 ![]() ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Я тут недавно узнал что есть такая 2да таблица как hen_companion ( hen_familiar).
Вообщем я долго искал, и 2да.биф смотрел, но не нашел, кто может сказать как это таблица выглядит? (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) |
![]()
Сообщение
#3810
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Цитата Вообщем я долго искал, и 2да.биф смотрел, но не нашел наверное плохо смотрели, как раз там она и находится. (хотя для начала я всегда советовал бы заглядывать в xp2patch.bif и xp2.bif для последний версий тулсета). получите и распишитесь: hen_companion.2da Код 2DA V2.0 NAME BASERESREF STRREF DESCRIPTION 0 Badger NW_AC_BADGER 1993 5569 1 Wolf NW_AC_WOLF 1578 5929 2 Bear NW_AC_BEAR 1580 5986 3 Boar NW_AC_BOAR 1577 5988 4 Hawk NW_AC_HAWK 5989 5990 5 Panther NW_AC_PANT 5991 5992 6 Spider NW_AC_SPID 1573 5993 7 Direwolf NW_AC_DWLF 10526 5994 hen_familiar.2da Код 2DA V2.0
NAME BASERESREF STRREF DESCRIPTION 0 Bat NW_FM_BAT 1995 5636 1 Panther NW_FM_CRAG 5995 5996 2 Hellhound NW_FM_HELL 5997 5998 3 Imp NW_FM_IMP 5999 6000 4 Firemephit NW_FM_FIRE 6001 6002 5 Icemephit NW_FM_ICE 6003 6004 6 Pixie NW_FM_PIXI 6005 6007 7 Raven NW_FM_RAVE 6008 6009 |
![]() ![]() |
Текстовая версия | Сейчас: 5th August 2025 - 23:43 |