![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2861
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(Ellioth DarkMaider @ Sep 13 2006, 07:30) [snapback]91579[/snapback] Пасибо... Теперь объясните куда это все писать Ты читай, что тебе пишут: QUOTE(shadowdweller @ Sep 13 2006, 07:30) [snapback]91578[/snapback] Делаешь стул юзабельным, и вот это OnUsed: скрипт ставить на onUsed стула. Куда уж подробнее? (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#2862
|
|
Level 1 Класс: Волшебник Характер: Chaotic Evil Раса: Эльф ![]() |
Ну я как бы первый раз и пока что еще толком разобраться немогу... Но пытаюсь (IMG:style_emoticons/kolobok_light/biggrin.gif)
А вот если я делаю скамейку на... допустим на 5 мест как это зделать? Сообщение отредактировал Ellioth DarkMaider - Sep 13 2006, 10:51 |
![]()
Сообщение
#2863
|
|
Level 19 ![]() Класс: Обыватель Характер: True Neutral Раса: Дварф NWN: Контент ![]() |
QUOTE(Ellioth DarkMaider @ Sep 13 2006, 11:48) [snapback]91597[/snapback] А вот если я делаю скамейку на... допустим на 5 мест как это зделать? Один плейс - одно посадочное место. Как вариант - неюзабельная скамейка и 5 Invisible Object. |
![]()
Сообщение
#2864
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
QUOTE(Ellioth DarkMaider @ Sep 13 2006, 11:48) [snapback]91597[/snapback] А вот если я делаю скамейку на... допустим на 5 мест как это зделать? Кажись в базе был такой скрипт и темка где-то кажись тоже была. |
![]()
Сообщение
#2865
|
|
Level 1 Класс: Волшебник Характер: Chaotic Evil Раса: Эльф ![]() |
QUOTE(-fenix- @ Sep 13 2006, 11:08) [snapback]91607[/snapback] Кажись в базе был такой скрипт и темка где-то кажись тоже была. Хорошо. Поищу... |
![]()
Сообщение
#2866
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
А вообще-то, что нужно - чтобы игрок сидел или НПС?
Если НПС - делается скамейка. Потом на эту скамейку ставится 5 (или сколько их у тебя там) Invisible Objects. Им присваиваются теги (допустим, "SEAT_01", "SEAT_02" и далее по порядку). Скамейка - неюзабельная, а Invisible objects - как раз юзабельные. С скамейкой все. Теперь у всех НПС, которые должн сидеть на ней, на OnSpawn ставится такой скрипт (Обрати внимание на последнюю строчку): (IMG:style_emoticons/kolobok_light/shout.gif) / NSS :://///////////////////////////////////////////// //:: Name x2_def_spawn //:: Copyright © 2001 Bioware Corp. //::////////////////////////////////////////////// /* Default On Spawn script 2003-07-28: Georg Zoeller: If you set a ninteger on the creature named "X2_USERDEFINED_ONSPAWN_EVENTS" The creature will fire a pre and a post-spawn event on itself, depending on the value of that variable 1 - Fire Userdefined Event 1510 (pre spawn) 2 - Fire Userdefined Event 1511 (post spawn) 3 - Fire both events */ //::////////////////////////////////////////////// //:: Created By: Keith Warner, Georg Zoeller //:: Created On: June 11/03 //::////////////////////////////////////////////// const int EVENT_USER_DEFINED_PRESPAWN = 1510; const int EVENT_USER_DEFINED_POSTSPAWN = 1511; #include "x2_inc_switches" void main() { // User defined OnSpawn event requested? int nSpecEvent = GetLocalInt(OBJECT_SELF,"X2_USERDEFINED_ONSPAWN_EVENTS"); // Pre Spawn Event requested if (nSpecEvent == 1 || nSpecEvent == 3 ) { SignalEvent(OBJECT_SELF,EventUserDefined(EVENT_USER_DEFINED_PRESPAWN )); } /* Fix for the new golems to reduce their number of attacks */ int nNumber = GetLocalInt(OBJECT_SELF,CREATURE_VAR_NUMBER_OF_ATTACKS); if (nNumber >0 ) { SetBaseAttackBonus(nNumber); } // Execute default OnSpawn script. ExecuteScript("nw_c2_default9", OBJECT_SELF); //Post Spawn event requeste if (nSpecEvent == 2 || nSpecEvent == 3) { SignalEvent(OBJECT_SELF,EventUserDefined(EVENT_USER_DEFINED_POSTSPAWN)); } ActionSit (GetNearestObjectByTag("ЗДЕСЬ_ТЭГ_ТВОЕГО_СТУЛА", OBJECT_SELF)); } Это, кстати, родной скрипт из оригинальной кампании. Enjoy! (IMG:style_emoticons/kolobok_light/rolleyes.gif) |
![]() ![]()
Сообщение
#2867
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Для непися
NSS void main() { object oNPC = GetObjectByTag("тег непися") object oChair = GetObjectByTag("Тег стула") ActionMoveToObject(oChair); ActionSit(oChair); } А для игрока этот NSS void main() { object oPC = GetLastUsedBy(); object oChair = OBJECT_SELF; if (GetIsPC(oPC)) { if (GetIsObjectValid(oChair) && !GetIsObjectValid(GetSittingCreature(oChair))) { AssignCommand(oPC, ActionSit(oChair)); } else if (GetIsObjectValid(GetSittingCreature(oChair))) { AssignCommand(oPC, ClearAllActions()); AssignCommand(oPC, SpeakString("А куда садитьсЯ? На руки, что ли?")); } } } Добавь на скамью пару невидимых объектов. Сообщение отредактировал Артём - Sep 21 2006, 08:35 |
![]()
Сообщение
#2868
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
У меня вопрос?
Вот скрипт на заморозку непися NSS #include "x0_i0_anims" //#include "x0_i0_walkway" #include "x0_i0_treasure" void main() { SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT); SetSpawnInCondition(NW_FLAG_ATTACK_EVENT); SetSpawnInCondition(NW_FLAG_DAMAGED_EVENT); SetSpawnInCondition(NW_FLAG_DISTURBED_EVENT); SetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT); SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); SetListeningPatterns(); effect eVis = EffectVisualEffect(VFX_DUR_FREEZE_ANIMATION); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis, OBJECT_SELF); SetLocalInt(OBJECT_SELF, "X2_L_NUMBER_OF_ATTACKS", 2); } Кто даст скрипт на снятие этого эффекта? (IMG:style_emoticons/kolobok_light/biggrin.gif) |
![]()
Сообщение
#2869
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Функция:
NSS // Remove eEffect from oCreature. // * No return value void RemoveEffect(object oCreature, effect eEffect) Удаляет эффекты. |
![]()
Сообщение
#2870
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
А как это выглядит в скрипте мне надо чтобы при наступлении на триггер эффект снимался.
|
![]()
Сообщение
#2871
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Артем, вот тебе ссылка с уже готовой функцией, читать.
PS: думаю разберешся что к чему. (IMG:style_emoticons/kolobok_light/wink3.gif) |
![]() ![]()
Сообщение
#2872
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
QUOTE(Dik Morris @ Sep 21 2006, 11:35) [snapback]92300[/snapback] Уже целый час (IMG:style_emoticons/kolobok_light/sad.gif) пытаюсь может кто выложит сам скрипт? (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) |
![]()
Сообщение
#2873
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
QUOTE мне надо чтобы при наступлении на триггер эффект снимался. При наступании кого ? NPC или игрока ? Т.к телепатией не владею, будем считать что игрока. NSS // onEnter;
void RemoveTypeEffect(object oCreature, int iType) { effect eEffect = GetFirstEffect(oCreature); while(GetIsEffectValid(eEffect)) { if (GetEffectType(eEffect) == iType) { RemoveEffect(oCreature, eEffect); } eEffect = GetNextEffect(oCreature); } } void main() { object oNPC; // Наш NPC, иницилизируй; if (GetIsPC(GetEnteringObject()) == FALSE || GetIsObjectValid(oNPC) == FALSE) return; RemoveTypeEffect(oNPC, EFFECT_TYPE_VISUALEFFECT); DestroyObject(OBJECT_SELF, 1.0f); return; } Сообщение отредактировал Dik Morris - Sep 21 2006, 12:11 |
![]()
Сообщение
#2874
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Всё работает (IMG:style_emoticons/kolobok_light/biggrin.gif)
Спасибо. |
![]()
Сообщение
#2875
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Дик, ты так все визуальные эффекты снимешь с него, а не тока замедление. Если прочитать после поста Айвана пост Лекса, то можно увидеть несколько полезных функций, среди которых: E_DeleteSpecificEffect. С помощью нее можно удалить именно нужный эффект.
Вот пример: QUOTE(Lex @ May 16 2006, 22:23) [snapback]81993[/snapback] чтобы снять именно имун к слоу, юзай последнюю функцию.. примерно так: NSS E_DeleteSpecificEffect(GetFirstPC(),OBJECT_INVALID,EFFECT_TYPE_IMMUNITY,IMMUNITY_TYPE_SLOW,-1,TRUE); Вот ПОСТ, все должно стать понятным. Кстати, если эффект есть возможность снять в том же скрипте где он накладывается, то лучше вообще так: NSS RemoveEffect(OBJECT_SELF, eVis);
Сообщение отредактировал -fenix- - Sep 21 2006, 17:23 |
![]()
Сообщение
#2876
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Это мне тоже пригодится. (IMG:style_emoticons/kolobok_light/good.gif)
|
![]()
Сообщение
#2877
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
-fenix-, небольшая поправка:
та функция (E_DeleteSpecificEffect) она конечно помогает разграничивать эффекты, отделяя нужные.. но вот в отношении визуалок не поможет, ибо у них нет подтипов. Тут может помочь другое: навешивание на визуалку скажем SupernaturalEffect + точное знание duration (instant, temporary, permanent). Тогда пользуясь все тем же набором функций, можно будет снять именно нужный визуальный эффект. __ ЗЫ: Только вот в том моем посте небольшая ошибка.. SubType это только магический, supernatural, extraordinary. Так что NSS E_DeleteSpecificEffect(GetFirstPC(),OBJECT_INVALID,EFFECT_TYPE_IMMUNITY,IMMUNITY_TYPE_SLOW,-1,TRUE); не сработает. щас внесу туда поправки Вариант такой: наложение эффекта NSS ... effect eVis = ExtraordinaryEffect(EffectVisualEffect(VFX_DUR_FREEZE_ANIMATION)); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVis, OBJECT_SELF); ... снятие: NSS #include "inc_effects" // та моя библа из поста, на который ссылается феникс void main() { object oNPC; // нужный НПС E_DeleteSpecificEffect(oNPC,oNPC,EFFECT_TYPE_VISUALEFFECT,SUBTYPE_EXTRAORDINARY, DURATION_TYPE_PERMANENT,TRUE); // если не сработает, замени на E_DeleteSpecificEffect(oNPC,OBJECT_INVALID,EFFECT_TYPE_VISUALEFFECT,SUBTYPE_EXTRAORDINARY, DURATION_TYPE_PERMANENT,TRUE); // дело в том, что создатель эффекта не всегда нормально определяется } в принципе если ты не часто кидаешь Экстраординари эффекты на этого нпс, причем чтобы они были перманентрые, то тебе снимет именно тот эффект, что нада. |
![]()
Сообщение
#2878
|
|
Level 3 ![]() Класс: Самурай Характер: Neutral Evil Раса: Человек ![]() |
Сколько не искал, не могу найти как в тулсете зделать из земляного обрыва плавный переход. Нажимаю "поднять\опустить" делает обрыв. Подскажите пожалуйста что делать.
ЗЫ: На форуме полазил, ничего подобное не нашел. Сообщение отредактировал Адонтос - Sep 23 2006, 08:50 |
![]()
Сообщение
#2879
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
стандартный спуск только 1: Ramp. Он находится в наборе единичных тайлов (не терраин и не групп которые (IMG:style_emoticons/kolobok_light/smile.gif) )
|
![]()
Сообщение
#2880
|
|
Level 3 ![]() Класс: Самурай Характер: Neutral Evil Раса: Человек ![]() |
Спасибо! А про нестандартный не могли бы расказать? Тоесть можно ли в тулсет какие-нибудь функции графические добавить, с помощью чего-нибудь.
Сообщение отредактировал Адонтос - Sep 23 2006, 09:26 |
![]()
Сообщение
#2881
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
нестандартный это хак Hills с волта. Ищите последнюю версию, там есть как отдельные холмы так и спец. тайл, который накладывается на края возвышенностей, делая спуск широкий. Причем такой спуск стыкуется с другими спусками, которые могут быть рядом и под углом к нему.
это не новые функции, это новые тайлы, которые хак-пак добавляет. |
![]()
Сообщение
#2882
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Народ кто подскажет, есть ли русификатор для модулей НВН. |
![]()
Сообщение
#2883
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
шо шо есть??? (IMG:style_emoticons/kolobok_light/smile.gif) )
Переводили и переводять модули ток 1 способом: открыванием через тулсет и правкой диалогов, описаний и названий. можно конечно открыть модуль хекс редактором и запустить промт (так переводят пираты). Качество оставляет желать лучшего (IMG:style_emoticons/kolobok_light/smile.gif) да и накосячить может (переведешь случайно не текст, а команду какую-нить и будет краш) |
![]()
Сообщение
#2884
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Жако что все лучшие модули на английском языке ( ни считая Проклятия Левора ). (IMG:style_emoticons/kolobok_light/sad.gif) А других способов нет? |
![]()
Сообщение
#2885
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(Артём @ Sep 23 2006, 20:06) [snapback]92606[/snapback] А других способов нет? Заходим на Асталависту, отключаем фаервол. Скачиваем самый мощный кряк интернета и переводчик дат файлов с японского на китайский обратно и на русский. Запускаем в папке модулей, ждем пол часа и все. Готово. Жаль, что никто до этого не додумался раньше. Так бы весь валут перевели и засунули на сайт. LEX: (IMG:style_emoticons/kolobok_light/biggrin.gif) (IMG:style_emoticons/kolobok_light/biggrin.gif) |
![]() ![]() |
Текстовая версия | Сейчас: 27th July 2025 - 16:01 |