![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2966
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
NWNX-плагином сделать вселение, думаю, не так-то сложно. Просто ни я, ни другие разработчики таких плагинов не делали.
В любом случае, NWNX - это для сервера (пока что, по крайней мере). Если хочется сделать возможность управления хенчем в сингле - советую посмотреть OHS: http://nwvault.ign.com/View.php?view=Scrip...ail&id=2568 |
![]()
Сообщение
#2967
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Какой плагин и как управлять - это к Ilerien'у. Я тоже не совсем понял. Я и имел в виду, что его можно написать (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#2968
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Я и имел в виду, что его можно написать (IMG:style_emoticons/kolobok_light/smile.gif) Добрый. (IMG:style_emoticons/kolobok_light/biggrin.gif) Послал новичка NWNX-плагины писать. (IMG:style_emoticons/kolobok_light/crazy.gif)
|
![]()
Сообщение
#2969
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Добрый. (IMG:style_emoticons/kolobok_light/biggrin.gif) Послал новичка NWNX-плагины писать. (IMG:style_emoticons/kolobok_light/crazy.gif) А то (IMG:style_emoticons/kolobok_light/ph34r.gif) Доброты не занимать (IMG:style_emoticons/kolobok_light/prankster2.gif)
|
![]()
Сообщение
#2970
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Возникла такая проблема. По идее, этот скрипт заставляет потенциального хенча, который еще не присоединен к партии, при виде игрока сказать фразу, нечто подобное было в оригинальной кампании (откуда был содран и слегка видоизменен). Раньше работал, теперь вдруг перестал, хотя компилируется.
Скрипт стоит на OnEnter триггера. Строка, которую должен сказать хенч, в списке диалогов имеется. Neverwinter Script void main() { string sTag = "HENCH_1"; object oHenchman = GetNearestObjectByTag(sTag); object oEnter = GetEnteringObject(); if (GetIsObjectValid(oHenchman) && IsInConversation(oHenchman) == FALSE && GetIsObjectValid(GetMaster(oHenchman)) == FALSE && GetLocalInt(oEnter,"NW_L_Hailed_" + sTag) == FALSE) { SetLocalInt(oEnter,"NW_L_Hailed_" + sTag,TRUE); AssignCommand(oHenchman,SetFacingPoint(GetPosition (oEnter))); AssignCommand(oHenchman,SpeakOneLinerConversation("Hen1_Hail")); } } Это глюк тулса/игры или все-таки в скрипте ошибка? |
![]()
Сообщение
#2971
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Возможно, перестал существовать диалог Hen1_Hail
|
![]()
Сообщение
#2972
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Я тоже уже об этом думала. Да в том-то и дело, что диалог цел и невредим... (IMG:style_emoticons/kolobok_light/sad.gif) и даже название у него совпадает с тем, что указано в скрипте
|
![]()
Сообщение
#2973
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Большое спасибо одному скриптеру,он помог разобраться с фракциями.
С этим вопрос тоже закрыт почти,но входе него выплыл другой вопрос,даже 3: 1-После убийства монстрами моей же фракции меня,если я атаковал монстров своей же фракции,(ну можно сказать например ту же фракцию тороговцы)они мне не перестают быть враждебны,даже после моей смерти от них,или после их смерти от меня,новый выходящий среспившийся моб по прежнему враждебен мне(эта фракция стает враждебной мне навсегда,а я знаю 100% что этого можно избежать,видел на буржуйских серверах,только незнаю как,этого добиться),как можно это сбросить(например после моей смерти)?чтобы новый респавнющийся монстр был мне снова дружественный,подскажите плиз скриптик знающие это люди?. 2-Как после перехода на тригер,игроки моей же фракции(такой же какую выбрал и я),автоматически присоединялись ко мне в отряд?,кто знает такой скрипт и куда его вставлять?.Отпоститесь сдесь плиз. 3-как после смерти сделать так чтоб я воскрешался на какуто другую точку,а не лежал там где и убили? Сообщение отредактировал Sugo77 - Jun 1 2008, 00:56 |
![]()
Сообщение
#2974
|
|
Level 3 ![]() Класс: Воин Характер: Lawful Evil Раса: Человек ![]() |
Цитата чтобы новый респавнющийся монстр был мне снова дружественный,подскажите плиз скриптик знающие это люди?. Тут и скриптиков не надо... лезем в редактировать->свойства модуля->события->событие OnPlayerDead. Изменяй дефолтный (стоящий по умолчанию) скрипт. Там ищи строчки в конце SetStandardFactionReputation(STANDARD_FACTION_COMM ONER, 80, oPlayer); и т.д. - именно они отвечают за то,чтобы после смерти игрока существа, принадлежащие (в этой строчке) к фракции обывателей, стали нейтральными по отношению к игроку. Меняй на здоровье. Единственное, плохо, что у тебя нестандартная фракция - функции для редактирования репутации в нестандартной фракции я не понмю. Но, скажи, если у тебя 3 воюющие стороны, то что мешает тебе использовать стандартные, внутриигровые фракции? Скажем, терране - обыватели, зерги - враждебные, а протосы - торговцы. Потом просто меняешь им отношение на нужное и все) А вместо защитников можешь поставить, скажем, торговцев в лагерях, которых не будут атаковать ворвавшиеся в лагерь воины. Цитата как после смерти сделать так чтоб я воскрешался на какуто другую точку,а не лежал там где и убили? смотришь редактировать->свойства модуля->события->событие OnPlayerRespawn. В самом конце есть строчки: object oSpawnPoint = GetObjectByTag(sDestTag); AssignCommand(oRespawner,JumpToLocation(GetLocatio n(oSpawnPoint))); Вот они-то и отвечают за то, чтобы игрок отправился в нужную точку после респавна. Точка - это местоположение объекта с тэгом sDestTag. Чтобы заработало создай объект с таким тэгом (или со своим, только в скрипте тогда его поменяй) и вынеси, если не заработет, эти строчки из-за скобок оператора if (а то я в скрипте этом не особо разбирался), т.е. поставь в самый конец, перед самой последней фигурной скобочкой. Цитата ак после перехода на тригер,игроки моей же фракции(такой же какую выбрал и я),автоматически присоединялись ко мне в отряд?,кто знает такой скрипт и куда его вставлять?.Отпоститесь сдесь плиз. Использовать функцию AddHenchman, если нужно сделать из них полноценных сторонников (тогда и сторонникам этим нужно хенчманские скрипты вставить, какие - смотри в теме скрипты для новичков). А если просто чтобы они побежали за тобой - используй функцию ActionForceFollowObject. Единственное, я не знаю как сделать так, чтобы ВСЕ твои сторонники к тебе присоединились. Тут нужно использовать цикл while, а я сним не силен работать. |
![]()
Сообщение
#2975
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Вот тот суперскй рабочи скрипт с фракциями
Neverwinter Script void main() { object oPC = GetEnteringObject(); object oFactionMember = GetObjectByTag("fact_1"); if(GetIsPC(oPC)) AdjustReputation(oPC, oFactionMember,-100); oFactionMember = GetObjectByTag("fact_2"); if(GetIsPC(oPC)) AdjustReputation(oPC, oFactionMember, 100); oFactionMember = GetObjectByTag("fact_3"); if(GetIsPC(oPC)) AdjustReputation(oPC, oFactionMember, -100); } Но если атаковал своего же моба он остается враждебным! Я вообшем удалил нестандартные фракции свои и заменил на 3 стандартных для всех мобов Торговец Зашитник и Враждебный как и писал Neakris но он почему то срабатывает только для одной стороны!Может я нетак значения применил проверьте,значения исходя из первого моего главного скрипта по 100 и -100 Neverwinter Script // * Note: waiting for Sophia to make SetStandardFactionReptuation to clear all personal reputation if (GetStandardFactionReputation(STANDARD_FACTION_COM MONER, oPlayer) <= 10) { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad SetStandardFactionReputation(STANDARD_FACTION_COMM ONER, 100, oPlayer); } if (GetStandardFactionReputation(STANDARD_FACTION_MER CHANT, oPlayer) <= 10) { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad SetStandardFactionReputation(STANDARD_FACTION_MERC HANT,-100, oPlayer); } if (GetStandardFactionReputation(STANDARD_FACTION_DEF ENDER, oPlayer) <= 10) { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad SetStandardFactionReputation(STANDARD_FACTION_DEFE NDER, 100, oPlayer); } DelayCommand(2.5, PopUpGUIPanel(oPlayer,GUI_PANEL_PLAYER_DEATH)); } Может его надо 3 раза прописать но вопрос тогда куда вставлять? Сообщение отредактировал Sugo77 - Jun 1 2008, 13:30 |
![]()
Сообщение
#2976
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
Цитата Но если атаковал своего же моба он остается враждебным! Правильно, кому понравиться, что его бьют? (IMG:style_emoticons/kolobok_light/vava.gif) смотри "repadjust.2da" - хз какое поле за что отвечает, но смена отношения там. Neverwinter Script if (GetStandardFactionReputation(STANDARD_FACTION_MER CHANT, oPlayer) <= 10) { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad SetStandardFactionReputation(STANDARD_FACTION_MERC HANT,-100, oPlayer); } тут как я понял говорится о том, что "если торговец вас ненавидит - заставить ненавидеть вас ещё сильнее". по умолчанию торговцы не такие уж и буки. |
![]()
Сообщение
#2977
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
убрал я у себя фракцию враждебный так как в этом скрипте ее нету,я его перевел на руский сдес защитник простолюдин и торговец,я такие фракции и сделал ,но всеравно он работает тока с торговцами,получается что вообще неработает так как торговцы и без этого скрипта возвращаются в дружественные отношения после убийства ими игрока, чтоже нетак непойму?
Да а кстати глобальный эффект что означает во фракциях?Я его поставил для всех фракции. А также шкала П-незнаю что такое ето?но она у меня на 50 стоит,я поставил для всех фракций,ее вообше как надо ставить? Neverwinter Script // * make friendly to Each of the 3 common factions AssignCommand(oPlayer, ClearAllActions()); // * Note: waiting for Sophia to make SetStandardFactionReptuation to clear all personal reputation if (GetStandardFactionReputation(STANDARD_FACTION_COM MONER, oPlayer) <=-100) { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 100); // * Player bad SetStandardFactionReputation(STANDARD_FACTION_COMM ONER, 100, oPlayer); } if (GetStandardFactionReputation(STANDARD_FACTION_MER CHANT, oPlayer) <=100) { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad",-100); // * Player bad SetStandardFactionReputation(STANDARD_FACTION_MERC HANT, 100, oPlayer); } if (GetStandardFactionReputation(STANDARD_FACTION_DEF ENDER, oPlayer) <=-100) { SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 100); // * Player bad SetStandardFactionReputation(STANDARD_FACTION_DEFE NDER, 100, oPlayer); } DelayCommand(2.5, PopUpGUIPanel(oPlayer,GUI_PANEL_PLAYER_DEATH)); } Еше подскажите скрипт на дислайк при нажатии на тригер OnClick также для трех фракций Я толко вот какойто отрывок нашел но толку от него ноль без полного скрипта,кто работал с дислайками? помогите плиз создать этот скрипт void SetPCDislike(object oPlayer, object oTarget) Сообщение отредактировал Sugo77 - Jun 1 2008, 23:32 |
![]()
Сообщение
#2978
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Подскажите пожалуста тогда как написать такой плагин? я знаю немного Borland c++ Builder и все. Тока мне надо чтоб плагин не тока в сетевой игре работал но и в кампании если какиенибудь исходные коды как их делать? я тут находил плагин позволяющий писать букву "Я"
Он без NWNX работает мнеб типа такого только добавляющий функцию управления NPC как преблизительно его написать или функцию эту где узнать напишите пожалуста если не сложно поподробнее....... (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) |
![]()
Сообщение
#2979
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Никак..
|
![]()
Сообщение
#2980
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Блин а можно тогда переименовать главного героя скриптом и при морфе сделат больше 3ех родных абил и еще бы конечными их сделать.... Или может есть какаянибудь альтернатива?
|
![]()
Сообщение
#2981
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Я уже давал ссылку.
http://nwvault.ign.com/View.php?view=Scrip...ail&id=2568 |
![]()
Сообщение
#2982
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Ну помогите же с написанием скрипта на дислайки плиз,чтоб нажав на тригер игрок был враждебен к дргим двум разным игрокам,других фракций.
вот это вступление скрипта void main SetPCDislike(object oPlayer, object oTarget) Сообщение отредактировал Sugo77 - Jun 8 2008, 20:45 |
![]()
Сообщение
#2983
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
После такого вступления требуется виртуозное исполнение! Я сейчас дорабатываю свою библиотеку функций распарсивания строк (получается интересная возможность писать "полускрипты" и создавать "мягкий" код). Ваш вопрос побудил меня задуматься над совершением ещё одного шага вперёд от ExecuteCommand(string sCommand) к DoStuff(string sWhat, int bAndDoItGood), где мы переходим от искуственного машинного языка к литературному. Сравните:
Neverwinter Script ExecuteCommand("if (on_trigger AND $[0] == %PC%) foreach AbstractNwnPlayer player FROM `factions` WHERE `ID` <> %PC%["FACTION"] player->Instance()->ModAV 'Disposition' -100"); и Neverwinter Script DoStuff("чтоб нажав на тригер игрок был враждебен к дргим двум разным игрокам,других фракций", TRUE); Не правда ли небо и земля? Трезво оценивая свои силы, думаю, что шансов реализовать задуманое до стечения века почти нет. Но мало ли - вдруг. |
![]()
Сообщение
#2984
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Очень интересно. (IMG:style_emoticons/kolobok_light/smile.gif)
Я для таких вещей встроил в НВН скриптовый интерпретируемый язык Ruby и собираюсь сделать веб-интерфейс, в котором визуально выбираешь логику - и на её основе генерируется скрипт, который сразу же подхватывается сервером. |
![]()
Сообщение
#2985
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Neverwinter Script ExecuteCommand("if (on_trigger AND $[0] == %PC%) foreach AbstractNwnPlayer player FROM `factions` WHERE `ID` <> %PC%["FACTION"] player->Instance()->ModAV 'Disposition' -100"); Это скрипт на дислайки? Пробовал вставлять в OnClick тригера,выдает ошибки на f7 Помогите написать етот скрипт в конце корнцов((((((((кто нибудь из скриптеров,я застрял на этом,в создании модуля Сообщение отредактировал Sugo77 - Jun 12 2008, 14:19 |
![]()
Сообщение
#2986
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
этот скрипт "на дислайки" требует для своей работы еще и парсера нормального, которого Аза тут конечно не выложил (IMG:style_emoticons/kolobok_light/smile.gif)
В чем проблема использовать SetPCDislike то? Выставил кому надо и готов твой скрипт на дислайк. Правда игрок ручками все поменять обратно может. |
![]()
Сообщение
#2987
|
|
Level 1 Класс: Обыватель Характер: Chaotic Good Раса: Элементаль ![]() |
Друзья а можете подсказать где взять а может уже кто и использует в своих PW скрипт на Area Reset (аналог Reset Instances из Мира Варкрафта). Мне нужен любой скрипт обнуляющий заданную Area и расставляющий в ней все заново(существ, вейпоинты, плейсеблс). Хочу припаять его к Камню перед пещерой на On_Used. А то я замучался нашел несколько скриптов но они существ не резетят, только энкаутеры, а мне так нельзя у меня много мобов по вейпоинтам бегает. Заранее спасибо (IMG:style_emoticons/kolobok_light/rolleyes.gif)
|
![]()
Сообщение
#2988
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Lex,дорогой,дак а где он находиться SetPCDislake?
И как правилно его настроить?но мне бы сперва его найти по словам так просто но незнающему человеку (мне) не просто разобраться с дислаками сначало найти бы еше,помоги плиз с етим вопросом.А то работа встала на етом(запускаю через интернет сервер для теста и только с мобами порядок,а игроки других двух фракций невраждебны мне.Помоги плиз с этим вопросом. Сообщение отредактировал Sugo77 - Jun 15 2008, 11:02 |
![]()
Сообщение
#2989
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Pryanik, для этого нужно знать структуру того, что у тебя на локе лежит. Лучше всего пометить каждую стартовую точку, на которой должен создаваться обжект, особым вейпоинтом, и локалками на нём указать, что за обжект.
|
![]()
Сообщение
#2990
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Ну подскажите плиз со скриптом set pc dislike
работа стоит а очень охото дальше над шардом работать |
![]() ![]() |
Текстовая версия | Сейчас: 6th May 2025 - 12:01 |