![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2766
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
я бы подругому сделал:
1. прописал кастомную ауру в 2дашке с нужными настроками (радиус, размер, имя скрипта onEnter, onExit) 2. В скрипте onEnter вешал бы нужные эффекты (проверяя, что входящий объект находится в партии игрока) 3. В скрипте onExit снимал бы эффект 4. Сам эффект ауры вешал бы на Equip. |
![]()
Сообщение
#2767
|
|
Level 1 Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
я бы подругому сделал: 1. прописал кастомную ауру в 2дашке с нужными настроками (радиус, размер, имя скрипта onEnter, onExit) 2. В скрипте onEnter вешал бы нужные эффекты (проверяя, что входящий объект находится в партии игрока) 3. В скрипте onExit снимал бы эффект 4. Сам эффект ауры вешал бы на Equip. Разве эфект (визуальный) данный через Еквип слот модуля не исчезает при переходи в другую локацию? |
![]()
Сообщение
#2768
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Кстати да, спасибо что напомнили.
исчезает. Причем я уже не помню, только ли визуальный эффект слетает (IMG:style_emoticons/kolobok_light/smile.gif) Если только - не страшно, если аура сама - надо обновлять. Соотв. еще 1 маленький скриптик default. зы: а через что данный эффект - не важно. У меня слетали эффекты от применения спец. способностей, там завязки на эквип не было. |
![]()
Сообщение
#2769
|
|
Level 5 ![]() ![]() Класс: Тайный Лучник Характер: Chaotic Good Раса: Эльф ![]() |
я бы подругому сделал: 1. прописал кастомную ауру в 2дашке с нужными настроками (радиус, размер, имя скрипта onEnter, onExit) Проблема в том, что я не умел работать с 2da файлами (и сейчас не умею). (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#2770
|
|
Level 1 Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
Раскопал в x2_s0_cldbewld.nss (это спелл Cloud of Bewilderment), что для вызова тумана, там используется эфект VFX_IMP_DUST_EXPLOSION, который, как раз мне и был нужен.Теперь вопрос: Почему, в моём скрипте, этот визуальный эфект виден не, как поднимающийся туман, а как обычный раскат пыли по земле.Меня даже этот вариант более устраивает, т.к. выглядит реалистично, но вот узнать ответ на этот вопрос очень хочется. Сразу оговорюсь, что значения "длительности" эфекта я менял, результат - без изменений.
Neverwinter Script Source //:://////////////////////////////////////////////
//:: Created By: Taiko //:: Created On: 14.09.2007 //::////////////////////////////////////////////// void main() { //Объекты object oItem = GetItemActivated(); //предмет, который активировали object oPC = GetFirstPC(); //первый игрок в списке //Локации location lLoc = GetItemActivatedTargetLocation(); //точка-цель, активированного предмета location lPC_Loc = GetLocation(oPC); //точка на которой игрок стоит //Эфекты effect eFlyOut = EffectDisappearAppear(lLoc, 1); //игрок взлетает, чтобы приземлиться в lLoc effect eSmock = EffectVisualEffect(VFX_IMP_DUST_EXPLOSION); //визиуальный эфект "тумана" if (GetResRef(oItem)=="vn_drag_fly000") //если активирован нужный предмет { ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eFlyOut, oPC, 5.0); //игрок взлетает и приземляется в указанном месте через 5 секунд DelayCommand(1.2, ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSmock, lPC_Loc, 5.0)); //эфект взлета DelayCommand(6.5, ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eSmock, lLoc, 5.0)); //эфект приземления } }
Причины изменения: На будущее сразу пишите нормально. Это не так трудно, как может показаться. (кнопочка редактирования постов появится после 10 постов на форуме). Lex
|
![]()
Сообщение
#2771
|
|
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
Rowan, чтобы НПС не "пикировал" на точку появления, необходимо у функции:
Neverwinter Script Source bject CreateObject(int nObjectType, string sTemplate, location lLocation, int bUseAppearAnimation=FALSE, string sNewTag="") не использовать опцию "bUseAppearAnimation". Тогда все НПС или монстры будут появляться сразу же на локации, а не "припархивать" (IMG:style_emoticons/kolobok_light/smile.gif) Эффект же нужен для того, чтобы НПС успел сделать то, что ты от него хочешь. И при этом игрок не видел, что НПС упал или сел на стул после создания. Сообщение отредактировал Zirrex - Sep 16 2007, 20:30 |
![]()
Сообщение
#2772
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
(IMG:style_emoticons/kolobok_light/rolleyes.gif) Можно ли при выполнении сего скрипта НПС сидели на пятых точках. Такой скрипт стоит у нпс, но из-за размещенного ниже скрипта они подымаются и начинают беседу.
Neverwinter Script Source //::///////////////////////////////////////////////
//:: Name lm_2speakers //:: Copyright © 2004 -=WRG!=- //::////////////////////////////////////////////// /* скрипт разговора 2-х НПС. Шаблон. */ //::////////////////////////////////////////////// //:: Created By: Lex //:: Created On: Agust 2004 //::////////////////////////////////////////////// void ANIMATION(object oD) /// Рандомная анимация во время разговора. настраивайте сами. { int A=0; float T,S; switch (Random(8)+1) { case 2: A=ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD;T=3.0;S=1.0;break; case 3: A=ANIMATION_FIREFORGET_TAUNT;T=3.0;S=1.0;break; case 4: A=ANIMATION_FIREFORGET_PAUSE_BORED;S=1.0;break; case 5: A=ANIMATION_LOOPING_LISTEN;T=5.0;S=1.0;break; case 6: A=ANIMATION_LOOPING_LISTEN;T=5.0;S=1.0;break; } if (A==0) return; AssignCommand(oD,PlayAnimation(A,S,T)); } void DIALOG(object oD1,object oD2) { string s1="",s2=""; string ya = GetName(GetObjectByTag("ya")); // "+ya+" switch (Random(30)) { case 0: s1="Как дела, друг?";s2="Да идут по маленьку..";break; case 1: s1="И как она? Симпатична"+ya+"?";s2="А как же! Ты мен"+ya+" обижаешь!";break; /// и так далее 20 фраз типа вопрос-выссказывание и ответ на это дело } AssignCommand(oD1,SpeakString(s1)); /// первый НПС говорит фразу AssignCommand(oD2,DelayCommand(5.0,SpeakString(s2))); /// второй отвечает } void main() { object oPC = GetFirstPC(); if (GetArea(oPC)!=GetArea(OBJECT_SELF)) return; // если нет игрока, то молчим object oD1 = GetNearestObjectByTag("SPEAKING_NPC_1"); // первый НПС object oD2 = GetNearestObjectByTag("SPEAKING_NPC_1"); // второй НПС if (GetIsInCombat(oD1)) return; // если первый НПС дерется то молчим if (GetIsInCombat(oD2)) return; // если второй НПС дерется то молчим if ( (IsInConversation(oD1)) || (IsInConversation(oD2)) ) return; /// если один из НПС разговаривает с игроком if (GetDistanceToObject(oPC)>10.0) return; // если игрок далеко (больше 10 футов) то он как будто ничего не слышит. AssignCommand(oD1,SetFacingPoint(GetPosit ion(oD2))); // повернуться навтречу друг другу AssignCommand(oD2,SetFacingPoint(GetPosition(oD1)) ; DIALOG(oD1,oD2); ANIMATION(oD1); ANIMATION(oD2); } |
![]()
Сообщение
#2773
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
убрать анимацию, тогда подыматься не будут.
|
![]()
Сообщение
#2774
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
А как добавить свою озвучку? К диалогам? И как ее потом в этот скрипт запихнуть?.. э... сорри за такой, может, широкий вопрос... (IMG:style_emoticons/kolobok_light/vava.gif)
|
![]()
Сообщение
#2775
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
свою озвучку это в Контент (если по простому - музыка + 2дашка, там вроде бы просто, но я не делал никогда).
А в скрипт ее через PlaySound |
![]()
Сообщение
#2776
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Хм... а это не заткнет фоновую музыку? (IMG:style_emoticons/kolobok_light/rolleyes.gif)
П.С. Можно ли каки-либо способом управлять цветом/количеством тумана? Дождем/молниями? С помощью скриптов, естественно... Хотелось бы написать скрипт с несколькими видами погоды, а потом, чтобы они воспроизводились в случайном порядке и на какое-то время... (IMG:style_emoticons/kolobok_light/declare.gif) Сообщение отредактировал Белатрис - Sep 27 2007, 10:17 |
![]()
Сообщение
#2777
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
а это не заткнет фоновую музыку? смотря как настроишь. П.С. Можно ли каки-либо способом управлять цветом/количеством тумана? Дождем/молниями? С помощью скриптов, естественно... Хотелось бы написать скрипт с несколькими видами погоды, а потом, чтобы они воспроизводились в случайном порядке и на какое-то время... скриптами можно. Все функции есть. (для тумана ищи по Fog, для погоды по weather) |
![]()
Сообщение
#2778
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Хм... ну нашел... правда не очень помогло. Собственно, как объявить этот тумаН? Тут, нечто сложное... А цвет задавать в RGB(и, кстати, как, просто "=" )?
Заранее спасибо. (IMG:style_emoticons/kolobok_light/unsure.gif) |
![]()
Сообщение
#2779
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
есть контснты цвета, а дальше.. дома посмотрю библу для тумана, у меня есть, там вроде не совсем РГБ, а что-то хитрое.
|
![]()
Сообщение
#2780
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Ждем-с...
П.С. А как проверить наличие определенного кол-ва золота? П.С. Где-то встречал такой вопрос, но ответ на него не помню... Как с помощью скриптов повысить силу/ловкость/ и т.д.? Заранее спасибо =) |
![]()
Сообщение
#2781
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
П.С. А как проверить наличие определенного кол-ва золота? фе, батенька, такие вещи впору уже самому знать. функция GetGold или что-то похожее. Поиск в фильтре функций по слову "gold" поможет. Как с помощью скриптов повысить силу/ловкость/ и т.д.? тоже баян. 2 способа: - эффектами. EffectAbilityIncrease (в правильности написания не слова "абилити" уверен). Наложение эффекта - ApplyEffectToObject - шкуркой. Создание в палитре шкурки (на нивидимый "животный" слот), одевание ее на игрока в начале модуля и добавление на нее свойств по мере необходимости. AddItemProperty - наложение свойства, а задачу самого свойства я не помню, поищи по "Property". |
![]()
Сообщение
#2782
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Neverwinter Script Source фе, батенька, такие вещи впору уже самому знать. функция GetGold или что-то похожее. Поиск в фильтре функций по слову "gold" поможет. Ну, дать одно - проверить наличие... немного другое. МОжет, все же напишешь? Плз =) П.С. Вот у меня такая штука завелась... млин... в общем, в инвентаре волка есть когти, шкура и что-нибудь еще. Если, к примеру, переменная i равна нулю, а остальные(зависит от чего-то в инвентаре) 1, то шкурки в инвентаре не видно... О, в голову пришла идея... А что, если на onDeath поставить проверку. Типа, если переменная i равна нулю, то дестроить боъект?... гы... (IMG:style_emoticons/kolobok_light/crazy.gif) Сообщение отредактировал Белатрис - Sep 28 2007, 12:06 |
![]()
Сообщение
#2783
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Ну, дать одно - проверить наличие... немного другое. МОжет, все же напишешь? Плз =) Пжалуйста: Neverwinter Script Source void main() { object oPC = GetFirstPC(); int iGold = GetGold(oPC); effect eSTR = EffectAbilityIncrease(ABILITY_STRENGTH, 1); // Проверить золото if(iGold > 100) {/*Что делаем... */} // Накладываем эффекты ApplyEffectToObject(DURATION_TYPE_PERMANENT, eSTR, oPC); // или чтобы не снималсЯ ApplyEffectToObject(DURATION_TYPE_PERMANENT, SupernaturalEffect(eSTR), oPC); } |
![]()
Сообщение
#2784
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Ну, дать одно - проверить наличие... немного другое. МОжет, все же напишешь? Плз =) я ж тебе выше написал, функция GetGold П.С. Вот у меня такая штука завелась... млин... в общем, в инвентаре волка есть когти, шкура и что-нибудь еще. Если, к примеру, переменная i равна нулю, а остальные(зависит от чего-то в инвентаре) 1, то шкурки в инвентаре не видно... О, в голову пришла идея... А что, если на onDeath поставить проверку. Типа, если переменная i равна нулю, то дестроить боъект?... гы... crazy.gif проще на смерть волка определять что нужно и это создавать. |
![]()
Сообщение
#2785
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
gennady, спасибо! Огромное!
Цитата проще на смерть волка определять что нужно и это создавать. Спасибо, но я уже сделал. (IMG:style_emoticons/kolobok_light/rolleyes.gif) А вот еще вопрос. Я сколько не шарил в базе - не нашел. Я бы хотел сделать рассписание НПС. Что он будет делать, допустим, в два - пойдет к костру и будет сидеть до следующего действия... Но вот как это осуществить не представляю... |
![]()
Сообщение
#2786
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
ут, нечто сложное... А цвет задавать в RGB(и, кстати, как, просто "=" )? не нашел я функцию, где раскладывался RGB. В общем там да, цвет задается числом от 000000 до ffffff. Только в десятичном виде (те белый там что-то около 167к)А вот еще вопрос. Я сколько не шарил в базе - не нашел. Я бы хотел сделать рассписание НПС. Что он будет делать, допустим, в два - пойдет к костру и будет сидеть до следующего действия... Но вот как это осуществить не представляю... для базы это слишком сложные скрипты. Хотя фактически это просто система анимации с условиями на игровое время. О системе анимации читать тут: http://www.wrg.ru/index.php?method=reviews...d=14&sub=do (до половины идут принципе построения самой анимации, дальше разбор моей системы анимирования НПС)
|
![]()
Сообщение
#2787
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Цитата не нашел я функцию, где раскладывался RGB. В общем там да, цвет задается числом от 000000 до ffffff. Только в десятичном виде (те белый там что-то около 167к) Т.е. из 16-ой просто перевести в 10-ую?.. Мда... А как насчет того, чтобы ответить на сий вопросик:Цитата Собственно, как объявить этот тумаН? Тут, нечто сложное... Хм... подправьте кто-нибудь: Neverwinter Script Source void main()
{ object oENTER = GetEnteringObject(); object oDEKAR = GetObjectByTag("dekar"); if ( oENTER != oDEKAR ) return; else SetLocalInt(oDEKAR, "RUN", 1); } Сообщение отредактировал Белатрис - Sep 29 2007, 11:33 |
![]()
Сообщение
#2788
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
лучше так:
Neverwinter Script Source void main() { object oENTER = GetEnteringObject(); if GetTag(oENTER) == "dekar" SetLocalInt(oENTER, "RUN", 1); } Мда... А как насчет того, чтобы ответить на сий вопросик: я ж тебе сказал, фильтр функций по слову FOG. Neverwinter Script Source // Sets the fog color in the area specified.
void SetFogColor(int nFogType,int nFogColor,object oArea = OBJECT_INVALID); |
![]()
Сообщение
#2789
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Цитата лучше так: Спасибки =) Э... извини... я, если честно, плохо понимаю эти "подсказки"... в комментариях написанно для чего, а чем помогает эта строчка: Neverwinter Script Source void SetFogColor(int nFogType,int nFogColor,object oArea = OBJECT_INVALID); я пока не понимаю. Объяснишь? Еще раз прошу прощения за назойливость... (IMG:style_emoticons/kolobok_light/unsure.gif) Сообщение отредактировал Белатрис - Sep 29 2007, 13:57 |
![]()
Сообщение
#2790
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
омг.. Тебе тады в Вопросы Новичков.
Neverwinter Script Source void main() { object oArea = GetArea(GetFirstPC()); SetFogColor(FOG_TYPE_ALL, FOG_COLOR_RED, oArea); } Этот скрипт сделает цвет тумана в локации красным. Можно поставить куда угодно. |
![]() ![]() |
Текстовая версия | Сейчас: 2nd May 2025 - 20:01 |