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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 29 30 31 32 33 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Aiwan
сообщение Feb 19 2005, 22:53
Сообщение #751


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

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



Гиларион тебе нужны БАЗОВЫЕ знания. Ты знаешь чем отличается TAG oт ResRef-a или от Name объекта? Читай статьи пока и спрашивай.
Добавлено в [mergetime]1108842910[/mergetime]
Статьи смотри ТУТ
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Archangel
сообщение Feb 19 2005, 22:57
Сообщение #752


Восставший из пепла
***

Класс: Бледный Мастер
Характер: Neutral Evil
Раса: Человек
ПОДМАСТЕРЬЕ



QUOTE
Гиларион тебе нужны БАЗОВЫЕ знания. Ты знаешь чем отличается TAG oт ResRef-a или от Name объекта? Читай статьи пока и спрашивай.


Вот, вот Aiwan и я ему про тоже....
:P :P :P :P :P
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 20 2005, 01:11
Сообщение #753


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

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



QUOTE
Вот, вот Aiwan и я ему про тоже....

Господи вы уж меня извените за оффтоп, ну зачем же так флудить!
Добавлено в [mergetime]1108851238[/mergetime]
Shad Спасибо за совет, надеюсь я правильно скрипт написал!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 20 2005, 02:47
Сообщение #754


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

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



Вот мой скрипт для брата он попросил сделать Битву с Балрогом на Мосте Минастрита,
Дак вот я сделал но много что не получается вот скрипт..
Neverwinter Script Source
//-----------------------------------------------------------------------|
void main()
{
//{{{{{{{{{{{{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}////////////////////////|
        object oPC = GetEnteringObject();
        object oBalrog = GetObjectByTag("BALROG");
        object oGendolf = GetObjectByTag("GENDOLF");
        object oRc1 = GetObjectByTag("ORC_1");
        object oRc2 = GetObjectByTag("ORC_2");
        object oRc3 = GetObjectByTag("ORC_3");
        object oSk4 = GetObjectByTag("ORC_4");
        object oSk5 = GetObjectByTag("ORC_5");
        object oSk6 = GetObjectByTag("ORC_6");
        object oRc7 = GetObjectByTag("ORC_7");
        object oRc8 = GetObjectByTag("ORC_8");
        object oRc9 = GetObjectByTag("ORC_9");
        object oRc10 = GetObjectByTag("ORC_10");
//Tochki Morshruta==============================================================
        object oWpPc = GetWaypointByTag("PC_1");
        object oWpPc1 = GetWaypointByTag("PC_2");
        object oWpFare = GetWaypointByTag("Faire");
        object oWpFare1 = GetWaypointByTag("Faire1");
        object oWp3 = GetWaypointByTag("Go3");
        object oWp4 = GetWaypointByTag("Go4");
        object oWp5 = GetWaypointByTag("Go5");
        object oWp6 = GetWaypointByTag("Go6");
        object oWp7 = GetWaypointByTag("Go7");
        object oWp8 = GetWaypointByTag("Go8");
        object oWp9 = GetWaypointByTag("Go9");
        object oWp10 = GetWaypointByTag("Go10");
//----------------------O Camera Tochki-----------------------------------------
        object oCamera = GetWaypointByTag("Camera1");
        object oCamera2 = GetWaypointByTag("Camera2");
        object oCamera3 = GetWaypointByTag("Camera3");
//==============================================================================
//==========================+Nicita the Lord of tne Ring+=======================
//##############################=VISUAL EFFECT=#################################
        effect eVis1 = EffectVisualEffect(VFX_FNF_LOS_EVIL_30);
        effect eVis2 = EffectVisualEffect(349);
        effect eVis3 = EffectVisualEffect(VFX_IMP_HARM);
        effect eVis4 = EffectVisualEffect(VFX_DUR_PIXIEDUST);
        effect eVis5 = EffectVisualEffect(VFX_DUR_MAGICAL_SIGHT);
        effect eDed =  EffectDeath();
        effect eCutInv = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);
//=============================================================================
        location Loc1 = GetLocation(oWpFare);
        location Loc2 = GetLocation(oWpFare1);
//-----------------------------------------------------------------------------
        if (!GetIsPC(oPC)||GetLocalInt(oPC,"Minas_Morgul")==TRUE)
        return;
        {
        AssignCommand(oPC,ClearAllActions());
        AssignCommand(oGendolf,ClearAllActions());
//------------------------------------------------------------------------------
        SetLocalInt(oPC,"Nicita rolic",TRUE);
        SetLocalLocation(oPC,"MinasMorgul",GetLocation(oPC));
        SetCutsceneMode(oPC);
        DelayCommand(3.7,FadeFromBlack(oPC,FADE_SPEED_SLOW));
        AssignCommand(oPC,JumpToObject(oWpPc1));
        ApplyEffectToObject(DURATION_TYPE_PERMANENT,eCutInv,oPC);
        DelayCommand(4.5,  AssignCommand(oPC,SetCameraFacing(0.0,6.0,45.0,CAMERA_TRANSITION_TYPE_MEDIUM)));
        DelayCommand(17.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis1,Loc1,23.5));
        DelayCommand(17.1, ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis2,Loc2,24.6));
        DelayCommand(19.5, AssignCommand(oPC,SetCameraFacing(3.0,5.0,50.0,CAMERA_TRANSITION_TYPE_MEDIUM)));
        DelayCommand(23.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eDed,oRc1));
        DelayCommand(24.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eDed,oRc2));
        DelayCommand(25.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eDed,oRc3));
        DelayCommand(27.1, ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis3,oWp4,24.6));
        DelayCommand(29.1, ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis3,oWp5,24.6));
        DelayCommand(31.1, ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis3,oWp6,24.6));
//OXRANA SDOXLA POAVILIS SCELETA////////////////////////////////////////////////
        DelayCommand(32.0,AssignCommand(oSk4,ActionJumpToObject(oWp4)));
        DelayCommand(33.0,AssignCommand(oSk5,ActionJumpToObject(oWp5)));
        DelayCommand(34.0,AssignCommand(oSk6,ActionJumpToObject(oWp6)));
        DelayCommand(36.5, AssignCommand(oPC,SetCameraFacing(0.0,0.0,30.0,CAMERA_TRANSITION_TYPE_MEDIUM)));
//==============PEREMENI I ZAMENIM MUSICU=======================================
        MusicBackgroundChangeNight(GetArea(OBJECT_SELF), 43);
//------------------------------------------------------------------------------
        DelayCommand(40.0,ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis1,Loc1,23.5));
        DelayCommand(41.1,ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis2,Loc2,24.6));
        DelayCommand(43.0,AssignCommand(oGendolf,ActionSpeakString("d")));
        DelayCommand(48.8, AssignCommand(oSk4, ActionDoCommand(DestroyObject(oSk4))));
        DelayCommand(49.8, AssignCommand(oSk5, ActionDoCommand(DestroyObject(oSk5))));
        DelayCommand(52.8, AssignCommand(oSk6, ActionDoCommand(DestroyObject(oSk6))));
        AssignCommand(oPC,JumpToObject(oWpPc));
        DelayCommand(55.5, AssignCommand(oPC,SetCameraFacing(180.0,10.0,49.0,CAMERA_TRANSITION_TYPE_MEDIUM)));
        ActionWait(3.4);
        DelayCommand(60.5, AssignCommand(oPC,SetCameraFacing(111.0,5.0,10.0,CAMERA_TRANSITION_TYPE_MEDIUM)));
        ActionWait(4.4);
        DelayCommand(61.5, AssignCommand(oPC,SetCameraFacing(0.0,5.0,50.0,CAMERA_TRANSITION_TYPE_MEDIUM)));
        //////////////////////////
        effect ePr = EffectCutsceneParalyze();
        //////////////////////////
        DelayCommand(62.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eVis4,oWp10));
        DelayCommand(64.0,AssignCommand(oBalrog,ActionJumpToObject(oWp10)));
        DelayCommand(66.0, AssignCommand(oBalrog, ActionPlayAnimation(ANIMATION_LOOPING_TALK_LAUGHING, 0.9, 5.0)));
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, ePr, oBalrog, 40.5);
        DelayCommand(68.0,AssignCommand(oBalrog,ActionSpeakString("d ")));
//::::HODUMAEM HMMMM GENDOLF O NUKA POHOL POHOL:::::::::::::::::::::::::::::::::
        DelayCommand(68.0,AssignCommand(oGendolf,ActionSpeakString("d")));
        DelayCommand(70.0,AssignCommand(oGendolf,ActionMoveToObject(oWp5,TRUE)));
        DelayCommand(76.0, AssignCommand(oBalrog, ActionPlayAnimation(ANIMATION_LOOPING_TALK_LAUGHING, 0.9, 5.0)));
        DelayCommand(78.0,ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis1,Loc1,23.5));
        DelayCommand(79.1,ApplyEffectAtLocation(DURATION_TYPE_INSTANT,eVis2,Loc2,24.6));
        DelayCommand(82.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,eDed,oGendolf));
        DelayCommand(85.5, AssignCommand(oPC,SetCameraFacing(4.0,6.0,45.0,CAMERA_TRANSITION_TYPE_MEDIUM)));

        }

      }

Неполучается Сменить музыку путём ночи..
Камеры Ващще ужас. Мне всего та надо чтобы ПК ровно двигался по мосту а затем поднялся в верх..
И скрипт не дописан потому что мне надо чтобы когда Появится Балрог из огня он дыхнул огнём на Гендольфа и только тогда гендольф умер..
И ещё думаю это невозможно но всё же спрошу можно ли сделать так чтобы мост сломался после смерти Гендольфа эффекто разрушился, балрога нет и гендольфа нет!
С камерами я сам разберусь но помогите с этим хотябы кто нибут+ь.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Feb 20 2005, 11:25
Сообщение #755


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

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



Nokoll что бы дать совет по катсцене ее надо двадцать раз запустить и посмотреть что происходит. Мне лично нет ни времени ни желания разбираться в твоих каракулях. Ты подумай, как я могу на глаз определить где ты затупил?
Насчет музыки попробуй так:
Neverwinter Script Source
MusicBackgroundChangeNight(GetArea(OBJECT_SELF), 43);
        MusicBackgroundChangeDay(GetArea(OBJECT_SELF), 43);

Ты ж не знаешь когда войдет игрок, днем или ночью.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Feb 20 2005, 12:45
Сообщение #756


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



Nokoll
УХХХХХ, Айван же сказал, что так на глаз нельзя, катсцены это такое ювелирное искуство, как часовщик, их нужно настраивать.... А камеры нужно понять... я свои катсцены для своего модуля настраивал не один день... Зато если (повторюсь)у кого версия 1.30, могу прислать и показать...
Итак, если версия у тея 1.30 присылай мне локацию, я посмотрю!! :DB: :DB: :wizard:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Feb 20 2005, 14:20
Сообщение #757


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



Скрипт ставится на выход их локации...
РС должен перенестить после ролика туда, куда ведет дверь
Neverwinter Script Source
void main()
{
    object oPC=GetExitingObject();
    object oZed=GetObjectByTag("Zed");
    object oV1=GetObjectByTag("valun_1");
    object oV2=GetObjectByTag("valun_2");
    object oV3=GetObjectByTag("valun_3");
    object oV4=GetObjectByTag("valun_4");
    object oWp1=GetWaypointByTag("E_D_ZED");
    object oWp2=GetWaypointByTag("pp_point_zed_1");
    object oWp3=GetWaypointByTag("pp_point_pc_1");
    object oWp4=GetWaypointByTag("pp_point_pc_2");
    object oArea2=GetObjectByTag("area006");
    object oTr=GetTransitionTarget(GetObjectByTag("D_RichExit1"));
    effect eCutInv=EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);
    effect oEf1=EffectVisualEffect(VFX_FNF_SUMMON_CELESTIAL);

    if(GetLocalInt(oPC,"ZedInt")==TRUE&&GetLocalInt(oPC,"ZedRolic")==1)
    {
    AssignCommand(oPC,ClearAllActions());
    SetLocalInt(oPC,"ZedRolic",2);
    DelayCommand(0.1,SetCutsceneMode(oPC));
    DelayCommand(0.2,AssignCommand(oPC,JumpToObject(oWp3)));
    DelayCommand(0.2,AssignCommand(oZed,JumpToObject(oWp2)));
    DelayCommand(0.2,ApplyEffectToObject(DURATION_TYPE_PERMANENT,eCutInv,oPC));
    DelayCommand(0.5,AssignCommand(oPC,SetFacingPoint(GetPosition(oZed))));
    DelayCommand(2.5,AssignCommand(oPC,SetCameraFacing(0.0,3.5,89.0,CAMERA_TRANSITION_TYPE_SLOW)));
    DelayCommand(4.5,AssignCommand(oZed,ActionSpeakString("Так, так, так...")));
    DelayCommand(6.5,AssignCommand(oPC,ActionMoveToObject(oZed,FALSE,1.0)));
    DelayCommand(8.5,AssignCommand(oPC,SetCameraFacing(10.0,4.0,55.0,CAMERA_TRANSITION_TYPE_MEDIUM)));
    DelayCommand(12.5,AssignCommand(oPC,JumpToObject(oWp4)));
    DelayCommand(12.5,MusicBackgroundChangeDay(oArea2,TRACK_BATTLE_ENDBOSS));
    DelayCommand(12.5,AssignCommand(oPC,SetFacingPoint(GetPosition(oZed))));
    DelayCommand(17.0,AssignCommand(oZed,ActionCastSpellAtObject(SPELL_EPIC_RUIN,oV2,METAMAGIC_NONE,TRUE,0,PROJECTILE_PATH_TYPE_HIGH_BALLISTIC,FALSE)));
    DelayCommand(19.5,DestroyObject(oV1));
    DelayCommand(19.5,DestroyObject(oV2));
    DelayCommand(19.5,DestroyObject(oV3));
    DelayCommand(19.5,DestroyObject(oV4));
    DelayCommand(20.5,AssignCommand(oZed,ActionSpeakString("Порйадок! ")));
    DelayCommand(21.5,ApplyEffectAtLocation(DURATION_TYPE_PERMANENT,oEf1,GetLocation(oWp2),2.5));
    DelayCommand(24.5,AssignCommand(oZed,JumpToObject(oWp1)));
    DelayCommand(29.0,AssignCommand(oPC,JumpToLocation(GetLocation(oTr))));
    DelayCommand(29.1,SetCutsceneMode(oPC,FALSE));
    DelayCommand(29.1,RemoveEffect(oPC,eCutInv));
    }
}

Добавлено в [mergetime]1108898438[/mergetime]
как?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 20 2005, 18:30
Сообщение #758


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

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



Скажи что именно не работает возможно надо так
Neverwinter Script Source
DelayCommand(24.5,AssignCommand(oZed,ActionJumpToObject(oWp1)));
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Shad
сообщение Feb 20 2005, 23:10
Сообщение #759


Level 3
*

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



QUOTE (Nokoll @ Feb 20 2005, 02:47)
И ещё думаю это невозможно но всё же спрошу можно ли сделать так чтобы мост сломался после смерти Гендольфа эффекто разрушился, балрога нет и гендольфа нет!

Вижу два пути:
1. Какой-нибудь взрыв на мосту, потом затемняешь экран и переносишь всех на другую локу - точную копию той, на которой битва, но без моста и пары бойцов. Не забудь перенести на всякий случай все вещи, которые могут лежать на полу (функция GetNextObjectInArea(...)).
2. Используй "Tile magic" - функции TLChangeAreaGroundTiles(...) и TLResetAreaGroundTiles(...) из x2_inc_toollib.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 21 2005, 00:59
Сообщение #760


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

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



Shad Пасибо.
Но я придумал так сделать типа мост из предметов у меня хак пак с предметным мостом,
и сделать Еффект Смерти на предмет, и ещё еффект взрыва, как думаете такое можно?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Shad
сообщение Feb 21 2005, 01:25
Сообщение #761


Level 3
*

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



Если есть placeable по которым сможешь ходить, то это хороший способ.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 21 2005, 02:00
Сообщение #762


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

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



Я про тоже placeable есть проверял но скрипт не проверял тока идея появилась.
А хак Пак стандартный СЕР.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Feb 21 2005, 09:58
Сообщение #763


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



Nokoll прости, ошибка не в этой строчке...ошибки нет...мне нужно добавить строчку, которая перенесет туда, куда ты шел, после ролика
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Oksivarus
сообщение Feb 21 2005, 12:35
Сообщение #764


Level 4
**

Класс: Волшебник
Характер: True Neutral
Раса: Полуэльф



В разделе скриптов есть скрипт на умирание в котором (насколько я понял) есть строчька которая должна создавать пятно крови возле игрока - как ее создать, а вернее в каком разделе предметов. Я нашел в стандартной политре это пятно поставил в тут строчьку ее тег но пятно не появляется. Подскажите что нетак.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 21 2005, 15:53
Сообщение #765


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

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



Тег не нужен добавь в скрипт эффект VFX_COM_BLOOD_CRT_RED, их в тулсете много выбери любой.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Grazzt, Dark Pri...
сообщение Feb 21 2005, 16:45
Сообщение #766


Level 5
**

Класс: Маг
Характер: Chaotic Evil
Раса: Танар'ри



Вопрос из области cut-сцен. Каким образом можно быстро убрать накастованые на область заклинания типа кислотного тумана? Смысл преблизительно следующий - после "мажеского" поединка включается cut-сцена. Эффекты от накастованых во время боя заклинаний просто заполняют собой экран и мешают правильному визуальному восприятию сцены. Причем надо учитывать тот факт, что на некоторых объктах области висят перманентные эффекты, которые весьма желательно сохранить.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 21 2005, 17:04
Сообщение #767


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

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



СЛУШАЙ ВРОДЕ ТАК ПОПРОБУЙ EffectAbilityDecrease, ИЛИ EffectAbilityIncrease, ПРОСТО СЕЙЧАС ГОЛОВА ЕДЕТ немогу сосредоточится!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tarre Talliorne
сообщение Feb 21 2005, 20:09
Сообщение #768


Level 8
***

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



Перебери циклом все эффекты.
effect eE=GetFirstEffect ...
потом посмотри, если их криатер - маг1 или маг2, удаляй их.
GetEffectCreater();
цикл while (GetIsEffectValid(eE))
Добавлено в [mergetime]1109005998[/mergetime]
QUOTE (Oksivarus @ Feb 21 2005, 12:35)

В разделе скриптов есть скрипт на умирание в котором (насколько я понял) есть строчька которая должна создавать пятно крови возле игрока - как ее создать, а вернее в каком разделе предметов. Я нашел в стандартной политре это пятно поставил в тут строчьку ее тег но пятно не появляется. Подскажите что нетак.

Дело в том, что объекты создаются не по тэгу, а по ресрефу. Поэтому 2 выхода:
1. или заменяй в скрипте ресреф(в CreateObject) на ресреф пятна стандатрного, либо
2. создавай новый обжект с нужным (скрипту) ресрефом
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Grazzt, Dark Pri...
сообщение Feb 22 2005, 10:06
Сообщение #769


Level 5
**

Класс: Маг
Характер: Chaotic Evil
Раса: Танар'ри



>Tarre Talliorne
Нечто в этом роде я и предполагал. Громаднейшее спасибо :crazy:
Добавлено в [mergetime]1109056973[/mergetime]
А еще один мааленький вопросик: GetEffectCreater(); - насколько я пронимаю выдает объекта-криэйтора эффекта. То бишь условно говоря мага2. А если к примеру маг2 уже подох, и соответственно функция вернет INVALID'а (ну насколько я понимаю - или нет?). Надо ли onDeath мага2 к примеру вешать функцию криэйта его копии в закрытой локации или вешать какой нибудь EffectRespawn() и т.д, и только после этого удалять эффекты?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 22 2005, 11:11
Сообщение #770


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

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



Я считаю что надо я так и делаю вешаю onDeath мага2 и только после этого удаляю эффекты. :V:
Добавлено в [mergetime]1109060073[/mergetime]
А зачем ващще EffectRespawn(), здесь незнаю :xz:
Возможно я опозорюсь но я думал что INVALID это фракцыя как и OBJECT_SELF.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Grazzt, Dark Pri...
сообщение Feb 22 2005, 11:34
Сообщение #771


Level 5
**

Класс: Маг
Характер: Chaotic Evil
Раса: Танар'ри



QUOTE (Nokoll @ Feb 22 2005, 11:11)
А зачем ващще EffectRespawn(), здесь незнаю :xz:


Респаун просто не даст задестроится объекту маг2, после чего его можно пихать в цикл, где будет GetEffectCreater(), после выполнения цикла дать EffectDeath() или DestroyObject() на мага2. При этом надо учитывать, что при десторое onDeath выполнится еще раз. Следовательно надо сделать еще один цикл, в котором на первом шаге снимаются эффекты, а на втором собственно маг и дохнет. Видимо как-то так. В меру моего понимания данной реализации конечно и не имея под руками Лексикона...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 22 2005, 11:42
Сообщение #772


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

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



QUOTE
Следовательно надо сделать еще один цикл, в котором на первом шаге снимаются эффекты, а на втором собственно маг и дохнет. Видимо как-то так. В меру моего понимания данной реализации конечно и не имея под руками Лексикона...

Попробуй так EffectDeath(), будет лучше смотреца, и поставь мою выдуманную но рабочую функцыю
DestroyEffect, иба маг умрёт со звучком даже, эффекты исчезнут. :oh:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Feb 22 2005, 13:28
Сообщение #773


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



QUOTE (Nokoll @ Feb 22 2005, 10:11)
Возможно я опозорюсь но я думал что INVALID это фракцыя как и OBJECT_SELF.

:swoon: :D
QUOTE (Grazzt @ Dark Prince, Feb 22 2005, 09:06)
А еще один мааленький вопросик: GetEffectCreater(); - насколько я пронимаю выдает объекта-криэйтора эффекта. То бишь условно говоря мага2. А если к примеру маг2 уже подох, и соответственно функция вернет INVALID'а (ну насколько я понимаю - или нет?). Надо ли onDeath мага2 к примеру вешать функцию криэйта его копии в закрытой локации или вешать какой нибудь EffectRespawn() и т.д, и только после этого удалять эффекты?

Копия объекта-креатора не будет являться креатором эффекта. Это не выход.
Выход тогда:
1. Делать TEMPORARY эффект. Подстраивать его длительность ручками.
2. Сделать креатора SetIsDestroyable(FALSE); и не бояться, что креатор дестроится, когда загнется.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 22 2005, 15:22
Сообщение #774


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

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



ДБ нет ты не отом подумал, я мимел в виде не то что INVALID тоже самое что и
OBJECT_SELF.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Grazzt, Dark Pri...
сообщение Feb 22 2005, 15:42
Сообщение #775


Level 5
**

Класс: Маг
Характер: Chaotic Evil
Раса: Танар'ри



QUOTE (DBColl @ Feb 22 2005, 13:28)
Копия объекта-креатора не будет являться креатором эффекта. Это не выход.

Тут я немножко хочу прояснить для себя c точки зрения теории: если последовательно обьект маг2 был в какой-то момент задестроен, а потом в локации был создан другой точно такой-же объект маг2. Например:
DestroyObject(bla-bla-bla);
DelayCommand(0.1,CreateObject(bla-bla-bla)); То почему с точки зрения функционирования системы он не будет являтся креатором эффекта? Ведь фактически он в конкретный момент вемени уникален -т.е. никаких других обьектов с такими тэгом и ресцефом на локации (да и во всем модуле) не присутствует. Я понимаю так, что существует некий стэк обьектов, и у обьекта, если он присутствует в локации, кроме тэга и ресцефа существует еще некий int-идентификатор. Это видно например из функции, возвращающей ближайший к объекту oPC объект: object oMage=GetNearestObjectByTag("oMage2",oPC,i); - где i - насколько я понимаю и является этим идентификатором. Следовательно, если предположить существуют 2 объекта oMage2, то у одного условно говоря в конкретный момент времени i=0, а у другого i=1 - очевидно, что объекты разные. Но если объект в конкретный момент времени ОДИН, то и значение i для него будет всегда условно говоря равно 0. Так почему для функции GetEffectCreater(); он будет ДРУГИМ объектом? Непонятно? Или у обьектов есть еще какой-то скрытый идентифицирующий их признак? Или я что-то неправильно понимаю?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 29 30 31 32 33 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19th April 2024 - 22:47