![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3361
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
QUOTE 2 Teranozavr_REX, можно использовать ActionForceMoveToObject. Тогда, когда NPC застрянет где-нибуть, через определенный промежуток времени, который ты указываешь сам, он перенесется в нужную точку. Принципе перемещение телепортом не совсем то что надо но если других способов не найду то принципе пойдет) а самое главное я буду теперь знатьвсем разница ActionForceMoveToObject от ActionMoveToObject )) QUOTE Еще можно попробовать, поднять АI NPC. SetAILevel. Но это требовательно к ресурсам. Боюсь сие мне уже непоможет(( SetAILevel насколько я понял устанавливает просто некоторую переменную которую потом читает стандартный скрипт АИ моба и в зависимости от ее значения принемает решения АИ я переписал с нуля и моему скрипта SetAILevel это уже пустой звон (( |
![]()
Сообщение
#3362
|
|
Level 2 ![]() Класс: Воин Характер: Neutral Evil Раса: Человек ![]() |
Еще вопрос, я скачал хак файл с лошадьми, их модели не появились среди доступных. Есть NWNViever , как с его помощью или другим способом добавить в модуль лошадей?
|
![]()
Сообщение
#3363
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
ТАК ну значит автоматом что бы раскидывало дизлайки сделал
а вот смонстрами незадача ((( как ни пробовал неполучаеться нормально требуеться что бы фракция дружелюбыных мобов стала враждебной к конкретно заданому плееру, а к другому так и осталась доброжелательной |
![]()
Сообщение
#3364
|
|
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Помню, давно тут задавал один вопрос, но поиском уже не могу его отрыть, потому что даже не помню как я его тогда сформулировал.
Короче говоря, это касается системы лута, когда труп монстра не уничтожается, а лут собирается с его тела. Так вот, если лут не взять, тело исчезает, но на его месте остается пятно, которое видно при зажатой подсветке. Никто не в курсе как от него избавиться? (IMG:style_emoticons/kolobok_light/wacko.gif) |
![]()
Сообщение
#3365
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
Сделал
Вроде еще нюб скриптописания а уже так достало биться головой об всякого рода не задокументированые фичи((( делаеться все просто Neverwinter Script Source AdjustReputation(oPlayer,GetObjectByTag("ХХХ"), -100); Где ХХХ моб чтостоит в локе робочей так главная проблема была втом чтоя добрый человек решил себя обезапоситьи поставил ему галочки сюжетный безсмертный и тп из за этого ничегоне работало если оставить галочку только безсмертный то все происходит коректно и вся фракция в которой состоит ХХХ становиться враждебной |
![]()
Сообщение
#3366
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
требуеться что бы фракция дружелюбыных мобов стала враждебной к конкретно заданому плееру, а к другому так и осталась доброжелательной Neverwinter Script Source // Set how nStandardFaction feels about oCreature. // - nStandardFaction: STANDARD_FACTION_* // - nNewReputation: 0-100 (inclusive) // - oCreature void SetStandardFactionReputation(int nStandardFaction, int nNewReputation, object oCreature=OBJECT_SELF) Короче говоря, это касается системы лута, когда труп монстра не уничтожается, а лут собирается с его тела. Так вот, если лут не взять, тело исчезает, но на его месте остается пятно, которое видно при зажатой подсветке. Никто не в курсе как от него избавиться? Пятно обычно появляется если попробовать уничтожить трупик существа DestroyObject'ом. Чтобы избежать появления точки нужно вместо этого забрать все вещи и деньги существа - оставшееся тело через время уничтожится автоматически. |
![]()
Сообщение
#3367
|
|
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Спасибо, буду пробовать.
Сообщение отредактировал Лито - Jul 25 2007, 14:04 |
![]()
Сообщение
#3368
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Good Раса: Нежить ![]() |
где находиться стсндартный скрипт что раздает экспу за мобов и как егопритушитьесли у меня своя система раздачи опыта ??
|
![]()
Сообщение
#3369
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Это не стандартный скрипт. Точнее вовсе не скрипт.
В свойствах модуля, во вкладке "Advanced", имеется "шкала XP", именно это и отвечает за раздачу опыта. В твоем случае, нужно установить ее значение до нуля (по умолчанию параметр равен десяти). Сообщение отредактировал Dik Morris - Jul 26 2007, 12:42 |
![]()
Сообщение
#3370
|
|
Level 3 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Эльф ![]() |
У меня вопрос к Gennady - я попробовал твой скрипт, (ну где при наступлении на триггер НПС начинает разговор). и вобщем при сохранении он не спомпилировался.
ERROR: NO FUNCTION STARTINGCONDITIONAL() IN SCRIPT |
![]()
Сообщение
#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) |
![]() ![]() |
Текстовая версия | Сейчас: 30th July 2025 - 03:43 |