![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3546
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Верхний блок скрипта:..
Neverwinter Script if (GetTimeHour() == 0) { if (GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF))== 0) { SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), 1); } else { return; } } else { if (GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF))== 1) { SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), 0); } return; } Если его заменить на такой блок:.. Neverwinter Script int iCount = GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF)); …он каждые 6 секунд «онхеартбита» будет считать переменную присваиваемую его локации с ее же мименем – как только досчитает до 5 (5 «онхеартбитов» по 6 секунд = 30 секунд) сбросит счет в «0» и выполнит дальнейший скрипт.if (iCount==5) { SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), 0); } else { iCount++; SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), iCount); return; } Можно через «DelayCommand» тоже, но мне показалось так проще и надежней. Сообщение отредактировал Flaristan - Jan 11 2013, 04:21 |
![]()
Сообщение
#3547
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Спасибо за помощь!
То что надо!, и всё работает! Ещё бы с замками разобраться(В НВН2), ранее уже спрашивал: Можно ли вообще, в принципе, сделать так, чтобы дверь снова закрыть на тот же ключ, которым открывал, любому классу, без соответствующих скиллов? Может, через какой-то скрипт? Так как облазил весь тулсет, не дотумкал, как это сделать обычным способом, получается только открывание замка, и дверь уже потом постоянно открыта-входи любой, а хотелось бы получить возможность, и снова закрыть эту же самую дверь, на этот же самый ключ... Сообщение отредактировал Sugo77 - Jan 11 2013, 08:23 |
![]()
Сообщение
#3548
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Чистка локации от предметов
Тут что-то глючат коды NNS. Кому нужно смотрим здесь: http://remmgen.narod.ru/tmodul.html |
![]()
Сообщение
#3549
|
|
Тролль ![]() ![]() ![]() ![]() Класс: Пьяный Мастер Характер: Chaotic Neutral Раса: Тварь ![]() |
Могу лишь предложить сделать на ключи «уникальную силу предмета» которая по юзу на дверь будет проверять ее ли это ключ, и если да – то закрывать ее на замок.
Если нужно просто чтоб двери через какое-то время закрывались и запирались – можно сделать соответствующий скрипт с задержкой на «онопен» и раздать его нужным дверям. P.S.: И да - если уж отсылать то тогда еще мои две любимые ссылки на ресурсы которые помогли мне достигнуть того уровня скриптинга который сейчас имею: - скрипт-генератор Лилака; - Лексикон. Сообщение отредактировал Flaristan - Jan 11 2013, 10:08 |
![]()
Сообщение
#3550
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
gennady, а вот скрипт с Вашего сайта-сработал!
Но там он в днях, а у меня трейниг модуль для спелл кастеров, где мобы с 10-100 ХП, убиваются за секунды, и спавняться, через 6 секунд, поэтому скрипт от Flaristan, мне более подходит! А вообще, обоим участникам большое спасибо за помощь, и отзывчивость! Сообщение отредактировал Sugo77 - Jan 11 2013, 14:18 |
![]()
Сообщение
#3551
|
|
Level 1 Класс: Монах Характер: True Neutral Раса: Рептилия ![]() |
В общем дело такое. Скрипт отвечающий за бардовскую песню, не помню точное название, вроде X0_nw_что-то. Суть в том что я сделал так, что при поднятии уровня Тайного Лучника и ученика дракона учитывались их уровни при определении силы песни (int GetLevelByClass кажется). Так же: в feat_archer дописал что Арчер получает песню барда так же как если бы он был бардом (допустим бард 8 арчер 4 - 12 песен в день). Сделал исполнение классовым навыком для Арчера. В чем проблема - кастую песню. Она работет, растет вместе с персонажем бард-лучник, дает как надо все параметры, работает сколько нужно по времени, могу кастовать сколько надо раз в день (1уровень=1каст\день). НО! Иногда при получении большого урона (выше 10 единиц, как я понял) все эффекты песни спадают, однако над головой сохраняются нотки, как будто песня продолжается.
В чем может быть проблема? |
![]()
Сообщение
#3552
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Навскидку: песня может давать группу связанных (link) эффектов, один из которых - временные хитпоинты. Вполне возможно, что нвн при снятии временных хп удаляет весь набор эффектов (багофича т.е.). Лечение, если я угадал: накладывать хиты отдельным эффектом.
|
![]()
Сообщение
#3553
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Проверьте, и подскажите, что не так в скрипте на возможность садиться игроку на стул\скамейку\кресло?(В Neverwinter Nights 2):
Код void main() { object oChair = OBJECT_SELF; if (!GetIsObjectValid(GetSittingCreature(OBJECT_SELF))) { AssignCommand(GetLastUsedBy(), ActionSit(oChair)); } } Игрок садиться, и тут же соскавкивает\встаёт, даже не успев сесть, что не так? Подправте, пожалуйста! Разумеется вставлял в On Used Script, и делал предметы Usable Добавлю: -Тестил на всех видах скамеек, стульев, кресел-везде, один и тот же эффект, как будто что-то не срабатывает, буд-то скрипт не доработан, хотя ошибок при сохранении(На F7)-не выдаёт! Добавлено позже!: -Отбой!, игрок всё же "садится" на стул, после задержки, где-то в секунд: 10(Если ждать, и не шевелиться), плюс, криво "садится", иногда вообще помимо скамейки! (IMG:style_emoticons/kolobok_light/sad.gif) Это что, так в НВН2 система сажания на стулья-настроена?!, или данный скрипт для НВН2-не совсем подходит?! Есть другие варианты? Заранее спасибо! Сообщение отредактировал Sugo77 - Mar 17 2013, 20:42 |
![]()
Сообщение
#3554
|
|
Level 1 Класс: Монах Характер: True Neutral Раса: Рептилия ![]() |
Навскидку: песня может давать группу связанных (link) эффектов, один из которых - временные хитпоинты. Вполне возможно, что нвн при снятии временных хп удаляет весь набор эффектов (багофича т.е.). Лечение, если я угадал: накладывать хиты отдельным эффектом. К сожалению немного мимо =) я разобрался. Взял скрипт из оригинала, а там нет как я понял параметра Duration, и песня обрывалась при снятии хитов (ваша версия). С скриптом из HotU проблем нет |
![]()
Сообщение
#3555
|
|
Level 7 ![]() Класс: Обыватель Характер: True Neutral Раса: Человек NWN: Модмейкер Начало Войны ![]() |
Проверьте, и подскажите, что не так в скрипте на возможность садиться игроку на стул\скамейку\кресло?(В Neverwinter Nights 2): В NWN2 с ActionSit проблемы, функция изначально не работала и ее вроде не пофиксили, хотя могу ошибаться. На ваулте есть куча решений этой проблемы, например, вот. |
![]()
Сообщение
#3556
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Обсидианы добавили в нвн2 немало клёвых ништяков, при этом, как водится, похерив немало старых (IMG:style_emoticons/kolobok_light/smile.gif) ActionSit - один из них.
|
![]()
Сообщение
#3557
|
|
Level 3 ![]() Класс: Монах Характер: Lawful Good Раса: Эльф ![]() |
Да, спасибо!
Скрипт по ссылке, от Alian REXis, работает без задержек, и без сбоев!: NWN2, Drow At Picnic\НВН2, Дроу На Пикнике Меня сейчас волнует другая проблема, с визуальным эффектами(В NWN2), под названиями: fx_willowisp_blue fx_willowisp_green fx_willowisp_red fx_willowisp_yellow Так вот, если в самом тулсете, ставишь эти эффекты на мобов(Или в любые, другие прдметы, вещи, оружия), всё работает отлично, но стоит зайти в игру, почему-то, сразу выкидывает, интересно почему?!(Особенно если вставить данные, визуальные эффекты, в мобов, или в оружие, и когда пытаешься взять оружие в руки, сразу выбрасывает из игры, с неизвестной ошибкой, Windows 7 Максимальная 64-bit SP1-не может её определить\устранить!) Другие визуальные эффекты, работают без сбоев, потестил уже больше половины! С чем это может быть связано, и как можно решить данную проблему, есть идеи? -И интересует, это только у меня одного так, или у всех? Настройки видео, в самой игре, менял по разному, не помогает... Версия игры: Neverwinter Nights 2 Gold от Акеллы(На русском языке) + Патч от Акеллы: Akella_SoZ_1231765(На русском языке) Добавлю: -Хочу позже переустановить игру, с версии Gold от Акеллы, на Platinum от Акеллы, но, сомневаюсь, что поможет... Просьба!, у кого установлена игра: Neverwinter Nights 2, можете, пожалуйста, проверить данные визульные эффекты, будут у вас работать в модуле, или нет?! Желательно потестить на оружии... Заранее спасибо! Сообщение отредактировал Sugo77 - Mar 20 2013, 19:28 |
![]()
Сообщение
#3558
|
|
Level 6 ![]() ![]() Класс: Друид Характер: Chaotic Neutral Раса: Гном ![]() |
Кстати, это ветка авроры, а не электры
|
![]()
Сообщение
#3559
|
|
Level 5 ![]() ![]() Класс: Паладин Характер: Chaotic Good Раса: Человек ![]() |
В общем прошу пояснить почему не у меня не работает этот http://www.city-of-masters.ru/forums/index...amp;#entry31706 скрипт. Точнее его первая часть. Я так думаю это потому что у меня версия 1.69, хотя кто знает... Я недавно начал осваивать написание скриптов и очень прошу помочь мне с моими вопросами.
|
![]()
Сообщение
#3560
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Подробнее что именно не работает?
Не создается объект, нет эффекта? Neverwinter Script // Может не компилироваться если у тебя не стоит патч Дамбо для буквы "я". Т.к. из-за нее не компилировалось раньше.
void Raise(object oNPC = OBJECT_SELF) { effect eVisDead = EffectVisualEffect(VFX_IMP_HEAD_ACID);///Эффект с которым объект будет воскресать. В данном случае это кислота! // Объект, который будет появляться (воскресать). Там надо вставлять не тэг а РЕСРЕФ объекта, потому что тэг и ресреф могут различаться // Если тэг и ресреф одинаковы - тогда без разницы. А вообще пиши тэги всегда верхним регистром, а ресреф нижним :З. Функции подобные этой // сами переводят верхний регистр в нижний, но для различия всегда удобнее тэг - верхним, ресреф - нижним object oNew = CreateObject(OBJECT_TYPE_CREATURE,"ZombieWeak07", GetLocation(oNPC )) ; ApplyEffectAtLocation(DURATION_TYPE_INTSTANT, eVisDead, GetLocation(oNew)); } void main() { object oCleric = GetNearestObjectByTag("Nekrolog01");// Тег объекта который будет оживлять. И которого надо убить чтобы остальные больше не оживали. // Объект есть, не мертвый и не дерется ни с кем if (GetIsObjectValid(oCleric) && !GetIsDead(oCleric) && !GetIsInCombat(oCleric)) { AssignCommand(oCleric, ClearAllActions()); // Чистка стэка действий объекта //Действия, которые выполняет "оживитель" как только умирает один из объектов. В данном случае становится на колени. AssignCommand(oCleric, ActionPlayAnimation(ANIMATION_LOOPING_WORSHIP, 1.0, 3.0f)); // Анимация призыва/моления effect eVisCleric = EffectVisualEffect(VFX_IMP_AURA_NEGATIVE_ENERGY);// Эффект, с которым клирик воскрешает. В данном случае появляется красного цвета аура. Но эффекты можно менять! ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVisCleric, oCleric, 3.0f); // TEMPORARY тип для продолжительных во времени, INSTANT для мгновенных, а PERMANENT - постоянных DelayCommand(3.0f, Raise(OBJECT_SELF)); // Функция сверху void main() DelayCommand(0.2f,AssignCommand(oCleric, SpeakOneLinerConversation())) ; // Что-то типа воспроизвести 1-ю неветвящуюся строку диалога. } } Сообщение отредактировал Melisse - Jul 4 2013, 11:42 |
![]()
Сообщение
#3561
|
|
Level 5 ![]() ![]() Класс: Паладин Характер: Chaotic Good Раса: Человек ![]() |
Да, не появляются новые зомби и людишки погибают без эффекта, а вот некролог и сверкает и на колени становиться. Мне вобще интересно что это за "ZombieWeak07", не похоже на стандартный объект, хотя я заменял эту надпись на таги своих зомби, все равно не появлялся никто. И ссылку на патч пожалуйста, если он так важен. Можно и на остальные полезные штучки если не трудно.
|
![]()
Сообщение
#3562
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
Ну погибать они должны без эффекта - этого в скрипте нет,а вот не воскресать они могут если не тот рес-реф поставлен.
Еще может быть момент в том что в примере в Базе скриптов у функции Raise не объявлен OBJECT_SELF, хотя локация его берется. Вообщем потести так и сяк - в итоге получиться, скрипт рабочий на первый взгляд. Патч http://wrg.ru/download.php?view.109 |
![]()
Сообщение
#3563
|
|
Level 5 ![]() ![]() Класс: Паладин Характер: Chaotic Good Раса: Человек ![]() |
Спасибо, да вот на меня этот рес - реф свалился, не знаю что такое. Где то читал но не вник все ж таки.
|
![]()
Сообщение
#3564
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
У тебя не работает
Neverwinter Script DelayCommand(3.0f, Raise(OBJECT_SELF)); // Функция сверху void main() или маленькая выдержка уничтожения трупа или вообще не работает, т.к. скрипты на трупах не работают... про рес реф я тут подробно описал: http://remmgen.narod.ru/titem.html Сообщение отредактировал gennady - Jul 4 2013, 22:48 |
![]()
Сообщение
#3565
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Делей лучше вообще вешать на какой либюо объект не участвующий в скрипте, в смысле, например на плейс рядом или на модуль вообще. Тогда 100% сработает.
Я имею ввиду давать команду постороннему объекту сделать что-либо с нужным объектом. Neverwinter Script AssignCommand(oModules, DelayCommand(3.0f, Raise)); Как пример, не знаю правильно ли я описал, сто лет не кодил нвн. Я много делал разных комплексов скриптов с делеем в ПВ, понял одну закономерность, если делей без указания того, кто его будет исполнять, то команда часто теряется. Если указать кто будет делать задержку, то срабатывает. |
![]()
Сообщение
#3566
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [PW] Gem of the North Край Лесов ![]() |
Дело не в указании, просто часто объект, с которого запускается скрипт и который становится "исполнителем", уничтожается до делэя. Модуль в таких случаях - идеальный вариант.
|
![]()
Сообщение
#3567
|
|
Level 11 ![]() Класс: Волшебник Характер: Neutral Good Раса: Фея NWN: Скриптинг [PW] Край Лесов ![]() |
А что происходит со скриптом который запустил делей? Он висит незавершенным вместе с делеем или таки завершается, а команда срабатывает позже?
Учитывая "однопоточность" нвн-сервера - это не сильно мешает? (IMG:style_emoticons/kolobok_light/smile.gif) Сообщение отредактировал Melisse - Jul 5 2013, 08:49 |
![]()
Сообщение
#3568
|
|
Level 5 ![]() ![]() Класс: Паладин Характер: Chaotic Good Раса: Человек ![]() |
Значит если на предмет то на OnHeartbeat? И на модуль так же? Куда лучше? И можно ли совместить этот скрипт с тем что там уже есть?
|
![]()
Сообщение
#3569
|
|
Level 9 ![]() Класс: Обыватель Характер: Lawful Good Раса: Человек NWN: Модмейкер Рыцарская Сага ![]() |
Neverwinter Script void Raise(location Loc) { effect eVisDead = EffectVisualEffect(VFX_IMP_HEAD_ACID);//Эффект с которым объект будет воскресать. В данном случае это кислота! object oNew = CreateObject(OBJECT_TYPE_CREATURE,"nw_zombie01", Loc) ;//Монстр из палитры который будет воскрешать. ApplyEffectAtLocation(DURATION_TYPE_PERMANENT, eVisDead, Loc); } void main() { object oCleric = GetNearestObjectByTag("Nekrolog01");// Тег объекта который будет оживлять. И которого надо убить чтобы остальные больше не оживали. location Loc = GetLocation(OBJECT_SELF); if (GetIsObjectValid(oCleric) == TRUE && GetIsDead(oCleric) == FALSE) { AssignCommand(oCleric, ClearAllActions()); AssignCommand(oCleric, ActionPlayAnimation(ANIMATION_LOOPING_WORSHIP, 1.0, 3.0));//Действия которые выполняет "оживитель" как только умирает один из объектов. В данном случае становится на колени. effect eVisCleric = EffectVisualEffect(VFX_IMP_AURA_NEGATIVE_ENERGY);// Эффект с которым клирик воскрешает. В данном случае появляется красного цвета аура. Но эффекты можно менять! ApplyEffectToObject(DURATION_TYPE_PERMANENT, eVisCleric, oCleric); AssignCommand(oCleric, DelayCommand(3.0, Raise(Loc))); AssignCommand(oCleric, DelayCommand(2.2, SpeakString("Воскресни!"))) ; } } Скрипт на слот смерти монста. как-то так... (IMG:style_emoticons/kolobok_light/declare.gif) Сообщение отредактировал gennady - Jul 5 2013, 10:18 |
![]()
Сообщение
#3570
|
|
Level 5 ![]() ![]() Класс: Паладин Характер: Chaotic Good Раса: Человек ![]() |
У меня кстати вместо русского языка в скриптах каракули какие то. И ничего, даже на колени не встал. Я поставил скрипт на onDeath некролога, на него же надо?
|
![]() ![]() |
Текстовая версия | Сейчас: 5th August 2025 - 21:49 |