Помощь - Поиск - Пользователи - Календарь
Полная версия: Вопросы новичков
Город Мастеров > РЕДАКТОРЫ > 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, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103
Aiwan
QUOTE (Archangel @ Feb 9 2005, 00:35)
Скорее всего я че-то напутал. Вейпоинт-это ведь точка маршрута(почему-то интуиция мне подсказывает,что это что-то другое)?

Ты думаешь шаблонно. Вепом может быть и дверь, и НПС и хоть что, только бы ТАГ совпал.
Поставь в другой локе поинт (хоть точку маршрута) С УНИКАЛЬНЫМ ТАГОМ, что бы его не было ни у кого. Иначе скрипт не поймет к кому отправлять.
evil-SHADOW спроси _каа_ yes.gif
Oksivarus
ВОПРОС О СТАТУЕ !!!
ха неужели я так плохо выгляжу smile.gif я убрал все скрипты первым делом, оставил токо 1 на сповне в котором и накладываю ефект VFX_DUR_FREEZE_ANIMATION на этого нпс, но это не помогло всеравно при простом клике на обьект он поворачивается.!!!! sad.gif sad.gif sad.gif
Nokoll
Попробуй Луупинг аниматион.
DBColl
Oksivarus
Попробуй, SetCommandable(FALSE, OBJECT_SELF); в спавн скрипт вставить.
Oksivarus
вобщем не помогло статуя поворачивается. Все скрипты убрал оставил только вот этот на онСповн. Есть еще варианты как сделать чтоб она не поворачивалась ?
Neverwinter Script Source
void main()

{

ApplyEffectToObject(DURATION_TYPE_PERMANENT,EffectVisualEffect(VFX_DUR_FREEZE_ANIMATION), OBJECT_SELF);
SetCommandable(FALSE, OBJECT_SELF);
}
mamuc
QUOTE (Aiwan @ Feb 8 2005, 22:51)
evil-SHADOW  спроси _каа_  yes.gif

спроси Лейзи...он для Экзиса кажеться это когда-то правил yes.gif
Archangel
DBColl я конечно извиняюсь, но че-то блин не работает! shout.gif
Вот, смотри как я делал:
У меня есть книжная полка. Подходишь к ней и появляется разговор:

Полка:
Выберите следующие действия:

Варианты:
Взять книгу
Отодвинуть шкаф и войти в логово вампиров
Уйти

После того,как нажимаешь "Отодвинуть шкаф и войти в логово вампиров" чел должен
преместиться в другую локу......
В этой локе стоит точка маршрута с тэгом "WP_HOME_OF_VAMPIRE_1"
А на вкладке "Совершены действия" стоит твой скрипт с этим же тэгом:
Neverwinter Script Source
void main()
{
    object oPC = GetPCSpeaker();
    AssignCommand(oPC, ClearAllActions());
    AssignCommand(oPC, JumpToObject("WP_HOME_OF_VAMPIRE_1"));
}


Но когда нажимаешь ничего не происходит! Че далать-то а??? dntknw.gif

Помоги, очень прошу...... drag.gif
DBColl
Вроде все правильно... dntknw.gif Ставь английский тулсет. Я не понимаю на какую вкладку ты ставишь скрипт... Она вторая по счету?

Тьфу ты! biggrin.gif Ошибка точно smile.gif. Как он у тебя откомпилировался-то??? Мог бы сказать, что ошибку выдает! yes.gif

Замени 3-строку на
AssignCommand(oPC, JumpToObject(GetObjectByTag("WP_HOME_OF_VAMPIRE_1")));

Все, будет работать. Сто пудов.
Archangel
DBColl наконец-то все работает! biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif
СПАСИБО, ЧТО УДЕЛИЛ СТОЛЬКО ВНИМАНИЯ МОЕЙ маленькой ПРОБЛЕМЕ.......
А вот насчет Английского Тулсета надо подумать.....

ЕЩЕ РАЗ ОГРОМНОЕ СПАСИБО! lol.gif lol.gif lol.gif lol.gif lol.gif
DBColl
Да не за что. pardon.gif Работай wink.gif. Смысл хоть понял, в чем ошибка? Постарайся разобрать эту строку для себя.
Archangel
Здрасте все. Это опять я.
Я тут решил сам написать п yes.gif ростенькиий мультик на движке игры.....
Но как всегда ниче не получилось......

ПОМОГИТЕ ПОЖАЛУЙСТА РАЗОБРАТСЯ ВО ВСЕМ ЭТОМ.
У меня в этой мульташке какой-то косяк(точнее сразу несколько).
1) oNPC1 - не идет на ту точку, куда надо, а сразу после загрузки области стоит там....
2) Как видите скриптик незакончен. А незакончен только, потому что я незнаю как убрать
с oPC режим "SetCutsceneMode", а затем перенести его в другую область. dntknw.gif

ВОТ ЭТОТ ЗЛАПОЛУЧНЫЙ СКРЕПТЯРА: diablo.gif

Neverwinter Script Source
void main()
{

object oPC = GetEnteringObject();//Это игрок
object oNPC1 = GetObjectByTag("1_BOSS");//Тег 1-го НеПиСя
object oNPC2= GetObjectByTag("2_MAG");//Тег 2-го НеПиСя
object oWP1 = GetWaypointByTag("WP_1_1_BOSS");//Тег точки, куда должен идти 1-й НеПиСь
object oWP2 = GetWaypointByTag("WP_2_2_MAG");//Тег точки, куда должен идти 2-й НеПиСь
SetCutsceneMode(oPC);//Режим неподвижной камеры
ActionDoCommand(AssignCommand(oPC, SetCameraFacing(280.0, 20.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM)));//Подвинул камеру туда, куда надобно мне
AssignCommand(oNPC2, ActionMoveToObject(oWP2));//2-й НеПиСь пошел к точке с тэгом WP_2_2_MAG
ActionWait(2.0);//Ждемс...
ActionDoCommand(AssignCommand(oNPC2, SpeakString("Я маг.....")));//2-й НеПиСь заговорил
ActionWait(1.5);//Ждемс...
AssignCommand(oNPC1, ActionMoveToObject(oWP1));//1-й НеПиСь пошел к точке с тэгом WP_1_1_BOSS
ActionWait(1.0);//Ждемс...
ActionDoCommand(AssignCommand(oNPC1, SpeakString("Ну и пофиг...")));//1-й НеПиСь заговорил
// Дальше надобно чтобы игрок перенесся в другую локу, а затем отключился режим неподвижной камеры.
// Но че-то невыходит... drag.gif 
}


ПОМОГИТЕ О ВЕЛИКИЕ МАСТЕРА СКРИПТОВ!!! black eye.gif
Добавлено в [mergetime]1107970228[/mergetime]
Да, к стати DBColl я вовсем разобрался, еще раз ОГРОМНОЕ спасибо! biggrin.gif biggrin.gif biggrin.gif
Nokoll
1 у тебя стоит AssignCommand тобеж делать команду сразу а надо насколько я помню
ставить DelauComand ороче выглядело чтоб так
Neverwinter Script Source
DelayCommand(2.5, AssignCommand(oNPC1, ActionForceMoveToObject(oWP2, TRUE, 1.0, 7.0)));

-----------------------------------------------------------------------------------------
2Снять режим Катсцены вот как
Neverwinter Script Source
ActionDoCommand(AssignCommand(oCaet, ActionDoCommand(SetCutsceneMode(oPC, FALSE))));

=========================================================================================
я исправил твой скрипт должен работать сам не проверял.вот он

Neverwinter Script Source
void main()
{

object oPC = GetEnteringObject();//Это игрок
object oNPC1 = GetObjectByTag("1_BOSS");//Тег 1-го НеПиСя
object oNPC2= GetObjectByTag("2_MAG");//Тег 2-го НеПиСя
object oWP1 = GetWaypointByTag("WP_1_1_BOSS");//Тег точки, куда должен идти 1-й НеПиСь
object oWP2 = GetWaypointByTag("WP_2_2_MAG");//Тег точки, куда должен идти 2-й НеПиСь
SetCutsceneMode(oPC);//Режим неподвижной камеры
ActionDoCommand(AssignCommand(oPC, SetCameraFacing(280.0, 20.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM)));//Подвинул камеру туда, куда надобно мне
DelayCommand(2.5, AssignCommand(oNPC2, ActionForceMoveToObject(oWP2, TRUE, 1.0, 7.0)));//2-й НеПиСь пошел к точке с тэгом WP_2_2_MAG
ActionWait(2.0);//Ждемс...
ActionDoCommand(AssignCommand(oNPC2, SpeakString("Я маг.....")));//2-й НеПиСь заговорил
ActionWait(1.5);//Ждемс...
DelayCommand(5.5, AssignCommand(oNPC1, ActionForceMoveToObject(oWP1, TRUE, 1.0, 7.0)));//1-й НеПиСь пошел к точке с тэгом WP_1_1_BOSS
ActionWait(1.0);//Ждемс...
ActionDoCommand(AssignCommand(oNPC1, SpeakString("Ну и пофиг...")));//1-й НеПиСь заговорил
ActionDoCommand(AssignCommand(oCaet, ActionDoCommand(SetCutsceneMode(oPC, FALSE))));
// Дальше надобно чтобы игрок перенесся в другую локу, а затем отключился режим неподвижной камеры.
// Но че-то невыходит... 
}

Фу еле еле писал на форуме бес тулсета очень запутался crazy.gif
Вишес
Провел один эксперимент, устроил бой между двумя командами бойцов-НПС
100 на 100.
Так вот, оказывается, при большом количестви вовлеченных в бой персонажей, они начинают тормозить (именно они сами. игра тоже тормозит, но персонажи гораздо сильнее) и никакой всеобщей свалки, на которую я надеялся, не получается. Дерутся только пара человек, а остальные стоят в стойках, и ничего не делают. Кто нибудь, знает, как это можно исправить?
Nokoll
Ха Ха ха lol.gif lol.gif
Извеняюсь невыдержал в НВН это вшито в движок это нивозможно исправить перед тем как отаковать каждый нпк делает свой удар и ждет когда ему нанесет удар другой нпк а если их 100 на 100 так это ваще каждый нпк будет пропускать 10 20 или даже 30 ходов, но это не значит что нельзя сделать бойню её можно сделать с помощю скриптов. dirol.gif
Добавлено в [mergetime]1107997072[/mergetime]
ЭТО ТАК БЕСИТ Я ТОЖЕ ДЕЛАЛ СТОЯТ ДУРАКИ В СТОЙКЕ И АРУТ!!
K.SpecTr
Думаю, объяснение проще, т.к. никто никого не ждет.
В NWN стоит ограничение атакующих на одну цель, сколько не помню, но вроде от 4-ех до 8-ми. Все "лишние" будут стоять и ждать. Если у всей сотни NPC один стандартный скрипт AI, то шанс того, что они будут целиться в одного и того же противника достаточно велик.
Второй момент, это наличие свободного пути к цели, т.е. если NPC не может найти путь к цели из-за спин 50-ти товарищей, то и толку не будет.
Хотите сделать массовую бойню - выстраивайте NPC на определенных местах и определяйте каждому свою цель.
Nokoll
QUOTE
Хотите сделать массовую бойню - выстраивайте NPC на определенных местах и определяйте каждому свою цель.

Можно сделать и скриптом, типа чтобы подмога прибигала smile.gif
Archangel
Nokoll, че-то не получается! Когда жмешь F7, то он пишет ошибку уже в 2строке! А дальше хуже.......
МОЖЕТ КТО ЗНАЕТ ЧЕ НАДОБНО СДЕЛАТЬ, ЧТОБ ЕНТО ВСЕ РАБОТАЛО? dntknw.gif dntknw.gif dntknw.gif

Neverwinter Script Source
void main()
{

object oPC = GetEnteringObject();//Это игрок
object oNPC1 = GetObjectByTag("1_BOSS");//Тег 1-го НеПиСя
object oNPC2= GetObjectByTag("2_MAG");//Тег 2-го НеПиСя
object oWP1 = GetWaypointByTag("WP_1_1_BOSS");//Тег точки, куда должен идти 1-й НеПиСь
object oWP2 = GetWaypointByTag("WP_2_2_MAG");//Тег точки, куда должен идти 2-й НеПиСь
SetCutsceneMode(oPC);//Режим неподвижной камеры
ActionDoCommand(AssignCommand(oPC, SetCameraFacing(280.0, 20.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM)));//Подвинул камеру туда, куда надобно мне
DelayCommand(2.5, AssignCommand(oNPC2, ActionForceMoveToObject(oWP2, TRUE, 1.0, 7.0)));//2-й НеПиСь пошел к точке с тэгом WP_2_2_MAG
ActionWait(2.0);//Ждемс...
ActionDoCommand(AssignCommand(oNPC2, SpeakString("Я маг.....")));//2-й НеПиСь заговорил
ActionWait(1.5);//Ждемс...
DelayCommand(5.5, AssignCommand(oNPC1, ActionForceMoveToObject(oWP1, TRUE, 1.0, 7.0)));//1-й НеПиСь пошел к точке с тэгом WP_1_1_BOSS
ActionWait(1.0);//Ждемс...
ActionDoCommand(AssignCommand(oNPC1, SpeakString("Ну и пофиг...")));//1-й НеПиСь заговорил
ActionDoCommand(AssignCommand(oCaet, ActionDoCommand(SetCutsceneMode(oPC, FALSE))));//Убрал режим неподвижной камеры
}
this.gif
Nokoll
Вижу свою ошибку исправил
Neverwinter Script Source
ActionDoCommand(AssignCommand(oPC, ActionDoCommand(SetCutsceneMode(oPC,FALSE))));//

Скажи Где не компилится то wink.gif
Добавлено в [mergetime]1108026547[/mergetime]
И еще для кат сценки лучше подойде зановес и сделать Пк невидемым эффектнее заители wink.gif
Добавлено в [mergetime]1108026815[/mergetime]
Всё я свихнулся Катсцена убирается так тока што догадался
Neverwinter Script Source
DelayCommand(43.0, SetCutsceneMode(oPC, FALSE));

Добавлено в [mergetime]1108027880[/mergetime]
Алле все компилится все исправил пожалуйста пользуйся. yahoo.gif

Neverwinter Script Source
void main()
{

object oPC = GetPCSpeaker();//Ýòî èãðîê
object oNPC1 = GetObjectByTag("1_BOSS");
object oNPC2 = GetObjectByTag("Mag");
object oWP1 = GetWaypointByTag("WP_1_1_BOSS");//Òåã òî÷êè, êóäà äîëæåí èäòè 1-é ÍåÏèÑü
object oWP2 = GetWaypointByTag("WP_2_2_MAG");//Òåã òî÷êè, êóäà äîëæåí èäòè 2-é ÍåÏèÑü
SetCutsceneMode(oPC);//Ðåæèì íåïîäâèæíîé êàìåðû
ActionDoCommand(AssignCommand(oPC, SetCameraFacing(280.0, 20.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM)));//Ïîäâèíóë êàìåðó òóäà, êóäà íàäîáíî ìíå
DelayCommand(2.5, AssignCommand(oNPC2, ActionForceMoveToObject(oWP2, TRUE, 3.0, 7.0)));//2-é ÍåÏèÑü ïîøåë ê òî÷êå ñ òýãîì WP_2_2_MAG
ActionWait(2.0);//Æäåìñ...
DelayCommand(4.0, AssignCommand(oNPC2, SpeakString("Ïîíàáåæàëî ðàçíûõ çåâàê. Óðîäû...")));//2-é ÍåÏèÑü çàãîâîðèë
ActionWait(1.5);//Æäåìñ...
DelayCommand(4.5, AssignCommand(oNPC1, ActionForceMoveToObject(oWP1, TRUE, 1.0, 8.0)));//1-é ÍåÏèÑü ïîøåë ê òî÷êå ñ òýãîì WP_1_1_BOSS
ActionWait(1.0);//Æäåìñ...
ActionDoCommand(AssignCommand(oNPC1, SpeakString("Íó è ïîôèã...")));//1-é ÍåÏèÑü çàãîâîðèë
DelayCommand(3.0, SetCutsceneMode(oPC, FALSE));//Óáðàë ðåæèì íåïîäâèæíîé êàìåðû
}
Archangel
Все заработало! Спасибо Nokoll. Но ты тоже был немного неправ чтоб убрать статичную камеру
надо было поставить "DelayCommand(43.0, SetCutsceneMode(oPC, FALSE))".

Но у меня все равно еще пару вопрос есть, ответьте, если нетрудно:
1) Как сделать так, чтобы все действия происходили не сразу, а постепенно (т.е в той последовательности, в которой хочу я)?
2) Как сделать так, чтобы Игрок во время ролика был невиден (я в принципе знаю как, но че-то не получается)?
3) Как сделать так, чтобы по окончании ролика чел(игрок) переместился в другую локу?
4) И еще один косяк: у меня блин челы молчат! ГОВОРИТЬ НАОТРЕЗ ОТКАЗЫВАЮТСЯ.......

ВОТ САМ СКРИПТ: black eye.gif


Neverwinter Script Source
void main()
{

object oPC = GetEnteringObject();
object oNPC1 = GetObjectByTag("1_BOSS");
object oNPC2= GetObjectByTag("2_MAG");
object oWP1 = GetWaypointByTag("WP_1_1_BOSS");
object oWP2 = GetWaypointByTag("WP_2_2_MAG");
SetCutsceneMode(oPC);
ActionDoCommand(AssignCommand(oPC, SetCameraFacing(280.0, 20.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM)));
AssignCommand(oNPC2, ActionForceMoveToObject(oWP2));
ActionWait(6.0);
ActionDoCommand(AssignCommand(oNPC2, SpeakString("Fuck!")));
ActionWait(6.0);
AssignCommand(oNPC1, ActionForceMoveToObject(oWP1));
ActionWait(6.0);
ActionDoCommand(AssignCommand(oNPC1, SpeakString("Yes, it`s so Fuck...")));
DelayCommand(43.0, SetCutsceneMode(oPC, FALSE));
AssignCommand(oPC, ClearAllActions());
}
dntknw.gif dntknw.gif dntknw.gif
Nokoll
Neverwinter Script Source
//Scrip straha napadenie!!
#include "x2_inc_cutscene"
void main()
{
Сэтого скрипта я все начинал и благодаря ему хорошо вехал пользуйся моим скриптом.
////////////////////////////////////////////////////////////////////////////////
//////////////:LICHNO MOI SCRIPT SPECALNO NAPISEN DLA NICITA:///////////////////
////////////////////////////////////////////////////////////////////////////////
        object oSauron = GetObjectByTag("Sauron");
        object oGimli = GetObjectByTag("Gimli");
        object oPC = GetPCSpeaker();
        object oSau = GetWaypointByTag("Go_Sauron");
        object oRc1 = GetObjectByTag("ORC_1");
        object oRc2 = GetObjectByTag("ORC_2");
        object oRc3 = GetObjectByTag("ORC_3");
        object oRc4 = GetObjectByTag("ORC_4");
        object oRc5 = GetObjectByTag("ORC_5");
        object oRc6 = 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 oWp1 = GetWaypointByTag("Go1");
        object oWp2 = GetWaypointByTag("Go2");
        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 Candelabr---------------------------------------------
        object oHak = GetObjectByTag("Hakel1");
        object oHak2 = GetObjectByTag("Hakrl2");
        object oHak3 = GetObjectByTag("Hakrl3");
        object oHak4 = GetObjectByTag("Hakrl4");
//----------------------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_IMP_MAGIC_RESISTANCE_USE);
        effect eVis2 = EffectVisualEffect(VFX_IMP_DEATH);
        effect eVis3 = EffectVisualEffect(VFX_IMP_CHARM);
        effect eVis4 = EffectVisualEffect(VFX_DUR_PIXIEDUST);
        effect eVis5 = EffectVisualEffect(VFX_DUR_MAGICAL_SIGHT);
        effect eVis6 = EffectVisualEffect(VFX_DUR_LIGHT_YELLOW_20);
        effect eCutInv = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);
        effect eDed = EffectDeath();
//===========================SAMAA SLOZNNOA CHAST SCRIPTA=======================
        SetLocalInt(oPC, "CUT_SCEN_02", TRUE);
        SetLocalLocation(oPC,"START_POINT", GetLocation(oPC));
        AssignCommand(oGimli, ActionPauseConversation());
        AssignCommand(oGimli, ClearAllActions());
        AssignCommand(oSauron, ActionJumpToObject(oSau));
        FadeToBlack(oPC, FADE_SPEED_FASTEST);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutInv, oPC, 41.0);
////////////////////////////////////////////////////////////////////////////////
////////////////////////////CAMERA MOTOR POEXALI////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
        SetCutsceneMode(oPC);
        SetAILevel(oSau, AI_LEVEL_HIGH);
        DelayCommand(1.0, AssignCommand(oPC, JumpToObject(oCamera)));
        DelayCommand(5.5, AssignCommand(oPC, SetCameraFacing(10.0, 12.0, 40.0,
        CAMERA_TRANSITION_TYPE_SNAP)));
        DelayCommand(2.0, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));
        DelayCommand(3.5, AssignCommand(oPC, SetCameraFacing(10.0, 20.0, 40.0,
        CAMERA_TRANSITION_TYPE_SLOW)));
        ActionWait(5.5);
        DelayCommand(4.0, AssignCommand(oSauron, SpeakString("Òåáå Ïèçäåö ïðèäóðîê")));
        DelayCommand(7.5, AssignCommand(oSauron, SpeakString("Íó ÷òîæ ïåðåéä¸ì ê îðêàì.")));
////////////////////////////////////////////////////////////////////////////////
//////////////////////:ORCI POBEHALI SUDA SLUSAAS SAURONA!://///////////////////
//============================================================================//
        DelayCommand(6.0, AssignCommand(oRc1, ActionForceMoveToObject(oWp1, TRUE, 1.0, 7.0)));
        DelayCommand(9.5, AssignCommand(oRc2, ActionForceMoveToObject(oWp2, TRUE, 1.0, 7.0)));
        DelayCommand(7.0, AssignCommand(oRc3, ActionForceMoveToObject(oWp3, TRUE, 1.0, 7.0)));
        DelayCommand(7.5, AssignCommand(oRc4, ActionForceMoveToObject(oWp4, TRUE, 1.0, 7.0)));
        DelayCommand(8.0, AssignCommand(oRc5, ActionForceMoveToObject(oWp5, TRUE, 1.0, 7.0)));
        DelayCommand(8.5, AssignCommand(oRc6, ActionForceMoveToObject(oWp6, TRUE, 1.0, 7.0)));
        DelayCommand(9.0, AssignCommand(oRc7, ActionForceMoveToObject(oWp7, TRUE, 1.0, 7.0)));
        DelayCommand(9.5, AssignCommand(oRc8, ActionForceMoveToObject(oWp8, TRUE, 1.0, 7.0)));
        DelayCommand(10.0, AssignCommand(oRc9, ActionForceMoveToObject(oWp9, TRUE, 1.0, 7.0)));
        DelayCommand(10.5, AssignCommand(oRc10, ActionForceMoveToObject(oWp10, TRUE, 1.0, 7.0)));
        ActionWait(5.5);
//===========================CAMERA ZANOVES=====================================
        DelayCommand(13.6, AssignCommand(oPC, ClearAllActions()));
        DelayCommand(14.5, FadeToBlack(oPC, FADE_SPEED_FASTEST));
        DelayCommand(15.0, AssignCommand(oPC, JumpToObject(oCamera2)));
        DelayCommand(16.6, AssignCommand(oPC, SetCameraFacing(130.0, 10.0, 40.0,
        CAMERA_TRANSITION_TYPE_SNAP)));
        ActionWait(4.5);
        DelayCommand(14.5, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));
        DelayCommand(17.0, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVis1, oSauron, 6.0));
        DelayCommand(22.5, AssignCommand(oSauron, SpeakString("BLA CHTO ETO BALO?")));
        DelayCommand(29.7, AssignCommand(oSauron, SpeakString("O SAURON POMOGI MNE!!!")));
        DelayCommand(38.8, AssignCommand(oSauron, ActionPlayAnimation(ANIMATION_LOOPING_WORSHIP, 0.9, 3.0)));
        DelayCommand(41.0, AssignCommand(oPC, SetCameraFacing(130.0, 10.0, 40.0,
        CAMERA_TRANSITION_TYPE_SNAP)));
        ActionWait(1.5);
//ACtive Hakel
        DelayCommand(49.5, AssignCommand(oHak, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE, 0.9, 5.0)));
        DelayCommand(57.0, AssignCommand(oHak2, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE, 0.9, 5.0)));
        DelayCommand(59.5, AssignCommand(oHak3, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE, 0.9, 5.0)));
        DelayCommand(66.0, AssignCommand(oHak4, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE, 0.9, 5.0)));
//-----------------------------------------------------------------------------------
        DelayCommand(69.0, AssignCommand(oSauron, SpeakString("SMERT TEBE")));
        ActionWait(3.5);
//-----------------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////
////////////////////OTDELNOI SCRIPT PO POAVLENIU SMERTI/////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
        DelayCommand(77.5, AssignCommand(oSauron, SpeakString("XA XA XA!!")));
        {
//------------------------------------------------------------------------------
        }
        effect eMor = EffectVisualEffect(VFX_DUR_FLIES);
        effect eMor2 = EffectVisualEffect(VFX_DUR_ANTI_LIGHT_10);
        location lLoc3 = GetLocation(GetNearestObjectByTag("Gop1"));
        location lLoc4 = GetLocation(GetNearestObjectByTag("Gop2"));
        object oHabas = CreateObject(OBJECT_TYPE_CREATURE,"Habas",lLoc3,TRUE);
        object oHabas2 = CreateObject(OBJECT_TYPE_CREATURE,"Habas",lLoc4,TRUE);
        ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_LOS_EVIL_20),lLoc3);
        ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_LOS_EVIL_20),lLoc4);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eMor,oHabas);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eMor2,oHabas2);
//------------------------------------------------------------------------------
        DelayCommand(87.0, AssignCommand(oSauron, SpeakString("You Kill him!!")));
        DelayCommand(90.5, AssignCommand(oRc1, SpeakString("Ecc Gospadin")));
        DelayCommand(95.0, AssignCommand(oRc1, ActionForceMoveToObject(oGimli, TRUE, 1.0, 7.0)));
        DelayCommand(100.0, AssignCommand(oPC, ClearAllActions()));
        ActionWait(5.5);
        DelayCommand(105.6, AssignCommand(oPC, SetCameraFacing(130.0, 10.0, 40.0,
        CAMERA_TRANSITION_TYPE_SLOW)));
        ActionWait(5.5);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVis3, oGimli, 90.5);
        DelayCommand(110.9, AssignCommand(oGimli, SpeakString("A A A A A")));
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eDed, oGimli, 90.5);
        DelayCommand(115.10, AssignCommand(oPC, SpeakString("you dead")));
        DelayCommand(120.0, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL, 0.9, 5.0)));
        DelayCommand(128.6, AssignCommand(oSauron, SpeakString("A Xa xa xa")));
        DelayCommand(130.0, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_TALK_LAUGHING, 0.9, 5.0)));
        DelayCommand(130.0, AssignCommand(oSauron, ActionAttack(oPC)));
}

Добавлено в [mergetime]1108029477[/mergetime]
В этом скрипте большинство твоих вопросов но я всюравно сейчас буду писать ответы тебе. biggrin.gif
Добавлено в [mergetime]1108030189[/mergetime]
Ответ
QUOTE
Но у меня все равно еще пару вопрос есть, ответьте, если нетрудно:
1) Как сделать так, чтобы все действия происходили не сразу, а постепенно (т.е в той последовательности, в которой хочу я)?
2) Как сделать так, чтобы Игрок во время ролика был невиден (я в принципе знаю как, но че-то не получается)?
3) Как сделать так, чтобы по окончании ролика чел(игрок) переместился в другую локу?
4) И еще один косяк: у меня блин челы молчат! ГОВОРИТЬ НАОТРЕЗ ОТКАЗЫВАЮТСЯ.......

Ответ this.gif
1) Поставить функцыю DelayCommand(4.0, цыфры обозначают время задержки команды
ActionDoCommand() в нашем случае, ставит все остальные команды.
2) ставиш эффект такой
effect eNev = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY); // Невидимость в сценке
потом делаеш вот как
FadeToBlack(oPC, FADE_SPEED_FASTEST); // Занавес из черного экрана ОЧЕНЬ быстро
AssignCommand(oPC, ClearAllActions()); // Почистим все Action_ у РС
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eNev, oPC, 41.0);//И сама невидемость
Далее уже тебе реша включаеш кат сцену и т.д
3)Непомнь поищи на форуме Аввадон както писал!
4)Как понять молчат, голоса нет или текст над бошкой не появляется? dirol.gif
Archangel
QUOTE

Как понять молчат, голоса нет или текст над бошкой не появляется?



Я имею ввиду, что текст, который я прописываю в "ActionDoCommand(AssignCommand(oNPC2, SpeakString("Fuck!")));" над челом не проявляется.......... shout.gif shout.gif shout.gif
Archangel
Hi всем! biggrin.gif biggrin.gif biggrin.gif
У меня опять кое-какие косячки с моим скриптом.
Собственно проблем три, если несложно, то помогите ПОЖАЛУЙСТА их решить:
1) Я делаю эффект невидимости на Игрока, а исчезает не только он,но и все НеПиСи. Как от ентого избавиться? dntknw.gif dntknw.gif
2) После окончания сценки Игрок телепортируется в локу не один, а совсеми челами из предыдущей области. Как это поправить? dntknw.gif dntknw.gif
3) Можно ли сделать так, чтобы первый НеПиСь сначала сидел на троне, а только потом встал, пошел к нужной точке и т.д.? dntknw.gif dntknw.gif

ВОТ МОЙ МНОГОСТРАДАЛЬНЫЙ СКРИПТ: bad.gif

Neverwinter Script Source
void main()
{

object oPC = GetEnteringObject();//Игрок
object oNPC1 = GetObjectByTag("1_BOSS");//1й НеПиСь
object oNPC2= GetObjectByTag("2_MAG");//2й НеПиСь
object oWP1 = GetWaypointByTag("WP_1_1_BOSS");//1я точка
object oWP2 = GetWaypointByTag("WP_2_2_MAG");//2я точка
effect eNev = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);//Невидимость
FadeToBlack(oPC, FADE_SPEED_FASTEST);//В черный экран......
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eNev,  oPC, 41.0);//Сделаем Игрока невидимкой. НЕПОЛУЧАЕТСЯ!
AssignCommand(oPC, ClearAllActions());//Почистил все Actions у Игрока
DelayCommand(2.0, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));//Из черного экрана...медленно...
SetCutsceneMode(oPC);//Вкл. режим центированной камеры
ActionDoCommand(AssignCommand(oPC, SetCameraFacing(280.0, 20.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM)));//Повернул камеру туда, куда надобно мне
DelayCommand(30.0, AssignCommand(oNPC2, ActionForceMoveToObject(oWP2, TRUE, 1.0, 7.0)));//2й НеПиСь пошел в во 2ю точку
DelayCommand(10.0, AssignCommand(oNPC2, SpeakString("YOU FUCKEN DEAD!")));//2й НеПиСь заговорил
DelayCommand(30.0, AssignCommand(oNPC1, ActionForceMoveToObject(oWP1, TRUE,1.0, 7.0)));////1й НеПиСь пошел в в 1ю точку
DelayCommand(11.0, AssignCommand(oNPC1, SpeakString("FUCK YOU MAN...")));//1й НеПиСь заговорил
ActionDoCommand(AssignCommand(oPC,ActionDoCommand (SetCutsceneMode(oPC, FALSE))));Выкл. режим центированной камеры
DelayCommand(35.0 ,AssignCommand(oPC, JumpToObject(GetObjectByTag("Tag_just_tag"))));//Пошлем игорока в другую локу к точке с тэгом "Tag_just_tag"
}

diablo.gif
Aiwan
QUOTE (Archangel @ Feb 10 2005, 15:44)
Но у меня все равно еще пару вопрос есть, ответьте, если нетрудно:
1) Как сделать так, чтобы все действия происходили не сразу, а постепенно (т.е в той последовательности, в которой хочу я)?
2) Как сделать так, чтобы Игрок во время ролика был невиден (я в принципе знаю как, но че-то не получается)?
3) Как сделать так, чтобы по окончании ролика чел(игрок) переместился в другую локу?
4) И еще один косяк: у меня блин челы молчат! ГОВОРИТЬ НАОТРЕЗ ОТКАЗЫВАЮТСЯ.......

Слушай, я конечно понимаю что влом читать и все такое... Но все эти детские вопросы я поднял, разобрал пережевал и выплюнул подробно в статье. Мне влом цитировать самого себя. Читай.
QUOTE (Archangel @ Feb 10 2005, 22:33)
1) Я делаю эффект невидимости на Игрока, а исчезает не только он,но и все НеПиСи. Как от ентого избавиться?

А как ты определяешь всех НПС вокруг? Каждый НПС должен уникально определяться, к примеру как GetObjectByTag("УНИКАЛЬНЫЙ_ТАГ") . Скорее всего ты пишешь какую то общую проверку циклом. Насмотрелся тут скриптов и решил примоздрячит кусок кода.
QUOTE (Archangel @ Feb 10 2005, 22:33)
2) После окончания сценки Игрок телепортируется в локу не один, а совсеми челами из предыдущей области. Как это поправить?

Во во... Читай выше.
QUOTE (Archangel @ Feb 10 2005, 22:33)
3) Можно ли сделать так, чтобы первый НеПиСь сначала сидел на троне, а только потом встал, пошел к нужной точке и т.д.?

Ну конечно можно. Все как всегда.
Neverwinter Script Source
void ActionSit(object oChair)

Neverwinter Script Source
DelayCommand(1.0, AssignCommand(oNPC, ActionSit(GetObjectByTag("ТАГ_ТВОЕГО_СТУЛА"))));
DelayCommand(10.0, AssignCommand(oNPC, ClearAllActions()));
DelayCommand(15.0, AssignCommand(oNPC, ActionForceMoveToObject(oWP, FALSE, 1.0, 10.0)));


rtfm.gif
Oksivarus
ого как тут все развернулось smile.gif

мож как нить я тоже спрошу.

Обнаружил глюк в мульти когда игрока убивают но при этом он лечился или имет что-то с регеном он падает мертвам (значек на нем скелета) но единицы его жизни больше 0 после чего ничего не помагает, а именно полечить его можно до 100% жизни а вот воскресить или поднять из мертвых низя один выход реснутся.

Подскажите пожалуста кк это можно вылечить. Если нужно могу кинуть скрипт на смерти. Иёли это баг самой игры и он неизлечим???
Nokoll
Не помнб Какой скрипт но какойто исправил твой!
Neverwinter Script Source
void main()
{

object oPC = GetEnteringObject();
object oNPC1 = GetObjectByTag("1_BOSS");
object oNPC2= GetObjectByTag("2_MAG");
object oWP1 = GetWaypointByTag("WP_1_1_BOSS");
object oWP2 = GetWaypointByTag("WP_2_2_MAG");
SetCutsceneMode(oPC);
ActionDoCommand(AssignCommand(oPC, SetCameraFacing(280.0, 20.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM)));
AssignCommand(oNPC2, ActionForceMoveToObject(oWP2));
ActionWait(6.0);
DelayCommand(7.5, AssignCommand(oNPC2, SpeakString("Fuck")));
ActionWait(6.0);
AssignCommand(oNPC1, ActionForceMoveToObject(oWP1));
ActionWait(6.0);
DelayCommand(5.5, AssignCommand(oNPC1, SpeakString("7777")));
DelayCommand(4.0, SetCutsceneMode(oPC, FALSE));
AssignCommand(oPC, ClearAllActions());
}
Oksivarus
скрипт на онДеад игрока (проблема - после смерти игрок лежить со значьком черепа но с жизгью больше 0 и низя его оживить)

Neverwinter Script Source
//** DEATCH PC

void ApplyPenalty(object oDead)

{
//    object oDead = GetLastPlayerDied();
    int nPenalty = 350 * GetHitDice(oDead);
    int nXP = GetXP(oDead);
    int nNewXP = nXP - nPenalty;

if (nPenalty > nXP)
  {
  int nNewXP = 1;
  SetXP(oDead, nNewXP);
  }
  else
  {
  SetXP(oDead, nNewXP);
  DelayCommand(4.0, FloatingTextStrRefOnCreature(58299, oDead, FALSE));

  }
}

void Stolen(object oPlayer)
{
    object oStolen = GetFirstItemInInventory(oPlayer);
    while (oStolen != OBJECT_INVALID)
    {
    if (GetStolenFlag(oStolen) == TRUE)
    {
    SetDroppableFlag(oStolen,TRUE);
    }
    oStolen = GetNextItemInInventory(oPlayer);
    }
}

void Skull(object oPlayer)
{
object oPlayer = GetLastPlayerDied();
object oArea =  GetArea(oPlayer);
vector vDead= GetPosition(oPlayer);
float fFace = GetFacing(oPlayer);

vector vNew;
vNew.x=vDead.x+1.0;
vNew.y=vDead.y+1.0;
vNew.z=vDead.z;
object oItem = GetItemPossessedBy(oPlayer, "skullball");
if (GetIsObjectValid(oItem))
{
DestroyObject(oItem);
location lLoc = Location( oArea, vNew, fFace);
CreateObject(OBJECT_TYPE_ITEM,"skullball", lLoc);
}
}

#include "nw_i0_plot"
void main()

{
object oPlayer = GetLastPlayerDied();

SetLocalInt(oPlayer, "PCDead", 1);

string sArea = GetTag(GetArea(oPlayer));

if (sArea == "TheStadium") Skull(oPlayer);

if (sArea == "DrowDungeon")
{
SetLocalInt(oPlayer,"dungeon_died",1);
}

Stolen(oPlayer);

AssignCommand(oPlayer, ClearAllActions());
SetStandardFactionReputation(STANDARD_FACTION_COMMONER, 74, oPlayer);
SetStandardFactionReputation(STANDARD_FACTION_MERCHANT, 74, oPlayer);
SetStandardFactionReputation(STANDARD_FACTION_DEFENDER, 74, oPlayer);

        if(HasItem(oPlayer,"fairy_bottle") == TRUE)
        {
        DelayCommand(3.0,ExecuteScript("fairy_rez_bottle",oPlayer));
        }
        else
        {
        DelayCommand(5.0, PopUpGUIPanel(oPlayer,GUI_PANEL_PLAYER_DEATH));

          if(GetHitDice(oPlayer)<=5)
          {
          SendMessageToPC(oPlayer,"You will suffer no XP or GP penalties until level 5");
          }
          else
          {
          ApplyPenalty(oPlayer);
          }
        }


}

Добавлено в [mergetime]1108107126[/mergetime]
(я с проблемой смерти и респоуна еще не сталкивался но подозреваю что скрипт респоуна тут нипричем так как до него дело еще недошло, значь что то в этом скрипте)
Archangel
drag.gif
QUOTE
Слушай, я конечно понимаю что влом читать и все такое...
Но все эти детские вопросы я поднял, разобрал пережевал и выплюнул подробно в статье.
Мне влом цитировать самого себя. Читай.


Aiwan! Почему ты думаешь, что я не читал твою статью?

Да, сознаюсь, что первый вопрос был глупым(ДАЖЕ ОЧЕНЬ).....

Но вот второй был очень даже к месту! У меня у каждого чела в локе есть свой единственный
и неповторимый тэг! Но невидимость накладывается на ВСЕХ!
И я не знаю как это объяснить.....
Я уж пытался и на самого Игрока невидимость наложить! Но получается такая же репа!

С третьим как видишь все-таки разобрался...

Да и с четвертым тоже.......


Спасибо тебе за скрипт, чтоб чел сидел.

А вот этот вопрос тоже остался открытым:
После окончания сценки Игрок телепортируется в локу не один,
а совсеми челами из предыдущей области. Как это поправить?
(ЕЩЕ РАЗ ГОВОРЮ, ЧТО У КАЖДОГО НеПиСя В ЛОКЕ СВОЙ ЕДИНСТВЕННЫЙ ТЭГ!)

ВОТ УЖЕ ПЕРЕДЕЛАННАЯ,НО ВСЕ ЕЩЕ НЕРАБОТАЮЩАЯ,ВЕРСИЯ СКРИПТА:

Neverwinter Script Source
void main()
{

object oPC = GetEnteringObject();
object oNPC1 = GetObjectByTag("1_BOSS");
object oNPC2= GetObjectByTag("2_MAG");
object oNPC3= GetObjectByTag("DAEDRIK_intro_0");
object oNPC4= GetObjectByTag("DAEDRIK_intro_1");
object oNPC5= GetObjectByTag("DAEDRIK_intro_2");
object oNPC6= GetObjectByTag("DAEDRIK_intro_3");
object oNPC7= GetObjectByTag("DAEDRIK_intro_4");
object oNPC8= GetObjectByTag("DAEDRIK_intro_5");
object oNPC9= GetObjectByTag("DAEDRIK_intro_6");
object oNPC10= GetObjectByTag("DAEDRIK_intro_7");
object oNPC11= GetObjectByTag("DAEDRIK_intro_8");
object oNPC12= GetObjectByTag("DAEDRIK_intro_9");
object oWP1 = GetWaypointByTag("WP_1_1_BOSS");
object oWP2 = GetWaypointByTag("WP_2_2_MAG");
effect eCutInv = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);
FadeToBlack(oPC, FADE_SPEED_FASTEST);
DelayCommand(1.0, AssignCommand(oNPC1, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC2, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC3, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC4, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC5, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC6, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC7, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC8, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC9, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC10, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC11, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC12, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC1, ActionSit(GetObjectByTag("EVIL_INTRO_TRON_1"))));
DelayCommand(1.0,ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutInv,oPC,41.0));
DelayCommand(2.0, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));
SetCutsceneMode(oPC);
ActionDoCommand(AssignCommand(oPC, SetCameraFacing(280.0, 20.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM)));
DelayCommand(30.0, AssignCommand(oNPC2, ActionForceMoveToObject(oWP2, TRUE, 1.0, 7.0)));
DelayCommand(38.0, AssignCommand(oNPC2, SpeakString("YOU FUCKEN DEAD!")));
DelayCommand(30.0, AssignCommand(oNPC1, ActionForceMoveToObject(oWP1, TRUE,1.0, 7.0)));
DelayCommand(38.0, AssignCommand(oNPC1, SpeakString("FUCK YOU MAN...")));
ActionDoCommand(AssignCommand(oPC,ActionDoCommand (SetCutsceneMode(oPC, FALSE))));
DelayCommand(50.0 ,AssignCommand(oPC, JumpToObject(GetObjectByTag("Tag_just_tag"))));
}

Пояснять в скрипте ниче не стал, потому что объяснял уже раз эток пять! this.gif

Добавлено в [mergetime]1108118701[/mergetime]
И ЕЩЕ Nokoll, а че те не нравится " ActionDoCommand(AssignCommand(oPC,ActionDoCommand (SetCutsceneMode(oPC, FALSE))));"

Если знаешь как енто исправить напиши........ swoon.gif swoon.gif
Oksivarus
я конечьно вообще новичек поэтому не судите меня строго вопрос-предположение по последнему скрипту (который тут уже на 3 страницах я уже видел).
команда :
Neverwinter Script Source
DelayCommand(50.0 ,AssignCommand(oPC,JumpToObject(GetObjectByTag("Tag_just_tag"))));

а случяйно все эти чудаки не входят в локацию с игроком или они возможно считаются вошедшими в нее при появлении тогда возможно
Neverwinter Script Source
bject oPC = GetEnteringObject();

и тогда возможно какраз она и будет определять что все входящих кидать к твоему веапоинту можо добавить проверку при задании кого кидать на то что он игрок
Добавлено в [mergetime]1108120968[/mergetime]
и если нетрудно кто нить подскажите лекарство относительно скрипта смерти
DBColl
Oksivarus
Ты, кстати, прав. У Archangel'a ошибка в переходе как раз с определением PC это или нет.
Neverwinter Script Source
object oPC = GetEnteringObject();
if (!GetIsPC(oPC))
    return;

Сделай вот так у себя вверху и все будет нормально работать.

По поводу:
Neverwinter Script Source
ActionDoCommand(AssignCommand(oPC,ActionDoCommand (SetCutsceneMode(oPC, FALSE))));

Справедливо, что здесь тебе указали на ошибку.
Neverwinter Script Source
DelayCommand(2.0, AssignCommand(oPC, SetCutsceneMode(oPC, FALSE)));

Так будет правильнее. Уж если ты всю сценку делаешь через DelayCommand, то делай ВСЕ действия через него, подбирая и задавая нужные интервалы времени.

Про ActionDoCommand(...) писал Айван в своем руководстве. Эта команда сюда не вписывается. Почитай внимательнее.
Archangel
А, все DBColl понял....
Можно вить было вставить "DelayCommand(75.0,SetCutsceneMode(oPC,FALSE));"
Не знаю,и че это я раньше не додумался....... good.gif good.gif
Oksivarus
ЛЮДИ АААУУУУУУУУУУУ очень нужен хел в скрипте смерти для мульти. black eye.gif black eye.gif black eye.gif
Попробывал сам разобратся и возникло еще больше вопросов чем ответов.crazy.gif crazy.gif
Вот одини из них -
Чем отлисяется смерть (ДЕАД) от умирания (ДУИНГ)?
В какой последовательности идут скрипты (ДЕАД - ДУИНГ - РЕСПОУН) и вообще зачем они надо (кроме последнего с этим я вродеб разобрался).

P.S. Если есть тут где-то есть тема посвященная этим вопросам дайте ссылочьку буду очень признателе, почитаю мож пойму а то такое чувство что все тупаю и тупею. sad.gif
Lex
Neverwinter Script Source
DelayCommand(14.0, AssignCommand(oPC,JumpToLocation(GetLocalLocation(oPC,"area054"))));

попробуй земенить на
Neverwinter Script Source
DelayCommand(14.0, AssignCommand(oPC,ActionJumpToLocation(GetLocalLocation(oPC,"area054"))));

Может поможет.

QUOTE (Archangel @ Feb 11 2005, 20:51)
Я где-то на форуме прочитал, что можно шрифт поменять в самом Тулсете, ну я пробовал, но не че не выходит!

Там большой список шрифтов в тулсете. несколько кривые, остальные нормальные. Попробуй потыкать в разные и посмотри.
Friedrich
QUOTE (Oksivarus @ Feb 11 2005, 17:43)
ЛЮДИ АААУУУУУУУУУУУ очень нужен хел в скрипте смерти для мульти. black eye.gif  black eye.gif  black eye.gif
Попробывал сам разобратся и возникло еще больше вопросов чем ответов.crazy.gif  crazy.gif
Вот одини из них -
Чем отлисяется смерть (ДЕАД) от умирания (ДУИНГ)?
В какой последовательности идут скрипты (ДЕАД - ДУИНГ - РЕСПОУН) и вообще зачем они надо (кроме последнего с этим я вродеб разобрался).

Ы. Кажется я могу объяснить.
Death - смерть, срабатывает после того как ПС умер.
Dying - умирание, срабатывает когда количество хитов игрока становится меньше 0. Движком прописана смерть ПС в -10 хитах. Но, обычно, дефолтный onPlayerDying скрипт принудительно накладывает смерть (как только игрок "падает в минуса").
onPlayerRespawn вызывается когда, игрок нажимает на кнопочку "Respawn" посмертного диалогового окна.
Последовательность их вызывания, соответсятвенно Dying -> death -> respawn. biggrin.gif
Aiwan
Не Рекомендую делать так:
Neverwinter Script Source
DelayCommand(1.0, AssignCommand(oNPC1, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC2, ClearAllActions()));

Лучше ТАК:
Neverwinter Script Source
DelayCommand(1.0, AssignCommand(oNPC1, ClearAllActions()));
DelayCommand(1.2, AssignCommand(oNPC2, ClearAllActions()));
DelayCommand(1.4, AssignCommand(oNPC2, ClearAllActions()));
// и т.д.

И еще. Как только ты собираешься сделать важный шаг, а именно прыгнуть в локу, что то скачтовать или еще что. Очисти стек команд удалив все акции у РС. Избежишь многих неприятностей. Я к примеру перед каждой трансформацией с камерой чищу все что можно иначе бывает глюк.
QUOTE (Archangel @ Feb 11 2005, 23:51)
Что сделать, чтобы в Тулсете были нормальные русские буквы, а не эта аброкадабра?

Tools > Options > Script Editor Шрифт Courier не разновидности а просто он. Для того что бы скопировать сюда потом русский, раскладка при копировании должна быть русской на клаве.
Oksivarus
Friedrich - большое спасибо, а можно немонго уточнить последовательность Dying -> death -> respawn выполняется самим движком или надо както указывать в предыдущем чтоб он вызывал следующий ??

и если я правильно понял то тригером срабатывания будет для:
Dying - очьки жизни = 0
death - очьки жизни < - 10
respawn - нажатие кнопки респоун или я гдето ошибаюсь??
Lex
нет...

как только у тебя хитов стало меньше 0 (но больше -10) то запускается скрипт dying
как только хитов меньше -10 death
как только нажата кнопка респавн respawn

ничего прописывать не нужно, все движковое.

Oksivarus
ок, понял, еще чюточьку если сразу например "-50 НР" стало то скрипт в слоте dying запускаться вообще не будет, а сразу запустится death?
Lex
вроде как да.

Вообще я над этим никогда не задумывался..это легко проверить, если это сильно важно.
Archangel
Я наконец-то закончил этот драный скрипт!
ОГРОМНОЕ ВСЕМ СПАСИБО ЗА ПОМОЩЬ!Вот его полностью протестированная и работающая версия:
biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif

Neverwinter Script Source
void main()
{

object oPC = GetEnteringObject();
if (!GetIsPC(oPC))
    return;
object oNPC1 = GetObjectByTag("1_BOSS");
object oNPC2= GetObjectByTag("2_MAG");
object oNPC3= GetObjectByTag("DAEDRIK_intro_1");
object oNPC4= GetObjectByTag("DAEDRIK_intro_2");
object oNPC5= GetObjectByTag("DAEDRIK_intro_3");
object oNPC6= GetObjectByTag("DAEDRIK_intro_4");
object oNPC7= GetObjectByTag("DAEDRIK_intro_5");
object oNPC8= GetObjectByTag("DAEDRIK_intro_6");
object oWP1= GetWaypointByTag("WP_1_1_BOSS");
object oWP2= GetWaypointByTag("WP_2_2_MAG");
object oWP3= GetWaypointByTag("2_2_MAG_GO_HERE");
effect eCutInv = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);
FadeToBlack(oPC, FADE_SPEED_FASTEST);
DelayCommand(1.0, AssignCommand(oNPC1, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC2, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC3, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC4, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC5, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC6, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC7, ClearAllActions()));
DelayCommand(1.0, AssignCommand(oNPC8, ClearAllActions()));
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutInv, oPC, 200.5);
DelayCommand(2.0, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));
SetCutsceneMode(oPC);
ActionDoCommand(AssignCommand(oPC, SetCameraFacing(220.0, 20.0, 45.0, CAMERA_TRANSITION_TYPE_MEDIUM)));
DelayCommand(3.0, AssignCommand(oNPC2, ActionForceMoveToObject(oWP2, TRUE, 1.0, 7.0)));
ActionDoCommand(AssignCommand(oNPC2, SetCameraFacing(220.0, 10.0, 15.0, CAMERA_TRANSITION_TYPE_MEDIUM)));
DelayCommand(5.0, AssignCommand(oNPC2, ActionPlayAnimation(ANIMATION_LOOPING_WORSHIP, 1.0, 3.0)));
DelayCommand(7.0, AssignCommand(oNPC2, SpeakString("Lord Dead, mage Shant sed that Nerevarin went in Trodheim ")));
DelayCommand(9.0, AssignCommand(oNPC1, ClearAllActions()));
DelayCommand(11.0, AssignCommand(oNPC1, ActionForceMoveToObject(oWP1, TRUE,1.0, 7.0)));
DelayCommand(13.0, AssignCommand(oNPC1, SpeakString("So, we encounter him are very good. Say mage Shant that I will came soon. ")));
DelayCommand(14.0, AssignCommand(oNPC1, ActionPlayAnimation(ANIMATION_LOOPING_TALK_LAUGHING, 1.0, 3.0)));
DelayCommand(16.0, AssignCommand(oNPC2, SpeakString("Yes master, as your wish...")));
DelayCommand(18.0, AssignCommand(oNPC2, ActionForceMoveToObject(oWP3, TRUE,1.0, 7.0)));
DelayCommand(20.0 ,AssignCommand(oPC, ActionJumpToObject(GetObjectByTag("Tag_just_tag"))));
DelayCommand(21.0, AssignCommand(oPC, SetCutsceneMode(oPC, FALSE)));
DelayCommand(22.0,RemoveEffect(oPC,eCutInv));
}


Это мой первый мультик, так, что сильно просьба не пинать... yes.gif
Archangel
QUOTE
Tools > Options > Script Editor Шрифт Courier не разновидности а просто он. Для того что бы скопировать сюда потом русский, раскладка при копировании должна быть русской на клаве.


Знаешь, Aiwan я сделал все, как ты сказал...
Сначала все шло хорошо - Tools > Options, но после того, как нажимаешь Options
Тулсет выдает вот такую ошибку: diablo.gif

Access violation at address 004FFBF7 in module 'nwtoolse.exe'. Read of address 00371EB0.

Потом нажимаешь 'ok', и ниче не делается......
Может ты знаешь чего с ентим можно сделать.... dntknw.gif dntknw.gif dntknw.gif
Archangel
Лююююди!Где кто? Отзовитесь! drag.gif

У меня тут вопрос возник, если нетрудно, то ответьте:
Можно ли сделать такую фишку:
Например, я поговорил с челом, а затем он переносится в другую локу(как это сделать я сам знаю,
просто надо вить в курс дела-то вас ввести yes.gif ), но у него при этом меняется разговор(всмысле диалог)
и одежда, а может даже характиристики. lol.gif lol.gif lol.gif
Aiwan
QUOTE (Archangel @ Feb 12 2005, 15:16)
но у него при этом меняется разговор(всмысле диалог)
и одежда, а может даже характиристики.

Канэчно. Все можно поменять. Сделай два одинаковых в палитре или в закрытой локе. Одного отправь к праотцам, другого возьми и поставь туда куда должен якобы идти первый. И усе...
Добавлено в [mergetime]1108204040[/mergetime]
QUOTE (Archangel @ Feb 12 2005, 12:45)
Может ты знаешь чего с ентим можно сделать....

опиши ситему и все такое...
balrog
QUOTE
У меня тут вопрос возник, если нетрудно, то ответьте:
Можно ли сделать такую фишку:
Например, я поговорил с челом, а затем он переносится в другую локу(как это сделать я сам знаю,
просто надо вить в курс дела-то вас ввести  ), но у него при этом меняется разговор(всмысле диалог)
и одежда, а может даже характиристики.   

уничтож этого НПС, а там где надо, создай нового с другой одеждой, диологом и характеристиками.
Archangel
QUOTE
Канэчно. Все можно поменять. Сделай два одинаковых в палитре или в закрытой локе. Одного отправь к праотцам, другого возьми и поставь туда куда должен якобы идти первый. И усе...


QUOTE
уничтож этого НПС, а там где надо, создай нового с другой одеждой, диологом и характеристиками.



balrog и Aiwan, че-то я недопер - как создать чела в другой локе?
Всмысле скриптом? Только вот я че-то таког скриптика не знаю pardon.gif
Напишите, если можно. yahoo.gif yahoo.gif yahoo.gif

QUOTE
опиши ситему и все такое...


Че-то я вопроса непонял....
ПОЯСНИ..... dntknw.gif
Lemegeton
Archangel: Может, у меня получится?
Функция:
Neverwinter Script Source
object CreateObject(
    int nObjectType,
    string sTemplate,
    location lLocation,
    int bUseAppearAnimation = FALSE,
    string sNewTag = ""
);

Видишь location lLocation? Почему бы ей не быть в другй локе? biggrin.gif

Параметры для nObjectType:
Предмет - OBJECT_TYPE_ITEM
Создание (чел, как раз) - OBJECT_TYPE_CREATURE
Предмет - OBJECT_TYPE_PLACEABLE
Магазин - OBJECT_TYPE_STORE
Точка - OBJECT_TYPE_WAYPOINT (с патча 1.30)

sTemplate - есть ResRef того, что нужно создать hi.gif

Например:

Пусть есть (создан) чел со шмотками, диалогом и подобной ерундой с ResRef равной "Чувак"и объект в другой локе с тэгом "Местечко", рядом с которым надо создать чувака.
Тогда пишем:
Neverwinter Script Source
object oPlace = GetObjectByTag("Местечко");
location lLoc = GetLocation(oPlace);
CreateObject(OBJECT_TYPE_CREATURE, "Чувак", lLoc);

Примерно так. pardon.gif
Nokoll
Легче Сделать Копию героя и поставить его в другую локу.
Затем Поговорить с 1 Героем и скриптиком уничтож его тобеж добавь в свой скрипт Destore_object...
Потом перенесёшся в локацыю можно сделать чтобы разговор продолжился но был совсем другим
Вро дскрипт такой ставящийся на оН Энтер локацыи. biggrin.gif
Neverwinter Script Source
AssignCommand(oPC, ExecuteScript("Тег твоего разговора", oPC));
      //AssignCommand(oPC, ActionStartConversation(oPC, "Тег твоего разговора"));
        return;,//Скрипт может быть не точным.
    }

2 Героя с кем продолжится разговор ты можеш сделать как хочеш. но факт что он будет откапированным 1 героем.
Помойму ты хотел этого.
Если Хочеш я могу написать тебе скрипт Среднего Уровня коль надо стучись в ПМ!
Lex
Archangel, если тебе заранее известны параметры твоего второго НПС и они не зависят ни от чего, то что мешает сразу поставить в нужной локе второго НПС?

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

QUOTE (Nokoll @ Feb 12 2005, 20:51)
Легче Сделать Копию героя и поставить его в другую локу.

В этом случае нельзя сменить диалог у дублера. Только написав скрипт onConversation.
<small>Добавлено в 21:09</small>
QUOTE (Nokoll @ Feb 12 2005, 20:51)
Если Хочеш я могу написать тебе скрипт Среднего Уровня коль надо стучись в ПМ!

копирование объекта это CopyObject(). Средний уровень, говоришь? biggrin.gif

<small>Добавлено в 21:47</small>
----------------------------------------------------------------------------------

ЗЫ: Чтобы не было недоразумений:

Инфа о том, что локалки на РС сохраняются при переходах между модулями НЕВЕРНА.
Nokoll
QUOTE
В этом случае нельзя сменить диалог у дублера. Только написав скрипт onConversation.

Почему нельзя Ставится вон тот скрипт buba.gif, на локацыю, канечно пк начинает говорить с собой сночало
но потом просто меняеш теги и будет выгледеть что Клон будет говорить с Пк, но разговор будет совсем другим.
QUOTE
копирование объекта это CopyObject(). Средний уровень, говоришь?


Ибо я говорил о клоне не через скрипт, а просто через "Редактировать Копировать".
Oksivarus
Lex - я так понимаю если вопрос не конкретно, а в общем случяе касается скрипта то полюбому туда, тогда какие тут вопросы можно задавать. Я какбы подумал что в разделе скрипты уже более умные люди сидят и умные вопросы задают.
Lex
QUOTE (Nokoll @ Feb 12 2005, 20:51)
Вро дскрипт такой ставящийся на оН Энтер локацыи.

Neverwinter Script Source
  AssignCommand(oPC, ExecuteScript("Тег твоего разговора", oPC)); //AssignCommand(oPC, ActionStartConversation(oPC, "Тег твоего разговора")); return;,//Скрипт может быть не точным.}


это - чушь.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.