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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 132 133 134 135 136 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
greye
сообщение Jun 12 2010, 08:55
Сообщение #3311


Level 7
**

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



Есть функция GetGold().
Соответственно:
Neverwinter Script
if (GetGold(GetPCSpeaker()) < 1000) {
    return FALSE;
}
return TRUE;


Сообщение отредактировал greye - Jun 12 2010, 08:59
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
likkil
сообщение Jun 12 2010, 22:22
Сообщение #3312


Level 2
*

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



Доброго времени суток
У меня такой вопросик : вот у меня есть модуль старой версии 1.6 , а так охота в нём покататся на лошадях какие команды мне использовать в скрипте чтоб это было возможно
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jun 13 2010, 08:45
Сообщение #3313


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

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



Цитата(likkil @ Jun 13 2010, 00:22) *
а так охота в нём покататся на лошадях какие команды мне использовать в скрипте чтоб это было возможно

Команда - НО!!! Трогай! - двигаться вперед.
Команда - ТРРРРР! - остановка.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Laajin
сообщение Jun 14 2010, 14:37
Сообщение #3314


Level 5
**

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



likkil
это долгая история
во первых что за модуль...кастомный иль не кастомный - вопрос непонятен
во вторых лошадки появляются только после патча 1.69
до него жалкие попытки покататься на лошадках выливались в тяжелые хаки и муторные системы скриптов.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
denis0k
сообщение Jun 14 2010, 17:13
Сообщение #3315


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

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



В 1.69 по сути те же хаки (просто включены в ресурсы игры) и те же муторные системы скриптов. Ничего конкретно нативного в коняшках нет - всё тот же геморрой с кастомными анимациями и подменой аппиаранса. Изврат в общем.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение Jun 19 2010, 17:56
Сообщение #3316


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Здравствуйте. У меня не работает (или постоянно удаётся, даже при минусовых значениях навыка) проверка убеждения для появления реплики, соотв. фраза всегда доступна в диалоге. Где косяк?
Neverwinter Script
#include "nw_i0_tool"

int StartingConditional()
{
    if(!GetHasSkill(SKILL_PERSUADE, GetPCSpeaker()))
    if(!(AutoDC(DC_MEDIUM, SKILL_PERSUADE, GetPCSpeaker())))
        return FALSE;;

    return TRUE;;
}


А так же http://www.city-of-masters.ru/forums/index...0&start=200 последний пост (18.06.2010)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jun 21 2010, 05:48
Сообщение #3317


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

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



Попробуй как-то так.
Neverwinter Script
#include "nw_i0_tool"

int StartingConditional()
{
    if(!GetHasSkill(SKILL_PERSUADE, GetPCSpeaker()) || !AutoDC(DC_MEDIUM, SKILL_PERSUADE, GetPCSpeaker()))
        return FALSE;
    return TRUE;
}


У тебя ошибка, во первых две пары дочки тире, во вторых после IF ставится скобка и в скобке выполняется условие. Если скобки не ставить (как у тебя) то будет выполнено только самое первое и одно условие. Твой скрипт можно было записать и так:
Neverwinter Script
#include "nw_i0_tool"

int StartingConditional()
{
    if(!GetHasSkill(SKILL_PERSUADE, GetPCSpeaker()))
        return FALSE;
    if(!AutoDC(DC_MEDIUM, SKILL_PERSUADE, GetPCSpeaker()))
        return FALSE;
    return TRUE;
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение Jun 21 2010, 14:01
Сообщение #3318


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



спс заработало (IMG:style_emoticons/kolobok_light/yahoo.gif) а как проверить отсутствие навыка (фраза а-ля "я нуб, я не качал убеждение, блеф и запугивание и у меня нет денег. Я должен умереть!)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jun 21 2010, 14:49
Сообщение #3319


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

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



Как раз первая проверка в скрипте и есть проверка навыка убедить... А вот дальше идет бросок, записанный в инклюде. Я же пользуюсь своими скриптами проверки необходимого навыка на убеждение + строка в отчете, что там как прошло:
Neverwinter Script
//::///////////////////////////////////////////////
//:: Проверка навыка "УБЕДИТЬ" сложность НОРМАЛЬНО.
//:://////////////////////////////////////////////
int StartingConditional()
{
object oPC = GetPCSpeaker();
int nSkillZ = GetSkillRank(SKILL_PERSUADE, oPC);
int nDC = 2 + d3();

  if(nSkillZ > nDC)
    {
    SendMessageToPC(oPC, "<c у >Убедить</c><c °у> Бросок : "+IntToString(nSkillZ)+" против "+IntToString(nDC)+" </c><c у >УДАЧА</c>");
    return TRUE;
    }
    SendMessageToPC(oPC, "<c у >Убедить</c><c °у> Бросок : "+IntToString(nSkillZ)+" против "+IntToString(nDC)+" </c><cу  >ПРОВАЛ</c>");
    return FALSE;
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение Jun 22 2010, 19:40
Сообщение #3320


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Ещё один глупый вопрос:

есть скрипт (подгон под себя первого скрипта выложенного Aiwan в разделе "Скрипты для новичков") с попыткой перед дестроем из инвентаря сложить всё в сундук



Neverwinter Script
void main()
{
    object oChest = GetObjectByTag("piratechest");
    object oPC = GetEnteringObject(); // Того кто вошел
    object oArmor = GetObjectByTag("item112");

//-----------------В сундук---------------------
        object oItem = GetFirstItemInInventory(oPC); // Первый итем в инвентаре
        while(GetIsObjectValid(oItem)) // Пока такой объект существует
        {
            ActionGiveItem(oItem, oChest);
            DestroyObject(oItem);
            oItem = GetNextItemInInventory(oPC); // Берем другой объект...
        }

//------------------ Убиваем весь инвентарь ------------------------------------
        while(GetIsObjectValid(oItem)) // Пока такой объект существует
        {
        DestroyObject(oItem);
        oItem = GetNextItemInInventory(oPC); // Берем другой объект...
        }

    int i=0;
        while(i<14) // ПОКА i меньше 14. 14 - это количество всех слот у объекта
        {
        ActionGiveItem(GetItemInSlot(i, oPC), oChest);
        i++;
        ActionGiveItem(GetItemInSlot(i, oPC), oChest);
        }

//------------------ Убиваем всю амуницию -------------------------------------
        while(i<14) // ПОКА i меньше 14. 14 - это количество всех слот у объекта
        {
        DestroyObject(GetItemInSlot(i, oPC));
        i++;
        DestroyObject(GetItemInSlot(i, oPC));
        }
        // Было ноль к примеру, станет 1 и т.д.

//  -------------------одёжка-------------------------
        CreateItemOnObject("item112", oPC, 1);
        AssignCommand(oPC, ActionEquipItem(oArmor, INVENTORY_SLOT_CHEST));
}


Проблемы:
1) В сундук ничего не попадает
2) Уничтожаются только неодетые вещи
3) Следует из проблемы 2) - одёжка не одевается (но появляется в инве)

На всякий случай:
1) Скрипт стоит на onenter локации
2) Проверки на повторность захода в локацию etc нету т.к. предусмотрено только одиночное её посещение и модуль планируется сингловый
3)"item112" и тэг и ресреф вещи
4) item 112 ничего не требует для ношения
5) на onclientrun модуля стоит скрипт схожего действия (при надобности запосчу) (он работает) вышеуказанный скрипт не работает и с и без включённого модулестартоовского
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение Jun 22 2010, 20:23
Сообщение #3321


Level 7
**

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



Во-первых, ты уничтожаешь вещи при переносе. Логично, что после этого ты ничего не найдёшь в сундуке. Во-вторых, я не особо помню, но ActionGiveItem вроде бы работает только от лица владельцев предмета, т.е. надо либо вешать скрипт на игрока, либо делать AssignCommand.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
ReyBrujo
сообщение Jun 22 2010, 21:01
Сообщение #3322


Level 2
*

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



А еще можно использовать CreateItemOnObject вместо ActionGiveItem.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение Jun 22 2010, 23:53
Сообщение #3323


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Спасибо, но ни то ни другое не работает (при убирании дестроя он оставляет всё как было, только новую шмотку дает, ни с ассигнкомманд (экшнгивайтем(...)) ни с крейтайтемонобжект сундук пустует (IMG:style_emoticons/kolobok_light/sad.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jun 23 2010, 01:49
Сообщение #3324


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

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



Neverwinter Script
void main()
{
    object oChest = GetObjectByTag("piratechest");
    object oPC = GetEnteringObject();
    object oArmor = GetObjectByTag("item112"); //первая ошибка - таким способом можно получить только уже существующий в игре объект, если планируется создавать итем, то так делать нельзя


        object oItem = GetFirstItemInInventory(oPC);
        while(GetIsObjectValid(oItem))
        {
            ActionGiveItem(oItem, oChest); //любой экшен выполняется от лица вызвавшего команду объекта - нужно использовать AssignCommand
            DestroyObject(oItem); //что самое интересное, уничтожается _тот же самый_ итем, который хотим положить в сундук
            oItem = GetNextItemInInventory(oPC);
        }

        //этот блок вообще не нужен - все итемы в инвентаре уже помечены на удаление
        while(GetIsObjectValid(oItem))
        {
        DestroyObject(oItem);
        oItem = GetNextItemInInventory(oPC);
        }

    int i=0;
        while(i<14)
        {
        ActionGiveItem(GetItemInSlot(i, oPC), oChest); //опять AssignCommand
        i++;
        ActionGiveItem(GetItemInSlot(i, oPC), oChest); //зачем дублировать-то?
        }

        while(i<14)
        {
        DestroyObject(GetItemInSlot(i, oPC));
        i++;
        DestroyObject(GetItemInSlot(i, oPC)); //тоже зачем-то дублируется команда
        }


        CreateItemOnObject("item112", oPC, 1);
        AssignCommand(oPC, ActionEquipItem(oArmor, INVENTORY_SLOT_CHEST)); //ага, и пытаемся надеть что угодно, только не созданную предыдущей командой одежду
}

Правильно будет так:
Neverwinter Script
void main()
{
    object oChest = GetObjectByTag("piratechest");
    object oPC = GetEnteringObject();
   
    object oNewItem;
    object oItem = GetFirstItemInInventory(oPC);
    while(GetIsObjectValid(oItem))
    {
            if(GetBaseItemType(oItem) != BASE_ITEM_LARGEBOX)
            {
                oNewItem = CopyItem(oItem, oChest, TRUE); //копируем итем в сундук
                SetDescription(oNewItem, GetDescription(oItem));          
            }
            DestroyObject(oItem);
            oItem = GetNextItemInInventory(oPC);
    }
   
    int i;
    for(i = INVENTORY_SLOT_HEAD; i <= INVENTORY_SLOT_BOLTS; i++)
    {
        oItem = GetItemInSlot(i, oPC);
        oNewItem = CopyItem(oItem, oChest, TRUE);
        SetDescription(oNewItem, GetDescription(oItem));
        DestroyObject(oItem);
    }

    AssignCommand(oPC, ClearAllActions(TRUE)); //чистка стека
    oItem = CreateItemOnObject("item112", oPC);
    AssignCommand(oPC, ActionEquipItem(oItem, INVENTORY_SLOT_CHEST));

Если ящики так уж критично копировать, в чём я сильно сомневаюсь, то код будет таким:
Neverwinter Script
...
    while(GetIsObjectValid(oItem))
    {
            if(GetBaseItemType(oItem) == BASE_ITEM_LARGEBOX)
                AssignCommand(oPC, ActionGiveItem(oItem, oChest)); //не знаю, как себя поведет передача полного ящика в таком скрипте - надо тестить
            else
            {
                oNewItem = CopyItem(oItem, oChest, TRUE); //копируем итем в сундук
                SetDescription(oNewItem, GetDescription(oItem));    
                DestroyObject(oItem);     
            }
           
            oItem = GetNextItemInInventory(oPC);
    }
Соответственно, AssignCommand(oPC, ClearAllActions(TRUE)); переедет в начало скрипта.

Сообщение отредактировал Ilerien - Jun 23 2010, 02:14
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Jun 23 2010, 07:25
Сообщение #3325


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

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



Я уже когда-то выкладывал скрипт переноса вещей в ящик. Вот ссылка на пост: http://www.city-of-masters.ru/forums/index...;p=122407&#

В принципе Ilerien, контейнеры, т.е. волшебные сумки нужно переносить оператором ActionGiveItem. Переходят со всем содержимым и в том же раскладе в них вещей. Можно обойтись и этой одной функцией для переноса всех шмоток... Но есть одно НО. Не тестил для НПС, а вот для плейсов теряется переносимый инвентарь. Видно по причине превышения акций...

Поэтому нужно сперва перебрать инвентарь и перенести сумки. Затем скопировать остальной шмот. Да и про золото не стоит забывать, т.к. передать плейсу мы можем не более 50.000 злотых...
Neverwinter Script
// Take nAmount of gold from oCreatureToTakeFrom.
// - nAmount
// - oCreatureToTakeFrom: If this is not a valid creature, nothing will happen.
// - bDestroy: If this is TRUE, the caller will not get the gold.  Instead, the
//  gold will be destroyed and will vanish from the game.
void TakeGoldFromCreature(int nAmount, object oCreatureToTakeFrom, int bDestroy=FALSE)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение Jun 23 2010, 13:33
Сообщение #3326


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Большое спасибо благодаря вам всё заработало (IMG:style_emoticons/kolobok_light/yahoo.gif) (IMG:style_emoticons/kolobok_light/yahoo.gif) (IMG:style_emoticons/kolobok_light/yahoo.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
bern
сообщение Aug 17 2010, 15:33
Сообщение #3327


Level 2
*

Класс: Ученик Дракона
Характер: Chaotic Neutral
Раса: Человек



Всем доброго дня!
Не нашел нигде одного очень важного для меня скрипта. Тыкните меня пожалуйста носом если где-то на форуме уже обсуждался данный вопрос.

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

Например:
9.00 - непись встает(не обязательно с анимацией, достаточно чтобы просто появился возле кровати), потом с вероятностью 50\50 или умывается или ест за столом
9.30 - одевается(меняет одёжку в слоте брони) и идет работать в поле\ идет к лавочке поговорить с соседом и т.д.

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

Думаю и другим модостроителям это пригодится, прошу профи тулсета помочь мне.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Aug 18 2010, 11:21
Сообщение #3328


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

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



Анимация НПС, часть 1
Анимация НПС, часть 2
+ файл с демонстрационным модулем
Более подробно эту задачу никто не освещал.

но там описана идеальная ситуация (игрок находится на той же локации, что и НПС, НПС не перемещается между локациями). Когда дело доходит до реализации в модуле, то все более сложно и грустно. В итоге система немного более сложная чем описана в статье, но эти изменения можно и самому проделать, в принципе (проверки наличия игрока, телепорты кое-где и тд)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
bern
сообщение Aug 18 2010, 23:25
Сообщение #3329


Level 2
*

Класс: Ученик Дракона
Характер: Chaotic Neutral
Раса: Человек



Lex, спасибо! В той статье есть все что мне может понадобится. Пока буду изучать и пробовать. Но еще у меня такой вопрос: можно так сделать чтобы нпс выполняли свой распорядок вне зависимости есть ли игрок в локации? А то заходит главный герой посреди ночи в дом (например чтобы ограбить его) а хозяин вдруг спохватывается из-за стола и бежит в постель быстренько спать, не замечая грабителя, так как должен был лечь 4 часа назад (IMG:style_emoticons/kolobok_light/declare.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Aug 18 2010, 23:46
Сообщение #3330


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

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



я именно об этих усложнениях говорил, когда сказал что условия, рассматриваемые в статье идеальные.
Конечно скрипты выполняются пока игрок не на локации. Но гораздо медленнее. И вообще говоря этим баловаться не следует - будут заметные тормоза. Чтобы реализовать описанную тобой ситуацию, надо имхо скриптовать отдельно вход игрока в дом (те на вход игрока НПСу в локе задаются нужные параметры, которые определяются временем и чем там тебе еще надо + производятся нужные действия с НПС - он куда надо телепортируется, запускается анимация и тд).
Если таких мест будет много.. ну сам понимаешь. Другого приличного варианта, чтобы не тормозило, я не нашел. Да и этот не сказать что простой - требует усидчивости и внимания.

в итоге для себя я сделал такой вывод: реальный уход спать НПС делать только тем, кому это реально нужно (те на это завязан квест). Для антуража таких сложностей не делать.
Для антуража у меня прохожие уходят спать просто войдя в некий дом и исчезнув (при этом игрок туда войти не может). А не прохожие, скажем торговцы, через скрипт выставляют игрока за дверь и запирают дом. Сами понятное дело стоят столбом в лавке, никакой анимации.

Каждый сам решает какой уровень детализации ему нужен и что он готов за это заплатить. Но готовых решений круче тех, что я в той статье описал, тебе врядли кто даст. Просто потому что их скорее всего никто и не делал. Я видел пару систем на волте.. но в них реально многовато дыр, требуется серьезная доработка, а по функционалу и удобству они ничем не лучше моего варианта.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
bern
сообщение Aug 19 2010, 00:20
Сообщение #3331


Level 2
*

Класс: Ученик Дракона
Характер: Chaotic Neutral
Раса: Человек



Спасибо за столь доходчивый ответ (IMG:style_emoticons/kolobok_light/good.gif) Теперь все стало понятно. Буду мудровать теперь как все закрутить наиболее реалистично и чтобы не сидеть часами за доработкой деталей которые игрок может даже не заметить. Наверно нужно делать только самые основные анимации, как вы советовали, необходимые по сюжету и которые игрок просто обязан заметить(IMG:style_emoticons/kolobok_light/smile.gif) . Спасибо за ваши советы!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Aug 19 2010, 06:56
Сообщение #3332


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

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



Почитай еще вот здесь про скрипты ХБ НПС: http://remmgen.narod.ru/tscript3.html#SC_HB

Сообщение отредактировал gennady - Sep 4 2010, 16:22
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
bern
сообщение Aug 19 2010, 22:24
Сообщение #3333


Level 2
*

Класс: Ученик Дракона
Характер: Chaotic Neutral
Раса: Человек



Очень полезное инфо, благодарю. Я сейчас кстати играю в вашу Рыцарскую Сагу. Интересно и продумано, а наиболее понравилось что в близком русской душе стиле сделано (IMG:style_emoticons/kolobok_light/good.gif) Извиняюсь за спойлер (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Iceman157
сообщение Aug 22 2010, 13:03
Сообщение #3334


Level 1


Класс: Теневой Танцор
Характер: Lawful Good
Раса: Человек



Подскажите плиз как сделать точку респа нпц и героя. В скрипте я не очень разбираюсь, пробовал копировать респ из другого модуля - не получилось. Буду очень благодарен. (Имеется ввиду чтобы ресался после смерти и бежал по вейпоинтам точка1,точка2 и т.д., а не просто одноразовое появление появление)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Iceman157
сообщение Aug 24 2010, 15:27
Сообщение #3335


Level 1


Класс: Теневой Танцор
Характер: Lawful Good
Раса: Человек



С игроком разобрался как делать точку респа, но вот НПЦ не хочет ресаться (IMG:style_emoticons/kolobok_light/nea.gif) . народ помогите плиз, чтобы НПЦ ресался, вот что у НПЦ на OnDeath.
Neverwinter Script
void main()
{
    object oNPC = GetLastRespawnButtonPresser();
    ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectRe
surrection(),oNPC);
    ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHe
al(GetMaxHitPoints(oNPC)), oNPC);
    RemoveEffects(oNPC);

    string sDestTag = "WP_Death_Hero";

    int iEnteredCastle = GetLocalInt(GetModule(), "EnteredCastle");

    if (iEnteredCastle == TRUE)
    {
        sDestTag = "WP_Death_Hero2";
    }
    if (GetIsObjectValid(GetObjectByTag(sDestTag)))
    {
        object oSpawnPoint = GetObjectByTag(sDestTag);
        AssignCommand(oNPC,JumpToLocation(GetLocation(oSpa
wnPoint)));
    }
    else
    {
    }
}

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

147 страниц V  « < 132 133 134 135 136 > » 
Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



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