Город Мастеров
IPB

Здравствуйте, гость ( Вход | Регистрация )

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 139 140 141 142 143 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
denis0k
сообщение Oct 29 2011, 07:19
Сообщение #3486


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Цитата
Но я, пожалуй, готов предъявить жесткие требования к системе: НПС не воюют друг с другом никогда.
Просто более внимательно изучи вопрос (IMG:style_emoticons/kolobok_light/smile.gif) Неписи - всего лишь компьютерные болванчики, работающие на скриптах, их можно настроить как угодно.
Цитата
Если нужно противное - использовать анимацию ударов и эффекты урона.
Нвн1, насколько мне известно, не даёт особо порулить анимацией. Это фишка нвн2.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Anakondar
сообщение Oct 29 2011, 09:04
Сообщение #3487


Level 6
**

Класс: Друид
Характер: Chaotic Neutral
Раса: Гном



Цитата(Ilerien @ Oct 28 2011, 06:52) *
1. Навскидку не скажу, посмотри, что вернёт GetMaster(oKiller), когда маг и фам в разных локах.


GetMaster(oKiller) возвращает персонажа, зато GetIsPC(GetMaster(oKiller)) возвращает FALSE. Всё работает в таком виде:
Код
        if (GetIsPC(oKiller))
        {
            if (GetIsPossessedFamiliar(oKiller)) oKiller = GetMaster(oKiller);
            GiveXPToKiller (oKiller, fXP);
        }
        return;


P.S.: GiveXPToKiller - моя внутренняя функция

Сообщение отредактировал Anakondar - Oct 29 2011, 09:05
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Flaristan
сообщение Dec 8 2011, 06:58
Сообщение #3488


Тролль
****

Класс: Пьяный Мастер
Характер: Chaotic Neutral
Раса: Тварь



Работая с функцией ExecuteScript, столкнулся с парой таких интересных фактов:
- Лексикон категорически настаивает, что у этой функции нет задержки («ExecuteScript() has NO delay!» (с));
- компилятор тулсета же вполне нормально воспринял при пробе такую конструкцию, и на первый взгляд она даже правильно работала при тесте …но неожиданно стали возникать странные перебои в отсчете модульного времени.
Стало создаваться впечатление, что часы модуля отказывались идти вперед в тех локациях, где работала эта скриптовая конструкция. А когда персонаж их покидал – время делало резкий скачек к тому значению, которое оно должно было достигнуть естественным путем, нибудь тех сбоев.

Скрипт крепится на объекте, срабатывает при взаимодействии с PC и по задумке перезапускает сам себя через таймаут до тех пор пока на локации есть PC.
Код
object oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF, 1, -1, -1, -1, -1);
object oArea = GetArea(OBJECT_SELF);

if ((GetIsObjectValid(oPC))&&(GetArea(oPC) == oArea))
   {
   DelayCommand(100.0, ExecuteScript("script", OBJECT_SELF));
   }


Часто видел похожие проблемы со скачками времени в других онлайн-модулях. Кто знает – эти вещи действительно взаимосвязаны и лучше не делать таймаутов для ExecuteScript?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Dec 8 2011, 07:39
Сообщение #3489


Level 11
Иконки Групп

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Цитата
- Лексикон категорически настаивает, что у этой функции нет задержки («ExecuteScript() has NO delay!» (с));
Лексикон прав. ExecuteScript() вызывается без задержки (если не скормить ему эту задержку специально), а вызвавший его скрипт ждёт, пока тот не завершится.

Если это весь код, который перезапускается, то никаких лагов со свременем он вызывать не должен.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Dec 8 2011, 17:43
Сообщение #3490


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Лаги со временем - фича движка нвн, появляется в зависимости от положения звёзд на небе. Особенно, если игроков немало зашло. На геме в 2005м время тормозило даже в локациях без скриптов.

Вирусман вроде фикс делал (да, нвнх). Вариант попроще - на модульный хб раз в минуту (или игровой час, не помню как там нвн показывает) вручную время ставить.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Valeroy
сообщение Feb 5 2012, 03:05
Сообщение #3491


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Как сделать, чтобы мобы возрождались после смерти спустя некоторое время?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Feb 5 2012, 09:11
Сообщение #3492


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Например, использовать систему энкаунтер-триггеров из тулсета, там вроде есть опция периодического спавна. Но в онлайне чаще используются аналогичные скриптовые системы, как правило самописные, они более гибкие (можно динамически менять списки мобов, подгружать их из базы и т.п.). Посмотри на волте что-то типа spawn system, этого добра там должно быть навалом.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Valeroy
сообщение Feb 5 2012, 22:32
Сообщение #3493


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Цитата(denis0k @ Feb 5 2012, 10:11) *
Например, использовать систему энкаунтер-триггеров из тулсета, там вроде есть опция периодического спавна. Но в онлайне чаще используются аналогичные скриптовые системы, как правило самописные, они более гибкие (можно динамически менять списки мобов, подгружать их из базы и т.п.). Посмотри на волте что-то типа spawn system, этого добра там должно быть навалом.

А есть готовый скрипт на spawn монстров, но в котором можно будет менять монстров, и время spawna, спавн убудет делаться для онлайна, сам со скриптами не умею работать, по возможности если есть скрипт допишите с нормальный разяснением, чтобы человек не пользовавшийся скриптами понял
Автор:::::::::::::::::Milez:::::::::::::::::::::::
:::::::
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Feb 6 2012, 07:20
Сообщение #3494


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



На волте и есть готовые скрипты. Но без знания скриптового языка всё равно ничего не сделать. Нельзя же читать, не зная букв, или решать дифференциальные уравнения, не зная математики.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Melisse
сообщение Feb 6 2012, 13:58
Сообщение #3495


Level 11
Иконки Групп

Класс: Волшебник
Характер: Neutral Good
Раса: Фея
NWN: Скриптинг [PW]
Край Лесов



Чем, кстати, не устраивают обычные встречи? там можно настраивать мобов и их кол-во, даже генерацию от того какой фракцией наступаешь.


Сообщение отредактировал Melisse - Feb 6 2012, 13:59
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Valeroy
сообщение Feb 6 2012, 21:20
Сообщение #3496


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



В смысле встречи?
Если ставить триггеры, то респ я так понимаю будет происходить, если на него снова наступить, получается надо будет всех информировать, что при входе снова в локацию, будет респ мобов, и ставить триггер как раз на входе, или может я что то не понимаю?
Потом допустим если мне нужно поставить моба где нибудь на возвышении гор одного, как я это сделаю с триггером, он респаться будет на каком растоянии..
У меня просьба, если кто делал скрипты на спавн мобов с пропись разных мобов, чтобы их можно было поменять на других, ну тоесть на любых других какие будут в модуле, и время через каторое будет респ, я в скриптах почти 0, а разбиратся в них просто времени нет работаю много, если кто напишет, потом обязательно договоримся$$$
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Flaristan
сообщение Feb 7 2012, 04:15
Сообщение #3497


Тролль
****

Класс: Пьяный Мастер
Характер: Chaotic Neutral
Раса: Тварь



Цитата(Flaristan @ Jan 8 2012, 16:14) *
Рекомендую - для написания тривиальных эвентов и в качестве удобного пособия примеров для изучения NWN-скриптинга.

Запускаем тулсет, открываем нужную локацию, открываем вкладку с монстрами и жмем кнопку «редактировать и копировать» на понравившемся, делаем что хотим с этим монстром и создаем ему уникальный резреф в конце сохраняя в кастомной своей палитре, копируем этот резреф себе в сторонку.
Скачиваем скрипт генератор, запускаем, выбираем (в окошке вверху слева) тип скрипта «нормальный скрипт», выбираем источник запуска скрипта «ПС входит куда-то», отменяем спец условие, выбираем из списка скриптовых эвентов «сделать если ЭТО тогда ТО условие» и жмем кнопку «скрипт»:
- выбираем тип условия «проверить локальную целочисленную»;
- вводим в поле название для нашей переменной (ну например MONSTER_SPAWN_CHECK);
- выбираем галочку на условие «точно равно»;
- выставляем значение «0»;
- жмем «ок»;
выбираем из списка скриптовых эвентов «спавн созданий» и жмем кнопку «скрипт», заполняем поля:
- «резреф» (копируем его из описалова монстра которого хотим спавнить);
- визуальный эффект спавна (можно не трогать);
- точка спавна – по вейпоинту (указываем таг нашего вейпоинта);
- действия создания при респавне – выбираем «без действия»;
- жмем «ок – выход»;
выбираем из списка скриптовых эвентов «установка локальных переменных» и жмем кнопку «скрипт»:
- выбираем тип переменной «целочисленная» и ставим соответствующий флажок (integer);
- вводим в поле название нашей переменной упомянутое блоком выше (в примере MONSTER_SPAWN_CHECK);
- устанавливаем ее в значение «1»;
- жмем «ок – выход»;
жмем кнопку «окончить текущие если», выбираем вариант «просто закончить», жмем кнопку «закрыть», видим в окошке наш сгенерированный скрипт и комент «поместите на OnEnter»:
Код
//Put this script OnEnter
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return;
if (GetLocalInt(oPC, "MONSTER_SPAWN_CHECK")== 0)
   {
   oTarget = GetWaypointByTag("TAG_OF_WAYPOINT ");
   lTarget = GetLocation(oTarget);
   oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "resref_of_creature", lTarget);
   SetLocalInt(oPC, "MONSTER_SPAWN_CHECK", 1);
   }
}

копируем все это дело, жмем «свойства локации» в тулсете, открываем вкладку «события» и ищем окошко «OnEnter», жмем кнопочку чуть правее чтоб открыть редактирование скрипта на этот триггер и вставляем туда этот скопированный из генератора скрипт и сохраняем его под оригинальным именем, ставим на локации вейпоинт упомянутый в скрипте с упомянутым оригинальным тагом («TAG_OF_WAYPOINT» или что там придумается) – это будет точка спавна упомянутого монстра (резреф которого не забываем указать посмотрев в своей кастомной палитре в свойствах монстра).
Жмем в генераторе скриптов кнопку «очистить для нового скрипта», «ок», снова выбираем тип скрипта «нормальный», выбираем стартер «ПС разрушивает/убивает монстра или плейсебл», выбираем че будет если убьет последователь – «отразится на ПС», отменяем наличие спец условия, выбираем из списка скриптовых эвентов «установка локальных переменных» и жмем кнопку «скрипт»:
- выбираем тип переменной «целочисленная» и ставим соответствующий флажок (integer);
- вводим в поле название нашей переменной упомянутое блоками выше (в примере MONSTER_SPAWN_CHECK);
- устанавливаем ее в значение «0»;
- жмем «ок – выход»;
жмем кнопку «закрыть», видим и копируем наш сгенерированный скрипт с пометкой «поместить на OnDeath»:
Код
//Put this script OnDeath
void main()
{
object oPC = GetLastKiller();
while (GetIsObjectValid(GetMaster(oPC)))
   {
   oPC=GetMaster(oPC);
   }
if (!GetIsPC(oPC)) return;
SetLocalInt(oPC, "MONSTER_SPAWN_CHECK", 0);
}

копируем это дело и жмем свойства нашего кастомного монстра с упомянутым резрефом в нашей кастомной палитре, выбираем пункт «событий» и находим триггер «OnDeath», жмем справа чтоб редактировать скрипт и вставляем наш скопированный сохранив его под оригинальным названием.

Итого: имеем локацию; на ней точку респавна монстра (наш вейпоинт); и скрипт на входе в локацию который проверяет игрока в нее входящего на локальную переменную – если игрок уже убивал нашего оригинального монстра или еще не был на этой локации, значит новенький и целенький монстр появится в указанной точке при входе, если уже заходил в локацию но монстра еще не убивал, значит спавнить нового не будем.

Система будет отлично работать для синглплеерного спавна монстра – для мультиплеерного как правило они сложнее и индивидуальнее.

Сообщение отредактировал Flaristan - Feb 7 2012, 04:19
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Feb 7 2012, 07:27
Сообщение #3498


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



Valeroy, скажу грубовато, но прямо - во всём нужно разбираться. Если ничего не изучать самому, а только просить сделать другого и показать, где тут настройки, ничего у тебя не выйдет. Для начала могу посоветовать, как бы странно ни звучало, - погуглить про нвн тулсет. Когда я начинал (лет 9 назад, с сингловых модулей), с интернетом было туго, да и форума этого вроде не было вообще, однако я нашёл себе статьи по тулсету с разжёвыванием всего и вся. Даже кастом контент зацепили. Кажется, они были на сайте либо игромании, либо лки.

Когда выкуришь мануалы с элементарными основами, у тебя не будет вопросов по поводу того, как работает тот же триггер встреч. Скрипты да, в полной мере понятны далеко не всем, но уж выучить настройки плейсов, итемов и триггеров ума много не надо. До кучи, стоит распотрошить все модули под рукой (первым делом - кампанию). К слову, нордок (по крайней мере его версия, доступная для скачивания) в качестве спавнера использует как раз-таки самые обычные триггеры. Гем1 в своё время тоже использовал триггеры для спавна.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Alian REXis
сообщение Feb 7 2012, 08:27
Сообщение #3499


Level 7
Иконки Групп

Класс: Обыватель
Характер: True Neutral
Раса: Человек
NWN: Модмейкер
Начало Войны



Valeroy, есть тут на форуме такая штука как база скриптов, страница 2 пятый сверху.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Valeroy
сообщение Feb 7 2012, 15:03
Сообщение #3500


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек




Место где появится новый NPC определяется путём выставления вэйпоинтов с названием типа "WPR_"+ тэг_умершего_NPC. Если в начале тэга NPC стоит "NPC_", то эти четыре символа отрежутся.

Может кто нибудь разжевать?

Flaristan спасибо тебе огромное, приду домой буду пробовать, а на мультиплеер разве не пойдут такие скрипты?

А как сделать допустим, чтобы было 4 сундука на боссе и в каждом сундуке были вещи, около 5-7, на каждый класс, и еще чтобы после каждого появления босса вещи тоже появлялись в сундуках, но уже другие, ну с небольшим добавлением
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Flaristan
сообщение Feb 8 2012, 02:33
Сообщение #3501


Тролль
****

Класс: Пьяный Мастер
Характер: Chaotic Neutral
Раса: Тварь



Было бы легче, если бы знать кусок пояснения к чему это, и видеть полный текст.
Очевидно имеется в виду, что если у нас есть монстры к примеру с тагами «TAG001» и «NPC_TAG002», то точки их респавнов будут обозначаться вейпоинтами с тагами соответственно «WPR_TAG001» и «WPR_TAG002».

Пойдут или не пойдут – решает уже сам разработчик. Тот простенький скрипт сделанный в скриптгенераторе, который я предложил - не универсален.
Хорошо если задумка описанной точки респавна при входе в локацию игрока спавнить ему противника по штуке на игрока без заморочек, но если это особый противник вроде босса? Тогда получится: зашел 1 игрок на локацию и стал драться с ним, и тут на локацию заходит другой игрок - внезапно появляется еще один босс на голову первому игроку. А если заходит отряд в 10 человек – появятся 10 боссов. А если в локацию зашел один игрок, не смог убить монстра и убежал, и тут в локацию приходит второй игрок – он монстра еще не убивал и получится у него отреспится и свой монстр и на локации будет еще тот которого отреспил предыдущий игрок.
В общем, делая для мультиплеера, приходится учитывать кучу нюансов относительно конечного вида реализации своих задумок. Как правило, для качественного внедрения единичной идеи требуется прописывание айсберга неявных нюансов удерживающих эту идею именно в той форме, которая была задумана. Чтоб успешно заниматься этим - одного владения «скрипт-генератором» мало, нужно быть на «ты» с НВН-скриптингом.

Поставить 4 сундука; написать скрипт, который при открытии сундука единожды на смерть босса находящегося рядом генерирует в нем определенные вещи в определенном количестве, и если вещи уже лежат в сундуке при новом открытии после новой смерти босса – добавлять в их свойства определенные заранее улучшения; развесить этот скрипт на эти 4 сундука. (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
ReZkiy
сообщение Feb 18 2012, 12:59
Сообщение #3502


Level 5
**

Класс: Вор
Характер: Neutral Good
Раса: Человек



Подскажите - как заставить катапульту стрелять огненными шарами?Или метеоритным штормом? Плиз дайте скрипт!

Сообщение отредактировал ReZkiy - Feb 18 2012, 13:03
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Feb 18 2012, 13:35
Сообщение #3503


Level 9
Иконки Групп

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



Для балист и катапульт
Neverwinter Script
void main()
{
object oBal = OBJECT_SELF;
object oZel = GetNearestObjectByTag("ZEL_BAL");//Объект на который должен быть скастован спелл.

if (GetIsObjectValid(oZel) && GetDistanceToObject(oZel) <= 50.0f
    && GetLocalInt(oBal,"BALL") != 1)
{
  SetLocalInt(oBal,"BALL",1);
  PlaySound("as_cv_winch1");
  DelayCommand(15.3, SetLocalInt(oBal,"BALL",FALSE));
  if (GetTag(oBal) == "CATAPULTA")
  AssignCommand(oBal,ActionCastSpellAtObject(SPELL_F
IREBALL,oZel));
  else
switch (Random(2)+1)
{
case 1:
AssignCommand(oBal,ActionCastSpellAtObject(SPELL_F
LAME_ARROW,oZel));
break;
case 2:
AssignCommand(oBal,ActionCastSpellAtObject(SPELL_M
ELFS_ACID_ARROW,oZel));
break;
}
}
}

Спец скрипт для мощной катапульты
Neverwinter Script
void main()
{
object oPC = GetFirstPC();
object oBal = OBJECT_SELF;
int i = 1;
object oZel = GetNearestObject(OBJECT_TYPE_CREATURE, oBal, i);
vector vFace = GetPosition(oPC);

if (GetArea(oPC) != GetArea(oBal)) return;
if (GetLocalInt(oBal,"BALL") == 1) return;

while(GetIsObjectValid(oZel))
{
int iRepa = GetReputation(oZel, oBal);
if (iRepa < 40)
{
if (GetDistanceToObject(oZel) <= 23.0 && !GetIsDead(oZel))
{
  if (GetDistanceToObject(oZel) <= 3.0) return;
  effect eDamage = EffectDamage(GetCurrentHitPoints(oZel)/5, DAMAGE_TYPE_BLUDGEONING);
  effect eIMM = EffectSpellResistanceDecrease(30);
  AssignCommand(oBal, SetFacingPoint(vFace));
  ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eIMM,o
Zel,5.0);
  PlaySound("cb_sh_ballista");
  DelayCommand(0.5, AssignCommand(oBal,ActionCastSpellAtObject(SPELL_M
AGIC_MISSILE,oZel)));
  DelayCommand(1.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oZel));// Наносим удар
  DelayCommand(3.0, PlaySound("as_cv_winch1"));
  DelayCommand(11.0, SetLocalInt(oBal,"BALL",FALSE));
  SetLocalInt(oBal,"BALL",1);
  break;
}
}
i++;
oZel = GetNearestObject(OBJECT_TYPE_CREATURE, oBal, i);
}
}

Скрипты стоят на ХБ
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
ReZkiy
сообщение Feb 19 2012, 15:38
Сообщение #3504


Level 5
**

Класс: Вор
Характер: Neutral Good
Раса: Человек



Цитата(gennady @ Feb 18 2012, 15:35) *
Спец скрипт для мощной катапульты
Neverwinter Script
void main()
{
object oPC = GetFirstPC();
object oBal = OBJECT_SELF;
int i = 1;
object oZel = GetNearestObject(OBJECT_TYPE_CREATURE, oBal, i);
vector vFace = GetPosition(oPC);

if (GetArea(oPC) != GetArea(oBal)) return;
if (GetLocalInt(oBal,"BALL") == 1) return;

while(GetIsObjectValid(oZel))
{
int iRepa = GetReputation(oZel, oBal);
if (iRepa < 40)
{
if (GetDistanceToObject(oZel) <= 23.0 && !GetIsDead(oZel))
{
  if (GetDistanceToObject(oZel) <= 3.0) return;
  effect eDamage = EffectDamage(GetCurrentHitPoints(oZel)/5, DAMAGE_TYPE_BLUDGEONING);
  effect eIMM = EffectSpellResistanceDecrease(30);
  AssignCommand(oBal, SetFacingPoint(vFace));
  ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eIMM,o
Zel,5.0);
  PlaySound("cb_sh_ballista");
  DelayCommand(0.5, AssignCommand(oBal,ActionCastSpellAtObject(SPELL_M
AGIC_MISSILE,oZel)));
  DelayCommand(1.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDamage, oZel));// Наносим удар
  DelayCommand(3.0, PlaySound("as_cv_winch1"));
  DelayCommand(11.0, SetLocalInt(oBal,"BALL",FALSE));
  SetLocalInt(oBal,"BALL",1);
  break;
}
}
i++;
oZel = GetNearestObject(OBJECT_TYPE_CREATURE, oBal, i);
}
}

Слушай, а важно ли здесь что бы катапульта или баллиста как плейсбл была используемая?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Feb 19 2012, 16:15
Сообщение #3505


Level 9
Иконки Групп

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



Важно, т.к. скрипт стоит на ХБ и катапульты кастуют спелы.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Flaristan
сообщение Feb 19 2012, 18:27
Сообщение #3506


Тролль
****

Класс: Пьяный Мастер
Характер: Chaotic Neutral
Раса: Тварь



Для того, чтоб плейсбл мог кастовать спеллы, он не должен быть «статик» - но при этом он может быть не «активным».
Используй только галочку «сюжетный», если хочешь, чтоб катапульты нельзя было разрушить, и он будет как статик, колдующий спеллы.

Сообщение отредактировал Flaristan - Feb 19 2012, 18:32
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
ReZkiy
сообщение Feb 19 2012, 19:20
Сообщение #3507


Level 5
**

Класс: Вор
Характер: Neutral Good
Раса: Человек



Цитата(Flaristan @ Feb 19 2012, 20:27) *
Используй только галочку «сюжетный», если хочешь, чтоб катапульты нельзя было разрушить

Cпасибо, это я понял ОООЧЕНЬ давно.
Насчет катапульты... Я в скриптах не очень, но - там есть функция, что бы она стреляла в НПС вражеских?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
redlist2009
сообщение Feb 22 2012, 16:57
Сообщение #3508


Level 1


Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек



Всех приветствую!Возник вопрос.Прошу прощения,если пишу не туда...
Вопрос:необходимо,чтобы НПС появился после выполнения какого-либо действия,а не сразу при запуске модуля(например,через присвоение ему локальной переменной).То есть,поговорил с каким-нибудь челом,и,в указанном месте появился новый НПС.Ещё,хотел спросить:как заставить появиться НПС при наступлении ГГ на определённый участок локации?То есть,созданная мною группа НПС через "Мастер встреч",появлялась после выполнения разговора с кем-либо.Заранее,спасибо за помощь (IMG:style_emoticons/kolobok_light/declare.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Valeroy
сообщение Feb 22 2012, 23:20
Сообщение #3509


Level 2
*

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Здраствуйте, извините может не туда пишу, но у меня серьезный вопрос, мне нужен человек который бы объяснил по скайпу как работать со скриптами, для меня это не знакомо, поэтому прошу строго не судить если я обратился с этой просьбой суда, просто у меня хорошая идея для создания онлайн-модуля, но без скриптов ни как, хорошо отблагодарю человека который сможет помоч, пишите суда или скайп nemi44441
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Feb 22 2012, 23:21
Сообщение #3510


Level 19
Иконки Групп

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [PW]
Gem of the North
Край Лесов



redlist2009, все эти моменты разжёваны по 100 раз, тут огромная база примеров (IMG:style_emoticons/kolobok_light/smile.gif) В качестве наводки:
- Для выполнения действия в ветке диалога есть соответствующий слот для скрипта.
- Для выполнения действия в определённом месте локации есть слот OnEnter у триггеров, который там надо заранее нарисовать.
- Создать объект в скрипте можно функцией типа CreateObject по его resref-у, который можно подглядеть в палитре.
- Можно распотрошить оригинальную кампанию, там есть такие ситуации. Если ты конечно её проходил.

На подобные вопросы тут неохотно отвечают, т.к. это всё есть в мануалах.

Valeroy, говорю как преподаватель информатики (в т.ч. и программирования) - если ты совсем ничего не понимаешь в программировании, то обучить тебя этому за пару вечеров в скайпе невозможно в принципе. Самый действенный вариант - заинтересуй кого-нить своей идеей, тут 100% несколько скриптеров без дела шатается. Если идея интересна не только тебе, может выйти положительный результат.

Сообщение отредактировал denis0k - Feb 22 2012, 23:30
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 139 140 141 142 143 > » 
Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 4th May 2025 - 09:17