![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2726
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Для новичка, наверное, трудно настроить систему освещения по Айву. Можно попробовать мою, она немного попроще, правда работает немного с задержкой при смене локаций героем в дневное время. Остается остаточное освещение объектов секунд на 7-8. Один скрипт вешается на ХБ факела или лампы, другой на вход области. Делаются синьки в палитре, для факела и для лампы с такими настройками: Убираешь в свойствах "статик", вкл. галку «сюжет». Улучшенный, Первичное состояние: «По умолчанию». Ставишь скрипт ”ФОНАРЬ ОСВЕЩЕНИЯ” на ХБ синьки. NSS //::////////////////////////////////////////////// //:: Created By: Gennady ФОНАРЬ ОСВЕЩЕНИЯ на ХБ //:: Created On: 12.07.06 //::////////////////////////////////////////////// void main() { object oSelf = OBJECT_SELF; object oZvFak = GetNearestObjectByTag("ZV_FAKEL"); // Звук огонь if (GetIsNight()) { if (GetLocalInt(oSelf,"NW_L_AMION") == 0) { PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE); DelayCommand(0.4, SetPlaceableIllumination(oSelf, TRUE)); SetLocalInt(oSelf,"NW_L_AMION",1); DelayCommand(0.5, RecomputeStaticLighting(GetArea(oSelf))); if (GetDistanceBetween(oZvFak, oSelf) < 2.0) SoundObjectSetVolume(oZvFak, 127); // уровень звука от 0 до 127 } } else { if (GetLocalInt(oSelf,"NW_L_AMION") != 1) return; if (GetTag(oSelf) == "FAKEL") // ДЛЯ ФАКЕЛА { object oFon = CreateObject(OBJECT_TYPE_PLACEABLE, "new_fakel", GetLocation(oSelf)); AssignCommand(oFon, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); DelayCommand(0.4, SetPlaceableIllumination(oFon, FALSE)); DelayCommand(0.5, RecomputeStaticLighting(GetArea(oFon))); SetLocalInt(oFon,"NW_L_AMION",0); } if (GetTag(oSelf) == "LAMPA") // ДЛЯ ЛАМПЫ { object oLam = CreateObject(OBJECT_TYPE_PLACEABLE, "new_lampa", GetLocation(oSelf)); AssignCommand(oLam, PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE)); DelayCommand(0.4, SetPlaceableIllumination(oLam, FALSE)); DelayCommand(0.5, RecomputeStaticLighting(GetArea(oLam))); SetLocalInt(oLam,"NW_L_AMION",0); } DestroyObject(oSelf, 0.6); if (GetDistanceBetween(oZvFak, oSelf) < 2.0) SoundObjectSetVolume(oZvFak, 0); // уровень звука от 0 до 127 } } /* Синьки новых объектов в палитре Тэг нового факела "FAKEL" ResRef "new_fakel" Тэг новой лампы "LAMPA" ResRef "new_lampa" Тэг звукового объекта для факела "ZV_FAKEL" Для правильной работы на OnEnter области нужен скрипт управления fakel_upr */ fakel_upr скрипт вешается на вход области с факелами NSS void main()
{ object oFon = GetFirstObjectInArea(OBJECT_SELF); if (GetIsNight()) return; while (GetIsObjectValid(oFon)) { if (GetTag(oFon) == "LAMPA" || GetTag(oFon) == "FAKEL") SetLocalInt(oFon,"NW_L_AMION",1); oFon = GetNextObjectInArea(oFon); } } Сообщение отредактировал gennady - Jul 13 2006, 22:51 |
![]()
Сообщение
#2727
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Lawful Neutral Раса: Человек ![]() |
gennady, сделал всё в точносте как ты сказал, утром лампа потухает и звук пропадает. Но вечером звук не появляется и лампа не загорается.
И если создаёш не одну лампу то у второй звук проигрывается постоянно. Сообщение отредактировал Milfes - Jul 13 2006, 18:19 |
![]()
Сообщение
#2728
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
QUOTE(Milfes @ Jul 13 2006, 19:09) [snapback]87772[/snapback] gennady, сделал всё в точносте как ты сказал, утром лампа потухает и звук пропадает. Но вечером звук не появляется и лампа не загорается. У тебя стоит скрипт только на ХБ лампы в локе. Поставь скрипт и на ХБ синьки в палитре. Днем все лампы сменяняются на новые, а работает каждая со свое скрипта на ХБ, как на свечение, так и на звук. Звуковые объекты нужно ставить в радиусе не более 2 метров от лампы. Сообщение отредактировал gennady - Jul 13 2006, 20:49 |
![]()
Сообщение
#2729
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
Эээ...простите что вляпываюсь снова....(прочитал 45 страниц)
Подскажите как сделать 1) Чтоб игрок стал при одевании кольца постоянно невидим, а при снимании оного ставал видим? 2)Чтоб НеПиСь был постоянно "Неземного вида" |
![]()
Сообщение
#2730
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Milfes, вот модуль в нем все стоит и работает. http://www.wrg.ru/TEMP/Aiwan/modules_torch.rar
|
![]()
Сообщение
#2731
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
QUOTE(Симирель @ Jul 13 2006, 22:00) [snapback]87780[/snapback] 1) Чтоб игрок стал при одевании кольца постоянно невидим, а при снимании оного ставал видим? Отслежавай надевание кольца в собитие модуля OnPlayerEquipItem: проверяй тег надетого предмета, если это кольцо - накладывай нужный эффект: NSS effect eInvisibility = EffectInvisibility(INVISIBILITY_TYPE_NORMAL); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eInvisibility, oPC); Для снимания - событие OnPlayerUnEquipItem, можешь использовать функцию RemoveSpecificEffect из библиотеки "nw_i0_spells". QUOTE(Симирель @ Jul 13 2006, 22:00) [snapback]87780[/snapback] 2)Чтоб НеПиСь был постоянно "Неземного вида" На OnSpawn cущества добавляешь ему нужный эффект (через EffectVisualEffect).
|
![]()
Сообщение
#2732
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
QUOTE(Симирель @ Jul 13 2006, 23:00) [snapback]87780[/snapback] Эээ...простите что вляпываюсь снова....(прочитал 45 страниц) Подскажите как сделать 1) Чтоб игрок стал при одевании кольца постоянно невидим, а при снимании оного ставал видим? Плохо читал. (IMG:style_emoticons/kolobok_light/wink3.gif) Вотъ. |
![]()
Сообщение
#2733
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
Это опять я...
1.Проблема со фракциями. Когда после разговора непись должен на меня напасть он не нападает. На сколько процентов должна быть терпимость? И такой воррросик 2.Можно всетаки довести героя до 60 уровня и более или нет? Прочитал 64 страници, накопал стоолькоооо.... только запутался 3.можно присоеденять более одного помошника к герою? Если да, то как? 4.Можно ли сделать так, что б помошник умерал и его труп можно было воскресить, вместо того, чтоб он переносился и оживал?(просто сделал в мод камень возвращения)Прошу не сердиться и по возможности разжевать невигласу... Сообщение отредактировал Симирель - Jul 14 2006, 02:39 |
![]()
Сообщение
#2734
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
1. Вешай скрипт на диалог:
NSS //::////////////////////////////////////////////// //:: ActionTaken am_at_attack //:: Copyright © 2005 WRG! //::////////////////////////////////////////////// /* Стандартный скрипт аттаки игроком НПС. НПС переводится в НЕЙТРАЛЬНУЮ фракцию. */ //::////////////////////////////////////////////// //:: Created By: Aiwan //:: Created On: 24.05.2005 //::///////////////////////////////////////////// #include "nw_i0_generic" void main() { object oPC = GetPCSpeaker(); object oNeutral = GetObjectByTag("GLOBAL_TRUE_NEUTRAL"); // НПС нейтрал object oSelf = OBJECT_SELF; // НПС с которым диалог AssignCommand(oSelf, ClearAllActions()); ChangeFaction(oSelf, oNeutral); // Меняем фракцию на нейтрала SetIsTemporaryEnemy(oPC, oSelf); // Делаем временнно враждебным AssignCommand(oSelf, DetermineCombatRound(oPC)); // Заставляем напасть по всем правилам DelayCommand(1.0, AssignCommand(oSelf, ActionAttack(oPC))); // Кричим "ФАС!" } Если тебе не надо временную фракцию то можешь просто убрать строки NSS object oNeutral = GetObjectByTag("GLOBAL_TRUE_NEUTRAL"); // НПС нейтрал ChangeFaction(oSelf, oNeutral); // Меняем фракцию на нейтрала 3. Читай тему про помощников, я писал и скрипты там выложил. 4. Почитай мой скрипт недавно писал на смерть помошника. Поправь под себя. NSS //:://////////////////////////////////////////////////
//:: X0_CH_HEN_DEATH //:: Copyright © 2002 Floodgate Entertainment //::////////////////////////////////////////////////// /* OnDeath handler for henchmen ONLY. Causes them to respawn at (in order of preference) the respawn point of their master or their own starting location. */ //::////////////////////////////////////////////////// //:: Created By: Naomi Novik //:: Created On: 10/09/2002 //::////////////////////////////////////////////////// #include "x0_i0_henchman" #include "am_inc_debug" #include "am_inc_cutscene" void main() { // Handle a bunch of stuff to keep us from running around, // dying again, etc. PreRespawnSetup(); // Call for healing DelayCommand(0.5, VoiceHealMe(TRUE)); // Get our last master object oPC = GetLastMaster(); object oSelf = OBJECT_SELF; // Clear dialogue events ClearAllDialogue(oPC, OBJECT_SELF); ClearAllActions(); SetLocalLocation(oSelf, "POINT_DEATH", GetLocation(oSelf)); //-------------------------------------------------------------------------- // Если РС умер или у нас отключен дебаг, то помощник умрет. В противном // случае воскреснет рядом. //-------------------------------------------------------------------------- if(!GetIsObjectValid(oPC) || GetIsDead(oPC) == TRUE) { if(GetTag(GetItemInSlot(INVENTORY_SLOT_NECK,oSelf))=="AM_MNECK_AZUTH") { effect eEffect1 = EffectVisualEffect(VFX_FNF_SOUND_BURST_SILENT); AssignCommand(oSelf, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect1, oSelf)); DelayCommand(0.7, RespawnHenchman()); DelayCommand(0.9, PostRespawnCleanup()); DelayCommand(1.5, AddCutEffects(oSelf)); DelayCommand(3.0, AssignCommand(oSelf, JumpToObject(GetWaypointByTag("AM_WP_AZUTH_RESPAWN")))); DelayCommand(6.0, RemoveCutEffects(oSelf)); Debug("Алишан в храме Азута. Забирайте ее там."); return; } if(!GetLocalInt(GetModule(), "DEBAG_PC")) { DelayCommand(1.0, RespawnHenchman()); DelayCommand(1.5, PostRespawnCleanup()); DelayCommand(1.9, AssignCommand(oSelf, JumpToLocation(GetLocalLocation(oSelf, "POINT_DEATH")))); DelayCommand(2.1, AddHenchman(GetFirstPC(), oSelf)); Debug("ВЫ В РЕЖИМЕ ТЕСТА. ВАШ ПОМОЩНИК НЕУБИВАЕМ."); return; } else //-------------------------------------------------------------------------- // Умерла, так умерла... =) //-------------------------------------------------------------------------- { SetPlotFlag(OBJECT_SELF,FALSE); SetImmortal(OBJECT_SELF, FALSE); SetIsDestroyable(TRUE, FALSE, FALSE); DestroyObject(OBJECT_SELF, 0.2); } } } |
![]()
Сообщение
#2735
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
Спасибо Aivam большое.
Скажи только, я напутал с нейтральной фракцией, это надо поставить 50% терпимости к игроку или 11%? А на второй кто-то знает ответ?( мучает все-таки) Наверное я один такой сумашедший(взявшийся прочитать тему)... прочитал 89 страниц до трех ночи... снились скрипты... и диалоги с неизвесными.................................................. Сообщение отредактировал Симирель - Jul 14 2006, 13:29 |
![]()
Сообщение
#2736
|
|
Level 8 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Дракон NWN: Скриптинг [PW] ![]() |
Героя до 60го уровня можно, но это не сюда, это в 2da
|
![]()
Сообщение
#2737
|
|
Level 9 ![]() ![]() ![]() Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
Выше 40го уровня нельзя...обычными методами.
Но мооожет быть (хотя я не уверен) где-нибудь на nwvault.ign.com можно найти подобный хак. ЗЫ: опередили меня (IMG:style_emoticons/kolobok_light/smile.gif) Согласен, это уже 2da таблицы. Но как я сказал - искать на ваулте. Сообщение отредактировал Lorendroll - Jul 14 2006, 11:55 |
![]()
Сообщение
#2738
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Lawful Neutral Раса: Человек ![]() |
Всем огромное спасибо, наконец-то разобрался с фонорями! (IMG:style_emoticons/kolobok_light/yahoo.gif)
И извините за невнимательность. |
![]()
Сообщение
#2739
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Я занимаюсь уже вторым проектом и выше 15 лвла не дам ни там ни там. Все что выше уже читерство. (IMG:style_emoticons/kolobok_light/biggrin.gif) Можно привентить хоть 100 левелов но реально движок расчитан на 40. Соотвественно все остальное будет криво работать да и зачем 60 лвл если боги ФР 20 уровня не все...
QUOTE(Симирель @ Jul 14 2006, 14:38) [snapback]87818[/snapback] Скажи только, я напутал с нейтральной фракцией, это надо поставить 50% терпимости к игроку или 11%? Да. 50% и убери глобал эффект со свойств. |
![]()
Сообщение
#2740
|
|
Level 2 ![]() Класс: Волшебник Характер: Neutral Good Раса: Эльф ![]() |
ААААА!!!! Спасибо Aivam! Остолоп, читал же...
|
![]()
Сообщение
#2741
|
|
Level 4 ![]() ![]() Класс: Маг Характер: Chaotic Neutral Раса: Танар'ри ![]() |
Подскажите, пожалуйста. Нет ли возможности заставить игрока говорить с собственным портретом? Вроде диалога с самим собой. В данный момент игрок выбирает “нейтральный портрет”, в зависимости от пола, указанный на одном из двух невидимых объектов. На триггере стоит скрипт: (скрипт gennady )
NSS void main()
{ object oPC = GetEnteringObject(); object oPamM = GetObjectByTag("Memory_M"); object oPamZ = GetObjectByTag("Memory_Z"); if (GetIsPC(oPC)) { AssignCommand(oPC, ClearAllActions(TRUE)); // TRUE чтобы точно остановить SetCutsceneMode(oPC, TRUE); // Режим катсцены AssignCommand(oPC, SetCameraFacing (80.0, 12.0, 50.0, CAMERA_TRANSITION_TYPE_VERY_FAST)); // Зададим координаты камеры if(GetGender(oPC) == GENDER_MALE) DelayCommand(2.0, AssignCommand(oPamM, ActionStartConversation(oPC))); // диалог персонажа else DelayCommand(2.0, AssignCommand(oPamZ, ActionStartConversation(oPC))); // диалог персонажа } } |
![]()
Сообщение
#2742
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Artlira, делай так:
NSS DelayCommand(2.0, AssignCommand(oPC, ActionStartConversation(oPC)));
|
![]()
Сообщение
#2743
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Отличный ход Dik Morris! (IMG:style_emoticons/kolobok_light/good.gif) Спасибо, сразу не сообразил...
Artlira, проверил, все работает, перепиши скрипт так: NSS void main()
{ object oPC = GetEnteringObject(); if (GetIsPC(oPC)) { AssignCommand(oPC, ClearAllActions(TRUE)); // TRUE чтобы точно остановить SetCutsceneMode(oPC, TRUE); // Режим катсцены AssignCommand(oPC, SetCameraFacing (80.0, 12.0, 50.0, CAMERA_TRANSITION_TYPE_VERY_FAST)); // Зададим координаты камеры DelayCommand(2.0, AssignCommand(oPC, ActionStartConversation(oPC,"zz_memory"))); // zz_memory диалог персонажа } } |
![]()
Сообщение
#2744
|
|
Level 4 ![]() ![]() Класс: Маг Характер: Chaotic Neutral Раса: Танар'ри ![]() |
Dik Morris и gennady, огромное спасибо за помощь. Говорит сам с собой, как в лучших психиатрических клиниках!
|
![]()
Сообщение
#2745
|
|
Level 1 Класс: Вор Характер: Neutral Good Раса: Хафлинг ![]() |
помогите хочу создать свой модуль но я там полный нюб в этом с чего начать как перейти с местности в местность незнаю ничего как зделать задания помогите (IMG:style_emoticons/kolobok_light/shout.gif)
|
![]()
Сообщение
#2746
|
|
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
Romka, поищи в интернете Tutorial для новичков, в котором по шагам описывается, как начать работу в редакторе. В нем же подробно показывается, как сделать простой модуль.
Крайне советую начать поиск с этой темы. |
![]()
Сообщение
#2747
|
|
Level 1 Класс: Вор Характер: Neutral Good Раса: Хафлинг ![]() |
Спасибо за помощь это надо по поесковику искать да так и написать Tutorial для новичков ??????
Спасибо тебе Zirrex (IMG:style_emoticons/kolobok_light/thank_you.gif) |
![]()
Сообщение
#2748
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
|
![]()
Сообщение
#2749
|
|
Level 1 Класс: Страж Тьмы Характер: Chaotic Evil Раса: Гном ![]() |
Добрый день
Появился вопрос : Как сделать картинку для итэма. есть предмет с особыми свойствами, в стандартной палитре нашел тока рисунок какойто палочки, а надо удочка)) нашел даже рисунок удочки в бмп, но как ее добавить к палитре незнаю |
![]()
Сообщение
#2750
|
|
Level 5 ![]() ![]() Класс: Убийца Характер: Chaotic Neutral Раса: Полуэльф ![]() |
Привет! Вопрос такой куда или в какой слот npc ставить скрипт чтобы он все время спал?И как убрать эффект когда надо!
|
![]() ![]() |
Текстовая версия | Сейчас: 28th April 2025 - 17:01 |