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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 121 122 123 124 125 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Sugo77
сообщение Feb 15 2009, 09:36
Сообщение #3051


Level 3
*

Класс: Монах
Характер: Lawful Good
Раса: Эльф



Привет Всем Снова Я вернулся, а пдскажите плиз, как сделать так что бы игроков Одной команды, фракции скажем Злой, автоматически бросало в Одну Пати к игрокам, а игкроков противоположной команды Гуд, бросало в другую пати?, я знаю что так можно сделать, я играл долго время на Alestorm Lotr Team PvP, у них это сделано, и к тому же даже после перезахода в игру ты всеравно автоматически в пати, в этой же команде.

Примечание в их сервере Alestorm Lotr team PvP, стоит Game Type: Team, PvP Mode: Party , может это как то может помочь, в помощи для меня, подскажите плиз, я знаю что это не просто но возможно.

P.S.: Вот этот скрипт на дислайки работает просто замечательно, НО, он против всех, может его как то надо настроить, чтобы к игрокам своей команды , ты не был враждебен, ну или просто сделать то что я описал, одних игроков в одну команду(Good Team) других(Evil Team) в другу.

Neverwinter Script
// The PC who entered the trigger is set to dislike all the PC's in the module
void main()
{
    // Get entering PC
    object oEnterer = GetEnteringObject();

    // make sure they are not a DM
    if(GetIsPC(oEnterer) && !GetIsDM(oEnterer))
    {
        // Loop all PC's in the module and set this PC to dislike them - uh oh
        object oPC = GetFirstPC();
        while(GetIsObjectValid(oPC))
        {
            // Set to dislike
            SetPCDislike(oEnterer, oPC);

            // Get next PC
            oPC = GetNextPC();
        }
    }
}

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение Feb 15 2009, 10:16
Сообщение #3052


Level 7
**

Класс: Некромант
Характер: True Neutral
Раса: Нежить



Neverwinter Script
void main()
{
    object oPlayer = GetEnteringObject();
    string VarName = "имя переменной на игроке"; //Переменную под этим именем надо проставить на каждого игрока в зависимости от выбранной фракции

    if (GetIsPC(oPlayer) && !GetIsDM(oPlayer))
    {
        object oPC = GetFirstPC();
        int nFaction = GetLocalInt(oPlayer, VarName);

        while (GetIsObjectValid(oPC))
        {
            int nSame = GetLocalInt(oPC, VarName) == nFaction;
            int nDone = 0;

            if (nSame)
            {
                if (!(nDone || oPC == oPlayer))
                {
                    RemoveFromParty(oPlayer);
                    AddToParty(oPlayer, oPC);
                    nDone++;
                }
            }
                else SetPCDislike(oPlayer, oPC);
        }
    }
}


Сообщение отредактировал greye - Feb 15 2009, 14:44
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Latiss
сообщение Feb 17 2009, 16:15
Сообщение #3053


Level 3
*

Класс: Псионик
Характер: Chaotic Neutral
Раса: Тварь



Вообщем появилась проблема в одной скриптовой сцене - Точнее, в самой последней строчке. (Диалог не начинается) И в том, что эффект unsummon не проигрывается (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Neverwinter Script
void main()
{
object oPC = GetPCSpeaker();
object oKiller = GetObjectByTag("assassin");
object oValsh = GetObjectByTag("valsh");
object oKaj = GetObjectByTag("Kaj");
object oMarsia = GetObjectByTag("MarsiaLab");
location lKillEx = GetLocation(GetObjectByTag("AssassinEnter"));
effect E1 = EffectVisualEffect(VFX_IMP_DEATH_L);
effect E2 = EffectDeath();
effect E3 = EffectVisualEffect(VFX_IMP_UNSUMMON);
   SetCutsceneMode(oPC);
   AssignCommand(oKiller, ClearAllActions());
   AssignCommand(oPC, ClearAllActions());
   AssignCommand(oMarsia, ClearAllActions());
   AssignCommand(oValsh, ClearAllActions());
   DelayCommand(0.1, AssignCommand(oPC,SetCameraFacing(120.0,12.0,49.0,CAMERA_TRANSITION_TYPE_FAST)));
   DelayCommand(0.2, AssignCommand(oKiller, SetFacingPoint(GetPosition(oValsh))));
   DelayCommand(0.9, AssignCommand(oKiller, ActionCastFakeSpellAtObject(SPELL_FINGER_OF_DEATH,
oValsh)));
   DelayCommand(3.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, E1, oValsh));
   DelayCommand(3.5, ApplyEffectToObject(DURATION_TYPE_PERMANENT, E2, oValsh));
   DelayCommand(3.8, AssignCommand(oKiller,DestroyObject(oKiller)));
   DelayCommand(3.8, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, E3, lKillEx));
   DelayCommand(4.0,AssignCommand(oMarsia,ActionStartConversation(oPC
)));
   DelayCommand(4.1,SetCutsceneMode(oPC, FALSE));
}


Сообщение отредактировал Latiss - Feb 17 2009, 16:16
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Feb 17 2009, 21:37
Сообщение #3054


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

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



может быть у тебя этот скрипт на объекте "assassin" стоит?, тогда после его удаления удалятся и за-делай-еные действия, правда тогда в этом случае не должно ещё работать выключение катсцены...

Сообщение отредактировал azathoth - Feb 17 2009, 21:48
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Latiss
сообщение Feb 18 2009, 09:02
Сообщение #3055


Level 3
*

Класс: Псионик
Характер: Chaotic Neutral
Раса: Тварь



У меня скрипт стоит на диалоге Вальшерада. После окончания диалога стартует катсцена. Но assassin-то удаляется! А диалог не стартует и эффект не проигрывается

Мистика - Переделал немного диалоги и поставил вместо oMarsia, oKaj, то игрок без труда начинал диалог с Кайусом! Дело улажено. Всем спасибо, все свободны.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Latiss
сообщение Feb 28 2009, 13:52
Сообщение #3056


Level 3
*

Класс: Псионик
Характер: Chaotic Neutral
Раса: Тварь



Вновь требуется помощь: Как создать вэйпоинт на месте смерти одного НПС (На OnDeath должен стоять). И еще - ExecuteScript запускает же какой-то скрипт? И еще - Можно или нельзя запускат таким образом катсцену. То есть на OnDeath этого НПС?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Feb 28 2009, 17:52
Сообщение #3057


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

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



Цитата
Как создать вэйпоинт на месте смерти одного НПС (На OnDeath должен стоять).
В onDeath скрипт добавить строку:
Neverwinter Script
CreateObject(OBJECT_TYPE_WAYPOINT, "<ресреф вейпа>", GetLocation(OBJECT_SELF));
Цитата
ExecuteScript запускает же какой-то скрипт?
Запускает.
Цитата
Можно или нельзя запускат таким образом катсцену. То есть на OnDeath этого НПС?
Не вижу к этому препятствий (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Feb 28 2009, 18:33
Сообщение #3058


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Neverwinter Script
int StartingConditional()
{
    string sGrave = GetLocalString(OBJECT_SELF,"GRAVE");
    if(sGrave == "NEFZEN")
    {
        return TRUE;
        break;
    }
    if(sGrave == "VESSEL")
    {
        return TRUE;
        break;
    }
    return FALSE;
}


Имеется код примерно такого вида, редактор категорически отказывается его компилировать, ругается на break. Кто виноват и что делать?
По сути кода - обработчик для могил, хочу организовать универсальную систему, чтоб не плодить файлы скриптов/диалогов - один скрипт и один диалог с универсальным скриптом-условием.

Сообщение отредактировал Talarasha - Feb 28 2009, 18:34
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Feb 28 2009, 18:36
Сообщение #3059


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

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



Брейки убери совсем, не нужны они тут (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Feb 28 2009, 18:59
Сообщение #3060


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Убрал, скрипт компилируется, но не пашет. Впрочем, он и не должен. (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Объясняю.
Есть диалог из, допустим, двух строк:
1.Натали Нефзен, 1351 - 1390, покойся с миром.
2.Курт Вессел, 1351 - 1390, покойся с миром.
На каждой из строк висит скрипт-условие, приведенное мной выше.
На каждой могилке висит переменная со значением похороненного лица.
При щелчке на надгробие срабатывает диалог и запускается проверка скрипта:
1)Проверяем первую строку диалога
2)Если переменная Нефзен, выводим диалог. Бриком выходим из скрипта.
3)Проверяем вторую строку диалога.
4)Если переменная Вессел, то первая проверка не срабатывает и мы переходим ко второй.
Если же не будет брика, то скрипт будет выдавать первую строку диалога в любом случае, а не делать то, что мне надо.
Так что вопрос - почему не компилирует, или можно ли кк-то по-другому решить эту задачу?
В принципе, я понимаю, что брика после возврата значения быть не может... Но как тогда поступить? =)

Сообщение отредактировал Talarasha - Feb 28 2009, 19:04
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Latiss
сообщение Mar 1 2009, 04:23
Сообщение #3061


Level 3
*

Класс: Псионик
Характер: Chaotic Neutral
Раса: Тварь



Talarasha, может быть просто привязать к каждой могилей свой "диалог"?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение Mar 1 2009, 10:12
Сообщение #3062


Level 7
**

Класс: Некромант
Характер: True Neutral
Раса: Нежить



Neverwinter Script
int StartingConditional()
{
    string sGrave = GetLocalString(OBJECT_SELF,"GRAVE");
    int IsFirst = GetLocalInt(OBJECT_SELF, "GRAVE");

    if (sGrave == "NEFZEN" && IsFirst) return TRUE;
    if (sGrave == "VESSEL" && !IsFirst) return TRUE;

    return FALSE;
}

На каждую могилу ставится переменная GRAVE целочисленного типа со значениями TRUE для NEFZEN и FALSE для VESSEL(вообще говоря, можно даже не ставить вторую).
Хотя пара условий может была бы и лучше.

Сообщение отредактировал greye - Mar 1 2009, 10:28
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Talarasha
сообщение Mar 1 2009, 10:31
Сообщение #3063


Level 6
**

Класс: Маг
Характер: Lawful Evil
Раса: Нежить



Цитата
На каждую могилу ставится переменная GRAVE целочисленного типа со значениями TRUE для NEFZEN и FALSE для VESSEL.
Хотя пара условий может была бы и лучше.

Не работает, к сожалению (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) Обе могилы выдают первую строку диалога. Ведь если взять вторую могилу (VESSEL) и щелкнуть по ней, первое условие не срабатывает, а второе срабатывает и выводит первую строку диалога.

Цитата
Talarasha, может быть просто привязать к каждой могилей свой "диалог"

Ну да, это проще реализуемо. Но зачем нужны кучи диалоговых файлов, если можно уместить все в один?

Хм... Попробую без диалога вообще сделать, просто вывод строки в зависимости от переменной.
Добавлено:
Заработало =).
Neverwinter Script
void main()
{
     string sGrave = GetLocalString(OBJECT_SELF,"GRAVE");
     if(sGrave == "NEFZEN")
     {
            ActionSpeakString("Натали Нефзен, 1351 - 1390, покойся с миром.");
     }
     if(sGrave == "VESSEL")
     {
            ActionSpeakString("Курт Вессел, 1351 - 1390, покойся с миром.");
     }
}


Хотя если кто-нибудь сможет сделать для диалогового файла, с удовольствием погляжу.

Сообщение отредактировал Talarasha - Mar 1 2009, 10:39
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение Mar 1 2009, 12:38
Сообщение #3064


Level 7
**

Класс: Некромант
Характер: True Neutral
Раса: Нежить



Neverwinter Script
int StartingConditional()
{
     string sName = GetLocalString(OBJECT_SELF, "GRAVE");
     int nCheck = GetLocalInt(OBJECT_SELF, "GRAVE");

     if (!nCheck) if (sName == "NEFZEN") return TRUE;

     SetLocalInt(OBJECT_SELF, "GRAVE", !nCheck);

     return nCheck;
}

Работает только для диалога с 2 строками; ничего, кроме имен в переменных не нужно.

-------------------------------------------------
Для общего случая:
Neverwinter Script
const int nCountMax = 99;
const string sVariableName = "<Variable_Name>";

int StartingConditional()
{
    string sName = GetLocalString(OBJECT_SELF, sVariableName);
    int nPosition = GetLocalInt(OBJECT_SELF, sVariableName);
    int bTRUE = FALSE;

    switch (nPosition)
    {
        case 0: if (sName == "<Name_00>") bTRUE = TRUE; break;
        case 1: if (sName == "<Name_01>") bTRUE = TRUE; break;
        case 2: if (sName == "<Name_02>") bTRUE = TRUE; break;
        //...
        case nCountMax: if (sName == "<Name_nCountMax>") bTRUE = TRUE; break;
    }

    if (bTRUE || nPosition == nCountMax) nPosition = 0;
        else nPosition++;
    SetLocalInt(OBJECT_SELF, sVariableName, nPosition);

    return bTRUE;
}


Сообщение отредактировал greye - Mar 1 2009, 13:42
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Latiss
сообщение Mar 7 2009, 11:50
Сообщение #3065


Level 3
*

Класс: Псионик
Характер: Chaotic Neutral
Раса: Тварь



Люди - Как создать некое подобие струи пара (огня?), которая бы через определенный промежуток времени выстреливала из одного вэйпоинта, проносилась бы по прямой до другого вэйпоинта и гасла. А если игрок попал бы в него, то его бы "ошпарило" - нанеслось бы 1d12 огненного урона.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lestorest
сообщение Mar 9 2009, 19:56
Сообщение #3066


Level 2
*

Класс: Самурай
Характер: True Neutral
Раса: Человек



Добрый день скриптеры и семпаи =)
надеюсь поможете мудрыми словами.


Есть модуль (нордок + сер 2.2) так вот нужно создать предмет который бы менял навсегда игроку внешний вид на модель входящую в состав сер'овских паков, видел на форуме скрипты на смену модели (в темах об оборотнях и не только) но скриптер из меня похоже никакой.
может кто поможет разобраться в сути проблемы? (IMG:style_emoticons/kolobok_light/unsure.gif)

нужно на несколько моделей, но думаю с остальными потом сам разберусь
существо Guardinal: Ayala(в списке числиться так) в скрипте записывал так - GUARDINAL_AYALA правда в оригинале в названиях нету двоеточия...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Mar 9 2009, 20:02
Сообщение #3067


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Цитата(Latiss @ Mar 7 2009, 11:50) *
Люди - Как создать некое подобие струи пара (огня?), которая бы через определенный промежуток времени выстреливала из одного вэйпоинта, проносилась бы по прямой до другого вэйпоинта и гасла. А если игрок попал бы в него, то его бы "ошпарило" - нанеслось бы 1d12 огненного урона.

не просто. Визуальный эффект где-то в базе скриптов был. См феерверки. А чтобы еще урон был - тут есть несколько вариантов, и все довольно сложные.
Проще создавать с интервалом огненную стену. Эффект примерно такой же, но делать заметно легче.

Цитата(Lestorest @ Mar 9 2009, 19:56) *
Добрый день скриптеры и семпаи =)
надеюсь поможете мудрыми словами.


Есть модуль (нордок + сер 2.2) так вот нужно создать предмет который бы менял навсегда игроку внешний вид на модель входящую в состав сер'овских паков, видел на форуме скрипты на смену модели (в темах об оборотнях и не только) но скриптер из меня похоже никакой.
может кто поможет разобраться в сути проблемы? (IMG:style_emoticons/kolobok_light/unsure.gif)

нужно на несколько моделей, но думаю с остальными потом сам разберусь
существо Guardinal: Ayala(в списке числиться так) в скрипте записывал так - GUARDINAL_AYALA правда в оригинале в названиях нету двоеточия...

см функцию SetAppearanceType. Собсна кроме нее почти ничего и не нужно.
Но имхо такое изменение внешности будет выходить боком при полиморфе (магия или способность, не суть).
Лучше всего через лето поправить файл персонажа, поменяв ему внешность. Или, тк это шард, делать через NWNX, что еще лучше и эффектнее. Но с этим вопросом надо к шардовикам, к Вирусману например.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lestorest
сообщение Mar 9 2009, 20:15
Сообщение #3068


Level 2
*

Класс: Самурай
Характер: True Neutral
Раса: Человек



Lex, возможно я совсем туповат в плане скриптов, в принцепи весь скрипт по идее состоит из нее одной с прописаной кокраз моделькой и повесит на онклилк\онюсе предмета, но пока что у меня получался нулевой эфект.
Свойственно можно редактировать чаров и отдельно правда лето у меня как-то не работает. попробуем через "NWNX" и покопаюсь еще с скриптом.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Mar 9 2009, 20:23
Сообщение #3069


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



onClick|onUsed.. ты на плейс вешаешь чтоль?
если на юз, то кроме GetLastUsedBy и SetAppearanceType ничего и нет. Да, и учти что вбивать константу GUARDINAL_AYALA в параметры функции бесполезно, если эта константа не прописана или там, где все консты прописаны (script.nss или как-то так) или в той библиотеке, которая будет подключена к скрипту. Если влом прописывать - просто ставь вместо константы номер из табылицы appearance.2da, где у тебя эта внешность/существо описано.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lestorest
сообщение Mar 9 2009, 20:53
Сообщение #3070


Level 2
*

Класс: Самурай
Характер: True Neutral
Раса: Человек



Lex, спасибо, осталось одна мелочь выковырять это все из сер паков =)

вашаю я на предмет урной зовущийся... просто что первое попалось.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Barmaley
сообщение Mar 14 2009, 23:13
Сообщение #3071


Level 1


Класс: Варвар
Характер: Lawful Good
Раса: Полуорк



Кто нибудь, пожалуйста, подскажите скрипт для шахида, он должен подбегать к NPC и взрываться.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
ReyBrujo
сообщение Mar 15 2009, 16:10
Сообщение #3072


Level 2
*

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



Помогите пожалуйста,у меня есть скрипт,и разговор,в котором должен этот скрипт действовать(хенч должен весь мой инвентарь положить себе)
Neverwinter Script
void main()
{
object oMaster = GetPCSpeaker()
object oItem = GetFirstItemInInventory(oMaster)
object oNewMaster=GetNearestObjectByTag("HEN_GRORK",oMaster)

CopyItem(oItem,oNewMaster,FALSE)
{
      while(GetIsObjectValid(oItem))
      {
        if(GetBaseItemType(oItem) == BASE_ITEM_LARGEBOX)
        {
          CreateItemOnObject(GetResRef(oItem), oNewMaster, 1);
          if(iDel==TRUE) DestroyObject(oItem, 0.5);
        }
        else
            {
              CopyItem(oItem, oNewMaster, TRUE);
              if(iDel==TRUE) DestroyObject(oItem);
            }
          oItem = GetNextItemInInventory(oMaster);
      }
}
}


Скрипт ругается на четвертую строчку,уже пробовал убирать-добавлять точку с запятой,теги вродь object,int ,сам переписал весь код-все равно ругается.НА вся кслучай сразу говорю-скрипт ставил на совершение действия хенчем в разговоре
Плиз,хелп (IMG:style_emoticons/kolobok_light/shout.gif)

Помогите пожалуйста,у меня есть скрипт,и разговор,в котором должен этот скрипт действовать(хенч должен весь мой инвентарь положить себе)
Neverwinter Script
void main()
{
object oMaster = GetPCSpeaker()
object oItem = GetFirstItemInInventory(oMaster)
object oNewMaster=GetNearestObjectByTag("HEN_GRORK",oMaster)

CopyItem(oItem,oNewMaster,FALSE)
{
      while(GetIsObjectValid(oItem))
      {
        if(GetBaseItemType(oItem) == BASE_ITEM_LARGEBOX)
        {
          CreateItemOnObject(GetResRef(oItem), oNewMaster, 1);
          if(iDel==TRUE) DestroyObject(oItem, 0.5);
        }
        else
            {
              CopyItem(oItem, oNewMaster, TRUE);
              if(iDel==TRUE) DestroyObject(oItem);
            }
          oItem = GetNextItemInInventory(oMaster);
      }
}
}


Скрипт ругается на четвертую строчку(object oItem = GetFirstItemInInventory(oMaster)),уже пробовал убирать-добавлять точку с запятой,теги вродь object,int ,сам переписал весь код-все равно ругается.НА вся кслучай сразу говорю-скрипт ставил на совершение действия хенчем в разговоре
Плиз,хелп (IMG:style_emoticons/kolobok_light/shout.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение Mar 15 2009, 16:40
Сообщение #3073


Level 7
**

Класс: Некромант
Характер: True Neutral
Раса: Нежить



Цитата(ReyBrujo @ Mar 15 2009, 16:10) *
Плиз,хелп shout.gif

Не стоят точки с запятой в конце 3-5, 7 строк. Еще лишняя пара фигурных скобок - сразу после CopyItem и закрывающая в конце. К тому же не олределена переменная iDel типа int, насколько видно.


Сообщение отредактировал greye - Mar 15 2009, 16:46
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
drago
сообщение Mar 16 2009, 06:01
Сообщение #3074


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

Класс: Маг
Характер: Lawful Evil
Раса: Дракон
NWN: Скриптинг [PW]



Цитата
Кто нибудь, пожалуйста, подскажите скрипт для шахида, он должен подбегать к NPC и взрываться.


Ну вот например так
Neverwinter Script
float fDelay = GetDistanceToObject(GetNearestObjectByTag("npc_tag"))/15; //точно не помню эту формулу
AssignCommand(OBJECT_SELF, ActionForceMoveToObject(GetObjectByTag("npc_tag"), TRUE));
DelayCommand(fDelay, ExecuteScript("detonate", OBJECT_SELF));
SetLocalInt(OBJECT_SELF,"ACTIVATED_OBJECT",TRUE);


и в OnDamaged такое

Neverwinter Script
if(GetDamageDealtByType(DAMAGE_TYPE_FIRE) > 0 && GetCurrentHitPoints() < 0)
        ExecuteScript("detonate",OBJECT_SELF);


detonate:
Neverwinter Script
void main()
{
    object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, 10.0, GetLocation(OBJECT_SELF), FALSE, OBJECT_TYPE_DOOR | OBJECT_TYPE_CREATURE | OBJECT_TYPE_PLACEABLE);
    while(GetIsObjectValid(oTarget))
        {
            int nDamage = 450+d100();
            nDamage = GetReflexAdjustedDamage(nDamage, oTarget, 45, SAVING_THROW_TYPE_FIRE);
            effect eDam = EffectDamage(nDamage, DAMAGE_TYPE_FIRE);
            ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
            ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIREBALL), oTarget);
            ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_FLAME_M), oTarget);
            DestroyObject(OBJECT_SELF);

            oTarget = GetNextObjectInShape(SHAPE_SPHERE, 10.0, GetLocation(OBJECT_SELF), FALSE, OBJECT_TYPE_DOOR | OBJECT_TYPE_CREATURE | OBJECT_TYPE_PLACEABLE);
        }
int nCount=0;

while(nCount<4)
{
float fRandom = GetRandomDelay(0.3,1.0);
DelayCommand(fRandom, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVi
sualEffect(VFX_COM_BLOOD_LRG_RED),oPC));
DelayCommand(fRandom, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVi
sualEffect(VFX_COM_BLOOD_REG_RED),oPC));
DelayCommand(fRandom, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVi
sualEffect(VFX_COM_CHUNK_RED_LARGE),oPC));
nCount++;
}
   
}

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
serafim
сообщение Mar 16 2009, 16:21
Сообщение #3075


Level 3
*

Класс: Волшебник
Характер: Chaotic Good
Раса: Эльф



ребята помогите. Начинаю грызть науку скриптования и главный вопрос по каст сценам. Пропишите ка создать как сцену которая наиналась бы с того что созданый вами персонаж лежал на кровати как бы в забытие и потом сцена переходила бы на воспоминания. похоже как в ПЛ, когда вас оттубасили два урка и вы валяетесь на кровати у Ви. Только наоборот. Сначала на кровати а потом сцена с забытием, которая переходит на новые и новые сценки?
СПС огромное.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 121 122 123 124 125 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 1st May 2024 - 22:49