Помощь - Поиск - Пользователи - Календарь
Полная версия: Скрипты
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights Aurora Toolset
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74
Lexey aka Hawk
Сейчас посмотрю как у нас на Геме это было написано.

Neverwinter Script Source
int TestDivineFocus( object oTarget, int nClass )
{
    int bResult = TRUE; // Bard also affected, and some classes too
    if (nClass == CLASS_TYPE_CLERIC )
  {
        // Используем стандартный символ до установки полной поддержки системы Diety
        object oSymbol = GetItemInSlot( INVENTORY_SLOT_LEFTHAND, oTarget );
        bResult = GetTag(oSymbol) == "cleric_symbol";
    }
    else if( nClass == CLASS_TYPE_DRUID )
    {
        // Символ друида может просто лежать в рюкзаке чара
        object oSymbol = GetItemPossessedBy( oTarget, "druid_symbol" );
        bResult = GetIsObjectValid( oSymbol );
    }
    else if( nClass == CLASS_TYPE_PALADIN )
    {
        // Используем стандартный символ до установки полной поддержки системы Diety
        object oSymbol = GetItemInSlot( INVENTORY_SLOT_LEFTHAND, oTarget );
        bResult = GetTag(oSymbol) == "cleric_symbol";
    }
    else if( nClass == CLASS_TYPE_RANGER )
  {
        object oSymbol = GetItemPossessedBy( oTarget, "druid_symbol" );
        bResult = GetIsObjectValid( oSymbol );
    }

    return bResult;
}
Лито
Жутко ступил biggrin.gif спасибо Lexey
bloodwheel
Народ, хелпните, проблема такая:
Ставлю скрип, чтоб нпс после квеста выдал кастомную шмотку - неработает. (CreateItemOnObject)
ставлю в тот же скрипт стандартную шмотку - работает.
ставлю кастомную шмотку, взятую из другого модуля -работает.
ставлю свой кастом - опять не работает.
В чем может быть дело?
Лито
Напиши скрипт. Напомню что в CreateItemOnObject указывается не тэг предмета, а ResRef
Aiwan
QUOTE (bloodwheel @ Mar 2 2005, 16:38)
Ставлю скрип, чтоб нпс после квеста выдал кастомную шмотку - неработает. (CreateItemOnObject)

Во первых, CreateItemOnObject СОЗДАТЬ итем в инвентаре объекта. Ясно? Ты его создаешь. Он должен быть в твоей палитре. Следовательно ...
QUOTE (bloodwheel @ Mar 2 2005, 16:38)
ставлю свой кастом - опять не работает.

Твой кастом в синьку вбит? Или он валяется в чулане? К тому же, покапайся, скриптов на создание шмотки тут тонна уже приводилась.
Neverwinter Script Source
void main()
{   
  object oPC = GetEnteringObject();
            CreateItemOnObject("ResRef", oPC, 1);
            // Создаем предметы. ResRef, у кого,
            // количкство в стеке (например стрел 30)
}
Лито
Решил я сделать компонентную магию, подредактировал скриптик файрболла. Все работает отлично, за одним исключением...Когда файрболл кастует ДМ, от него тоже требуют наличие компонента! biggrin.gif Как сделать так, чтобы от ДМ не требовали этого самого компонента.
Вот собственно скрипт:
Neverwinter Script Source
#include "X0_I0_SPELLS"
#include "x2_inc_spellhook"

void main()
{

/*
  Spellcast Hook Code
  Added 2003-06-20 by Georg
  If you want to make changes to all spells,
  check x2_inc_spellhook.nss to find out more

*/


    if (!X2PreSpellCastCode())
    {
    // If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
        return;
    }
    object oCaster = OBJECT_SELF;
    if (HasItem(oCaster,"bottle_fire")==FALSE)
    {
    ActionSpeakString("У вас нет необходимых компонентов!", TALKVOLUME_SHOUT);
    return;
    }


// End of Spell Cast Hook


    //Declare major variables

    int nCasterLvl = GetCasterLevel(oCaster);
    int nMetaMagic = GetMetaMagicFeat();
    int nDamage;
    float fDelay;
    effect eExplode = EffectVisualEffect(VFX_FNF_FIREBALL);
    effect eVis = EffectVisualEffect(VFX_IMP_FLAME_M);
    effect eDam;
    //Get the spell target location as opposed to the spell target.
    location lTarget = GetSpellTargetLocation();
    //Limit Caster level for the purposes of damage
    if (nCasterLvl > 10)
    {
        nCasterLvl = 10;
    }
    //Apply the fireball explosion at the location captured above.
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eExplode, lTarget);
    //Declare the spell shape, size and the location.  Capture the first target object in the shape.
    object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
    //Cycle through the targets within the spell shape until an invalid object is captured.
    while (GetIsObjectValid(oTarget))
    {
        if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, OBJECT_SELF))
        {
            if((GetSpellId() == 341) || GetSpellId() == 58)
            {
                //Fire cast spell at event for the specified target
                SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_FIREBALL));
                //Get the distance between the explosion and the target to calculate delay
                fDelay = GetDistanceBetweenLocations(lTarget, GetLocation(oTarget))/20;
                if (!MyResistSpell(OBJECT_SELF, oTarget, fDelay))
                {
                    //Roll damage for each target
                    nDamage = d6(nCasterLvl);
                    //Resolve metamagic
                    if (nMetaMagic == METAMAGIC_MAXIMIZE)
                    {
                        nDamage = 6 * nCasterLvl;
                    }
                    else if (nMetaMagic == METAMAGIC_EMPOWER)
                    {
                      nDamage = nDamage + nDamage / 2;
                    }
                    //Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
                    nDamage = GetReflexAdjustedDamage(nDamage, oTarget, GetSpellSaveDC(), SAVING_THROW_TYPE_FIRE);
                    //Set the damage effect
                    eDam = EffectDamage(nDamage, DAMAGE_TYPE_FIRE);
                    if(nDamage > 0)
                    {
                        // Apply effects to the currently selected target.
                        DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget));
                        //This visual effect is applied to the target object not the location as above.  This visual effect
                        //represents the flame that erupts on the target not on the ground.
                        DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
                    }
                }
            }
        }
      //Select the next target within the spell shape.
      oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_HUGE, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
    }
}

Наверное весь скрипт целиком не нужен, однако выложил весь на всякий случай.
Lexey aka Hawk
Neverwinter Script Source
#include "X0_I0_SPELLS"
#include "x2_inc_spellhook"

void main()
{

/*
  Spellcast Hook Code
  Added 2003-06-20 by Georg
  If you want to make changes to all spells,
  check x2_inc_spellhook.nss to find out more

*/


    if (!X2PreSpellCastCode())
    {
    // If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
        return;
    }
    object oCaster = OBJECT_SELF;
    if ((HasItem(oCaster,"bottle_fire") == FALSE) && (GetIsDM(oCaster) == FALSE))
    {
        ActionSpeakString("У вас нет необходимых компонентов!", TALKVOLUME_SHOUT);
        return;
    }


// End of Spell Cast Hook

Лито
Еще раз спасибо wink.gif

Я щас заплачу cray.gif
Решил сделать такой же компонент для огненного шара замедленного действия. Просто скопировал всю проверку в другой скрипт

Neverwinter Script Source
#include "x2_inc_spellhook"

void main()
{

/*
  Spellcast Hook Code
  Added 2003-06-20 by Georg
  If you want to make changes to all spells,
  check x2_inc_spellhook.nss to find out more

*/


    if (!X2PreSpellCastCode())
    {
    // If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
        return;
    }
    object oCaster = OBJECT_SELF;
     if((HasItem(oCaster,"bottle_fire") == FALSE) && (GetIsDM(oCaster) == FALSE)) //вот тут выдает ошибку"непонятное условие компилятора"
    {
    ActionSpeakString("У вас нет необходимых компонентов!", TALKVOLUME_SHOUT);
    return;
    }
// End of Spell Cast Hook

    //Declare major variables including Area of Effect Object
    effect eAOE = EffectAreaOfEffect(AOE_PER_DELAY_BLAST_FIREBALL);
    location lTarget = GetSpellTargetLocation();
    int nDuration = GetCasterLevel(OBJECT_SELF) / 2;
    //Make sure the duration is at least one round
    if (nDuration == 0)
    {
        nDuration = 1;
    }
    int nMetaMagic = GetMetaMagicFeat();
    //Check Extend metamagic feat.
    if (nMetaMagic == METAMAGIC_EXTEND)
    {
       nDuration = nDuration *2;//Duration is +100%
    }
    //Create an instance of the AOE Object using the Apply Effect function

    ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eAOE, lTarget, RoundsToSeconds(nDuration));
}


Lexey aka Hawk, хотелось бы узнать, если это не секрет, на Геме исправлен каждый спелл? или создана какая то другая система?
На предыдущей странице ты привел кусок скрипта, с использованием системы святых символов для дивайновых кастеров. Можно было бы получить полную систему?
Lexey aka Hawk
Да главное не в скрипте, а чтобы ты сам понимал как это работает. Если предположить даже, что я дам тебе всю систему Гемовской компонетной магии, то даже с моими подробными интсрукциями на форуме, ты вряд ли сможешь ее установить так, чтобы она корректно работала. У нас переписан ряд стандартных скриптов, использован хак-пак, а в данный момент мы фактически заново все переписываем.
Добавлено в [mergetime]1109786155[/mergetime]
По поводу скрипта. Вставь наверху строчку:
Neverwinter Script Source
#include "nw_i0_plot"


А то у тебя функция HasItem не отрабатывает.
bloodwheel
Да, так и есть, я туда тэг вписывал вместо RasRef. Нюб ептить biggrin.gif
Лито
Уже на пару с Айваном кому то помог pilot.gif
Лито
Лекс привел пример скрипта респавна вещей в сундуках
Neverwinter Script Source
void main()
{
object oChest = GetObjectByTag("licorice_Chest");
object oItem = GetFirstItemInInventory(oChest);
while GetIsObjectValid(oItem)
  {
  DestroyObject(oItem);
  oItem = GetNextItemInInventory(oChest);
  }
CreateItemOnObject("licorice",oChest,1);
ExecuteScript(600.0,"spw_chestmaster");
}


но на 5 строчке
Neverwinter Script Source
while GetIsObjectValid(oItem)
компилятор выдает ошибку, мол нет левой скобки в выражении dntknw.gif
Lexey aka Hawk
Попробуй так

Neverwinter Script Source
{
while (GetIsObjectValid(oItem) == TRUE)
  {
  DestroyObject(oItem);
  oItem = GetNextItemInInventory(oChest);
  }
}
dumbo
QUOTE (Лито @ Mar 4 2005, 18:32)
но на 5 строчке
Neverwinter Script Source
while GetIsObjectValid(oItem)
компилятор выдает ошибку, мол нет левой скобки в выражении dntknw.gif

ну ребяты! ну вы че?! swoon.gif
Лито
Вопрос такой. Как спавнить вещи в сундук, через некоторое время после того, как из него все забрали. То есть у меня есть в локации ягодный куст, его оборвали и через 10 минут на этот куст создаются предмет "ягоды"... кустов много smile.gif

P.S. скрипт(тот что приведен в теме вопросы и ответы) Лекса не пашет.

ААА shout.gif помогайте, сделал через спелл хук, компоненты на заклы(сила быка, кошачья грация...). Так он компоненты даже с бутылок просит! что делать? dntknw.gif
Лито
Ну очень прошу помочь, это важно. shout.gif
Leon PRO
QUOTE (Лито @ Mar 5 2005, 15:05)
ААА  помогайте, сделал через спелл хук, компоненты на заклы(сила быка, кошачья грация...). Так он компоненты даже с бутылок просит! что делать?

А поставить такое-же исключение как в случае с ДМ-ом не вариант ?
Лито
Я не очень силен в скриптинге, точнее совсем не силен, поэтому задаю такой вопрос:
Разве есть такая функция? (GetPotion? GetWand biggrin.gif )а если серьезно все опять упирается в реализацию, я не знаю, как это сделать и поэтому страдаю и я и игроки cray.gif
][umepa
ааааа помогите нубу!!!
нужен скрипт чтоб воскрешать не 1 селета а например 5 вампиров , пллз кто нить help
Лито
][umepa не понял...
Kondor
У меня два вопроса, как посадить перса и какой скрипт на то что бы при входе в локу давали ХР?
В скриптах ни бум бум sad.gif
Зарание спасибо smile.gif
Aiwan
][umepa , Лито УСНЫЙ ПРЕД. Увижу еще флуд в этой теме влеплю преды.
Kondor объясни куда хочешь посадить перса. ИМЕННО, На стул, землю?
Лито
QUOTE
какой скрипт на то что бы при входе в локу давали ХР?

На слот OnEnter локации.
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
GiveXPToCreature(oPC, 100);
}

100 - кол-во опыта даваемого вошедшему в локу, можно подставить любое число
Kondor
Лито спасибо, хоть я и знаю что это легкий скипт, но все равно спасибо. Щас начну потихоньку скрипты изучать, так на всякий случай.
Aiwan на самом деле мне чем больше вариантов тем лучше. А в чем разница куда сажать?
Зарание спасибо good.gif
Aiwan
Вариант сесть на объект, т.е. СТУЛ, кресло, диван...
Neverwinter Script Source
{
object oPC = GetFirstPC();
object oChair = GetObjectByTag("TAG_STULA");
AssignCommand(oPC, ActionSit(oChair));
}


Так сажать на землю или невидимый плейс. но на плейс надо указать анимацию ANIMATION_LOOPING_SIT_CHAIR
Neverwinter Script Source
void main()
{
object oPC = GetFirstPC();
AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_SIT_CROSS, 1.0, 100.0));
}
][umepa
айван я не флудил млин dntknw.gif всего лишь спросил лана ответьте плз как заставить непися идти за игроком?
Kondor
Спасибо за быстрый ответ good.gif
WRG 4ever smile.gif
Добавлено в [mergetime]1110192442[/mergetime]
А неважно стул или это диван, есть какае-то разница?
Punk
А где вообще пишуться скрипты?
dumbo
Лито
продолжаем жевать...
QUOTE (Лито @ Mar 5 2005, 15:05)
Вопрос такой. Как спавнить вещи в сундук, через некоторое время после того, как из него все забрали. То есть у меня есть в локации ягодный куст, его оборвали и через 10 минут на этот куст создаются предмет "ягоды"... кустов много

если это кусты с ягодами, то зачем вообще открывать контейнер? - не лучше ли просто вручить ягодку при использовании куста(можно еще проверить, держит ли PC какой-нибудь спец-инструмент для срезаний ягодок)? - в OnUsed:
Neverwinter Script Source
void main()
{
  object oPC = GetLastUsedBy();
  if (!GetIsPC(oPC)) return;
  if (GetLocalInt(OBJECT_SELF, "delay")==0)
  {
    CreateItemOnObject("ягодка_resref",oPC,1);
    SetLocalInt(OBJECT_SELF, "delay", 1);
    DelayCommand(600.0, SetLocalInt(OBJECT_SELF, "delay", 0));
  }
}

QUOTE (Лито @ Mar 5 2005, 15:05)
P.S. скрипт(тот что приведен в теме вопросы и ответы) Лекса не пашет.

если немножко совсем подумать, то напрашивается замена последней строки на DelayCommand(600.0,ExecuteScript("bla-bla",OBJECT_SELF));
QUOTE (Лито @ Mar 5 2005, 15:05)
ААА помогайте, сделал через спелл хук, компоненты на заклы(сила быка, кошачья грация...). Так он компоненты даже с бутылок просит! что делать?

те же эмоции - ААА. хоть читать-то будешь? - когда писал, как делать спелл-хук, даже перевел тебе описания функций! проверь на валидность объект GetSpellCastItem() - если он не инвалид -> кастуют с предмета...
Лито
Заранее прошу прощения у dumbo и Aiwan...

dumbo дорогой , приведи мне пример использования GetSpellCastItem(), ну просто не сталкивался я с такими задачами, а надо что то делать и учится дальше. help.gif

Нет подождите, я щас сам разберусь....включу, так сказать, мозг

Итак в результате умственной деятельности, мой мозг породил такую проверку
Neverwinter Script Source
object oItem = GetSpellCastItem();
//часть тела скрипта...
if (GetIsObjectValid(oItem))
          {
          break;
          }


Теперь я счастлив yahoo.gif
Kondor
Получилось посадить перса, спасибо Aiwan yahoo.gif
Еще одна и не последняя просьба, как заставить перса спать только на кровати, если это сложно, тогда не надо.
Или как заставить людей говорить когда проходиш рядом или не просто рядом good.gif
Зарание спасибо good.gif

Вспомнил, а как менять в скриптах стул и диван например(когда сидиш), а то для стула у меня есть, а для остальных нету или нважно. Решил сделать собственный модуль. Просто нужны скриптеры, а пока сам все делаю. smile.gifМастер на все рукиsmile.gif(так на всякий случай kondor007@bk.ru, если кто-то хочет помочь, желательно скриптер) Aiwan прости за оффтоп, просто пользовался моментом biggrin.gif
Aiwan
QUOTE (Kondor @ Mar 8 2005, 04:25)
Еще одна и не последняя просьба, как заставить перса спать только на кровати, если это сложно, тогда не надо

Никак нельзя. Только хак нужен.
QUOTE (Kondor @ Mar 8 2005, 04:25)
Вспомнил, а как менять в скриптах стул и диван например(когда сидиш), а то для стула у меня есть, а для остальных нету или нважно.

Меняй TAG на нужный в скрипте. И все.
QUOTE (Leon-punk @ Mar 7 2005, 19:01)
А где вообще пишуться скрипты?

Так. Ты кто и о чем? aggressive.gif Второй пост - спам будет навешан пред. Подумай ГДЕ ОТВЕТИТЬ и о чем.
Bregolas
Долго ломал голову над этим wacko.gif но так и ничего не придумал. Ситуация такая: при броске фляжкой святой воды (аля граната X1_WMGRENADE005) на плейсэбл вызывается скрипт. Именно броске! Но с гранатами туго: по идее x0_s3_holy - это скрипт спелла... но сам бросок-то осуществляется ranged touch атакой... В общем, вот что было у меня на OnSpellCastAt плэйсэбла в упрощенном варианте:

Neverwinter Script Source
void main()
{
if(GetLastSpell() == SPELL_GRENADE_HOLY)
{
  ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_STRIKE_HOLY), GetLocation(OBJECT_SELF));
  SetLocalInt(GetModule(), "flr_altar_fired", 1);
}
}


Работать отказывается... Не подскажете, куда все-таки ставить скрипт: на OnPhysicalAttack или OnSpellCast и как правильно его прописать swoon.gif . Спасибо pardon.gif
Shadenuat
Так, сижу, злюсь, не получается ни... Ни... В общем не получается.
Предмет занятия - "использование уникальной силы на себя" (активация предмета).
Итак.

Сначала делаем предмет.
Например топор с названием "topor" и тегами "topor".
Ставим ему абилку "использование уникальной силы на себя".
Затем создаем скрипт с названием "onactivate" например и пишем туда:

Neverwinter Script Source
void main()
{
ExecuteScript(GetTag(GetItemActivated()),
OBJECT_SELF);
}


Затем создаем скрипт с названием "topor" и пишем туда например:

Neverwinter Script Source
void main()
{
object oPC;

oPC = GetItemActivator();

FloatingTextStringOnCreature("Test!", oPC);
}


Открываем "Модульные Свойства" и в используемые скрипты добавляем "onactivate" и "topor".
Сохраняем.
Теперь при использовании топора должны появляться буквы над использующим его - "Test!".
Так?

Если так, то почему у меня ничего не выявляется?! *скрежещет зубами друид*
mamuc
уфф..люди не учаться на ошибках других..и не читают сначало все темы, а потом уже беруться что-то делать diablo.gif biggrin.gif
QUOTE
Открываем "Модульные Свойства" и в используемые скрипты добавляем "onactivate" и "topor".


ммм интересно куда мы добавляем скрипт "topor" в модульных свойствах? biggrin.gif

если ты вызываешь скрипт с ExecuteScript, то в вызываемом скрипте( у тебя он называется "topor" активный обьект должен быть OBJECT_SELF обязательно...об этом уже сколько раз писали...
короче - у тебя должно быть примерно так
на on activate item модуля лучше ставить что то типа
QUOTE

void main()
{
    object  oPC = GetItemActivator();
    ExecuteScript(GetTag(GetItemActivated()), oPC);
}


а выполняемый скрипт "topor"
QUOTE

void main()
{
    object oPC = OBJECT_SELF;
    FloatingTextStringOnCreature("Test!", oPC);
}
Baal
QUOTE (Shadenuat @ Mar 9 2005, 03:03)
Если так, то почему у меня ничего не выявляется?! *скрежещет зубами друид*

Ну вопервых командой ExecuteScript ты открываешь новый скрипт (непонимаю, зачем это было нужно dntknw.gif ) и естественно в нем определение GetItemActivator() уже не действует, так как этот скрипт уже не стоит в слоте "onactivate"
Кроме того тебе нужно определить, что используеться именно топор, иначе скрипт будет срабатывать на любой используемый предмет.
Aiwan
Shadenuat то что ты хочешь уже разбирали и делали. Покопай скрипты в базе.
Baal
ой - одновременно с Мамуком ответил wacko.gif
Лито
Shadenuat
на слот модульный OnActivateItem
Neverwinter Script Source
void main()
{
    object oPC = GetItemActivator();
    object oItem = GetItemActivated();
    if(GetTag(oItem) == "topor")
        {
        FloatingTextStringOnCreature("Test!", oPC);
        }
mamuc
Лито Shadenuat ведь хочет именно через селф повер все делать biggrin.gif
Лито
mamuc хм...ну судя по тому что он сам написал, мой срипт как раз подходит для этих целей smile.gif
mamuc
QUOTE
Предмет занятия - "использование уникальной силы на себя" (активация предмета).

yes.gif

п.с. мы флудеры biggrin.gif ..щас Айван нас шуганет biggrin.gif diablo.gif
Bregolas
QUOTE (mamuc @ Mar 9 2005, 13:07)
yes.gif

п.с. мы флудеры biggrin.gif ..щас Айван нас шуганет biggrin.gif  diablo.gif

Флуд флудом wink.gif но неужели никто не знает, как мне поступить с этой святой гранатой (up) unsure.gif
Aiwan
Это могут знать только те, кто так делал. А раз так никто не делал, то садиться и делать для кого-то у многих нет времени.
Nokoll
Народ помогите полный писец, странно както раньше таких проблем небыло дак вот.
Эффект невидимости катсцены не накладывается? ни на ПК ни На Лорда! я пробовал через ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutInv, oPC, 1.0); фига ели я поставлю в конце 1, никто не исчезнет а например 45, в катСц небудет никого исчезнут все что такое?



Neverwinter Script Source
#include "x2_inc_cutscene"
void main()
{

object oPC = GetEnteringObject();
object oBch = GetObjectByTag("HER");
object oLord = GetObjectByTag("y_zioi");
object oCt1 = GetObjectByTag("Sluga_1");
object oCt2 = GetObjectByTag("Sluga_2");
object oCt3 = GetObjectByTag("Sluga_3");
object oCt4 = GetObjectByTag("Sluga_4");
object oCt5 = GetObjectByTag("Sluga_5");
//------------------------------------------------------------------------------
object oIm1 = GetWaypointByTag("CAM1");
object oIm2 = GetWaypointByTag("CAM2");
object oIm3 = GetWaypointByTag("CAM3");
//------------------------------------------------------------------------------
effect eEF3 = EffectVisualEffect(VFX_FNF_LOS_EVIL_30);
effect eEF4 = EffectVisualEffect(VFX_IMP_HARM);
effect eCutInv = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);
//------------------------------------------------------------------------------
SetCutsceneMode(oPC);
AssignCommand(oPC, ClearAllActions());
AssignCommand(oLord, ClearAllActions());
AssignCommand(oBch, ClearAllActions());
//------------------------------------------------------------------------------
DelayCommand(2.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eCutInv,oPC));
DelayCommand(2.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eCutInv,oLord));
//------------------------------------------------------------------------------
DelayCommand(5.6, AssignCommand(oPC, SetCameraFacing(180.0, 0.0, 90.0, CAMERA_TRANSITION_TYPE_SNAP)));
CutActionMoveToObject(3.5, oPC, oIm1, FALSE);
DelayCommand(9.6, AssignCommand(oPC, SetCameraFacing(358.6, 3.0, 90.0, CAMERA_TRANSITION_TYPE_SNAP)));
//------------------------------------------------------------------------------
MusicBackgroundChangeNight(GetArea(OBJECT_SELF), 43);
MusicBackgroundChangeDay(GetArea(OBJECT_SELF), 43);
//------------------------------------------------------------------------------
DelayCommand(14.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eEF4,oPC));
DelayCommand(12.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eEF4,oLord));
DelayCommand(12.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eEF3,oLord));
DelayCommand(13.0, ActionDoCommand(RemoveEffect(oLord,eCutInv)));
DelayCommand(14.0, ActionDoCommand(RemoveEffect(oPC,eCutInv)));
//------------------------------------------------------------------------------
DelayCommand(15.0, AssignCommand(oLord, ActionStartConversation(oPC)));


}
Aiwan
Nokoll давай договоримся. Больше катсцены не печатать в постах. Я дал тебе тему, там и обсуждай.
MasterMage
QUOTE (Nokoll @ Mar 10 2005, 16:43)
DelayCommand(2.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eCutInv,oPC));
DelayCommand(2.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eCutInv,oLord));
нельзы Instant!! Это мгновенное! за долю секунды... Нужно Permanent
Kondor
Че то я запутался, дайте скрипт на убеждение и запугивание.
balrog
Я же те сказал! где искать... даже назвал блок скриптов на проверку скилов! swoon.gif
][umepa
товарищи помогите !!!
надо заставить непися идти за игроком срочно. напишите плз как это делается
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.