![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#701
|
|
Level 5 ![]() ![]() Класс: Маг Характер: Chaotic Evil Раса: Танар'ри ![]() |
:DB: И еще один мааленький вопросец :swoon: - можно ли манипулировать очередью actions обьектов? Утрировано - NPC по скрипту перемещается к тэгу А, потом к тэгу B, потом к тэгу C. Можно ли каким-то образом выяснить, есть ли к примеру в очереди для этого объекта комманда "переместиться к тэгу B" и очередность её выполнения относительно других комманд очереди? Можно ли каким-то образом "вручную" менять очередность? :unsure:
|
![]()
Сообщение
#702
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Grazzt, Dark Prince зачем такие заморочки. Скрипт то ты сам пишешь. Вот и определись к каждому посту свои условия, к примеру дистанцию или вешавй локалку на НПС. А выуживание акций на кой?
Добавлено в [mergetime]1108395396[/mergetime] Опиши твою ЗАДАЧУ. Мы подскажем как ее реализовать. А твои домыслы могут быть ужасно не в кассу... |
![]()
Сообщение
#703
|
|
Level 5 ![]() ![]() Класс: Маг Характер: Chaotic Evil Раса: Танар'ри ![]() |
->Aiwan: Меня интересует сама возможность. :xz: И нужно это мне скорее в целях более эффективной отладки сценариев игры. Понятное дело, что можно послать какой нибудь ClearAllActions, и попробовать сформировать цепочку событий самостоятельно. Но есть один тонкий момент - если цепочку событий для обьекта одновременно формируют несколько различных довольно обьемистых скриптов, то логика работы системы становится достаточно интересной и не всегда до конца предсказуемой в силу довольно таки высокой сложности этой самой логики и недостатка времени на бетатестирование. Как правило приходится довольно страшно изголяться с очисткой буфера комманд и локальными переменными, что не всегда (ну во всяком случае из моей скудной практики программирования под Аврору) есть гуд. Конечно можно сказать, что надо по возможности избегать таких моментов. Но увы и ах - не всегда это удается. И тогда наступают муки адовы, выражающиеся в длительных попытках найти логическую ошибку в собственных скриптах не имея нормальных средств отладки. Разобраться в этом помогло бы что-то вроде лога всех скриптовых комманд с результатами отработки, посланных во время игрового процесса. Но увы - этого видимо нет (а было бы удобно...). По этому на худой конец подошли бы и некие функции получения мгновенного состояния буфера комманд. Это был бы просто луч света в темном царстве. :drag:
|
![]() ![]()
Сообщение
#704
|
|||
Восставший из пепла ![]() ![]() ![]() Класс: Бледный Мастер Характер: Neutral Evil Раса: Человек ПОДМАСТЕРЬЕ ![]() |
Здрастеся все. У меня тут небольшой косяк, помогите пжАААлуйста: :swoon: :swoon:
Этот скрипт вствляется в OnDamage(или как его там, непомню. Вообщем мысля понятна)НеПиСя. И когда НеПиСь получает повреждение(т.е. его атакуют), то он должен достать меч. В принципе все получается, но я не знаю как сделать проверку на, то, что НеПиСя атакуют. Помогите.Плизззззз! :mamba: P.S.: КУДА ВСЕ РАЗБЕЖАЛИСЬ? Сообщение отредактировал Archangel - Feb 14 2005, 21:22 |
||
![]()
Сообщение
#705
|
|||||||||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Скорее всего нет.
Извини, но твои запросы непонятны с точки зрения необходимости. Зачем выуживать то что там накопилось? И пытаться разобраться? ТЫ что, будешь сам ковырять стэк? Или доверишься СКРИПТУ? По твоей логике, ты делаешь подсластитель сахару. Ты и отличаешься от компьютера, что можешь сам задать логику своих скриптов и прочее. И вообще, ОПИШИ хоть ОДНУ ситуацию, когда тебе это действительно НАДО. В стэк помещается 75 акций. Ты получил 50 разных. Что делаешь? :D Все что ты описал это не аргумент, это сожаления неумелого скриптера. Когда ты научишься писать скрипты хорошо, твой вопрос будет снят сам собой. Как что то в модуле работает без твоего ведома??? Я не пойму ты тогда зачем там? :D Давай конкретную ситуацию. Ты делаешь то то, а происходит то-то и ты не знаешь почему. И поговорим.
Мы тут сидим от нечего делать и правим всем скрипты. Все остальное для нас пустой звук в мире. :dirol: О! Ну наконец я могу помочь страждущему! :SM: Поставь это на ОнДамадж НПС.
|
||||||||
![]()
Сообщение
#706
|
|||
Восставший из пепла ![]() ![]() ![]() Класс: Бледный Мастер Характер: Neutral Evil Раса: Человек ПОДМАСТЕРЬЕ ![]() |
Да, ладно Aiwan... Это я ж так, шуча..... А за скрипт спасибушки! %) %) %) Добавлено в [mergetime]1108460998[/mergetime] Aiwan! Че-то твой скрипт не фурычит! Я,конечно, мало че в этом понимаю, но вроде бы тута еще переменная нужна...... Пытался сам енто исправить, но не получилось. Ибо мозгов не хватает. P.s.: Не компилится во 2й строчке. :ph34r: :ph34r: :ph34r: |
||
![]()
Сообщение
#707
|
|||
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
Archangel я конечно не уверен, бо не проверял, но есть подозрение, что при каждом попадании по NPC он будет делать доставание меча, что, имхо, негативно скажется на его боеспособности... правильнее, наверное, так:
кстати, Archangel знаком с такой штукой - лексикон? ps. по поводу "доставания меча" - во времена "игры запоем" обнаружил такую штуку: если во время боя постоянно менять "набор оружия", процент попадания сильно увеличивается... это, конечно, субъективно, но так показалось. :xz: |
||
![]()
Сообщение
#708
|
|
4-х Кубовый ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек NWN: Скриптинг [Sn] Проклятие Левора ![]() |
dumbo
AssignCommand(OBJECT_SELF, ...) - это бессмысленная строка. Достаточно просто ClearAllActions(); ActionEquipItem(...); DetermineCombatRound(...); |
![]()
Сообщение
#709
|
|
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
DBColl
каюсь. AssignCommand применительно к селфу - лишнее стопудово :yes: взял из первого попавшегося скрипта, особо не раздумывая... а надо было. |
![]() ![]()
Сообщение
#710
|
|
Level 5 ![]() ![]() Класс: Маг Характер: Chaotic Evil Раса: Танар'ри ![]() |
>Aiwan: Немного флуда (непреднамереного) и вопрос. :DB:
Необходимость простая - отладка. Другой нет (пока). Ничего предосудительного в том, чтобы если уж существует буфер акций, то иметь возможность полноценной работы с ним, я не вижу (можно отнести к разделу моих пожеланий по второму NWN :D ). Ну впрочем вчера я и без этого разобрался. Проблема была в синхронизации действий "босса" и его "подручных" во время боя с PC и была связана с несколько некорректным планированием боевой ситуации с моей стороны. Нужно было точно синхронизировать работу трех скриптов, в одном из которых была ветка, завязяная на здоровье "босса". Из-за разности наносимого демеджа в конкретный момент времени в различных тестовых боях в некоторых случаях возникало рассогласование действий актеров. И в результате получалось тоже неплохо, но не так, как я хотел (в основном из-за не вовремя посланных DelayCommand). Решилось все просто изменением значения двух локальных переменных. Чисто (на мой непросвященный взгляд) логическая ошибка, на которую я угробил 8,5 часов своего драгоценного времени и чего бы не было, знай я содержимое буфера. А так пришлось сендить все имеющиеся переменные и долго и упорно ловить мелкий(?!) но гадский глюк. На счет опытности ты прав - на Авроре я програмлю всего неделю, по этому скрипты у меня вероятно еще не очень хорошие :D Впрочем ничего особенного в Авроре нет кроме массы нюансов (а в них вся соль!), которых о которых я еще (пока!) не знаю. Например (это уже вопрос!) 75 акций - это для всех обьектов или для одного? |
![]()
Сообщение
#711
|
|||||||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Да, ты прав, я невнимательно написал и кстати без ароры, что естественно мог ошибиться в синтаксисе...
У каждого объекта есть стек команд, он вмещает 75 акций.
Давай поговорим через год. Тогда ты скажешь, нужна эта функция для доставания акций из стэка или нет. За два с лишним года ты первый кто об этом заикается. Но скажу так, никакие функции не заменят кривых скриптов. Мне интересно, как ты собрался десять акций идти по вейпам узнавать из какого скрипта какая акция? Ты хочешь еще кнопочку еррорлог, и тебе пишет тулсет где какую запятую тебе поставить, мол вы ошиблись. :) Учись скриптить и не морочь нам голову. К тому же, ты разбираешься в них неплохо для новичка. Так что скоро будешь смеяться над своим предложением. |
||||||
![]()
Сообщение
#712
|
|||
4-х Кубовый ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек NWN: Скриптинг [Sn] Проклятие Левора ![]() |
Для КАЖДОГО объекта. А иметь возможность просматривать стек акций было бы действительно неплохо... :yes: |
||
![]()
Сообщение
#713
|
|||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Согласен. Но не сделает Биовар это вам. Обсидан тоесть... Скажут учите Лексикон. |
||
![]()
Сообщение
#714
|
|||
Level 8 ![]() ![]() ![]() Класс: Маг Характер: Lawful Good Раса: Полуэльф ![]() |
это уменьшенная копия второго, но тут дело так, что все эффекты могут удалиться...Вот...
|
||
![]() ![]()
Сообщение
#715
|
|||
Level 5 ![]() ![]() Класс: Маг Характер: Chaotic Evil Раса: Танар'ри ![]() |
[SIZE=1]
:D Ну ведь есть раздел пожеланий. Наверно если хорошенько пожелать :lol: , да еще кто-то не поленится перевести... :D Так и вертится цитата: "...Ибо Писание говорит фараону: для того самого Я и поставил тебя, чтобы показать над тобою силу Мою и чтобы проповедано было имя Мое по всей земле... " Послание св. Павла к римлянам. :DB: |
||
![]()
Сообщение
#716
|
|||||
Level 8 ![]() ![]() ![]() Класс: Маг Характер: Lawful Good Раса: Полуэльф ![]() |
Grazzt, Dark Prince :wizard: ЭХ......мыслители..... Ээээээээх... Aiwan СМОТРИ, СМОТРИ СЮДА!!!! :BRAVO: Вот смотри... решил сделать скрипт, как вещи Нашера...Там где статы прибавлябтся, если все собрал... Но не понял особо инклуды и готовые, поэтому написал свой...
это когда одел
это когда снял, но иконки эффекта не исчезают.... есть что-нить полегче, да и заодно подскажи, как полегче сделать.... Не зря ученик у учителю обращается... :this:
|
||||
![]()
Сообщение
#717
|
|
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
MasterMage
тебе надо делать не EffectAbilityDecrease, а цикл по уже наложенным эффектам на перса, выуживать наложенные тобой, и их снимать. А так ты вешаешь допольнительные новые эффекты на снимании... |
![]()
Сообщение
#718
|
|||||||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
слот onUnLock
В случае, если РС успешно взломал дверь, то стражник нападает. Как тебе вроде и надо.
это нельзя сделать именно так. Можно что игрок пытается открыть дверь, но не может. слот onFailToOpen
Проверил, все работает |
||||||||
![]()
Сообщение
#719
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
MasterMage я такие скрипты не писал. Спроси ДБа или Лекса. :rolleyes:
|
![]()
Сообщение
#720
|
|||||||||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
абсолютно верно.
Вроде так Как видишь, локалки не нужны. Так что первый скрипт можно упростить
нет. Можно добиться такого эффекта другим методом, но копаться в стеке акций нельзя.
если он получил Дамаг, значит его атакуют. проверка не нужна.
Не кипятись. :D |
||||||||||
![]()
Сообщение
#721
|
|||||
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
боюсь, что и Lex не попал... прилагаю официальную спраУку:
так что тут должно быть примерно такое:
дабы не сымать "чужие" эффекты, стоит проверочка на создателя... если я правильно помню, то этим не обойдешься, если хочешь, чтоб все ровно было - после реста эти эффекты "улетают"... :swoon: |
||||
![]()
Сообщение
#722
|
|||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Хехе, нет, dumbo, тут я все попал. :)
но я то что удаляю?
Проверку на креатора можно внести в мой вариант, но просто подъем стата на 10 пунктов вещь довольно редкая. Но твой вариант тоже верен. За одним НО - снимутся все эффекты повышения статов, наложенных модулем. А это могут быть эффекты от других вещей. (например зелье ловкости. Хотя тут я не уверен, что эффект накладывает модуль, надо попробовать.) Я уже сталкивался с подобными делами. У себя я демал моим вариантом + проверял креатора. Чтобы уж наверняка. (креатором был НПС Effector, что стоял у меня в закрытой локации. ) |
||||
![]()
Сообщение
#723
|
|
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
Lex
эх, спорить буду. :tomato: спраУку я привел немного не для того... а для чего - сейчас поймешь. :drag: удаляешь ты тот что нужно эфект, перечисляемый. да. но! обрати внимание с чем ты его сравниваешь. вот где порылась собака, описываемая в нотайсе. ты сравниваешь эффект созданный (давно=) в OnEquip с только что созданным новым эффектом. даже если эту конструкцию пропустит компилер, в чем я сомневаюсь, равны они никак и никогда не будут. спецовый НПС-зэк - стопудовый хит в деле создания скриптов... :good: это я упустил. а зря. |
![]()
Сообщение
#724
|
|||||||||
Level 3 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек ![]() |
Точно. И на локацию луч тож наложить нельзя. То все что я выше написал - неподходит. Подходит вот что: 1. Расставляем вейпойнты с тегами от имя0 до имяN, invisobj001 - ResRef невидимого _нестатического_ объекта (_статичекий_ невидимый лежит в Placeable Objects/Miscellaneous), этот скрипт вешаем на НПС:
2. Расставляем невидимые нестатические с тегами от Тег0 до ТегN, вешаем скрипт на НПС:
Приимущество первого - красиво постепенно исчезает єффект, приимущество второго - проще. Сообщение отредактировал Shad - Feb 16 2005, 09:56 |
||||||||
![]()
Сообщение
#725
|
|||
Level 10 ![]() Класс: Волшебник Характер: Neutral Evil Раса: Человек ![]() |
Shad Спасибо Дома Попробую, сделать. ;) Добавлено в [mergetime]1108541889[/mergetime] Я непонел как это сделать Расставляем вейпойнты с тегами от имя0 до имяN, invisobj001 - ResRef невидимого _нестатического_ объекта (_статичекий_ невидимый лежит в Placeable Objects/Miscellaneous), этот скрипт вешаем на НПС:. и на кокой слот у НПК ставить. Я Придумал свою версию скрипта как думаеш норма! Делается 5 НЕВИДИМЫХ НПК ПРИСВАЕВАИМ им номера и теги и вперёд..
его ещё не проверял хочу посаветывотся. :good: |
||
![]() ![]() |
Текстовая версия | Сейчас: 30th April 2025 - 22:31 |