![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2216
|
|
Level 3 ![]() Класс: Некромант Характер: Chaotic Neutral Раса: Человек ![]() |
Dik Morris, спасибо вам большое.Это то, что нужно.
|
![]() ![]()
Сообщение
#2217
|
|
Лорд AxisTown'a ![]() Класс: Монах Характер: Lawful Good Раса: Дварф NWN: Маппинг ![]() |
QUOTE 2. Идет себе герой по подземелью.Смотрит, на полу лежит меч+3!Ничего себе, халявный меч!Подходит к мечу, а потом рраз, и телепортировался к гаргульям... Скрипт срабатывает не тогда, когда игрок по нему кликает, а когда наступает(PC этот триггер не видит). кстати - вот с этого описания и надо было начинать вопрос (IMG:style_emoticons/kolobok_light/biggrin.gif) |
![]()
Сообщение
#2218
|
|
Level 5 ![]() ![]() Класс: Убийца Характер: Chaotic Neutral Раса: Полуэльф ![]() |
Добр.Ночи! Так, я уже куда-то писал об этом,но пока глухо.Нужен скрипт для вампира(хенч,нпс)чтобы днем у него были штрафы, а ночью бонусы.
|
![]()
Сообщение
#2219
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
1.
Возьми стандартный скрипт спавна, (фильтр скриптов -> Templates -> Custom onSpawn script) там раскомментируй строчку: //SetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT); сохраняешь скрипт, ставишь его на onSpawn, NPC. 2. На UserDefingen, того же NPC: NSS //Ночью у NPC будут регенерировать хит-поинты, а днем все характеристики уменьшаются на -3
void main() { object oNPC = OBJECT_SELF; effect eRegener = EffectRegenerate(1,1.0f); effect eCurse = EffectCurse(3,3,3,3,3); int nUser = GetUserDefinedEventNumber(); if(nUser == EVENT_HEARTBEAT) { if (GetIsDay()) { if (GetLocalInt(oNPC,"Day") == 0) { SetLocalInt(oNPC,"Day",1); RemoveEffect(oNPC, eRegener); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eCurse,oNPC); } } if (GetIsNight()) { if (GetLocalInt(oNPC,"Day") == 1) { SetLocalInt(oNPC,"Day",0); RemoveEffect(oNPC, eCurse); ApplyEffectToObject(DURATION_TYPE_PERMANENT, eRegener,oNPC); } } } } Сообщение отредактировал Dik Morris - May 12 2006, 16:06 |
![]()
Сообщение
#2220
|
|
Level 3 ![]() Класс: Паладин Характер: Lawful Good Раса: Человек ![]() |
Еще один вопрос. Вот никак не получается, делая в скрипте что в инвентаре должна быть вещ чтобы в диалоге появилась строка. А у меня не получается. И чтобы Игрок отдал вещ НПС и НПС дал в обен золото. Как это сделать???
|
![]()
Сообщение
#2221
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
В редакторе диалогов, есть скрипт визард (иконка шляпки), вот его и юзай, там множество разных проверок, и т.п...
|
![]()
Сообщение
#2222
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(DarkDeivel @ May 12 2006, 22:40) [snapback]81480[/snapback] Еще один вопрос. Вот никак не получается, делая в скрипте что в инвентаре должна быть вещ чтобы в диалоге появилась строка. А у меня не получается. И чтобы Игрок отдал вещ НПС и НПС дал в обен золото. Как это сделать??? Почитай тему "Скрипты для новичков" |
![]()
Сообщение
#2223
|
|
Level 3 ![]() Класс: Паладин Характер: Lawful Good Раса: Человек ![]() |
QUOTE(Dik Morris @ May 12 2006, 20:04) [snapback]81483[/snapback] В редакторе диалогов, есть скрипт визард (иконка шляпки), вот его и юзай, там множество разных проверок, и т.п... ВОТ Я И ЧЕРЕЗ ВИЗАРДА ДЕЛАЛ И НИЧЕГО НЕ ПАШЕТ |
![]()
Сообщение
#2224
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(DarkDeivel @ May 12 2006, 23:56) [snapback]81495[/snapback] ВОТ Я И ЧЕРЕЗ ВИЗАРДА ДЕЛАЛ И НИЧЕГО НЕ ПАШЕТ Застрелись. Тебе уже сказали где посмотреть а ты тупишь. NSS //------------------
#include "nw_i0_tool" int StartingConditional() { object oPC = GetPCSpeaker(); if(!HasItem(oPC, "ТАГ_ПРЕДМЕТА")) return FALSE; return TRUE; } |
![]()
Сообщение
#2225
|
|
Level 8 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Дракон NWN: Скриптинг [PW] ![]() |
Заранее сорри за оффтоп:
Я тут подумал, может написать статью про оптимизацию nss-кода вообще и для PW в частности. Материал + примеры есть, только хз надо ли и куда её девать после написания (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#2226
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Напиши, лишним не будет. Да и будущим поколениям (в НВН2) пригодится. (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#2227
|
|
Level 3 ![]() Класс: Паладин Характер: Lawful Good Раса: Человек ![]() |
QUOTE(Aiwan @ May 12 2006, 23:30) [snapback]81523[/snapback] Застрелись. Тебе уже сказали где посмотреть а ты тупишь. NSS //------------------ #include "nw_i0_tool" int StartingConditional() { object oPC = GetPCSpeaker(); if(!HasItem(oPC, "ТАГ_ПРЕДМЕТА")) return FALSE; return TRUE; } Я посмотрел куда ты сказал. |
![]()
Сообщение
#2228
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
QUOTE(DarkDeivel @ May 12 2006, 23:56) [snapback]81495[/snapback] ВОТ Я И ЧЕРЕЗ ВИЗАРДА ДЕЛАЛ И НИЧЕГО НЕ ПАШЕТ Визард может не работать из-за наличия комментариев в скриптах. (Если рус. версия игры) Поэтому, либо ставь патч dumbo (Здесь) либо удаляй комментарии. |
![]()
Сообщение
#2229
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Статью про оптимизацию пиши. Будет очень востребована.
QUOTE(DarkDeivel @ May 13 2006, 10:41) [snapback]81545[/snapback] Я посмотрел куда ты сказал. И дальше что? Готовый код. Не работает только у тех кто ничего не может совсем. Если ты не можешь посомтреть готовый код и вставить его, то здесь не надо отрывать время у людей. Иди стреляй в монстров. |
![]()
Сообщение
#2230
|
|
Level 3 ![]() Класс: Паладин Характер: Lawful Good Раса: Человек ![]() |
Подскажите пожалуйста, если это скрипт то как сделать. У меня при завершении квеста в последней диалоговой ветке (Закончить диалог) когда нажал на нее чтобы рядом с НПС появился волк и был как наемник если это скрипт подскажите как это делать.
QUOTE(Aiwan @ May 13 2006, 08:30) [snapback]81548[/snapback] Статью про оптимизацию пиши. Будет очень востребована. И дальше что? Готовый код. Не работает только у тех кто ничего не может совсем. Если ты не можешь посомтреть готовый код и вставить его, то здесь не надо отрывать время у людей. Иди стреляй в монстров. Да сделал я. Все работает. QUOTE(Dik Morris @ May 13 2006, 07:52) [snapback]81546[/snapback] Визард может не работать из-за наличия комментариев в скриптах. (Если рус. версия игры) Поэтому, либо ставь патч dumbo (Здесь) либо удаляй комментарии. Понятно, спасибо. |
![]()
Сообщение
#2231
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
QUOTE У меня при завершении квеста в последней диалоговой ветке (Закончить диалог) когда нажал на нее чтобы рядом с НПС появился волк NSS void main() { // На ActionTakens в диалоге; CreateObject(OBJECT_TYPE_CREATURE,"ResRef_создаваемого_NPC",GetLocation(OBJECT_SELF)); DelayCommand(0.7, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_1), GetNearestObjectByTag("Tag_создаваемого_NPC"))); } QUOTE рядом с НПС появился волк и был как наемник если это скрипт подскажите как это делать. Т.е хенчман ? (Если да, то http://www.wrg.ru/forums/index.php?showtopic=1761) Сообщение отредактировал Dik Morris - May 13 2006, 21:31 |
![]()
Сообщение
#2232
|
|
Level 3 ![]() Класс: Паладин Характер: Lawful Good Раса: Человек ![]() |
СПАСИБО ПОМОГЛО ВСЕ КЛАССНО РАБОТАЕТ (IMG:style_emoticons/kolobok_light/good.gif)
|
![]()
Сообщение
#2233
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(DarkDeivel @ May 14 2006, 00:20) [snapback]81653[/snapback] Подскажите пожалуйста, если это скрипт то как сделать. У меня при завершении квеста в последней диалоговой ветке (Закончить диалог) когда нажал на нее чтобы рядом с НПС появился волк и был как наемник если это скрипт подскажите как это делать. Внимательно создавай волка как хеньчмана, визардом с нулевым уровнем. Потом создай его рядом и присоедени. Можешь спрятать в локе и джампнуть потом. |
![]()
Сообщение
#2234
|
|
Level 8 ![]() ![]() ![]() Класс: Тайный Лучник Характер: Lawful Good Раса: Эльф ![]() |
привет,
Ситуация такая: Появляется ПС, на тригере(CutScene001), на OnEnter тригера лежит такой скрипт: NSS void main() { object oPC=GetFirstPC(); object oTrg=OBJECT_SELF; object oNPC=GetNearestObjectByTag("НЕПИСЬ"): if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "CutScene1_1") == 1) return; { SetLocalInt(OBJECT_SELF, "CutScene1_1", 1); SetCutsceneMode(oPC); AssignCommand(oNPC, ClearAllActions()); AssignCommand(oPC, ClearAllActions()); } ActionDoCommand(AssignCommand(oNPC, ActionStartConversation(oPC))); } Но он не работает. В чем проблема? ПС: В версии для форума упрощен(IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#2235
|
|
Level 8 ![]() Класс: Некромант Характер: Chaotic Evil Раса: Дракон NWN: Скриптинг [PW] ![]() |
RE: (см. комментарии к коду
NSS void main()
{ object oPC=GetFirstPC(); // GetEnteringObject(); надо IMHO object oTrg=OBJECT_SELF; object oNPC=GetNearestObjectByTag("НЕПИСЬ"): if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "CutScene1_1") == 1) return; { // что за скобки?! SetLocalInt(OBJECT_SELF, "CutScene1_1", 1); SetCutsceneMode(oPC); AssignCommand(oNPC, ClearAllActions()); AssignCommand(oPC, ClearAllActions()); } // что за скобки?! ActionDoCommand(AssignCommand(oNPC, ActionStartConversation(oPC))); // конверсэйшн в свойствах нпц прописан? } Сообщение отредактировал kreon - May 14 2006, 00:17 |
![]()
Сообщение
#2236
|
|
Level 8 ![]() ![]() ![]() Класс: Тайный Лучник Характер: Lawful Good Раса: Эльф ![]() |
if (conditions)
return; //Можно написать else (IMG:style_emoticons/kolobok_light/smile.gif) { Скобки - типа для "else"! code >1 line code } |
![]()
Сообщение
#2237
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Первое.
Nashman, учи мат часть. Тем более сейчас, когда она на русском доступна! else можно и не писать, но и скобки смысловой нагрузки не несут. Их можно использовать, чтобы блоки кода формировать, чисто визуально разбераться легче. Но в четырех строчках ты не запутаешься. И ВТОРОЕ Вот это что такое?! NSS void main() { object oPC=GetFirstPC(); object oTrg=OBJECT_SELF; object oNPC=GetNearestObjectByTag("НЕПИСЬ"): //вот это!!!! Скрипт ведь не компилится!!! |
![]()
Сообщение
#2238
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
QUOTE(-fenix- @ May 14 2006, 02:48) [snapback]81709[/snapback] Скрипт ведь не компилится!!! QUOTE(Nashman @ May 14 2006, 00:57) [snapback]81693[/snapback] ПС: В версии для форума упрощен(IMG:style_emoticons/kolobok_light/smile.gif) object oTrg=OBJECT_SELF; - лишнее ActionDoCommand(AssignCommand(oNPC, ActionStartConversation(oPC))); - тут ActionDoCommand лишнее. |
![]()
Сообщение
#2239
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Но ведь не смотря на все это скрипт работает. Единственное, из-за чего приведеный скрипт может не работать, это двоеточие.
|
![]()
Сообщение
#2240
|
|
Level 8 ![]() ![]() ![]() Класс: Тайный Лучник Характер: Lawful Good Раса: Эльф ![]() |
QUOTE else можно и не писать, но и скобки смысловой нагрузки не несут. Их можно использовать, чтобы блоки кода формировать, чисто визуально разбераться легче. Но в четырех строчках ты не запутаешься. Это на форуме 4 скобки, а так больше(пойди туда, сделай то...).QUOTE object oTrg=OBJECT_SELF; - лишнее мне так удобнее, потом, сли код большой, а надо скрипт на кого-то другого, то исправить не так уж много прийдется. QUOTE ActionDoCommand(AssignCommand(oNPC, ActionStartConversation(oPC))); - тут ActionDoCommand лишнее. плохая прывычка (IMG:style_emoticons/kolobok_light/sad.gif) .Все выше учту в будущем (IMG:style_emoticons/kolobok_light/wink3.gif) QUOTE Но ведь не смотря на все это скрипт работает. Единственное, из-за чего приведеный скрипт может не работать, это двоеточие. оСПРАВИЛ - работает, но почему компилятор не выдавал ошибку?
Сообщение отредактировал Nashman - May 14 2006, 10:12 |
![]() ![]() |
Текстовая версия | Сейчас: 29th April 2025 - 18:13 |