![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3371
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Все скрипты на той странице приведенные gennady отлично составляются.
Про твою ошибку. Как я понял этот код, ты ставишь на эвент "Текст появляется при". Вопрос - зачем? Ведь для такого скрипта, нужно рисовать триггер и ставить на эвент onEnter. Тогда все будет работать (конечно нужно пару деталей настроить, но про них уже говорили). Еще раз: триггер -> onEnter -> настройка. Ни про какие другие эвенты, речи не идет; в данном (и не очень) случае; читай описание внимательнее, все ведь уже было сказано. |
![]()
Сообщение
#3372
|
|
Level 3 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Эльф ![]() |
я поставил на onenter триггера, но дело не в этом. просто в скрипте где то ошибка. потому что он не компилируется.
|
![]()
Сообщение
#3373
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Честно говоря, не слишком-то охота терять время/трафик/нервы на некоторые, достаточно простые вещи. Дан готовый, работающий, составляющийся скрипт. Дано описание, куда его поставить, как его настроить. Причем подробное описание, со всеми мелочами. Почему так сложно все внимательно, еще разок перечитать и сделать заново? Вот этого я не понимаю. Сам, будучи новичком, первым делом - прошарил весь форум и нашел интересные мне скрипты; ибо писать не умел. И использовал их. Все получалось. Можно ошибиться в составлении, написании; допустить ляп. Но как не засунуть готовый код, в определенный эвент, указать тэг NPC - я не представляю.
Click. Смотри в модуле. |
![]()
Сообщение
#3374
|
|
Level 3 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Эльф ![]() |
Ты меня не понял, я все разобрал все прочитал и тд и тп. просто скрипт нерабочий. я не виноват что он не компилируется. и я же не заставляю тебя траффик твой тратить на это.
|
![]()
Сообщение
#3375
|
|
![]() Класс: Пьяный Мастер Характер: Lawful Good Раса: Тварь MySQL, PHP, JavaScript Порядок Времени ![]() |
Ты меня не понял, я все разобрал все прочитал и тд и тп. просто скрипт нерабочий. я не виноват что он не компилируется. и я же не заставляю тебя траффик твой тратить на это. я плакаю, ты опиши четко и внятно, куда ты поставил скрипт, как, как назвал, что в нем изменил, все четко и подробно, а лучше приведи в посте и текст скрипта из твоего модуля (не надо давать ссылку на пост) |
![]()
Сообщение
#3376
|
|
Level 4 ![]() ![]() Класс: Маг Характер: Chaotic Neutral Раса: Танар'ри ![]() |
Loki87
Уверяю вас, что скрипт этот прекрасно составляется и работает. Он используется по всему модулю, и никаких сбоев пока еще не было. gennady только немного утрировал фразы, но это видимо для наглядности. Единственное в чем я вижу, может быть у вас проблема – это если вы поменяли фразы и написали свои с буквой “я”. В этом случае либо используйте патч DUMBO или вариант Lex, решающий проблему с этой буквой. Все это есть на форуме. Нужно только поискать. Или откажитесь совсем от буквы “я”. А лучше еще раз внимательно прочтите все пояснения к скрипту – он рабочий! |
![]()
Сообщение
#3377
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
|
![]()
Сообщение
#3378
|
|
Level 3 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Эльф ![]() |
Artlira - буквы "я" там нет, потому что модуль я пишу на английском - след. все диалоги на англ.
Lex - Вот как выглядит скрипт. Я поменял только фразы диалога + комментарии. Neverwinter Script Source ///////////////////////////////////////////////// //:: Janeth starts talking to PC. //:: File name: camera_dialog //::////////////////////////////////////////////////// void main() { object oPC = GetEnteringObject(); object oSP = GetHenchman(oPC); vector vFace = GetPosition(oPC); string sName = GetLockKeyTag(OBJECT_SELF); int i = 1; float fTime; object oDL = GetNearestObjectByTag(sName, oPC, i); int iA = GetGoodEvilValue(oPC); if (!GetIsPC(oPC)) return; while (GetIsObjectValid(oDL)) { if (!GetIsInCombat(oPC)&&!GetIsInCombat(oDL)&&!GetIsEnemy(oPC, oDL)&& !GetIsDead(oDL) && GetObjectType(oDL) == OBJECT_TYPE_CREATURE) { fTime = GetDistanceBetween(oPC, oDL); SetLocalInt(OBJECT_SELF,"VALID",1); break; } i++; oDL = GetNearestObjectByTag(sName, oPC, i); } if (GetLocalInt(OBJECT_SELF, "VALID") != 1) return; // check if(fTime < 5.0) fTime = 7.5; string sPC = "???"; if (iA>30 && iA<70) sPC = "Get lost!"; if (iA>=70 && iA<100) sPC = "What? What's going on?"; if (iA==100) sPC = "Sure."; AssignCommand(oDL, ClearAllActions()); AssignCommand(oDL, SetFacingPoint(vFace)); AssignCommand(oDL, ActionPlayAnimation(ANIMATION_LOOPING_PAUSE, 1.0, 2.5)); AssignCommand(oDL, ActionPlayAnimation(ANIMATION_FIREFORGET_GREETING) ; AssignCommand(oDL, ActionWait(fTime-3.0)); AssignCommand(oDL, ActionStartConversation(oPC)); // PC dialog AssignCommand(oDL, ActionDoCommand(SetCommandable(TRUE, oDL))); // unblock chain DelayCommand(0.1, SetCommandable(FALSE, oDL)); // block chain DelayCommand(0.2, SetCutsceneMode(oPC, TRUE)); DelayCommand(0.3, AssignCommand(oPC, ClearAllActions(TRUE))); DelayCommand(0.4, AssignCommand(oSP, ClearAllActions(TRUE))); DelayCommand(1.5, AssignCommand(oPC, ActionForceMoveToObject(oDL, FALSE, 1.0, fTime-2.0))); DelayCommand(1.5, AssignCommand(oSP, ActionForceMoveToObject(oPC, FALSE, 1.0, fTime-2.0))); DelayCommand(2.0, AssignCommand(oDL, SpeakString("<c>Hey, stranger, can I ask you for something?</c>"))); DelayCommand(fTime-3.5, AssignCommand(oPC, SpeakString(sPC))); DelayCommand(fTime, SetCutsceneMode(oPC, FALSE)); DelayCommand(fTime, SetCommandable(TRUE, oDL)); // unblock chain DelayCommand(fTime+0.1, AssignCommand(oPC, ActionStartConversation(oDL))); // PC dialog DestroyObject(OBJECT_SELF, fTime+1.0); } этот скрипт я ставлю на onEnter триггера, который очерчен вокруг самой Janeth (НПС которая и должна заговорить с ПС). |
![]()
Сообщение
#3379
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Loki87, почему в твоем последнем сообщение, шла речь совсем о другой ошибке? Впрочем ладно, делов-то; внимательно осмотри строку №39. Там есть небольшой ляп (кстати говоря, которого в скрипте автора и нет совсем, так что думай сам, кто не прав) в виде отсутствия скобки и точки с запятой (в строке №40 - убери знак).
Сообщение отредактировал Dik Morris - Jul 30 2007, 14:09 |
![]()
Сообщение
#3380
|
|
Level 3 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Эльф ![]() |
это так написалось в посте криво, в редакторе все ок с запятыми.
угар, щас нажал - save - приколитесь, но он скомпилировался, хотя я нифига не правил!!! чудеса науки! еще кое что - попробовал я теперь это дело в игре. работает, но не так как я хотел. заходя на триггер я вижу только всплывшие на головами строчки с текстом. а сам диалог НПС не начала. Сообщение отредактировал Loki87 - Jul 30 2007, 14:43 |
![]()
Сообщение
#3381
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
DelayCommand(fTime+0.1, AssignCommand(oPC, ActionStartConversation(oDL)));
попробуй сделать с указанием файла диалога. Или наоборот, чтобы НПС начал разговор, а не игрок. |
![]()
Сообщение
#3382
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
подскажите
вот что сделать надо у меня естьнекий НПСи в закрытой локе мне бы сформировать пати из мобов и плееров так что бы главой пати был этот НПСи из закрытой локи. сооответвенно не нашел как добавитьв однопати плеера и моба (( |
![]()
Сообщение
#3383
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
есть функции которыми можно померятьдистанцию между объектами
вопрос определить чему равна единица этогоизмерения чему скажем например равено ребро квадрата мазайки или же сколько видет моб с длинной средней или короткой зоной видимости ??? да еще вот у меня получилось два поста подряд с разными по сути вопросами правильно было делитьна два поста или надо было редактирыватьпервый ??? Сообщение отредактировал Teranozavr_REX - Aug 9 2007, 13:08 |
![]()
Сообщение
#3384
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
есть функции которыми можно померятьдистанцию между объектами В редакторе скриптов над списком всех функций есть окошко для поиска, впишите туда слово "distance" - и увидите эти функции. Единица измерения -- "метр". Размер тайла -- 10x10. --- Если это поможет: GetObjectSeen(...) позволяет определить видит моб что-то или нет без всяких вычислений дистанций, зон видимости и т.п. |
![]()
Сообщение
#3385
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
спасибо за исчерпывающий ответ но поиском меня уже научили пользоваться
QUOTE Единица измерения -- "метр". Размер тайла -- 10x10. а вот за это огромное пасибо, а не простоспасибо (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) |
![]()
Сообщение
#3386
|
|
Level 2 ![]() Класс: Воин Характер: Neutral Evil Раса: Человек ![]() |
Вопрос глупый, но тем не менее. Как зайти на локальный шард ДМ-ом, что такое ДМ, и как он ведет квесты?
|
![]()
Сообщение
#3387
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Вопрос глупый, но тем не менее. Как зайти на локальный шард ДМ-ом, что такое ДМ, и как он ведет квесты? Данжеон Мастер. В общем, это человек который ведет а попросту организовывает все в игре, в данном случае на шарде, модуле. Он отвечает за квесты, диалоги и все события вокруг игроков. Что то вроде админа Забыбтых Королевств (IMG:style_emoticons/kolobok_light/smile.gif) Искать их надо здесь или на шардах. Но хороший ДМ это редкость... |
![]()
Сообщение
#3388
|
|
Ушедший на войну ![]() Класс: Маг Характер: Chaotic Good Раса: Человек NWN: Контент ![]() |
Цитата Как зайти на локальный шард ДМ-ом Запускаешь NWN Launcher там выбираешь DM Client и коннектишься к шарду через стандартный интерфейс. Само собой если это твой шард. Если чужой - то у тебя просто не будет ДМ пасса, чтобы зайти. Сообщение отредактировал Leon PRO - Aug 22 2007, 14:58 |
![]()
Сообщение
#3389
|
|
Level 2 ![]() Класс: Воин Характер: Neutral Evil Раса: Человек ![]() |
Вот я и хотел бы узнать каким образом организовывать события, диалоги, квесты. Посредством каких-либо команд или специальной программы.
|
![]()
Сообщение
#3390
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Доброго времени суток всем!
Столкнулась с такой проблемой - хотела сделать светильник, который светит разными цветами и переключается с одного на другой в случайном порядке OnHeartbeat каждые 5 секунд. Подумала и написала вот что: Neverwinter Script Source int iRollTen = d10(1); // Action would be chosen at random from the 10 variants void main() { switch(iRollTen) // Generated number { case 1: effect eLight1 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_GREEN); object oLight1 = GetObjectByTag("LIGHT1"); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight oLight1, 5.0); break; case 2: effect eLight2 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_RED); object oLight1 = GetObjectByTag("LIGHT1"); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight oLight1, 5.0); break; case 3: effect eLight3 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_WHITE); object oLight1 = GetObjectByTag("LIGHT1"); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight oLight1, 5.0); break; case 4: effect eLight4 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_BLUE); object oLight1 = GetObjectByTag("LIGHT1"); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight oLight1, 5.0); break; case 5: effect eLight5 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_ORANGE); object oLight1 = GetObjectByTag("LIGHT1"); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight oLight1, 5.0); break; case 6: effect eLight6 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_PURPLE); object oLight1 = GetObjectByTag("LIGHT1"); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight oLight1, 5.0); break; case 7: effect eLight7 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_YELLOW); object oLight1 = GetObjectByTag("LIGHT1"); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight oLight1, 5.0); break; case 8: effect eLight8 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_BROWN); object oLight1 = GetObjectByTag("LIGHT1"); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight oLight1, 5.0); break; case 9: effect eLight1 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_GREEN); object oLight1 = GetObjectByTag("LIGHT1"); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight oLight1, 5.0); break; case 10: effect eLight4 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_BLUE); object oLight1 = GetObjectByTag("LIGHT1"); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight oLight1, 5.0); } } Ставлю на слот хартбит невидимого статичного объекта с соответствующим тэгом. Скрипт не компилируется, выдает Код ERROR: SKIPPING DECLARATION VIA "case" STATEMENT DISALLOWED. Что это за ошибка такая? Как от нее избавиться? Вообще, возможно ли в принципе то, что я задумала? Сообщение отредактировал shadowdweller - Aug 27 2007, 23:08 |
![]()
Сообщение
#3391
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Где объявлен eLight?
Ещё советую определить переменные до case. |
![]()
Сообщение
#3392
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Virusman, сделала так, как вы посоветовали. Цифры после "eLight" упорно съедает редактор постов. (IMG:style_emoticons/kolobok_light/smile.gif)
Код int iRollTen = d10(1); // Action would be chosen at random from the 10 variants void main() { switch(iRollTen) // Generated number { effect eLight1 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_GREEN); effect eLight2 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_RED); effect eLight4 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_BLUE); effect eLight5 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_ORANGE); effect eLight6 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_PURPLE); effect eLight7 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_YELLOW); effect eLight8 = EffectVisualEffect(VFX_DUR_GLOW_LIGHT_BROWN); object oLight1 = GetObjectByTag("LIGHT1"); case 1: ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight1,oLight1, 5.0); break; case 2: ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight2,oLight1, 5.0); break; case 3: ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight1,oLight1, 5.0); break; case 4: ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight4,oLight1, 5.0); break; case 5: ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight5,oLight1, 5.0); break; case 6: ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight6,oLight1, 5.0); break; case 7: ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight7,oLight1, 5.0); break; case 8: ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight8,oLight1, 5.0); break; case 9: ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight1,oLight1, 5.0); break; case 10: ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eLight4,oLight1, 5.0); } } Результат тот же - ERROR: SKIPPING DECLARATION VIA "case" STATEMENT DISALLOWED. Выдается прямо на case 1: (IMG:style_emoticons/kolobok_light/unknw.gif) Сообщение отредактировал shadowdweller - Aug 27 2007, 23:33 |
![]()
Сообщение
#3393
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
virusman, ты проще объясняй. Человек только начинает это вкуривать. Ей по пол литры не осилить каждый день. (IMG:style_emoticons/kolobok_light/declare.gif)
|
![]()
Сообщение
#3394
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Да, в смысле до switch.
Neverwinter Script Source void main() Можно даже без свитча, но так понятнее.
{ object oLight = GetObjectByTag("LIGHT1"); effect eLight; int nEffectID; int iRollTen = d10(1); // Action would be chosen at random from the 10 variants switch(iRollTen) // Generated number { case 1: nEffectID = VFX_DUR_GLOW_LIGHT_GREEN; break; case 2: nEffectID = VFX_DUR_GLOW_LIGHT_RED; break; case 3: nEffectID = VFX_DUR_GLOW_LIGHT_WHITE; break; case 4: nEffectID = VFX_DUR_GLOW_LIGHT_BLUE; break; case 5: nEffectID = VFX_DUR_GLOW_LIGHT_ORANGE; break; case 6: nEffectID = VFX_DUR_GLOW_LIGHT_PURPLE; break; case 7: nEffectID = VFX_DUR_GLOW_LIGHT_YELLOW; break; case 8: nEffectID = VFX_DUR_GLOW_LIGHT_BROWN; break; case 9: nEffectID = VFX_DUR_GLOW_LIGHT_GREEN; break; case 10: nEffectID = VFX_DUR_GLOW_LIGHT_BLUE; } eLight = EffectVisualEffect(nEffectID); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLight, oLight, 5.0); } Сообщение отредактировал virusman - Aug 27 2007, 23:30 |
![]()
Сообщение
#3395
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Virusman, Aiwan, cпасибо (IMG:style_emoticons/kolobok_light/thank_you.gif)
Компилируется, а работать не хочет... (IMG:style_emoticons/kolobok_light/sad.gif) Сообщение отредактировал shadowdweller - Aug 27 2007, 23:42 |
![]() ![]() |
Текстовая версия | Сейчас: 2nd August 2025 - 18:52 |