![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2671
|
|
Level 5 ![]() ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Thanks, Лекс!
|
![]()
Сообщение
#2672
|
|
Level 4 ![]() ![]() Класс: Клерик Характер: Lawful Neutral Раса: Человек ![]() |
QUOTE(Lex @ Jan 29 2007, 16:11) [snapback]103448[/snapback] эт почему это? вставляется. Палитра - Sounds. Один из вариантов работы со звуком (если заранее известна точка, откуда должен быть звук) - расставить их на 0 громкости, а потом в скриптах сделать громкость какую нужно. Спасибо. Но в том то и прикол, что точки не известны (поскольку занимаюсь пока только мультиплеером).А в onlevelup звук никаким Макаром не хочет играться, даже через AssignCommand. |
![]()
Сообщение
#2673
|
|
Level 1 Класс: Воин Характер: Chaotic Good Раса: Человек ![]() |
Люди, у меня такой вопрос : как сделать чтоб после определённой фразы в разговоре перс переходил в другую местность?
|
![]()
Сообщение
#2674
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить ![]() |
NSS // ActionTakens, в диалоге: void main() { object oPC = GetPCSpeaker(); object oWP = GetObjectByTag("Таг_объекта"); AssignCommand(oPC , ClearAllActions()); DelayCommand(0.5, AssignCommand(oPC ,ActionJumpToObject(oWP))); } PS: Хоть на форуме и не так часто, но помню как минимум, три подобные просьбы, поиск бы юзали. Сообщение отредактировал Waromon - Feb 22 2007, 17:42 |
![]()
Сообщение
#2675
|
|
Level 1 Класс: Воин Характер: Chaotic Good Раса: Человек ![]() |
QUOTE(Waromon @ Feb 22 2007, 18:41) [snapback]104855[/snapback] NSS // ActionTakens, в диалоге: void main() { object oPC = GetPCSpeaker(); object oWP = GetObjectByTag("Таг_объекта"); AssignCommand(oPC , ClearAllActions()); DelayCommand(0.5, AssignCommand(oPC ,ActionJumpToObject(oWP))); } PS: Хоть на форуме и не так часто, но помню как минимум, три подобные просьбы, поиск бы юзали. благодарчик |
![]()
Сообщение
#2676
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
В скрипте что тебе привели НПС прыгнет а это некрасиво и неправильно. Он исчезнет на глазах РС (Фууу НВН2!!!)
NSS void main() { object oPC = GetPCSpeaker(); // Игрок object oNpc = OBJECT_SELF; // НПС с которым идет диалог object oExit = GetObjectByTag("WP_"); // Вейпоинт AssignCommand(oNpc, ClearAllActions()); // Почистим стек команд AssignCommand(oNpc, ActionForceMoveToObject(oExit, FALSE, 1.0, 30.0)); AssignCommand(oNpc, ActionDoCommand(SetCommandable(TRUE, oNpc))); DelayCommand(0.2, SetCommandable(FALSE, oNpc)); // Что бы случайно не забыл } |
![]()
Сообщение
#2677
|
|
Level 4 ![]() ![]() Класс: Некромант Характер: Chaotic Evil Раса: Нежить ![]() |
2 Aiwan
Так, там именно игрок должен переместится. Если говорить о "некрасиво и неправильно" то можно добавить черный экран, получится весьма эффектно. (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#2678
|
|
Level 4 ![]() ![]() Класс: Клерик Характер: Lawful Neutral Раса: Человек ![]() |
Привет всем.
1.Никто не подскажет как в скриптах прописывать эффект полета или падения, если возможно(по моему в 1м аддоне нвн что то было там с кобольтами)? 2.Можно ли поднять скриптами уровень непися (дать ему опыта - он качнется по умолчанию или нет - а то это как то не проверяемо)? Или только навыки да умения ему выписывать да интеллект наворачивать и развивать? |
![]()
Сообщение
#2679
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
1. EffectAppear EffectDisappear, это все что есть по полету (вроде как).
2. Можно. LevelupHenchman (или как-то так, фильтр функций на "Level" посмотри) |
![]()
Сообщение
#2680
|
|
Level 4 ![]() ![]() Класс: Клерик Характер: Lawful Neutral Раса: Человек ![]() |
Спасибо.
Только я там имел в виду, что гоблины как то у очень эффектно в колодец прыгали.Но как не лазил по скриптам, что то там глубоко все попрятано. Так думаю может еще кто интересовался. А скакать через эппеар и дизэппеар по поводу и без повода по локациям мона красиво - ето да. А по вопросу об опыте неписей я имел в виду, что только ли как хэнчи они качаться могут (то если по идее они независимы, то для прокачки их надо кому либо подчинить, качнуть, а потом назад.), а так просто опыт не могут получать? |
![]()
Сообщение
#2681
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(r1Stranger @ Mar 2 2007, 14:50) [snapback]105230[/snapback] Только я там имел в виду, что гоблины как то у очень эффектно в колодец прыгали.Но как не лазил по скриптам, что то там глубоко все попрятано. Так думаю может еще кто интересовался. интересовались. Там для этого специальная анимация сделана была. Те повторить это можно, но только 1-в-1, а в других местах не попользовать. |
![]()
Сообщение
#2682
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Вопрос такой. Можно ли сократить код? А то чет некрасиво записано...
Neverwinter Script Source if(GetTag(oItem)=="Hlam_9" || GetTag(oItem)=="ITM_Kukla" ||
GetTag(oItem)=="ITM_Necr_Cotel" || GetTag(oItem)=="Hlam_11" || GetTag(oItem)=="Hlam_5" || GetTag(oItem)=="Hlam_4" || GetTag(oItem)=="Hlam_1" || GetTag(oItem)=="Hlam_10" || GetTag(oItem)=="Hlam_8" || GetTag(oItem)=="Hlam_7" || GetTag(oItem)=="Hlam_2") Сообщение отредактировал gennady - Mar 31 2007, 12:23 |
![]()
Сообщение
#2683
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Neverwinter Script Source object oItem;
string sTag = GetTag(oItem); if(sTag =="Hlam_9" || sTag =="ITM_Kukla" || sTag =="ITM_Necr_Cotel" || sTag =="Hlam_11" || sTag =="Hlam_5" || sTag =="Hlam_4" || sTag =="Hlam_1" || sTag=="Hlam_10" || sTag=="Hlam_8" || sTag =="Hlam_7" || sTag=="Hlam_2") |
![]()
Сообщение
#2684
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
если нет других предметов с тэгом Hlam_* то можно так:
Neverwinter Script Source object oItem;
string sTag = GetTag(oItem); if(sTag =="ITM_Kukla" || sTag =="ITM_Necr_Cotel" || GetStringLeft(sTag,5) =="Hlam_") |
![]()
Сообщение
#2685
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Спасибо Aiwan, так красивше! Но суть в том, что видел вроде как-то запись методом перечисления…
Lex, идея проверить первые 5 символов интересная, но не данном случае, имеются и другие предметы с подобными тэгами, а тут после кода идет дестрой. Ну, что ж нет других вариантов, так нет… Буду писать некрасиво (IMG:style_emoticons/kolobok_light/biggrin.gif) … |
![]()
Сообщение
#2686
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Цитата(gennady @ Mar 31 2007, 13:21) [snapback]106644[/snapback] Спасибо Aiwan, так красивше! Но суть в том, что видел вроде как-то запись методом перечисления… В NWScript такого не предусмотрено - это тогда уже через свою "умную" функцию надо делать. Посмотри в базе, я как-то выкладывал инклюд с функциями для инвентаря, работающими со строками-списками. --- На крайняк можно так: Neverwinter Script Source if (FindSubString(" Hlam_9 ITM_Kukla ITM_Necr_Cotel Hlam_11 Hlam_5 Hlam_4 Hlam_1 Hlam_10 Hlam_8 Hlam_7 Hlam_2 ", " " + GetTag(oItem) + " ") >= 0)
{ ... } |
![]()
Сообщение
#2687
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Цитата(gennady @ Mar 31 2007, 15:21) [snapback]106644[/snapback] Ну, что ж нет других вариантов, так нет… Буду писать некрасиво Чем проще написано тем больше шансов что не "вильнет" в сторону. (IMG:style_emoticons/kolobok_light/rolleyes.gif) |
![]()
Сообщение
#2688
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Цитата(azathoth @ Mar 31 2007, 16:29) [snapback]106656[/snapback] В NWScript такого не предусмотрено - это тогда уже через свою "умную" функцию надо делать. Посмотри в базе, я как-то выкладывал инклюд с функциями для инвентаря, работающими со строками-списками. Ясно, инклюду смотрел, но там наворочено… «умным» долго разбирать (IMG:style_emoticons/kolobok_light/biggrin.gif) … Но вот помню, что видел что-то подходящее. Это как раз самое то!!! (IMG:style_emoticons/kolobok_light/yahoo.gif) Только почему на крайняк? Проверил, все пашет и не «виляет» (IMG:style_emoticons/kolobok_light/wink3.gif) Спасибо, azathoth беру на вооружение. (IMG:style_emoticons/kolobok_light/thank_you.gif) |
![]()
Сообщение
#2689
|
|
Level 2 ![]() Класс: Теневой Танцор Характер: Chaotic Neutral Раса: Человек ![]() |
господа и таварищи, помогите...
никак не могу реализовать... короче чел подходит в зону видимости моба (тег1), и врубается диалог такой-то. Во время диалога игрока атакуют. как только у него становиться меньше а хитоВ, экран гаснет и его телепортируют на локагия (тег2). Подскажите как и что, плиз... |
![]()
Сообщение
#2690
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Цитата(Вик Станжер @ Apr 16 2007, 21:11) [snapback]107195[/snapback] господа и таварищи, помогите... А где сами скрипты? И что там у тебя конкретно не получается? Все ответы на эти вопросы, можешь и сам найти в базе скриптов или скриптов для новичков (IMG:style_emoticons/kolobok_light/biggrin.gif) |
![]()
Сообщение
#2691
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Цитата(gennady @ Apr 17 2007, 09:10) [snapback]107205[/snapback] А где сами скрипты? И что там у тебя конкретно не получается? Из цикла: - "Привет ребзя! Хочу сделать свою модельку в НВН, скажите как?" *Народ пишет пять листов как нарисовать, количество полигонов, вокмехи, тулзы для импорта, ограничения...* - "Ух ты! Клева!" |
![]()
Сообщение
#2692
|
|
Level 2 ![]() Класс: Теневой Танцор Характер: Chaotic Neutral Раса: Человек ![]() |
блин, я плачу за трафик, а от стипендии уже ничего не осталось, не могу я весь формум перерывать.
я не знаю: - на что вешать скрипт, проверающии здровьие и при ранении телепортирующий. - я не знаю, как осуществить переход к обхекту на другой карте. |
![]()
Сообщение
#2693
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Цитата(Вик Станжер @ Apr 17 2007, 13:15) [snapback]107220[/snapback] - на что вешать скрипт, проверающии здровьие и при ранении телепортирующий. так как игрок, проверять только на HeartBeat модуля или в скрипте default (ХБ игрока. Но если мультиплеерный модуль, лучше не использовать в данной ситуации). Ну или на HeartBeat самого НПС, который игрока долбает. так как можно попасть в просак, если игрок будет убит 1 ударом или как-то еще (есть варианты), то перед таким боем лучше вешать на игрока Immortale флаг (ф-я SetImmortale). Потом проверив ХП (ф-я GetCurrentHitPoints) и определив, что их мало, перемещаем игрока (ф-я ActionJumpToObject), предварительно отчистив стек действий игрока (ф-я ClearAllActions) и задав точку перемещения (ф-я GetObjectByTag). Если пишется в скрипте default - то игрок - просто OBJECT_SELF, если в HeartBeat модуля, то игрока надо определять нужным образом. Зависит уже от ситуации. да.. не забыть перед боем повесить локалку на игрока (SetLocalInt) о том, что он в сюжетном бою, а в скрипте по проверке ХП и переносе в точку проверять эту локалку (GetLocalInt) с тем, чтобы отсекать ситуации лишние. После перемещения локалку обнулить (SetLocalInt). Цитата(Вик Станжер @ Apr 17 2007, 13:15) [snapback]107220[/snapback] блин, я плачу за трафик, а от стипендии уже ничего не осталось, не могу я весь формум перерывать. поиск попробовать можно. А вообще если такая беда, как можно четче формулируйте вопрос. И если пробуете писать сами скрипты, выкладывайте что получается и описание того, где проблема. зы: просто к людям, которые пробуют сами и что-то не получается отношение другое немного, более... положительное чтоли. А то, что вы уже написали как раз показывает ваши попытки сделать самостоятельно. Ну это так, на заметку. зыы: а если тупо нужен готовый скрипт с объяснениями, куда его ставить, то это тоже лучше сразу написать. (IMG:style_emoticons/kolobok_light/smile.gif) Чтобы не было недопонимания. |
![]()
Сообщение
#2694
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Цитата(Вик Станжер @ Apr 17 2007, 13:15) [snapback]107220[/snapback] - я не знаю, как осуществить переход к обхекту на другой карте. Тогда запиши себе этот скрипт, поможет во многих ситуациях… Имя скрипта должно быть p_universal т.к. я использовал его в скрипте проверки урона и перемещения. Neverwinter Script Source //::////////////////////////////////////////////// //:: *** УНИВЕРСАЛЬНЫЙ СКРИПТ ПЕРЕМЕЩЕНИЙ *** //:: File name: p_universal //::////////////////////////////////////////////// // ***** ПЕРЕМЕЩЕНИЕ ГЕРОЯ ***** void JumpFirstPC(object oWP) { object oPC = GetFirstPC(); object oSP = GetHenchman(oPC); object oAnimal = GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION,oPC); object oFamiliar = GetAssociate(ASSOCIATE_TYPE_FAMILIAR,oPC); object oDominated = GetAssociate(ASSOCIATE_TYPE_DOMINATED,oPC); object oSummoned = GetAssociate(ASSOCIATE_TYPE_SUMMONED,oPC); AssignCommand(oPC, ClearAllActions()); AssignCommand(oSP, ClearAllActions()); AssignCommand(oAnimal, ClearAllActions()); AssignCommand(oFamiliar, ClearAllActions()); AssignCommand(oDominated, ClearAllActions()); AssignCommand(oSummoned, ClearAllActions()); AssignCommand(oPC, JumpToObject(oWP)); AssignCommand(oSP, JumpToObject(oWP)); AssignCommand(oAnimal, JumpToObject(oWP)); AssignCommand(oFamiliar, JumpToObject(oWP)); AssignCommand(oDominated, JumpToObject(oWP)); AssignCommand(oSummoned, JumpToObject(oWP)); } void main() { object oSelf = OBJECT_SELF; object oPoint = GetWaypointByTag("WP_" + GetTag(oSelf)); object oPC = GetFirstPC(); location lSmoke = GetLocation(oSelf); effect eSmoke = EffectVisualEffect(VFX_FNF_LOS_NORMAL_10); if ((GetArea(oPC) == GetArea(oSelf)&& GetDistanceBetween(oPC, oSelf) < 3.0) || GetIsPC(GetEnteringObject())) { ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eSmoke,lSmoke); DelayCommand(0.6, JumpFirstPC(oPoint)); } else AssignCommand(GetEnteringObject(), ClearAllActions()); } // Точка перемещения содержит WP_+Тег объекта Цитата(Вик Станжер @ Apr 17 2007, 13:15) [snapback]107220[/snapback] - на что вешать скрипт, проверающии здровьие и при ранении телепортирующий. И где скрипт? (IMG:style_emoticons/kolobok_light/biggrin.gif) Если нет, то попробуй повесить на перса, с которым будет драться герой, вот этот скрипт… Neverwinter Script Source //::////////////////////////////////////////////////// //:: Прекращение атаки //:: Слот: OnCombatRoundEnd //::////////////////////////////////////////////////// void main() { object oPC = GetFirstPC(); object oSelf = OBJECT_SELF; object oNPC = GetFirstObjectInShape(SHAPE_SPHERE, 30.0, GetLocation(oPC), TRUE); int iMXP = GetMaxHitPoints(oPC)-10; // Настрой нужную величину… int iCXP = GetCurrentHitPoints(oPC); if (iMXP > iCXP) //Урон не менее 10 пунктов от мах { while (GetIsObjectValid(oNPC)) // Все существа в радиусе 30 метров { if(GetIsInCombat(oNPC)) { AssignCommand(oNPC, SurrenderToEnemies()); // Прекратим атаку AssignCommand(oNPC, ClearAllActions(TRUE)); } oNPC = GetNextObjectInShape(SHAPE_SPHERE, 30.0, GetLocation(oPC), TRUE); } AssignCommand(oPC, SpeakString("Я сдаюсь... Прекратим бой!")); DelayCommand(1.5, ExecuteScript("p_universal", oSelf)); // Перемещение к точке WP_+Тег объекта } } P.S. Лекс правильно подметил о возможной смерти героя т.ч. учти это, в моем скрипте это не пробито… Но тут уже совсем другая история и другие варианты. Дерзай! Сообщение отредактировал gennady - Apr 17 2007, 14:17 |
![]()
Сообщение
#2695
|
|
Level 2 ![]() Класс: Теневой Танцор Характер: Chaotic Neutral Раса: Человек ![]() |
спасибо... все вроде пошло....
А то с начало перепутал названия скриптов и возникала такая ситуация: Выбегает хакер на площадку, там менты его должны повезать. А они к нему подходят и говорят: память отформатированна. Нуждаемся в переустановке операционной системы. (IMG:style_emoticons/kolobok_light/biggrin.gif) да и еще... на он перспейшен моба подвешен скрипт void main() { AssignCommand(GetObjectByTag("ag"), ActionStartConversation(GetFirstPC(), "sosed", FALSE, TRUE)); } при вхождении в зону видимости стоящего он должен вызывать диалог... но моб сломя голову несется через всю карту к игроку. что не так? я вообще правильно понял, что онперспейшен - это обнаружение? |
![]() ![]() |
Текстовая версия | Сейчас: 27th July 2025 - 01:26 |