Ребята, плз, посмотрите, что тут не так и не то. Скрипт работает, вроде бы, но только с пробелами.
Суть:
Герой подходит к плейсу (возле которого стоит вебпоинт--на нео он идет), нагинается шарит руками, говорит что-то, поднимается и идет к следующему плейсу. после того как выполнена анимация плейс должен дестроится и перс продолжает движение к следующему вебпоинту.
Есть но:
1) еффект замедления не работает. --пишет, что герой иммунен к замедлению. что за... ?
2) плейсы не дестроятся! Я так понял плейсы не могут дестроится. Для этого они создаются как НПС, только выглядят как плейсы. (как например "трон" в финальной баталии Воина орды в ПЛ_1 ). Тогда возникают вопросы:
а) дестроятся ли плейсы? если да то как? у меня в скрипте написана эта функция, но ничего не происходит.
б) как из таблицы 2да плейсов переписать это плейс в 2да монстров? Проблема в том, что это стандартная палитра НВН. Если конкретней этот плей-- кусок грязи. С таблицы я переписал. А вот где взять файл палитры этой модели?? Как тут быть?
Вот сам скрипт:
Neverwinter Script
// СНЯТЬ ЭФФЕКТ
// int iOne - EFFECT_TYPE_...
void DelOneEffectOnPC(object oObject, int iOne)
{
effect eEffect = GetFirstEffect(oObject);
while (GetIsEffectValid(eEffect))
{
if (GetEffectType(eEffect) == iOne)
RemoveEffect(oObject, eEffect);
eEffect = GetNextEffect(oObject);
}
}
void main()
{
object oPC = GetEnteringObject();
object oTP_1 = GetObjectByTag("TP_01");
object oTP_2 = GetObjectByTag("TP_02");
object oTP_3 = GetObjectByTag("TP_03");
object oTP_4 = GetObjectByTag("TP_04");
object oTP_5 = GetObjectByTag("TP_05");
object oWP_1 = GetWaypointByTag("WP_p_01");
object oWP_2 = GetWaypointByTag("WP_p_02");
object oWP_3 = GetWaypointByTag("WP_p_03");
object oWP_4 = GetWaypointByTag("WP_p_04");
object oWP_5 = GetWaypointByTag("WP_p_05");
effect eSlow = EffectSlow();
if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "TRIGGER") == 1)
return;
{
SetLocalInt(OBJECT_SELF, "TRIGGER", 1);
AssignCommand(oPC, ClearAllActions());
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eSlow, oPC, 354.0);
AssignCommand(oPC, ClearAllActions());
SetCutsceneMode(oPC);
DelayCommand(1.0, AssignCommand(oPC, SpeakString("бла-бла-бла...")));
DelayCommand(2.0, AssignCommand(oPC, ActionMoveToObject(oWP_1)));
DelayCommand(3.5, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 3.0, 1.0)));
DelayCommand(4.0, AssignCommand(oPC, SpeakString("бла-бла-бла...")));
DelayCommand(5.8, ActionDoCommand(DestroyObject(oTP_1)));
DelayCommand(7.0, AssignCommand(oPC, ActionMoveToObject(oWP_2)));
DelayCommand(8.5, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 3.0, 1.0)));
DelayCommand(9.0, AssignCommand(oPC, SpeakString("бла-бла-бла...")));
DelayCommand(10.0, ActionDoCommand(DestroyObject(oTP_2)));
DelayCommand(11.0, AssignCommand(oPC, ActionMoveToObject(oWP_3)));
DelayCommand(12.0, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 3.0, 1.0)));
DelayCommand(14.0, ActionDoCommand(DestroyObject(oTP_3)));
DelayCommand(15.0, AssignCommand(oPC, ActionMoveToObject(oWP_4)));
DelayCommand(16.5, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 3.0, 1.0)));
DelayCommand(17.0, AssignCommand(oPC, SpeakString("бла-бла-бла...")));
DelayCommand(18.0, ActionDoCommand(DestroyObject(oTP_4)));
DelayCommand(20.0, AssignCommand(oPC, ActionMoveToObject(oWP_5)));
DelayCommand(21.5, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW, 3.0, 1.0)));
DelayCommand(22.0, AssignCommand(oPC, SpeakString("бла-бла-бла...")));
DelayCommand(23.0, ActionDoCommand(DestroyObject(oTP_5)));
DelayCommand(25.0, AssignCommand(oPC, ClearAllActions()));
DelayCommand(25.5, FadeToBlack(oPC, FADE_SPEED_FASTEST));
DelayCommand(26.0, AssignCommand(oPC, SetTime(GetTimeHour()+(Random(4)), GetTimeMinute()+(Random(60)), 0, 0);
DelayCommand(26.0, AssignCommand(OBJECT_SELF, ActionResumeConversation());
DelayCommand(27.5, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));
DelayCommand(43.0, SetCutsceneMode(oPC, FALSE));
}
}