![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2866
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Neverwinter Script Source while( GetIsObjectValid( shkura )) { DestroyObject( shkura ); i++; object shkura = GetObjectByTag( "w_gray", i ); } Я, наверное, неверно понял, т.к. снова много инструкций.. (IMG:style_emoticons/kolobok_light/unsure.gif) |
![]()
Сообщение
#2867
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
тут уже должно быть не "слишком много инструкций", а "омг!! что ж происходит то, епт!". Ибо нельзя под цикл заносить определение переменной.
Neverwinter Script Source object shkura = GetObjectByTag( "w_gray", i ); while( GetIsObjectValid( shkura ) ) { DestroyObject( shkura ); i++; shkura = GetObjectByTag( "w_gray", i ); } найдите 2 отличия, что называется. |
![]()
Сообщение
#2868
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Илья, я бы записал примерно так:
Neverwinter Script Source void main( ) { object oPC = GetPCSpeaker( ); object oItem = GetFirstItemInInventory( oPC ); // Первый предмет int iGold, iTigr, iGray; while( GetIsObjectValid( oItem )) // Если существует предмет { if ( GetTag( oItem ) == "w_gray" ) // ВОЛК {iGold+=10; iGray++; DestroyObject( oItem );} if ( GetTag( oItem ) == "w_tigr1" ) // ТИГР {iGold+=60; iTigr++; DestroyObject( oItem );} oItem = GetNextItemInInventory( oPC ); // Следующий предмет } if( iGold > 0 ) { GiveGoldToCreature( oPC, iGold ); if( iGray > 0 ) // Количество шкур Волка SendMessageToPC( oPC, "Продано шкур Волка: "+IntToString( iGray )); if( iTigr > 0 ) // Количество шкур Тигра SendMessageToPC( oPC, "Продано шкур Тигра: "+IntToString( iTigr )); } } P.S. Что будет не понятно спрашивай, и все же почитай про написание циклов… Лекс, а зачем удалять все шкурки в модуле? (IMG:style_emoticons/kolobok_light/biggrin.gif) |
![]()
Сообщение
#2869
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Лекс, а зачем удалять все шкурки в модуле? да я тупо не прочитал исходную задачу. Правил только проблемный кусок с зависшим циклом. То что там неправильная работа с инвентарем - я как-то и не заметил. (IMG:style_emoticons/kolobok_light/smile.gif) и кстати ты имхо зря целиком пишешь скрипт. Надо проблемные кусочки + подсказки как самому исправлять. А целиком.. (IMG:style_emoticons/kolobok_light/nea.gif) |
![]()
Сообщение
#2870
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
Спасибо огромное вам обоим! К сожалению, пришлось воспользоваться скриптом Геннадия, так как мой скрип забирал и шкурки у самого торговца)))) А золото мне давал, кстати)))
|
![]()
Сообщение
#2871
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Спасибо огромное вам обоим! К сожалению, пришлось воспользоваться скриптом Геннадия, так как мой скрип забирал и шкурки у самого торговца)))) А золото мне давал, кстати))) это потому что кроме проблемы бесконечного цикла у тебя еще куча неточностей была. В следующий раз сделаешь просто ту же ошибку, не более того. |
![]()
Сообщение
#2872
|
|
Level 2 ![]() Класс: Маг Характер: True Neutral Раса: Эльф ![]() |
Напишите, пожалуйста, скрипт на то, чтобы с появления персонажа он лежал на спине...
|
![]()
Сообщение
#2873
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
могу подсказать куда копать. Готовый скрипт в принципе тоже могу дать, но толку будет 0: все скрипты для модуля за тебя никто не напишет. нужно осваивать самому или привлекать скриптера.
собсна подсказка: функция ActionPlayAnimation + константа-параметр ANIMATION_***_DEAD_BACK (там под *** FIREFORGET вроде, но я не уверен). Если под персонажем ты имел ввиду НПС, то добавить получившуюся строку в onSpawn скрипт. Если персонаж - игрок, то втыкать это надо в onClientEnter в слотах модуля. Но там придется воспользоваться AssignCommand |
![]()
Сообщение
#2874
|
|
Level 3 ![]() Класс: Обыватель Характер: Chaotic Evil Раса: Человек ![]() |
QUOTE как перевести из int в string? На С++ atoi() и atof() atof переводила массив чаров в дабл. atoi переводила массив чаров в инт. Чтение хедеров фтв. |
![]()
Сообщение
#2875
|
|
Level 11 ![]() ![]() ![]() Класс: Воин Характер: Lawful Good Раса: Человек ![]() |
|
![]()
Сообщение
#2876
|
|
Level 3 ![]() Класс: Обыватель Характер: Chaotic Evil Раса: Человек ![]() |
QUOTE для примера привел эти два оператора. Это не операторы, это функции. |
![]()
Сообщение
#2877
|
|
Level 7 ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Модмейкер Начало Войны ![]() |
Есть невидимые объекты (creature). Нужно реализовать, чтобы они были видимыми только когда у PC надет определенный айтем (шлем к примеру), при этом всем другим PC они должны оставаться невидимыми. Подскажите как реализовать, если это возможно.
|
![]()
Сообщение
#2878
|
|
Level 12 ![]() Класс: Оборотень Характер: Chaotic Neutral Раса: Нежить NWN: Скриптинг [Sn] ![]() |
шлем с трусиингом?
|
![]()
Сообщение
#2879
|
|
Level 7 ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Модмейкер Начало Войны ![]() |
Наподобе, но чтобы стандартные заклинания определяющие невидимых не работали на этих существах.
|
![]()
Сообщение
#2880
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Есть невидимые объекты (creature). Нужно реализовать, чтобы они были видимыми только когда у PC надет определенный айтем (шлем к примеру), при этом всем другим PC они должны оставаться невидимыми. Подскажите как реализовать, если это возможно. Стандартными средставми NWN именно так, как описано, сделать нельзя. Я недавно сделал Proof of Concept и в скором времени напишу NWNX-плагин для таких вещей (индивидуальное управление видимостью объектов).
|
![]()
Сообщение
#2881
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Добрый вечер. Скажите, пожалуйста, как можно прописать в скрипте, чтобы девастат не убивал, а, например, заберал 80% ХП?
Ответ можно прислать и на мыло: dracul@ukr.net |
![]()
Сообщение
#2882
|
|
Level 2 ![]() Класс: Маг Характер: Chaotic Good Раса: Человек ![]() |
Вообщето я не понял, кто такой девостат, но...
почему нельзя просто узнать сколько у персонажа XP и просто присвоить ему на 80% меньше? типа: Код object oPC=GetFirstPC();//работаем з нашим главным персонажем //або якщо комусь більше подобається, можна написати object oPC=GetEnteringObject(); int XP=0;//инициируем переменную XP = GetXP(oPC);//вытаскиваем нинищнее значение XP XP = FloatToInt(XP-XP*0.8); //Выщитываем результат SetXP(oPC,XP);//Бросаем назад нашему персонажу Если я правильно понял - то так (IMG:style_emoticons/kolobok_light/rolleyes.gif) Сообщение отредактировал ZipovUA - Feb 12 2008, 23:05 |
![]()
Сообщение
#2883
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
1. ХП - Хит Поинты, а не очки опыта. Так что приведенный код малек не туда
2. проблема описанной идеи не в написании кода (это как раз детский сад). А в том, чтобы привязать код к эффекту от девастата. Я не помню как там сделано в НВН1, но вроде бы девастат - фит не активируемый на противнике.. соотв своего скрипта-исполнителя у него нету. Поэтому как решить задачу не через nwnx не знаю (через нвнх тоже не знаю как, но знаю что можно) |
![]()
Сообщение
#2884
|
|
Level 1 Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Возможно вы не поняли суть вопроса, шард имеет лвлкап 25, девастат в чистом виде сильно крут для этого шарда, спасы не соответсвуют, но выключать его полностью - значит сделать дисбаланс в сторону магов, можно ли как-то или понизить дц девастата или сделать чтоб он не убивал, а снимал Х число хитов, либо в процентах?
|
![]()
Сообщение
#2885
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
|
![]()
Сообщение
#2886
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Вообще вариант есть (IMG:style_emoticons/kolobok_light/smile.gif) Если на оружие не планируется вешать кастомные OnHit-ы (т.к. движок поддерживает тока 1 на брата), то можно сделать свой девастат.
Получение: кастомные ничего не дающие фиты (просто флаги, подтверждающие взятие девастата) Включение: на одевание шмотки (OnItemEquip) или даже на ее получение (acquire), если у чара есть фит (см. выше) на оружие, вешать свое OnHit-свойство, которое и будет эмулировать девастат с нужными фиксами. На снятие свойство удаляется. Плюс ведро проверок. В результате каждое попадание будет запускаться наш скрипт и там уже хоть 80% хп, хоть отрубание головы (IMG:style_emoticons/kolobok_light/smile.gif) P.S. Да, я знаю толк в извращениях (IMG:style_emoticons/kolobok_light/smile.gif) Зато без нвнх. |
![]()
Сообщение
#2887
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Включение: на одевание шмотки (OnItemEquip) или даже на ее получение (acquire), если у чара есть фит (см. выше) на оружие, вешать свое OnHit-свойство, которое и будет эмулировать девастат с нужными фиксами. На снятие свойство удаляется. Плюс ведро проверок. А можно проверять, есть ли фит, в самом онхите (IMG:style_emoticons/kolobok_light/smile.gif) Только придётся руками делать хитрый чек, эмулирующий крит.
|
![]()
Сообщение
#2888
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Денисок, а как ты отследишь крит? Любой дамаг выше максимального для данного оружия с бонусами - крит? вроде как нет, да и нагрузка на такие расчеты при каждом ударе..
|
![]()
Сообщение
#2889
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Сразу видно, что я недостаточно играл на эпиках (IMG:style_emoticons/kolobok_light/smile.gif) Но и тут есть выход (IMG:style_emoticons/kolobok_light/smile.gif) Следуя уже придуманной извращенной схеме можно самому сделать параллельную проверку крита с учетом диапазона оружия и наличия фитов. Т.е. крит отдельно, девастат (хотя это уже не девастат, а плюшка, отдаленно его напоминающая) отдельно, но шансы их равны.
При провале чека прям сразу вначале скрипта выходим, так что особой нагрузки не будет. Главное тут диапазоны оружий вынести в инклуд, а не грузить каждый раз из 2да, иначе шляпа. Я при слове "нагрузка" всегда вспоминаю аи с его 15к строками в одном из инклудов (IMG:style_emoticons/kolobok_light/smile.gif) Громоздко, согласен. Даже кривовато. Но тем не менее реализуется без нвнх. Кстати, как сделать это через нвнх, ума не приложу. Видимо нужен свой плагин, блокирующий работу кода девастата и заодно запускающий вместо него скрипт. Но я такого не видел, поэтому и предложил то, что относительно реально сделать. |
![]()
Сообщение
#2890
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Не вариант (IMG:style_emoticons/kolobok_light/smile.gif) Ты не сможешь нормально посчитать атаку - только приблизительно, не учесть тучу бонусов (например, всякие там против видового разнообразия). Крит подтверждается броском против АС - там тоже проблемно, потому что точный АС ты не рассчитаешь - флетфутед и прочие пакости не дадут.
Сообщение отредактировал Ilerien - Feb 20 2008, 21:53 |
![]() ![]() |
Текстовая версия | Сейчас: 3rd May 2025 - 22:42 |