![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2476
|
|
Level 2 ![]() Класс: Воин Характер: True Neutral Раса: Эльф ![]() |
Вооо спс патчик поставил все нормально запахало!!
|
![]()
Сообщение
#2477
|
|
Level 5 ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Good Раса: Человек ![]() |
Выложите плз 64битные текстуры для нвн
|
![]()
Сообщение
#2478
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Ого. Когда то такое было актуально этак в 2003 году. (IMG:style_emoticons/kolobok_light/prankster2.gif)
Ты что, старушку с СД НВН пиратского производства 2002 года убил какую-то? |
![]()
Сообщение
#2479
|
|
Level 5 ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Good Раса: Человек ![]() |
откопал старый диск, ибо на винте убил дистриб. , решил поиграть, а там пиратка урезаная...но я уже откопал текстуры на 64 бита, у себя же...
|
![]()
Сообщение
#2480
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
Может кто-нибудь сходу сказать, есть ли предел очереди по AssignCommand?
|
![]()
Сообщение
#2481
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Надо тестить. Думаю, что предела, зашитого в функцию, нет; возможно, какие-то ресурсные ограничения.
|
![]()
Сообщение
#2482
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
У акций есть предел. Про AssignCommand никогда не задумывался. А сколько команд там?
|
![]()
Сообщение
#2483
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
У меня получается что-то порядка 498-500 команд.
Neverwinter Script void TestCommand(object oCreature, object oPC, int n);
void Continue(int n, object oPC, object oCreature); void Continue(int n, object oPC, object oCreature) { if (n < 249)//При этом работает, при 250 - уже нет. Проверялось на двух разных машинах(буду признателен, если кто ещё посмотрит). { AssignCommand(oCreature, TestCommand(oCreature, oPC, n)); SendMessageToPC(oPC, IntToString(n)); DelayCommand(0.0, Continue(n+1, oPC, oCreature)); return; } } void Start(object oCreature, object oPC) { SendMessageToPC(oPC, "Started."); AssignCommand(oCreature, ActionWait(30.0)); AssignCommand(oCreature, ActionSpeakString("Begin.")); Continue(0, oPC, oCreature); return; } void TestCommand(object oCreature, object oPC, int n) { AssignCommand(oCreature, ActionWait(0.01)); AssignCommand(oCreature, ActionSpeakString(IntToString(n)+" : completed")); SendMessageToPC(oPC, IntToString(n)+" : assigned");//Кстати, что забавно, несмотря на то, что сама TestCommand тоже по Assign'у идёт, эту строчку он выдаёт сразу после него и чихать хотел на 30секундную паузу. return; } void main() { object oObject = GetObjectByTag("NPC_TEST"); object oPC = GetFirstPC(); DelayCommand(4.0, Start(oObject, oPC)); } Сообщение отредактировал greye - Dec 27 2009, 22:55 |
![]()
Сообщение
#2484
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
А ты попробуй из скрипта убрать DelayCommand в первой функции. С ним всегда большие проблемы. Возможно из-за него может налаживаться ограничение. Это как предположение ИМХО.
|
![]()
Сообщение
#2485
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
Action List Overflow: (502>75) OID: 80000002, Tag: NPC_TEST
Action List Erased: (502>500) OID: 80000002, Tag: NPC_TEST Delay ни при чём. Правда, это всё равно не то, что меня интересовало. Опыты показывают, что пользовательские функции и стандартные action идут в разные очереди. Вот для пользовательских я отследить уже не могу такой вещи - там либо команды не ждут завершения предыдущей, либо too many instructions. Сообщение отредактировал greye - Dec 28 2009, 13:30 |
![]()
Сообщение
#2486
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Кстати, что забавно, несмотря на то, что сама TestCommand тоже по Assign'у идёт, эту строчку он выдаёт сразу после него и чихать хотел на 30секундную паузу. Всё верно, если бы ты вызывал SendMessageToPC() через ActionDoCommand(), то пауза была бы.Мне кажется, ошибка тут вызвана именно переполнением очереди экшенов, для которой предел - ровно 500. Краткое исследование лексикона эту идею подтверждает: Цитата AssignCommand() can be used by any object at any time to delay some code running, it will not assign commands as actions - so AssignCommand(oTarget, Foobar()); should just run the code instantly, not after any additional actions. This is only true for the void functions put into an AssignCommand - any actions put into one will be stilladded to the end of an action queue on the object. TMI на "пользовательских" функциях (а на самом деле, на любых, не трогающих стек экшенов) говорит о том, что жёсткого ограничения на количество assign'ов либо нет, либо оно более 9к (IMG:style_emoticons/kolobok_light/smile.gif) Сообщение отредактировал Ilerien - Dec 29 2009, 16:57 |
![]()
Сообщение
#2487
|
|
Level 3 ![]() Класс: Бард Характер: Neutral Good Раса: Эльф ![]() |
Не знаю точно, стоит ли задавать сюда, ведь тут замешан не только тулсет, но и 2da. Нужна реализовать следующее:
При одевании башенные щиты дают штраф к ловкости, скорости передвижения и, еще не решено, атаке. В зависимости от введенных штрафов дают консил, либо не дают. Башенные щиты невозможно одевать/снимать в бою, так же как и любые доспехи. Фулл плейт также дает минус к скорости передвижения Маленькие щиты можно будет использовать вместе с двуручным оружием (возможно, со штрафом к атаке, как в ПХБ). Внимание, вопрос: Насколько сложно все это реализовать мне будет? 2да рекдатировать в состоянии, что надо писать в OnEquipped приблизительно представляю. Вот, нужна консультация. И еще вопрос: в папке 2dasource находятся все используемые НВН файлы или только часть? Потому что разбрав один хак, я обнаружила файлы, к примеру, iprp_weightinc.2da, iprp_neg10cost.2da, которых нет в source. И если это кастомные 2да, то опять таки, насколько сложно их сгенерить? |
![]()
Сообщение
#2488
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
В 2dasource не все игровые таблицы. Все можно посмотреть, к примеру, NWN Explorer'ом.
Замедления и штрафы - несложно. С остальным не уверен. |
![]()
Сообщение
#2489
|
|
Level 3 ![]() Класс: Бард Характер: Neutral Good Раса: Эльф ![]() |
С замедлением и штрафами как раз проблем нет. Практически. Просто на OnEqupped с проверкой на baseitem, я полагаю. А вот остальное меня смущает куда сильнее.
|
![]()
Сообщение
#2490
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
|
![]()
Сообщение
#2491
|
|
Level 3 ![]() Класс: Бард Характер: Neutral Good Раса: Эльф ![]() |
Запрет действия на щиты это как? И через что? К тому же, запрет должен быть не на все щиты, а именно на башенные. Большие щиты действуют как обычно, а маленькие можно одевать с двуручным оружием (опционально и с оружием в двух руках, но это я вообще не представляю, как)
|
![]()
Сообщение
#2492
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
Про маленькие с двуручным я пока вообще молчу, ибо не знаю. Есть идея, как тут выкрутиться, но это _действительно_ изврат.
А сделать так, чтобы башенные щиты нельзя было снимать или одевать в бою достаточно просто. События OnEquip и OnUnequip, проверяшь базовый тип снятого/одетого предмета(GetItemBaseType), если BASE_ITEM_TOWERSHIELD, то проверяешь, находится ли в бою игрок(GetIsInCombat). Если находится, то чистишь ему все действия и заставляешь одеть/снять вышеупомянутый щит. |
![]()
Сообщение
#2493
|
|
Level 3 ![]() Класс: Бард Характер: Neutral Good Раса: Эльф ![]() |
Цитата . Есть идея, как тут выкрутиться, но это _действительно_ изврат. Я полагаю, сделать на все маленькие щиты Unique Power, который будет перемещать свойства щита на шкурку игрока, эмулируя одетый маленький щит? (IMG:style_emoticons/kolobok_light/smile.gif) Цитата Если находится, то чистишь ему все действия и заставляешь одеть/снять вышеупомянутый щит. Меня это смущает. Очистить действия это значит остановить его атаку, лечение или др. А это может быть чревато проигранным сражением и собственно смертью. Нельзя ли сделать идентично одеванию доспехов в бою? |
![]()
Сообщение
#2494
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
Нельзя ли сделать идентично одеванию доспехов в бою? Нельзя. Я полагаю, сделать на все маленькие щиты Unique Power, который будет перемещать свойства щита на шкурку игрока, эмулируя одетый маленький щит? smile.gif Нет, всего лишь скриптом проверять предмет и одевать другой... |
![]()
Сообщение
#2495
|
|
Level 3 ![]() Класс: Бард Характер: Neutral Good Раса: Эльф ![]() |
Мне казалось, движок НВН не позволяет одевать к оружию, которое для существа является Большим, что-либо еще
|
![]()
Сообщение
#2496
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
Не позволяет. Поэтому идея была такой, что надо заменять большой предмет на точно такой же по характеристикам и внешнему виду, но только маленький. Изврат.
Другими словами, я не знаю, как это можно сделать. Сообщение отредактировал greye - Jan 5 2010, 23:49 |
![]()
Сообщение
#2497
|
|
Level 3 ![]() Класс: Бард Характер: Neutral Good Раса: Эльф ![]() |
Но тогда придется для абсолютно каждого двуручного оружия делать его аналог среднего размера при одевании маленького щита. Это не изврат, это просто даже-не-знаю-что. Хм, интересно, можно ли все-таки как то это обойти? Скажем, гиганты могут использовать двуручное (для людей) оружие и щиты. Может, что-то менять временно при одевании маленького щита
|
![]()
Сообщение
#2498
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Замедления и штрафы - несложно С эффектами как раз будет очень геморно. Во-первых, нужно убирать свойства типа Freedom и Immunity: Level/Ability Drain & Movement Speed Decrease с вещей и заклинаний, во-вторых, неясно, по какому признаку эти эффекты снимать. Можно, конечно, зарезервировать для них комбинацию перманентный-супернатуральный, но кто сказал, что она не понадобится для чего-нибудь ещё?Цитата Поэтому идея была такой, что надо заменять большой предмет на точно такой же по характеристикам и внешнему виду, но только маленький. Изврат. И оружие станет одноручным со всеми вытекающими последствиями. А ещё надо учесть то, что базовый итем другой - значит фиты на оружие на нём работать не будут (решение есть, но это очень много лишней работы).Не надо заморачиваться полным соответствием рулбукам, во-первых, движок НВНа не позволит, во-вторых, реализация даже только всех переносимых фич из ПХБ и ДМГ требует более 9к человеко-дней, в-третьих, сами рулбуки 3.5 зачастую друг другу противоречат. Сообщение отредактировал Ilerien - Jan 6 2010, 07:02 |
![]()
Сообщение
#2499
|
|
Level 3 ![]() Класс: Бард Характер: Neutral Good Раса: Эльф ![]() |
Цитата Можно, конечно, зарезервировать для них комбинацию перманентный-супернатуральный Так и собираюсь. Еще вроде на фулл плейты замедление хотела. Немного не по ПХБ, ведь там снижение скорости начинается со средних доспехов, но все-таки. Еще есть проблема. Нужна система лута взамен стандартной биоваревской. Суть такова: зависимость максимальной общей ценности выпавших после смерти (либо сгенеренных на OnSpawn) шмоток + золота с моба зависит ТОЛЬКО от его CR + некоторого рендома, который определяется d100. Вот и все. Идеально было б этому прикрутить генерацию вещей (рендомные свойства) в указанном выше диапазоне общей стоимости. |
![]()
Сообщение
#2500
|
|
Level 7 ![]() ![]() Класс: Некромант Характер: True Neutral Раса: Нежить ![]() |
Еще есть проблема. Нужна система лута взамен стандартной биоваревской. Суть такова: зависимость максимальной общей ценности выпавших после смерти (либо сгенеренных на OnSpawn) шмоток + золота с моба зависит ТОЛЬКО от его CR + некоторого рендома, который определяется d100. Вот и все. Идеально было б этому прикрутить генерацию вещей (рендомные свойства) в указанном выше диапазоне общей стоимости. В чём проблема? Это не столько сложно, сколько муторно. |
![]() ![]() |
Текстовая версия | Сейчас: 28th April 2025 - 10:45 |