![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2651
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Артём, в принципе первый скрипт написан верно, причин чтобы он не работал я не вижу. По поводу второго, нужно просто налаживать временный эффект или бесконечный.
Сообщение отредактировал Dik Morris - Jun 28 2006, 12:08 |
![]() ![]()
Сообщение
#2652
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Что первый работает я знаю.
А вот кто мне сможет отредоктирывать второй не знаю? В скриптах я чайник только недавно стал кое-что понимать! |
![]()
Сообщение
#2653
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
В своем предыдущем посте я уже говорил, что нужно налаживать временный эффект, либо бесконечный.
DURATION_TYPE_PERMANENT - бесконечный ; DURATION_TYPE_TEMPORARY - временный. Т.е строка будет выглядеть так: NSS ApplyEffectAtLocation(см. выше, EffectVisualEffect(VFX_DUR_GHOSTLY_PULSE ), lSparks));
|
![]()
Сообщение
#2654
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
DURATION_TYPE_PERMANENT - эта я пробовал давно. Он не выдаёт ашыбку, но и не даёт желаемого эффекта.
Щя буду пробывать другой вариант! (IMG:style_emoticons/kolobok_light/biggrin.gif) |
![]()
Сообщение
#2655
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
там еще третий тип есть, инстанс (постоянный) попробуй с ним.
|
![]()
Сообщение
#2656
|
|
Level 2 ![]() Класс: Маг Характер: True Neutral Раса: Эльф ![]() |
Как сделать систему лута?
И как сделать так чтобы за крыс (например) будут давать на первом левеле 300експ, на 2 200експ, на 3 100експ? |
![]()
Сообщение
#2657
|
|
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
Scrat, а для этого существуют системы распределение опыта. Что же касается системы лута, то аналогично. Пробные и рабочие системы можно найти здесь.
|
![]() ![]()
Сообщение
#2658
|
|
Level 3 ![]() Класс: Тайный Лучник Характер: Chaotic Good Раса: Дракон ![]() |
У меня два оооочень глупых вопроса (IMG:style_emoticons/kolobok_light/smile.gif) , связанных...с трупами... (IMG:style_emoticons/kolobok_light/angel.gif) :
1. Как убрать появление рандомных вещей на трупах? (IMG:style_emoticons/kolobok_light/bad.gif) 2. Как заставить появляться золото в трупе? (Тулсет перелазил - не нашел, а если через скрипты, вешать на каждого - это не слишком хорошо, потому что скриптов станет....... (IMG:style_emoticons/kolobok_light/shok.gif) ) |
![]()
Сообщение
#2659
|
|
Level 2 ![]() Класс: Маг Характер: True Neutral Раса: Эльф ![]() |
Zirrex а где именно?
и как тоже заставить золото появляться в трупах? |
![]() ![]()
Сообщение
#2660
|
|
Level 5 ![]() ![]() Класс: Друид Характер: Neutral Good Раса: Человек ![]() |
Наверное чтобы убрать появление вищей нодо удалить строку OnCombatRoundEnd. (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
Хотя точно я незнаю. (IMG:style_emoticons/kolobok_light/sad.gif) |
![]()
Сообщение
#2661
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
QUOTE(Solmyr2000 @ Jun 29 2006, 16:39) [snapback]86460[/snapback] 1. Как убрать появление рандомных вещей на трупах? 2. Как заставить появляться золото в трупе? (Тулсет перелазил - не нашел, а если через скрипты, вешать на каждого - это не слишком хорошо, потому что скриптов станет....... ) Не станет, у каждого существа есть уже установленые наборы скриптов. И можно написать один скрипт для всех. За появление рандомных вещей отвечает "nw_c2_default9" (этот скрипт выполняется при появлении существа), а конкретнее вот эта вот часть: NSS if ((GetLocalInt(GetModule(), "X2_L_NOTREASURE") == FALSE) && (GetLocalInt(OBJECT_SELF, "X2_L_NOTREASURE") == FALSE) ) { CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF); } Сотри ее, откомпилируй скрипт и сохрани модуль с измененным скриптом - так извавишься от рандомных вещей. Можешь также создать свой скрипт и поставить его всем твоим существам. Появление золота в трупе можно сделать в этом же скрипте, или в скрипте, вызывающемся при смерти - cм. событие OnDeath, (стандартный cкрипт - "nw_c2_default7"). --- QUOTE(Артём @ Jun 29 2006, 17:07) [snapback]86467[/snapback] Наверное чтобы убрать появление вищей нодо удалить строку OnCombatRoundEnd. Неа, не надо ее удалять (IMG:style_emoticons/kolobok_light/wink3.gif) Тот скрипт вызывается для того чтобы науськивать монстра на врагов в битве.
Сообщение отредактировал azathoth - Jun 29 2006, 16:18 |
![]()
Сообщение
#2662
|
|
Level 3 ![]() Класс: Тайный Лучник Характер: Chaotic Good Раса: Дракон ![]() |
Спасибо за рандомные вещи.
НО: QUOTE Появление золота в трупе можно сделать в этом же скрипте, или в скрипте, вызывающемся при смерти - cм. событие OnDeath, (стандартный cкрипт - "nw_c2_default7"). Azathoth, это я прекрасно знаю (IMG:style_emoticons/kolobok_light/declare.gif) . Даже могу привести скрипт, который это делает. (IMG:style_emoticons/kolobok_light/biggrin.gif) Но мне надо именно НЕ через скрипты (читай пост) (IMG:style_emoticons/kolobok_light/rtfm.gif) . Или это не возможно? Просто модуль "засорится" скриптами, если это делать. QUOTE(Артём @ Jun 29 2006, 17:07) [snapback]86467[/snapback] Наверное чтобы убрать появление вищей нодо удалить строку OnCombatRoundEnd. (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) Хотя точно я незнаю. (IMG:style_emoticons/kolobok_light/sad.gif) Нет, эта строка отвечает за конец раунда. Кстати, туда можно всунуть боевые крики. (IMG:style_emoticons/kolobok_light/moil.gif) QUOTE Zirrex а где именно? (IMG:style_emoticons/kolobok_light/vava.gif) Он тебе предложил обыскать весь волт. |
![]()
Сообщение
#2663
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
QUOTE(Solmyr2000 @ Jun 29 2006, 21:19) [snapback]86498[/snapback] Но мне надо именно НЕ через скрипты (читай пост) . Или это не возможно? Просто модуль "засорится" скриптами, если это делать. Не скриптами - тупо положи деньги в инвентарь существа. А вообще не бойся засорить модуль ни скриптами, они так же нелишни как диалоги, предметы и неписи. К тому же можно отделаться малой кровью - одним скриптом, в котором основываясь на, к примеру расе и уровне существа создвать нужное кол-во денег. |
![]()
Сообщение
#2664
|
|
Level 3 ![]() Класс: Тайный Лучник Характер: Chaotic Good Раса: Дракон ![]() |
QUOTE Не скриптами - тупо положи деньги в инвентарь существа. Наконец-то меня поняли. Теперь внимание, вопрос (IMG:style_emoticons/kolobok_light/rofl.gif) - как? |
![]()
Сообщение
#2665
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
QUOTE(Solmyr2000 @ Jun 29 2006, 22:35) [snapback]86516[/snapback] Наконец-то меня поняли. Звиняй, на курсы телепатии не ходил (IMG:style_emoticons/kolobok_light/biggrin.gif) Теперь внимание, вопрос - как? На существо правой кнопкой: "Properties"->"Inventory..."->"Standart Items"->"Miscellaneous"->"Other"->"Gold Piece". Перетаскивешь это в инвентарь, затем жамкаешь на нем правой кнопкой и в поле "Stack Size" устанавливаешь количество монет. Престо. |
![]()
Сообщение
#2666
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Если бы новички пишущие сюда утруждали себя чтением того что им уже написано, то в этой теме процентов 70 можно было бы стереть...
Идем в раздел скриптов для новичков, если западло, отсоединяемся и гостем. Читаем там мой спавн скрипт. В нем русским языком написано как создать любому монстру при спавне пяток монет или чаво нить исчо в его кармане. Мож кто на албанском продублирует? NSS //-------------------------------------------------------------------------- // Создает небольшую сумму сокровища в инвентаре //-------------------------------------------------------------------------- if ((GetLocalInt(GetModule(), "X2_L_NOTREASURE") == FALSE) && (GetLocalInt(OBJECT_SELF, "X2_L_NOTREASURE") == FALSE) ) { CTG_GenerateNPCTreasure(TREASURE_TYPE_MONSTER, OBJECT_SELF); } Можно супер мега строкой скриптом. Смотри ниже. Естественно на хербит. NSS GiveGoldToCreature(OBJECT_SELF, 200-Random(50)); 2. Вариант. Открываем инвентарь, находим справа итем ЗОЛОТО, кидаем в инвентарь, открываем свойства, устанавливаем в стеке сколько нам надо и закрываем. Если нет желания думать головой, думай руками. (IMG:style_emoticons/kolobok_light/mosking.gif) |
![]()
Сообщение
#2667
|
|
Level 2 ![]() Класс: Маг Характер: True Neutral Раса: Эльф ![]() |
я в англ 0... я тамнече не понимаю...
как написать собственный скрипт? и что мне написать, чтобы герой использовал спальник и съедал 1 еду? что такое сеповский хак и как его подключить? Сообщение отредактировал Scrat - Jun 30 2006, 06:08 |
![]()
Сообщение
#2668
|
|
Level 3 ![]() Класс: Тайный Лучник Характер: Chaotic Good Раса: Дракон ![]() |
QUOTE(Aiwan @ Jun 30 2006, 00:36) [snapback]86526[/snapback] 2. Вариант. Открываем инвентарь, находим справа итем ЗОЛОТО, кидаем в инвентарь, открываем свойства, устанавливаем в стеке сколько нам надо и закрываем. Если нет желания думать головой, думай руками. (IMG:style_emoticons/kolobok_light/mosking.gif) (IMG:style_emoticons/kolobok_light/biggrin.gif) Я вполне об этом догадывался, но есть интересный момент - (IMG:style_emoticons/kolobok_light/wizard.gif) итема золота там нету (IMG:style_emoticons/kolobok_light/vampire.gif) Точнее есть,нашел, но оно называется 578747 (IMG:style_emoticons/kolobok_light/shok.gif) И выдает ошибку. Может это из-за хака? QUOTE(Aiwan @ Jun 30 2006, 00:36) [snapback]86526[/snapback] Если бы новички пишущие сюда утруждали себя чтением того что им уже написано, то в этой теме процентов 70 можно было бы стереть... (IMG:style_emoticons/kolobok_light/crazy.gif) а утруждением чтения поста никто не занимался? (IMG:style_emoticons/kolobok_light/crazy.gif) QUOTE(Aiwan @ Jun 30 2006, 00:36) [snapback]86526[/snapback] Можно супер мега строкой скриптом. Смотри ниже. Естественно на хербит. Тем более я и так это сделал (IMG:style_emoticons/kolobok_light/spiteful.gif) Уже давным давно. Но когда модуль разросся, он стал уже их не выносить. Зверски тормозит. Все, удалил хак (IMG:style_emoticons/kolobok_light/cray.gif) Но заработало. Сообщение отредактировал Solmyr2000 - Jun 30 2006, 08:27 |
![]()
Сообщение
#2669
|
|
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
Scrat, а что там знать? Входишь на Ваулт, и ищешь скрипты, которые посвящены именно твоим системам. Главное знать, какое слово искать.
Хотя бы это DMG Loot tables V 1.2 и PWFXP - XP Distribution Script. Solmyr2000, есть стандартный предмет "Gold Piece". Находишь его в палитре, и изменяешь ему значение, сохраняя в кастомную палитру. Но на самом деле лучше все же сделать мелкий скрипт, а потом его выполнять на момент смерти существа. Я не знаю, что у тебя творится в модуле, потому что даже 1000 своих скриптов не вызывают тормозов, если они правильно написаны. |
![]()
Сообщение
#2670
|
|
Level 3 ![]() Класс: Тайный Лучник Характер: Chaotic Good Раса: Дракон ![]() |
QUOTE(Zirrex @ Jun 30 2006, 09:57) [snapback]86549[/snapback] Solmyr2000 Я не знаю, что у тебя творится в модуле, потому что даже 1000 своих скриптов не вызывают тормозов, если они правильно написаны. У меня как всегда хуже всех. (IMG:style_emoticons/kolobok_light/vampire.gif) Кампания НВН например не тормозит, а Проклятье Левора стоит на разрешении 640x480. Ничего не замечаешь? (IMG:style_emoticons/kolobok_light/prankster2.gif) QUOTE(Zirrex @ Jun 30 2006, 09:57) [snapback]86549[/snapback] Solmyr2000, есть стандартный предмет "Gold Piece". Находишь его в палитре, и изменяешь ему значение, сохраняя в кастомную палитру. Все, я же сказал, что удалил хак, и все заработало. Посты опять не читаем-с? (IMG:style_emoticons/kolobok_light/crazy.gif) Сообщение отредактировал Solmyr2000 - Jun 30 2006, 09:09 |
![]()
Сообщение
#2671
|
|
Level 9 ![]() Класс: Друид Характер: True Neutral Раса: Эльф NWN: Скриптинг [PW] Амен ![]() |
Solmyr2000, сообщения читаем. Только что тебе мешало сделать кастомный предмет золота, когда у тебя стоял хак?
Ну знаешь, тормозить может на чем угодно, если компьютер превратить в помойку, или лишить его чего-то архиважного. Сколько работаю со своим модулем, никогда не было на нем тормозов. Одно но, у него нет хаков, но как я уже убедился, некоторые умудряются внести непонятные тормоза в свои модули даже без хаков. Что касается Левора, у меня он не тормозил ни разу. И что это за хак такой, который портит стандартные предметы до такого состояния, что их нельзя использовать? |
![]()
Сообщение
#2672
|
|
Level 4 ![]() ![]() Класс: Маг Характер: Chaotic Neutral Раса: Танар'ри ![]() |
Помогите пожалуйста, решить еще несколько вопросов.
1. Есть следующая ситуация: если игроком берется предмет из инвентаря саркофага – появляется определенное существо. Само появление решено с помощью скрипта, взятого из оригинальной кампании (слегка подправлено под собственные нужнды) NSS void main() { location lLoc = GetLocation(GetNearestObjectByTag("WP_NOSFERATU")); effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); object oWamp = CreateObject(OBJECT_TYPE_CREATURE,"Wampir_Nosferatu",GetLocation(OBJECT_SELF)); ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis,GetLocation(oWamp)); } Дело в том, что при любых манипуляциях с инвентарем ( скрипт стоит на OnDisturbed) создание появляется снова и снова, а персонаж диалоговый и квестовый. По сюжету, после первого появления “оно” больше в гроб не укладывается. А тут сплошные клоны…. Необходимо сделать этот скрипт “одноразовым”. Я пробовала через переменную, по тому принципу как у вас на форуме решена проблема с триггерами, но тут что-то из разряда чудес получается – скрипт либо не срабатывает совсем, либо как положено, срабатывает однократно. NSS void main() { object oPC = GetEnteringObject(); if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "Nosferatu") = = 1) return; { location lLoc = GetLocation(GetNearestObjectByTag("WP_NOSFERATU")); effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); object oWamp = CreateObject(OBJECT_TYPE_CREATURE,"Wampir_Nosferatu",GetLocation(OBJECT_SELF)); ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis,GetLocation(oWamp)); SetLocalInt(OBJECT_SELF, "Nosferatu", 1); } } Помогите пожалуйста, разобраться, в чем моя ошибка. Может быть oPC, в этом случае нужно присваивать какую-то другую функцию? А может вообще все решается по другому? 2. В случае смерти РС, появляется панель об отмене респауна и строкой, о том, что: “Факт смерти - явление окончательное и обсуждению не подлежит”. Возможно ли с помощью скрипта, сделать появление разных строк, в зависимости от расы игрока? 3. Есть несколько, так называемых “псевдофиналов”, т.е. модуль может быть закончен по-разному, в зависимости от выбора и сложившийся ситуации. Как с помощью скрипта вывести из диалога “посмертную” панель с соответствующим текстом? Понимаю, что через функцию: PopUpDeathGUIPanel (oPC(),FALSE, FALSE, 0, “Текст”); . Но вот как – ума не хватает…. P.S. Не нашла где еще написать, хотелось просто поблагодарить весь ваш форум за информационный багаж. Извините, но у вас нет ни одной темы – где можно просто сказать спасибо. Айван: ты у нас на форуме, это уже результат. Извини, мы тут бореся с "левыми" посетителями. У нас есть оффтоп-форум, но он доступен с 100-го поста. Ты его не видишь. Сама понимаешь, наоффтопить у нас 100 постов безнаказанно сложно (IMG:style_emoticons/kolobok_light/smile.gif) Твоего сообщения в этом посте вполне достаточно (IMG:style_emoticons/kolobok_light/thank_you.gif) Сообщение отредактировал Aiwan - Jul 6 2006, 15:23 |
![]()
Сообщение
#2673
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
QUOTE(Artlira @ Jul 6 2006, 04:22) [snapback]87252[/snapback] Помогите пожалуйста, разобраться, в чем моя ошибка. Может быть oPC, в этом случае нужно присваивать какую-то другую функцию? А может вообще все решается по другому? Artlira, желательно еще сделать проверку на тэг предмета, который берем. NSS void main() { object oItem = GetInventoryDisturbItem(); // Предмет effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY); if (GetLocalInt(OBJECT_SELF, "Nosferatu") == 1) return; // Выход из скрипта if (GetTag(oItem) == "111") // Если берем нужный предмет { object oWamp = CreateObject(OBJECT_TYPE_CREATURE,"Wampir_Nosferatu",GetLocation(OBJECT_SELF)); DelayCommand(1.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis,GetLocation(oWamp))); SetLocalInt(OBJECT_SELF, "Nosferatu", 1); SpeakString("Извини Artlira за брак 1 скрипта. Теперь правильно!"); } } QUOTE(Artlira @ Jul 6 2006, 04:22) [snapback]87252[/snapback] . В случае смерти РС, появляется панель об отмене респауна и строкой, о том, что: ”Факт смерти - явление окончательное и обсуждению не подлежит”. Возможно ли с помощью скрипта, сделать появление разных строк, в зависимости от расы игрока? NSS void main()
{ object oPlayer = GetLastPlayerDied(); if(GetRacialType(oPlayer) == RACIAL_TYPE_GNOME) PopUpDeathGUIPanel(oPlayer, FALSE, TRUE, 0, "Я же гном?!"); if(GetRacialType(oPlayer) == RACIAL_TYPE_ELF) PopUpDeathGUIPanel(oPlayer, FALSE, TRUE, 0, "Я же эльф?!"); } Сообщение отредактировал gennady - Jul 6 2006, 12:39 |
![]()
Сообщение
#2674
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Artlira, по поводу третьего вопроса.
На строчку в диалоге, в вкладку ActionTakens, ставится скрипт: NSS void main()
{ object oPC = GetPCSpeaker(); FadeToBlack(oPC); SetCommandable(0, oPC); DelayCommand(1.5, PopUpDeathGUIPanel(oPC, FALSE, TRUE, 0, "Нужный_текст")); } |
![]()
Сообщение
#2675
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Artlira, если у тебя стоит скрипт на OnDisturbed, то не нужно определеять игрока, как GetEnteringObject(), для этого случая есть своя функция - GetLastDisturbed().
Да и проверку на игрока тут делать-то и не надо, врятли у тебя НПС возьмет этот предмет из саркофага. QUOTE(Artlira @ Jul 6 2006, 04:22) [snapback]87252[/snapback] Возможно ли с помощью скрипта, сделать появление разных строк, в зависимости от расы игрока? Конечно, проверяй расу игрока с помощью функции GetRacialType(object) и меняй посмертную надпись. |
![]() ![]() |
Текстовая версия | Сейчас: 28th April 2025 - 13:48 |