![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3576
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Edit -> Module Properties -> Advanced.
Ползунок XP Scale в ноль. Довольно сложно случайно сделать двойную выдачу скриптом, причем по разным формулам. |
![]()
Сообщение
#3577
|
|
Level 2 ![]() Класс: Оборотень Характер: True Neutral Раса: Эльф ![]() |
Можете скопировать стандартный скрипт?
Ну мне просто нужно переделать один модуль выложенный на ваулте. Конкретно убрать систему опыта , созданную автором (слишком много экспы дается) и поставить стандартную. |
![]()
Сообщение
#3578
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Lordeath, ну чё ты мучаешь весь форум? Выкинь из этого модуля этот доморощенный скрипт NW_C2_DEFAULT7. Тем самым будет использоваться базовый! Найди своего БОССА и замение в скрипте смерти весь код на вот такой:
Neverwinter Script //::////////////////////////////////////////////// //:: SLOT: OnDeath — смерть существа //::////////////////////////////////////////////// void main() {ExecuteScript("nw_c2_default7", OBJECT_SELF);} |
![]()
Сообщение
#3579
|
|
Level 2 ![]() Класс: Оборотень Характер: True Neutral Раса: Эльф ![]() |
Понял в чем ошибка. У разных существ стояли разные скрипты на OnDeath, все ссылались give_cudtom_xp, потому возникали такие траблы. Проблема решена их удалением (IMG:style_emoticons/kolobok_light/biggrin.gif) Всем спасибо (IMG:style_emoticons/kolobok_light/prankster2.gif)
|
![]()
Сообщение
#3580
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Люди, помогите, я немного туплю: как мне сделать подобие теста? Например, чтоб НПС мне в диалоге задавал вопрос, я отвечал, и в конце мне должно выдать кол-во правильных ответов. Я в программировании немного разбираюсь но до меня немного не дошло как связать диалоги и скрипты. Объясните кто-нить на примере.
|
![]()
Сообщение
#3581
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Lester, для этого нужно присвоить локалки за ответы, а в конце их проверить. В диалог мы можем воткнуть 4 вида скриптов:
1. на проверку 2. действие 3. прерывание диалога 4. нормальное завершение диалога Про редактор диалога советую почитать статейку: http://remmgen.narod.ru/treddialog.html Сообщение отредактировал gennady - Sep 4 2010, 16:46 |
![]()
Сообщение
#3582
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Я прочитал уже эту статейку. Но я не могу понять одного: для каждой ветки диалога надо писать ведь свой скрипт, да? А если я создам переменную в одном скрипте, как я смогу потом работать с этой же переменной но только в другой ветке диалога?
|
![]()
Сообщение
#3583
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
|
![]()
Сообщение
#3584
|
|
Level 2 ![]() Класс: Оборотень Характер: True Neutral Раса: Эльф ![]() |
1. Опыт удаляем на вкладке Модульные свойства в панели “Улучшенный”, тут можно задать опыт за уничтожение монстров, и выбрать длительность игрового часа, обычно час равен двум минутам реального времени. Учтите, что чем больше монстр имеет ХР, тем больше получит герой опыта… 2. Нужно повесить на героя локалку о отдыхе. а через определенное время ее снять. Вот для примера простой скриптик отдыха. Отдыхаем 1 час игрового времени и 10 минут реального не сможем воспользоваться отдыхом: Neverwinter Script //:://///////////////////////////////////////////// //:: Слот: OnPlayerRest - Модульные свойства //:://///////////////////////////////////////////// //////// СНЯТЬ ЭФФЕКТЫ И ВЫЛЕЧИТЬ ГЕРОЯ ///////// void FakeRestore(object oTarget) { int nHeal = GetMaxHitPoints(oTarget) - GetCurrentHitPoints(oTarget); effect eHeal = EffectHeal(nHeal); effect eBad = GetFirstEffect(oTarget); while(GetIsEffectValid(eBad)) { RemoveEffect(oTarget, eBad); eBad = GetNextEffect(oTarget); } ApplyEffectToObject(DURATION_TYPE_INSTANT, eHeal, oTarget); } ///////////////////////////////////////////////////////////////////////////////////// void main() { object oPC = GetFirstPC(); int iTH = GetTimeHour(); int iRest = GetLocalInt(oPC, "REST"); /////////////////////////// START ///////////////////////////////////// if (GetLastRestEventType() == REST_EVENTTYPE_REST_STARTED) { if(iRest==1) // Блокировка отдыха { SendMessageToPC(oPC, "Вы не можете так часто отдыхать!"); AssignCommand(oPC,ClearAllActions(TRUE)); return; } SetCommandable(FALSE, oPC); // заблокировать очередь DelayCommand(4.0, FadeToBlack(oPC, FADE_SPEED_SLOW)); // Занавес из черного экрана DelayCommand(18.0, FadeFromBlack(oPC, FADE_SPEED_SLOW)); // Уберем занавес } ////////////////////////////// FINISH /////////////////////////////////// if (GetLastRestEventType() == REST_EVENTTYPE_REST_FINISHED) { iTH = iTH+1; SetTime(iTH,0,0,0); SendMessageToPC(oPC, "Вы отдыхали 1 час."); SetCommandable(TRUE, oPC); // разблокировать очередь FakeRestore(oPC); // Если нужно удалить вредные эффекты // ВРЕМЯ БЛОКИРОВКИ SetLocalInt(GetFirstPC(),"REST",1); DelayCommand(600.0, SetLocalInt(GetFirstPC(),"REST",0)); } } Столкнулся с такой проблемой: если бегаешь в партии с другим игроком, то отдыхать можно когда угодно. Не подскажите какэтого избежать? Сообщение отредактировал Lordeath - Mar 12 2008, 20:04 |
![]()
Сообщение
#3585
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Neverwinter Script void main() GetFirstPC() надо заменить на GetLastPCRested() { object oPC = GetFirstPC(); int iTH = GetTimeHour(); int iRest = GetLocalInt(oPC, "REST"); Neverwinter Script ////////////////////////////// FINISH /////////////////////////////////// Здесь смени везде GetFirstPC() на oPC: if (GetLastRestEventType() == REST_EVENTTYPE_REST_FINISHED) { iTH = iTH+1; SetTime(iTH,0,0,0); SendMessageToPC(oPC, "Вы отдыхали 1 час."); SetCommandable(TRUE, oPC); // разблокировать очередь FakeRestore(oPC); // Если нужно удалить вредные эффекты // ВРЕМЯ БЛОКИРОВКИ SetLocalInt(GetFirstPC(),"REST",1); DelayCommand(600.0, SetLocalInt(GetFirstPC(),"REST",0)); } } Neverwinter Script SetLocalInt(oPC,"REST",1); DelayCommand(600.0, SetLocalInt(oPC,"REST",0)); Честно говоря, идея с установкой времени на ресте мне не нравится. И фиг игроку, а не снятие эффектов (IMG:style_emoticons/kolobok_light/wink3.gif) Сообщение отредактировал Ilerien - Mar 12 2008, 22:45 |
![]()
Сообщение
#3586
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Модуль сингловый или онлайновый (тут про пати разговор был)? В онлайне 10-минутный делэй со ссылкой на обжект игрока - маньячество. В лучшем случае на перезаход локалка слетит, в худшем - она останется до рестарта и чар не сможет отдыхать вообще.
|
![]()
Сообщение
#3587
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
При перезаходе локалка не слетит.
Если шард, то надо ставить локалку с игровым timestamp'ом времени, когда чар последний раз отдыхал, а при последующих рестах её проверять. Если просто прохождение вдвоём, то это, конечно, не так критично, и блокировку можно вообще убрать. |
![]()
Сообщение
#3588
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Если шард, то надо ставить локалку с игровым timestamp'ом времени, когда чар последний раз отдыхал, а при последующих рестах её проверять. Можно ещё на модуль вешать локалку с именем (а лучше ид) чара (IMG:style_emoticons/kolobok_light/smile.gif) Она точно не слетит.
Сообщение отредактировал Ilerien - Mar 13 2008, 21:53 |
![]()
Сообщение
#3589
|
|
Level 1 Класс: Рейнджер Характер: Neutral Evil Раса: Человек ![]() |
Люди, проконсультируйте по такому вопросу:
Я делаю квест, первая часть квеста проходит как нужно, (Герой получает предмет, потом отдает его), после этого мне нужно чтобы у НПСа, у которого беру квест появлялся другой текст, а то у меня получается, что этот квест можно брать бесконечно... (IMG:style_emoticons/kolobok_light/unsure.gif) З.Ы. Просьба не говорить что такое уже было, ищи... перечитать весь форум я прсто не в состоянии. Спасибо. |
![]()
Сообщение
#3590
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Нажми на нужную строку текста, во вкладке "Текс появляется при..." кликай по красной шляпе, в появившемся окне ставь галочку напротив "Локальная переменная". Дальше, напротив int, пиши имя переменной(начинать только с букв(англ.), запиши его где-нибудь, если слишком большое и напротив "постоянный" ставь 0. Теперь кликай по кнопке добавить, вводи имя скрипта, "Закончить".
В соседней вкладке "Совершенные действия" жми снова на шляпу, "Установить локальные переменные", вперед, вводи имя переменной напротив int, а ниже ставь 1, далее, имя, закончить. Усё. |
![]()
Сообщение
#3591
|
|
Level 2 ![]() Класс: Варвар Характер: Lawful Neutral Раса: Дварф ![]() |
Как вы думаете, сейчас актуально или даже интересно будет создать модуль на Авроре. Просто я год создавал модуль, а тут вышел второй НВН. Что делать? (IMG:style_emoticons/kolobok_light/unsure.gif)
|
![]()
Сообщение
#3592
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Просто я год создавал модуль, а тут вышел второй НВН. Что делать? НВН2 вышел год назад, гдеж ты был целый год? имхо сингл на НВН1 - не актуально и интересно очень очень небольшому количеству игроков. Если есть возможность - переноси на НВН2 (скрипты и диалоги почти без изменений, а вот локи и предметы переделать придется с 0 почти). В НВН2 ситуация конечно тоже не фонтан, но к нему хоть какой-то интерес проявляется обычными игроками. |
![]()
Сообщение
#3593
|
|
Level 6 ![]() ![]() Класс: Маг Характер: Lawful Evil Раса: Нежить ![]() |
Такой вопрос. При подходе к какому-либо дружественному NPC на близкое расстояние он отползает в сторону, давая пройти. Как заставить NPC стоять на месте и никуда не бегать? Появилось в HotU, в оригинальных модулях NWN все NPC стоят нормально и никуда не уползают.
|
![]()
Сообщение
#3594
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
правильно что появилось, это избавляет от случаев, когда НПС закрывает проход или дверь. Убрать вроде как нельзя обычными методами.
|
![]()
Сообщение
#3595
|
|
Level 6 ![]() ![]() Класс: Маг Характер: Lawful Evil Раса: Нежить ![]() |
На вкус и цвет товарища нет. Мне например не нравится и я вообще не могу предпологать ситуации, когда игрок пинает NPC по всей карте.
|
![]()
Сообщение
#3596
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Как вариант, поставить на этом месте вейпоинт, к которому непись будет каждый раз возвращаться.
|
![]()
Сообщение
#3597
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Мне например не нравится и я вообще не могу предпологать ситуации, когда игрок пинает NPC по всей карте. если тебе надо запретить возможность "вытолкать" так НПС, то тады сделай ему поинт POST_[Тэг НПС]. Если стандартные скрипты не трогал, то НПС будет на этой точке стоять. Если НПС толкнуть, он в течении 6 сек вернется на точку. по поводу вкуса и цвета, тут дело не в том, нравится или нет, а в том, что это нормальное решение разработчиков, которые хотят защититься от того, что игрок случайно или намеренно сделает невозможным переход в важную по сюжету зону (НПС заблокирует дверь например). Что приведет к прерыванию игры и откату на сейв. Те сделано оно не с бухты барахты. |
![]()
Сообщение
#3598
|
|
Level 6 ![]() ![]() Класс: Маг Характер: Lawful Evil Раса: Нежить ![]() |
Цитата по поводу вкуса и цвета, тут дело не в том, нравится или нет, а в том, что это нормальное решение разработчиков, которые хотят защититься от того, что игрок случайно или намеренно сделает невозможным переход в важную по сюжету зону (НПС заблокирует дверь например). Что приведет к прерыванию игры и откату на сейв. Те сделано оно не с бухты барахты. Еще раз говорю, это дело вкуса. Ситуация, когда НПС что-то может заблокировать, у меня вряд ли возникнет, они не бродят просто так по модулю. Сколько я не играл в стандартную кампанию, ни разу проблем по этому поводу не испытывал. А вот их ползнанье серьезно напрягает. Цитата если тебе надо запретить возможность "вытолкать" так НПС, то тады сделай ему поинт POST_[Тэг НПС]. Если стандартные скрипты не трогал, то НПС будет на этой точке стоять. Если НПС толкнуть, он в течении 6 сек вернется на точку. За это спасибо, не конфетка конечно, но хоть что-то. Цитата по поводу вкуса и цвета, тут дело не в том, нравится или нет, а в том, что это нормальное решение разработчиков, которые хотят защититься от того, что игрок случайно или намеренно сделает невозможным переход в важную по сюжету зону (НПС заблокирует дверь например). Что приведет к прерыванию игры и откату на сейв. Те сделано оно не с бухты барахты. Еще раз говорю, это дело вкуса. Ситуация, когда НПС что-то может заблокировать, у меня вряд ли возникнет, они не бродят просто так по модулю. Сколько я не играл в стандартную кампанию, ни разу проблем по этому поводу не испытывал. А вот их ползнанье серьезно напрягает. Цитата если тебе надо запретить возможность "вытолкать" так НПС, то тады сделай ему поинт POST_[Тэг НПС]. Если стандартные скрипты не трогал, то НПС будет на этой точке стоять. Если НПС толкнуть, он в течении 6 сек вернется на точку. За это спасибо, не конфетка конечно, но хоть что-то. |
![]()
Сообщение
#3599
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
у меня вряд ли возникнет а разработчики не о тебе заботятся, а о всех игроках сразу. Значит были жалобы на такие затыки, раз в последующих версиях это ввели. А вот их ползнанье серьезно напрягает. у меня кстати часто бывали случаи, когда их ставишь и они не отползают. ХЗ почему, но вызывать такой эффект по желанию у меня не получилось. |
![]()
Сообщение
#3600
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Народ, выручайте опять) Как мне сделать так, чтоб значение переменной (интовой иль стринговой) отображалось в диалоге. Например: я говорю с НПС, отвечаю на вопросы и в конце опроса НПС мне выдает: "Вы набрали [переменная] балов" ? И еще вопрос, как сделать чтоб переход от ветки к ветке в диалоге был не по порядку, а иногда "перепрыгивал" несколько веток, в зависимости от ответа?
|
![]() ![]() |
Текстовая версия | Сейчас: 28th April 2025 - 19:26 |