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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 56 57 58 59 60 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Zirrex
сообщение Jul 26 2005, 22:00
Сообщение #1411


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



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

Простое условие:
Neverwinter Script Source
if (GetBaseItemType(oItem) == BASE_ITEM_LARGEBOX) return;

не действует? Ведь в данном случае ты выкладываешь не книгу, а сумку, и она уже является объектом "oItem".
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jul 27 2005, 05:01
Сообщение #1412


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Zirrex не работает :( я уже пробовал...
Neverwinter Script Source
if (GetBaseItemType(oItem) == BASE_ITEM_LARGEBOX) return;

К тому же если в инвентаре три книги, то скрипт запустится три раза. Где-то ответ должен быть... Не хотелось бы прятать от игрока сумки.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 27 2005, 09:31
Сообщение #1413


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Aiwan, собственно, с какой стати, это же не цикл. У меня в модуле выкладывается тело из инвентаря, и при выкладывании тут же создается невидимый объект, куда тело и вкладывается. Лежит себе спокойно и не удаляется ничего. Правда, у меня условие, что если выкладываются такие-то тэги, то ничего с ними не делать. Но тут ведь первой выкладывается всегда сумка, почему этот скрипт берет в расчет вещи в ней, хм...

Слушай, а если сделать так, если этот "умный" скрипт проверяет и все выкладываемые вещи, что когда выкладывается контейнер, то присваивать переменную, и далее ее проверять, если она TRUE, то не выполнять скрипт удаления, а если FALSE, то так уж и быть, пускай удаляет, и через некоторое время переменную удалять.

Забавно, одна только эта команда "!GetHasInventory" уже должна тормозить скрипт, но видимо она тормозит на сумке, но выполняется на остальных вещах. А если делать проверку на сумку не в самом скрипте, а снаружи?

Хотя у меня есть предположение, по какому принципу работают эти команды, которые отвечают за выкладывание вещей, если вещь выкладывается, то она выкладывается, и копия быстро удаляется. Когда же кладешь контейнер, то за ним копируются и все вещи, что в нем, оригиналы же удаляются, отсюда и получается, что вроде бы одна вещь выкладывается столько раз, сколько вещей в контейнере.

Сообщение отредактировал Zirrex - Jul 27 2005, 09:33
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jul 27 2005, 14:15
Сообщение #1414


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Zirrex , спасибо. Я уже сам разобрался. Короче работает это так:
Neverwinter Script Source
//:://////////////////////////////////////////////
//:: OnItemUnAcquireScript  am_mod_unacquire
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
/*
  OnItemUnAcquireScript
*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 26.07.2005
//:://////////////////////////////////////////////
#include "x2_inc_switches"
#include "am_inc_debug"
void main()
{
    object oItem = GetModuleItemLost(); // Сам Item объект
    object oPC = GetModuleItemLostBy(); // Тот кто выложил его
    object oPossessor = GetItemPossessor(oItem); // Тот кому достается объект
    string sTagItem = GetTag(oItem); // Таг Item-a
    string sTagPossessor = GetTag(oPossessor); // Таг нового хозяина
    // -------------------------------------------------------------------------
    //
    // -------------------------------------------------------------------------
    if (GetStringLeft(sTagItem, 10) =="AM_IT_BOOK") // Первые 10 знаков тага книг
    {
    if (sTagPossessor == GetTag(GetArea(oItem)) ||
        GetObjectType(oPossessor) == OBJECT_TYPE_PLACEABLE)
        {
          return;
        }
          else
        {
          object oBook;
          location lLoc = GetLocation(oItem);
          oBook=CreateObject(OBJECT_TYPE_PLACEABLE, "am_plc_usedbook1", lLoc);
          // Присвоим строку равную ResRef-у, что бы потом создать такую же книгу
          SetLocalString(oBook, "PUT_DOWN_BOOK", GetResRef(oItem));
          DestroyObject(oItem);
        }
    }
}


Как работает этот код я не могу понять, так как определить объект которому принадлежат книги после того как онтейнер выложен НЕВОЗМОЖНО. Мож я туплю :xz: Но шкаф, получаемый книги дебагится, а объект кому отдаем книги кладя на землю сумку нет. Вот от этого и вся байда. Не знаю почему, но работает вот этот код... :crazy: два дня с утра до вечера я мучался :lol: :lol:

Neverwinter Script Source
if (sTagPossessor == GetTag(GetArea(oItem)) ||
        GetObjectType(oPossessor) == OBJECT_TYPE_PLACEABLE)
        {
          return;
        }

Добавлено в [mergetime]1122463094[/mergetime]
Итог: итем можно класть в ящики, сундуки и сумку на локу и просто. Если чисто сам итем кладешь на локу то он десторится и получается плейс. Ну а превратить обратно его в книгу-итем 5 секунд.
Добавлено в [mergetime]1122463375[/mergetime]
Странно, но при такой проверке ареа не пеленгуется как получатель итема... И при поклаже сумки не пеленгуется, но проверяется :D Мда.
Добавлено в [mergetime]1122467318[/mergetime]
Neverwinter Script Source
if (sTagPossessor == GetTag(GetArea(oItem)) ||
        GetObjectType(oPossessor) == OBJECT_TYPE_PLACEABLE ||
        GetObjectType(oPossessor) == OBJECT_TYPE_STORE ||
        GetIsAssociate(oPC, oPossessor))
        {
          return;
        }

Еще надо на магазин и хеньчей проверить... Теперь все пахаеть как часы.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Jul 27 2005, 16:13
Сообщение #1415


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



У меня почемуто в кутсценке один NPC не хочет говорить фразы. Все действия совершает, а фраза над ним не появляется, однако она отображается в информационном окне(или как оно правельно называется). Пишу через DelayCommand-> AssignCommand-> SpeakString.
Над другими NPC фраза отображается, в чем тут дело?
Привести скрипт не могу, ибо пишу сценку на конкурс.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 27 2005, 21:35
Сообщение #1416


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



-fenix-, а ты сделай "ActionSpeakString". И внимательно проверь, верен ли объект, которого ты просишь произнести фразу.

Aiwan, я обычно такое дерево использую, чтобы не строить большое условие:

Neverwinter Script Source
void DropItemDestroy(object oItem)
{
    if (GetIsObjectValid(GetAreaFromLocation(GetLocation(oItem))))
    {
        DestroyObject(oItem);
    }
}

void ActionDropItem(object oItem, object oPC, object oPossessor)
{
    switch (GetObjectType(oPossessor))
    {
        // Передать вещь существу
        case OBJECT_TYPE_CREATURE: break;

        // Продать вещь
        case OBJECT_TYPE_STORE: SetLocalInt(oItem, "ASG_PWCLEANSTORE", TRUE); break;

        // Положить вещь в контейнер
        case OBJECT_TYPE_PLACEABLE: break;

        // Выбросить вещь на локацию
        default:
        if (GetIsObjectValid(GetAreaFromLocation(GetLocation(oItem))))
            DelayCommand(60.0, DropItemDestroy(oItem));
        break;
    }
}

void main()
{
    object oItem = GetModuleItemLost();
    object oPC = GetModuleItemLostBy();
    object oPossessor = GetItemPossessor(oItem);

    ActionDropItem(oItem, oPC, oPossessor);
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Jul 27 2005, 22:00
Сообщение #1417


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE (Zirrex @ Jul 27 2005, 21:35)
-fenix-, а ты сделай "ActionSpeakString". И внимательно проверь, верен ли объект, которого ты просишь произнести фразу.

И с ней не делает И тег я раз 10 проверял!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Мефистофель
сообщение Jul 28 2005, 01:27
Сообщение #1418


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

Класс: Страж Тьмы
Характер: Lawful Good
Раса: Баатезу



-fenix-
Сделай лучше так. есть ряд преимуществ. Можно добавить голос, можно добавить анимацию.
диалог заранее напиши. а тег в скрипт поставиш.
DelayCommand(3.5, AssignCommand(oNPC, ActionStartConversation(oNPC, "Тег диалога", FALSE,FALSE)));

Добавлено в [mergetime]1122503616[/mergetime]
Люди помогите позарез нужен скрипт на смерть босса.
Значит так когда босс будет присмерти пойдёт кутсцена.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 28 2005, 08:53
Сообщение #1419


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Мефистофель, самое простое, найти сценку, когда ты сражаешься в одиночной версии игры с Арибет. Помнишь момент, ты ее бьешь, у нее становится мало жизни, и тут она просит о пощаде, бой обрывается, Арибет завязывает диалог. Посмотри, как там сделано, и выполни по оригиналу, только c использованием кутсцены.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Jul 28 2005, 13:38
Сообщение #1420


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE (Мефистофель @ Jul 28 2005, 01:27)
-fenix- Сделай лучше так. есть ряд преимуществ. Можно добавить голос, можно добавить анимацию. диалог заранее напиши. а тег в скрипт поставиш. DelayCommand(3.5, AssignCommand(oNPC, ActionStartConversation(oNPC, "Тег диалога", FALSE,FALSE)));

Я же говорю, что этот чел совсем отказывается говорить, так же как и челы с его внешностью такое ощущение, что это глюк модели(но такое может быть???). Короче теперь за его спиной стоит нивидимый чел, каторый помогает немому выразить мысли.

Мефистофель использовать ActionStartConversation в кутсценах, можно только иногда. Скажем у меня есть 15 отдельныйх фраз для NPC и там звуки с движениями на них. Это мне нужно сделать 15 веток в разговоре! А если мне вдруг не понравился звук или движение или опечатка в словах - это мне надо выходить в редактор разговора и там все править! К тому же скорость и длительность анимации там установленны кажись по дефолту. Короче уж лучше я все это в коде буду писать, так оно ИМХО удобнее!!!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 28 2005, 19:24
Сообщение #1421


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



-fenix- поменяй ему внешность или расу, если думаешь, что проблема в этом. Но на самом деле, это сущий бред, ибо скрипты все едины для любой модели существа, отличаться могут только настройками АИ.

з.ы. если хочешь, можешь прислать мне скрипт, все равно в конкурсе не участвую.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jul 28 2005, 20:57
Сообщение #1422


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (Zirrex @ Jul 28 2005, 00:35)
Aiwan, я обычно такое дерево использую, чтобы не строить большое условие:

Интересное решение ;)
QUOTE (-fenix- @ Jul 28 2005, 16:38)
Я же говорю, что этот чел совсем отказывается говорить, так же как и челы с его внешностью такое ощущение, что это глюк модели(но такое может быть???).

Ты случаем скрипты не потер у него в слотах дефолтовые?
QUOTE (-fenix- @ Jul 27 2005, 19:13)
однако она отображается в информационном окне(или как оно правельно называется).

ГЫ, а ты эти фразы не расскарсил часом? Тегами для актиона или проверок скиллов (зелененьким или красненьким)? :D Тогда так и будет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Jul 28 2005, 20:57
Сообщение #1423


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

Класс: Воин
Характер: Lawful Good
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE (Zirrex @ Jul 28 2005, 19:24)
-fenix- поменяй ему внешность или расу, если думаешь, что проблема в этом. Но на самом деле, это сущий бред, ибо скрипты все едины для любой модели существа, отличаться могут только настройками АИ.

Да я сам думаю, что бред!!! Только этот бред реальный!!! Вот все челы говорят, а этот не говорит. Ставешь чела, он говорит, меняешь ему внешность на немого и этот то же не меет :xz:
Короче большой, большой ХЗ
QUOTE (Zirrex @ Jul 28 2005, 19:24)
поменяй ему внешность или расу

Мне не нужно менять ни того, ни другого.
QUOTE (Zirrex @ Jul 28 2005, 19:24)
если хочешь, можешь прислать мне скрипт, все равно в конкурсе не участвую

Пришлю, но позже.

QUOTE (Aiwan @ Jul 28 2005, 20:57)
Ты случаем скрипты не потер у него в слотах дефолтовые?

НЕТ
QUOTE (Aiwan @ Jul 28 2005, 20:57)
ГЫ, а ты эти фразы не расскарсил часом? Тегами для актиона или проверок скиллов (зелененьким или красненьким)? biggrin.gif Тогда так и будет.

ТОЖЕ НЕТ

Простая строка DelayCommand-> AssignCommand-> SpeakString.
Ни чего сложного!

Сообщение отредактировал -fenix- - Jul 28 2005, 21:02
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 29 2005, 08:51
Сообщение #1424


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



-fenix- так смени ему внешность, если он только при ней молчит. Это так критично? Хотя, если честно, очень уж странно, как может внешность влиять на скрипты? :xz:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Мефистофель
сообщение Jul 30 2005, 01:06
Сообщение #1425


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

Класс: Страж Тьмы
Характер: Lawful Good
Раса: Баатезу



QUOTE
Мефистофель, самое простое, найти сценку, когда ты сражаешься в одиночной версии игры с Арибет. Помнишь момент, ты ее бьешь, у нее становится мало жизни, и тут она просит о пощаде, бой обрывается, Арибет завязывает диалог. Посмотри, как там сделано, и выполни по оригиналу, только c использованием кутсцены

Да видел и в ХотУ тоже самое, я только понять немогу как туда кут-сцену внедрить, может есть функцыя активации заранее созданной кут-сцены.?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jul 30 2005, 18:41
Сообщение #1426


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Конечно есть.
Neverwinter Script Source
void ExecuteScript(string sScript, object oTarget)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Мефистофель
сообщение Jul 31 2005, 01:39
Сообщение #1427


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

Класс: Страж Тьмы
Характер: Lawful Good
Раса: Баатезу



Ха ха блин даже смешно, :lol: ну я такую парашу сделал. :crazy: .
Neverwinter Script Source
void ExecuteScript(string sScript, object oTarget)
{
object oPC = GetLastKiller();
string sSkript = GetName("Cut_Scene");
}

void main()
{
DelayCommand(3.0, ExecuteScript(oPC));
}

Помогиет мне люди добрые. :drag: :shout:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Jul 31 2005, 04:46
Сообщение #1428


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

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



QUOTE (Мефистофель @ Jul 31 2005, 02:39)
Ха ха блин даже смешно, lol.gif ну я такую парашу сделал

мдя. :no: функции, которые тебе советуют применять, надо не писать, а использовать. если ты не собираешься завтра забросить скриптинг, советую тебе проводить больше времени не за подбором задержек в кут-сценах, а за чтением документации по любому языку программирования(лучше С) - достаточно будет самых азов.

чтобы вызвать из скрипта другой скрипт, нужно просто написать
Neverwinter Script Source
ExecuteScript("имя скрипта", oTarget);
//где oTarget - объект, который будет доступен в вызываемом скрипте под "именем" OBJECT_SELF
...
// пару вариантов использования:
// отложенный по времени вызов
DelayCommand(1.0, ExecuteScript("mymegascript", oPC));
// поставленный в очередь действий
ActionDoCommand(ExecuteScript("kill_me", oNPC));
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Мефистофель
сообщение Jul 31 2005, 07:50
Сообщение #1429


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

Класс: Страж Тьмы
Характер: Lawful Good
Раса: Баатезу




dumbo компилется не хочет. а скрипты не брошу они мне как родные. мануал об.прочитю.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jul 31 2005, 16:02
Сообщение #1430


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Мефистофель что у тебя не хочет компилироваться? Выше описанный скрипт, это сильно :this: Переписывать уже существующую функцию, причем с такими ошибками, нет слов просто.

Дам тебе совет, скачивай интересные скрипты, изучай их, смотри как они пишутся, а не просто копируй примеры, тогда и понимать научишься. Нельзя заниматься скриптованием, не понимая, что ты делаешь.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Мефистофель
сообщение Aug 1 2005, 00:23
Сообщение #1431


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

Класс: Страж Тьмы
Характер: Lawful Good
Раса: Баатезу



Скриптики я малясик понимаю, вы уж простите вчера пьяный был.
Вот это не компилется.
Neverwinter Script Source
void main()
{
    int nUser = GetUserDefinedEventNumber();
    if (nUser == 1002)
    {
        if (GetLocalInt(OBJECT_SELF,"L") ==0)
        {
            SetLocalInt(OBJECT_SELF,"L",1);
        }
    }
    else
    if(nUser == 1006)
    {
        int nMaxHP = GetMaxHitPoints();
        int nCurrHP = GetCurrentHitPoints();
        if (GetLocalInt(OBJECT_SELF,"L") == 0)
        if((nCurrHP * 3) <= nMaxHP && GetLocalInt(OBJECT_SELF,"Generic_Surrender") == 0)
        {
            SurrenderToEnemies();
            SetLocalInt(OBJECT_SELF,"Generic_Surrender",1)  ;
            SpeakOneLinerConversation();
            SetLocalInt(OBJECT_SELF,"L",1);
        }

    }

}
void Morag_Death(object oPC)
{
DelayCommand(0.0, Morag_Death(oPC));
object oPC = GetLastKiller();
object oVB = GetObjectByTag("BIG_Morag");
effect eBio = EffectVisualEffect(VFX_DUR_GHOST_SMOKE);
effect eBio2 = EffectVisualEffect(VFX_DUR_GHOSTLY_VISAGE);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBio, OBJECT_SELF);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBio2, OBJECT_SELF);


Я тут подумал мож не добовлять
Neverwinter Script Source
void Morag_Death(object oPC)

А просто продлжить скрипт как должное.
помогите Туллсета нет.
Добавлено в [mergetime]1122845354[/mergetime]
ПОМОГИТЕ!! Это очень важно для меня.
Это скрипт битвы с мораг, (с моей мораг), я проверял 100раз всё верно, и тег и фракцыя и точки.
Но на Wp_Morag_War1, войны отказываются прыгать, а на Wp_Morag_War2 всё гладко.
Вот скрипт, вы уж простите если большой.
Neverwinter Script Source
//:://////////////////////////////////////////////
//:: Created By: NedWarN
//:: Created On: Koha
//:://////////////////////////////////////////////
#include "x2_inc_cutscene"
void main()
{
int CUTSCENE_NUMBER = 13;
object oPC = GetPCSpeaker();//Dis_is PC of Playing for Games
object oMorag = GetObjectByTag("GLAV_Morag");//Morag AND Boss for one Modules/
//----------------------------------------------
object oW1 = GetObjectByTag("MS_War1");//Wars1/
object oW2 = GetObjectByTag("MS_War2");//Wars2/
object oW3 = GetObjectByTag("MS_War3");//Wars3/
object oW4 = GetObjectByTag("MS_War4");//Wars4/
object oW5 = GetObjectByTag("MS_War5");//Wars5/
object oW6 = GetObjectByTag("MS_War6");//Wars6/
object oW7 = GetObjectByTag("MS_War7");//Wars7/
object oW8 = GetObjectByTag("MS_War8");//Wars8/ JJJo
object oWboss = GetObjectByTag("JJJo");// JJJo
//Wars13/
//---------------------------------------------
//--/////////////////////////////////////////////////////////
object oBE1 = GetObjectByTag("Wp_Morag_War1");//Object of Beam effect//
object oBE2 = GetObjectByTag("WP_Morag_War2");//Object of Beam effect//
//Object of Beam effect//
//--------------------------------------------
object oWpST1 = GetObjectByTag("MS_LU1");//Object of Beam effect//
object oWpST2 = GetObjectByTag("MS_LU2");//Object of Beam effect//
//--/////////////////////////////////////////////////////////
effect eMo1 = EffectVisualEffect(VFX_FNF_SUMMON_EPIC_UNDEAD);
effect eMo2 = EffectVisualEffect(VFX_FNF_BLINDDEAF);
effect eMo3 = EffectResurrection();
effect eMo4 = EffectDeath();
effect eMo5 = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);
//-------------------------------------------
if (GetIsPC(oPC) == FALSE)//fOR PC IT IS! FOR INVISION CUT-SCENE//GetISPC(oPC)= FALSE! fun of PC!
return;
// Minu and du for Disable/ is cut-scene. Go_Morag_War1
//-------------------------------------------one partia//
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eMo5, oPC);
RemoveEffect(oPC,eMo5);
SetCutsceneMode(oPC,FALSE);
DelayCommand(3.0, AssignCommand(oW1, ActionJumpToObject(oBE1)));
DelayCommand(4.0, AssignCommand(oW2, ActionJumpToObject(oBE2)));
DelayCommand(3.5, AssignCommand(oW1, ActionJumpToObject(oBE1,TRUE)));
DelayCommand(3.5, AssignCommand(oW2, ActionJumpToObject(oBE2,TRUE)));
//------------------------------------------Spell Morag of PC
DelayCommand(20.5, AssignCommand(oMorag, ActionCastSpellAtObject(SPELL_SHADES_FIREBALL,oPC, METAMAGIC_ANY, 2)));
//-------------------------------------------two partia//
DelayCommand(71.0, AssignCommand(oW3, ActionJumpToObject(oBE1)));
DelayCommand(72.0, AssignCommand(oW4, ActionJumpToObject(oBE2)));
DelayCommand(74.5, AssignCommand(oW3, ActionJumpToObject(oBE1,TRUE)));
DelayCommand(74.5, AssignCommand(oW4, ActionJumpToObject(oBE2,TRUE)));
//------------------------------------------
DelayCommand(80.5, AssignCommand(oMorag, ActionCastSpellAtObject(SPELLABILITY_BG_CREATEDEAD,oPC, METAMAGIC_ANY, 2)));
//------------------------------------------
DelayCommand(83.0, AssignCommand(oWboss, ActionJumpToObject(oPC)));
DelayCommand(120.0, AssignCommand(oW5, ActionJumpToObject(oBE1)));
DelayCommand(121.0, AssignCommand(oW6, ActionJumpToObject(oBE2)));
DelayCommand(124.5, AssignCommand(oW5, ActionJumpToObject(oBE1,TRUE)));
DelayCommand(124.5, AssignCommand(oW6, ActionJumpToObject(oBE2,TRUE)));
//------------------------------------------
DelayCommand(140.5, AssignCommand(oMorag, ActionCastSpellAtObject(SPELL_WAIL_OF_THE_BANSHEE,oPC, METAMAGIC_ANY, 2)));
//-----------------------------------------
DelayCommand(160.9, ApplyEffectToObject(DURATION_TYPE_INSTANT, eMo2, oWpST1));
DelayCommand(160.9, ApplyEffectToObject(DURATION_TYPE_INSTANT, eMo2, oWpST2));
DelayCommand(164.0, AssignCommand(oW7, ActionJumpToObject(oWpST1)));
DelayCommand(164.0, AssignCommand(oW8, ActionJumpToObject(oWpST2)));
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DraX
сообщение Aug 4 2005, 14:51
Сообщение #1432


Level 3
*

Класс: Паладин
Характер: Chaotic Evil
Раса: Человек



2 Мефистофель
Меф, лучше используй не объект, как цель прыжка, а место:
Neverwinter Script Source
GetLocation(GetNearestObjectByTag(oBE1))

Будеть меньше глюков, 100% ;)
Кстати, чет там у тебя за неразбор со временем. И зачем ты свои воинов доблестных по два раза заставляешь прыгаць. :) Иль так задумано? Если да, то разъясни ситуацию. :)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DEM
сообщение Aug 6 2005, 15:33
Сообщение #1433


Level 7
**

Класс: Маг
Характер: Lawful Neutral
Раса: Эльф



Подскажите, какой скрипт делает что бы после смерти и нажатии ОЕСПАВН, мы телепортировались в нужную точку? Просто пробовал использовать простой телепорт в точку, но не получилось.... :vava:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Aug 6 2005, 17:59
Сообщение #1434


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



DEM пропиши на эвенте модуля OnPlayerRespawn такой скрипт, и тебя будет переносить туда, куда тебе нужно:

Neverwinter Script Source
void Resurrect(object oPC, object oJump)
{
    ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectResurrection(), oPC);
    ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(GetMaxHitPoints(oPC)), oPC);
    AssignCommand(oPC, ActionJumpToObject(oJump));
}

void main()
{
    object oPC = GetLastRespawnButtonPresser();

    object oJump = GetObjectByTag("wp_respawn");
    Resurrect(oPC, oJump);
}

Только не забудь в нужном месте точку "wp_respawn" поставить.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DraX
сообщение Aug 8 2005, 12:52
Сообщение #1435


Level 3
*

Класс: Паладин
Характер: Chaotic Evil
Раса: Человек



2 DEM
Если хочешь, мож добавить к скрипту Zirrex'а проверку на локацию. Допустим, когда с боссом сражаесся, ты убит, а спауна ма! Или ты пришел в другой город в храм к кокому-нибудь монаху, а он дает гарантию, что если ты умрешь в ближайших лес, то твоя душонка (грешная или нет) возвратится в этот храм (возвращение не бесплатное. А как же! :D ). Придется менять локации. Вот тебе волшебнай проверка:
Neverwinter Script Source
string sArea = GetTag(GetArea(GetLastDied())); // Вот насчет GetLastDied() точно не помню
                      // чет типа того там есть
  if(sArea == "тег локации")
{
  // А дальше просто меняешь вэйпоинт регенерации
}

Так сказать, маленькое дополнение к скрипту. ГЫ!

2 Zirrex
RESPECT! :good:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 56 57 58 59 60 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 3rd May 2025 - 19:31