![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3136
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
это уже косяк того, что ты внутри OnPlayerRest напихал. Без полного текста скрипта тебе никто не поможет.
А вообще советую начинать разбираться самому. Дело пойдет быстрее, чем с каждым вопросом сидеть на форуме и ждать. |
![]()
Сообщение
#3137
|
|
Level 1 Класс: Варвар Характер: Chaotic Evil Раса: Человек ![]() |
это уже косяк того, что ты внутри OnPlayerRest напихал. Без полного текста скрипта тебе никто не поможет. А вообще советую начинать разбираться самому. Дело пойдет быстрее, чем с каждым вопросом сидеть на форуме и ждать. спасибо за ответы на все вопросы,но пока ждал уже сам во всем разобрался. Оффтоп,теперь борюсь с глючностью самой игры=( intel core 2 duo e6750,radeon hd 2600xt,4gb ram 800mghz,vista sp1 x64. В игре что на минимальных что на максимальных одинаково глючит,производительность как в crysis на максимальных,тобишь играть невозможно! При чем на старом кампьютере тоже самое но в меньшей степени(картинку ощутимо поддергивает)-там стоит все с точностью на оборот winxp 32,amd athlon 3000+,geforse 6600. P.S версия diamond 1.69 eng. В самом редакторе тоже одни ошибки постоянно выскакивают Atioglxx.dll P.S.S не ужели придется перебираться на NWN2 там все идет ровно! |
![]()
Сообщение
#3138
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
В nwnplayer.ini поставить Client CPU Affinity=0
|
![]()
Сообщение
#3139
|
|
Level 1 Класс: Варвар Характер: Chaotic Evil Раса: Человек ![]() |
В nwnplayer.ini поставить Client CPU Affinity=0 я конечно извеняюсь но оно там и стоит=( скорее всего что то в видео карте ,у кого на radeon игра нормально ползет? P.S опросил пару друзей играющих в нвн,сказали что не совсем уж и глючит но подлагивает,это что такие особенности движка?! |
![]()
Сообщение
#3140
|
|
Level 2 ![]() Класс: Обыватель Характер: Lawful Good Раса: Полуэльф ![]() |
Ну не знаю, на моем средненьком Radeon X1550 ничего не лагает) Хотя...блеск воды не работает))
|
![]()
Сообщение
#3141
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Ну, тогда могу могу посоветовать с дровами на видео пошаманить. Как вариант, поставить в advanced sound options другой кодек, например, miles fast 2D - у кого-то из-за этого были подобные глюки.
|
![]()
Сообщение
#3142
|
|
Level 5 ![]() ![]() Класс: Некромант Характер: Chaotic Evil Раса: Человек ![]() |
это уже косяк того, что ты внутри OnPlayerRest напихал. Без полного текста скрипта тебе никто не поможет. А вообще советую начинать разбираться самому. Дело пойдет быстрее, чем с каждым вопросом сидеть на форуме и ждать. Спасибо за совет. Это помогло. Как окозалось, перед последней вставленой строкой, нужна была еще всего-то одна строка: Neverwinter Script AssignCommand(oPC, ClearAllActions()); Теперь все работает. Огромное спасибо всем за помощь. |
![]()
Сообщение
#3143
|
|
Level 5 ![]() ![]() Класс: Некромант Характер: Chaotic Evil Раса: Человек ![]() |
Еще вопрос:
Вот это (из городской базы скриптов) инклюд: Neverwinter Script const string TXT_COLOR_GRAY = "<c°°°>"; // Gray const string TXT_COLOR_WHITE = "<cууу>"; // White const string TXT_COLOR_CYAN = "<c уу>"; // Light Cyan const string TXT_COLOR_MAGENTA = "<cу у>"; // Magenta const string TXT_COLOR_YELLOW = "<cуу >"; // Yellow const string TXT_COLOR_RED = "<cу >"; // Red const string TXT_COLOR_GREEN = "<c у >"; // Green const string TXT_COLOR_BLUE = "<c у>"; // Blue const string TXT_COLOR_NONE = ""; // Default (no color) const string TXT_COLOR_END = "</c>"; // (color end TAG) const string TXT_COLOR_DEFAULT = TXT_COLOR_CYAN; // Function changes color of the string // * Param sText - text to color // * Param sColor - parse a color constant here // * Returns colored string string colorText(string sText, string sColor); string colorText(string sText, string sColor) { return sColor + sText + TXT_COLOR_END; } А это пример: Neverwinter Script #include "lib_colortext" void main() { object oPC = GetEnteringObject(); if (!GetIsPC(oPC)) return; AssignCommand(oPC, SpeakString(colorText("you are entering object", TXT_COLOR_RED))); } А вот, собственно, и сам вопрос (их вообще-то два): 1) Как построить скрипт, чтобы вместо SpeakString работало FloatingTextStringOnCreature; 2) Как построить скрипт, чтобы вместо SpeakString работало SendMessageToPC. Кто знает ответ (может об таком скрипте уже спрашивали, но мне лень 126 страниц читать)? |
![]()
Сообщение
#3144
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
а в чем проблема то?
Ничего принципиально не меняется. В месте вывода текста ставишь вместо "текст" конструкцию Neverwinter Script colorText("you are entering object", TXT_COLOR_RED) Работает со всеми функциями по выводу текста, и FloatingTextStringOnCreature с SendMessageToPC - не исключение.
|
![]()
Сообщение
#3145
|
|
Level 5 ![]() ![]() Класс: Некромант Характер: Chaotic Evil Раса: Человек ![]() |
Забыл сказать. Мне нужно, что б это работало через object oPC = GetLastUsedBy.
Вот например: Neverwinter Script #include "lib_colortext" void main() { object oPC = GetLastUsedBy(); AssignCommand(oPC, FloatingTextStringOnCreature(colorText("You are using object", TXT_COLOR_RED))); } И вот последняя строка неработает. |
![]()
Сообщение
#3146
|
|
Level 7 ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Модмейкер Начало Войны ![]() |
А так? (IMG:style_emoticons/kolobok_light/smile.gif)
Neverwinter Script AssignCommand(oPC, FloatingTextStringOnCreature(colorText("You are using object", TXT_COLOR_RED),oPC));
|
![]()
Сообщение
#3147
|
|
Level 5 ![]() ![]() Класс: Некромант Характер: Chaotic Evil Раса: Человек ![]() |
Спасибо. Теперь работает скрипт.
|
![]()
Сообщение
#3148
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Вот это (из городской базы скриптов) инклюд: Это устаревшая библа, юзай x3_inc_string.
|
![]()
Сообщение
#3149
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
Ребята, плз, посмотрите, что тут не так и не то. Скрипт работает, вроде бы, но только с пробелами.
Суть: Герой подходит к плейсу (возле которого стоит вебпоинт--на нео он идет), нагинается шарит руками, говорит что-то, поднимается и идет к следующему плейсу. после того как выполнена анимация плейс должен дестроится и перс продолжает движение к следующему вебпоинту. Есть но: 1) еффект замедления не работает. --пишет, что герой иммунен к замедлению. что за... ? 2) плейсы не дестроятся! Я так понял плейсы не могут дестроится. Для этого они создаются как НПС, только выглядят как плейсы. (как например "трон" в финальной баталии Воина орды в ПЛ_1 ). Тогда возникают вопросы: а) дестроятся ли плейсы? если да то как? у меня в скрипте написана эта функция, но ничего не происходит. б) как из таблицы 2да плейсов переписать это плейс в 2да монстров? Проблема в том, что это стандартная палитра НВН. Если конкретней этот плей-- кусок грязи. С таблицы я переписал. А вот где взять файл палитры этой модели?? Как тут быть? Вот сам скрипт: Neverwinter Script // СНЯТЬ ЭФФЕКТ
// int iOne - EFFECT_TYPE_... void DelOneEffectOnPC(object oObject, int iOne) { effect eEffect = GetFirstEffect(oObject); while (GetIsEffectValid(eEffect)) { if (GetEffectType(eEffect) == iOne) RemoveEffect(oObject, eEffect); eEffect = GetNextEffect(oObject); } } void main() { object oPC = GetEnteringObject(); object oTP_1 = GetObjectByTag("TP_01"); object oTP_2 = GetObjectByTag("TP_02"); object oTP_3 = GetObjectByTag("TP_03"); object oTP_4 = GetObjectByTag("TP_04"); object oTP_5 = GetObjectByTag("TP_05"); object oWP_1 = GetWaypointByTag("WP_p_01"); object oWP_2 = GetWaypointByTag("WP_p_02"); object oWP_3 = GetWaypointByTag("WP_p_03"); object oWP_4 = GetWaypointByTag("WP_p_04"); object oWP_5 = GetWaypointByTag("WP_p_05"); effect eSlow = EffectSlow(); if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "TRIGGER") == 1) return; { SetLocalInt(OBJECT_SELF, "TRIGGER", 1); AssignCommand(oPC, ClearAllActions()); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSlow, oPC, 354.0); AssignCommand(oPC, ClearAllActions()); SetCutsceneMode(oPC); DelayCommand(1.0, AssignCommand(oPC, SpeakString("бла-бла-бла..."))); DelayCommand(2.0, AssignCommand(oPC, ActionMoveToObject(oWP_1))); DelayCommand(3.5, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 3.0, 1.0))); DelayCommand(4.0, AssignCommand(oPC, SpeakString("бла-бла-бла..."))); DelayCommand(5.8, ActionDoCommand(DestroyObject(oTP_1))); DelayCommand(7.0, AssignCommand(oPC, ActionMoveToObject(oWP_2))); DelayCommand(8.5, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 3.0, 1.0))); DelayCommand(9.0, AssignCommand(oPC, SpeakString("бла-бла-бла..."))); DelayCommand(10.0, ActionDoCommand(DestroyObject(oTP_2))); DelayCommand(11.0, AssignCommand(oPC, ActionMoveToObject(oWP_3))); DelayCommand(12.0, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 3.0, 1.0))); DelayCommand(14.0, ActionDoCommand(DestroyObject(oTP_3))); DelayCommand(15.0, AssignCommand(oPC, ActionMoveToObject(oWP_4))); DelayCommand(16.5, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 3.0, 1.0))); DelayCommand(17.0, AssignCommand(oPC, SpeakString("бла-бла-бла..."))); DelayCommand(18.0, ActionDoCommand(DestroyObject(oTP_4))); DelayCommand(20.0, AssignCommand(oPC, ActionMoveToObject(oWP_5))); DelayCommand(21.5, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 3.0, 1.0))); DelayCommand(22.0, AssignCommand(oPC, SpeakString("бла-бла-бла..."))); DelayCommand(23.0, ActionDoCommand(DestroyObject(oTP_5))); DelayCommand(25.0, AssignCommand(oPC, ClearAllActions())); DelayCommand(25.5, FadeToBlack(oPC, FADE_SPEED_FASTEST)); DelayCommand(26.0, AssignCommand(oPC, SetTime(GetTimeHour()+(Random(4)), GetTimeMinute()+(Random(60)), 0, 0); DelayCommand(26.0, AssignCommand(OBJECT_SELF, ActionResumeConversation()); DelayCommand(27.5, FadeFromBlack(oPC, FADE_SPEED_MEDIUM)); DelayCommand(43.0, SetCutsceneMode(oPC, FALSE)); } } Сообщение отредактировал serafim - Jun 22 2009, 11:48 |
![]()
Сообщение
#3150
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата еффект замедления не работает. --пишет, что герой иммунен к замедлению. что за... ? Значит иммунен. Такое достигается, например, любой вещью со свойством "freedom".Цитата плейсы не дестроятся! Я так понял плейсы не могут дестроится Удаляются. Перед удалением нужно снять флажок:Neverwinter Script SetPlotFlag(oPlaceable, FALSE); Цитата как из таблицы 2да плейсов переписать это плейс в 2да монстров? Сам никогда таким извращением не занимался, но здесь главное - перенести из placeables.2da в appearance.2da название модельки (ModelName -> Race). Остальное уже дело техники.
|
![]()
Сообщение
#3151
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
1)герой 1-го уровня, толко что созданый, голый, ни одной вещи в слоте. Какой тут иммун а?
2) "Сам никогда таким извращением не занимался, но здесь главное - перенести из placeables.2da в appearance.2da название модельки (ModelName -> Race). Остальное уже дело техники" Да название то модельки я перенес. А вот где взять саму палитру. в НВН нет же хаков, откуда можно выковырять эту палитру. Сообщение отредактировал serafim - Jun 22 2009, 13:14 |
![]()
Сообщение
#3152
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата герой 1-го уровня, толко что созданый, голый, ни одной вещи в слоте. Какой тут иммун а? Вот уж не знаю, но по-другому быть не может.Цитата А вот где взять саму палитру. в НВН нет же хаков, откуда можно выковырять эту палитру. Что значит "взять палитру"? Если в 2да прописана новая моделька существа, то её можно поставить любому существу как в кастомной палитре, так и на локации.
|
![]()
Сообщение
#3153
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
я имею ввиду, откуда взять фалы на цвет "куска грязи", его "форму" 3-д модель? из 2да в 2да я все характеристики которые были перекинул но этого же мало. А так как этот "кусок грязи" стандартная модель НВН, то я не знаю откуда взять эти файлы, ведь в тулсе при создании НПС, который будет выглядеть как кусок грязи- будет писатся и пишется что такая модель не существует.
хух, вроде бы обьяснил (IMG:style_emoticons/kolobok_light/smile.gif) Сообщение отредактировал serafim - Jun 22 2009, 17:19 |
![]()
Сообщение
#3154
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата я имею ввиду, откуда взять фалы на цвет "куска грязи", его "форму" 3-д модель? из 2да в 2да я все характеристики которые были перекинул но этого же мало. А какая разница? Движок видит эту модельку в стандартных ресурсах игры, назначить её можно хоть сотне кастомных существ или плейсов. По логике никаких проблем с назначением апиаренсу существа модельки, предназначенной изначальной для плейсов, быть не должно, кроме отсутствия анимации и т. д., но это фигня.Цитата пишется что такая модель не существует Не знаю, почему так. В прикрелённом файле пример 2дашки, у меня работает. Переделанный плейс в строке 871.Кстати, даже в дефолте есть несколько апиаренсов существ, которые используют модельки плейсов (найти можно поиском в appearance.2da по "object").
Прикрепленные файлы
|
![]()
Сообщение
#3155
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
ВСе заработало! СПС огромное!
Кусок грязи действительно определяяется нормально, как ты и говорил Илериен. Там просто в 2да-шке нужно было заполнить все данные, даже от фонаря (IMG:style_emoticons/kolobok_light/smile.gif) Плейсы удаляються. понял в чем была проблема-- ка оказалось в самом малом и незначительном, неправильно был написан ТЕГ (IMG:style_emoticons/kolobok_light/smile.gif) но вот еффект замедления так и неработает (IMG:style_emoticons/kolobok_light/smile.gif) ЗЫ: еще вопросик, будьте добры напишите скрипт при которм диалоговая строка появляется только когда выплвнена часть квеста, тоесть в журнале переменная будет стоять или 1 или 2 (IMG:style_emoticons/kolobok_light/smile.gif) а то я пишу и ничего не получается (IMG:style_emoticons/kolobok_light/sad.gif) |
![]()
Сообщение
#3156
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Neverwinter Script int StartingConditional() Вешать на Text Appears When слот целевой строчки диалога.{ int nVariable = GetLocalInt(<имя переменной>, <объект, на котором висит локалка - если игрок, говорящий с неписем, то нужно использовать GetPCSpeaker()>); return nVariable == 1 || nVariable == 2; } Цитата но вот еффект замедления так и неработает Посмотри, что вернёт функция GetIsImmune() для игрока и IMMUNITY_TYPE_SLOW, IMMUNITY_TYPE_MOVEMENT_SPEED_DECREASE, IMMUNITY_TYPE_PARALYZIS. За правильность написания названий констант не ручаюсь.
Сообщение отредактировал Ilerien - Jun 23 2009, 19:48 |
![]()
Сообщение
#3157
|
|
Level 4 ![]() ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Давно не бывал на этом сайте(
Так приятно снова сюда заглянуть!)))) Вообщем мне тут понадобился скрипт небольшой, если кто напишет буду очень благодарен. Нужно: 1)Активируем на персонажа(PC), скрипт запоминает ВСЕ его характеристики, заклинания, вещи(вещи не обязательно)... и т.д. Короче делает копию, но НЕ ставит её рядышком(как зеркало в ХотУ), а именно заносит в память, да так, чтобы эта копия не была привязана к моду, а могла позже появляется и в других(конечно если импортировать скрипт) 2)Активируем на себя появляется диалоговое окно, которое показывает кто уже есть и нажатии на нужного ставит его рядом(фракция не важна, просто ставит рядом как NPC) Вот еще что: если дважды на одного клацнуть - то нужно чтобы они не добавлялись, а заменялись. Нужно для DMа Вроде всё, если что непонятно изложил предупредите. Сообщение отредактировал Ogneslav - Jun 25 2009, 11:23 |
![]()
Сообщение
#3158
|
|
Level 5 ![]() ![]() Класс: Некромант Характер: Chaotic Evil Раса: Человек ![]() |
|
![]()
Сообщение
#3159
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Или это аналогичная стандартная появилась в x3? Именно. И намного более удобная.
|
![]()
Сообщение
#3160
|
|
Level 3 ![]() Класс: Волшебник Характер: Chaotic Good Раса: Эльф ![]() |
Елки -палки!!!!
эти диалоги меня замучили в конец. Вот смотрите: диалог №1 - хххххх - этот тиалог появляется при первом разговоре (сделано, все ок рабоатет); диалог №2 - хххххх- этот диалог появляется после первого и дает задание ( сделано, все ок работает); диалог №3 - хххххх- этот диалог появляется если у героя есть "вещь", ктору нужно принести получив задание от диалога №2. Так же этот диалог дает еще одно задание. тоесть- принесли вещь-- появился диалог -- получил задание. (сделано, все ок работате); диалог №4 -хххххх- этот диалог появлятся если выполнена часть квеста от диалога №3. тоесть в редакторе журанала бкдет стоять пременная 2 (задание рабито в журнале на три части:1,2,3). Диалог так же появляется если у героя есть вещь. тоесть идет проверка двух переменных: а) вещи б) переменной в редакторе журнала "2". (сделано, ни хрена не рабоатет); диалог №5 - ххххх - этот диалог появляется всякий раз когда у героя не выполнено задание или его просто нет, или просто так поболатать. вот скрипт на диалог №4: Neverwinter Script #include "nw_i0_tool" int StartingConditional() { if(GetLocalInt(GetPCSpeaker(), "LOCAL") == 2 && HasItem(GetPCSpeaker(), "METLA")) return TRUE; return FALSE; } вро де бы все правильно, но какого-то четра диалог №4 не запускается. Помогите пожалуйста. |
![]() ![]() |
Текстовая версия | Сейчас: 1st May 2025 - 22:55 |