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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 62 63 64 65 66 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Вишес
сообщение Oct 8 2005, 16:32
Сообщение #1561


Level 13
****

Класс: Ниндзя
Характер: Chaotic Evil
Раса: Танар'ри



не могу сделать скрипт, прекращающий драку и начинающий диалог.
мой вариант.
Neverwinter Script Source
void main()
{
if (GetCurrentHitPoints(OBJECT_SELF)< 4)
{
object oPC = GetAttackTarget(OBJECT_SELF);
AssignCommand(OBJECT_SELF, ActionSpeakString("Ñòîé!"));
AssignCommand(oPC, ClearAllActions(TRUE));
AssignCommand(OBJECT_SELF, ClearAllActions(TRUE));
ChangeToStandardFaction(OBJECT_SELF,STANDARD_FACTION_DEFENDER);
AssignCommand(OBJECT_SELF,ActionStartConversation (oPC));
}
}

бой останавливается, начинается диалог, но непись почему-то остается враждебным
Я знаю, это где-то уже было. Но не могу найти. скажите, что не так или дайте ссылку, пожвлуйста.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
NedWarN
сообщение Oct 8 2005, 17:50
Сообщение #1562


Level 5
**

Класс: Маг
Характер: Lawful Good
Раса: Тварь



2Вишес
Дело в том что движок, НВНа не позваляет, говорить с НеПиСем, примо после боя. нужно переждать 3-5 секунды.
тогда непись сможет говорить.попробуй мой скриптик я его не тестил. поставь на ОнДифер Непися.
Neverwinter Script Source
void main()
{
object oPC = GetLastAttacker();
object oNPC = OBJECT_SELF;
int iNPC = GetUserDefinedEventNumber();
if(iNPC == 1006)
{
int iMaxHP = GetMaxHitPoints();
int iCurrHP = GetCurrentHitPoints();
if (GetLocalInt(OBJECT_SELF,"ZDES") == 0)
if((iCurrHP * 3) <= iMaxHP && GetLocalInt(OBJECT_SELF,"Surrender") == 0)
{
AdjustReputation(OBJECT_SELF,oPC, 100);
AdjustReputation(oPC,OBJECT_SELF, 100);
SurrenderToEnemies();
AssignCommand(GetLastAttacker(), ClearAllActions());
SetLocalInt(OBJECT_SELF,"Surrender",1)   ;
SpeakOneLinerConversation();
DelayCommand(0.0,AssignCommand(oNPC, SpeakString("Ìîß íå õîòåòü äðàòñß")));
ActionWait(2.0);
AssignCommand(oNPC, ActionStartConversation(oPC, "Òàã Äèàëîãà"));
SetLocalInt(OBJECT_SELF,"ZDES",1);
}
}
}


Сообщение отредактировал NedWarN - Oct 8 2005, 17:51
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Oct 8 2005, 20:04
Сообщение #1563


Пушкин
Иконки Групп

Класс: Обыватель
Характер: Chaotic Neutral
Раса: Гигант
NWN: Тексты



QUOTE (Aiwan @ Oct 8 2005, 09:53)
Любое действо может сбить акции. И он не скажет ничего кроме первых фраз.

Ну там никакое действо невозможно. Разве что персонаж нападет на NPC, но я его сделал неуязвимым. А так - диалога нет, анимаций тоже, стоит дядя и бормочет... Так как все-таки оформить, чтобы заработало? Или дело в тарабарщине, в которую превращаются русские шрифты в редакторе скриптов? UNKNOWN STATE IN COMPILER. Но что делать? В Опциях нет варианта для русского языка. Шрифты-то у меня стоят, разговоры по-русски и описания предметов читаемы, а вот со скриптами не знаю.

Под "предметом" ты имеешь в виду любую вещь? У меня у самого триггера такой же tag, globe1. Поменять? Или это разные категории?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 8 2005, 20:31
Сообщение #1564


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

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



QUOTE (Chimeric @ Oct 8 2005, 23:04)
Под "предметом" ты имеешь в виду любую вещь? У меня у самого триггера такой же tag, globe1. Поменять? Или это разные категории?

Меняй.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Oct 9 2005, 00:04
Сообщение #1565


Level 11
***

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



Всем здрасте.
Я здесь новичок, и модули начел создавать недавно, и у меня ничего не получалось. Времени нет листать 63 страницы, так что не сердитесь если мои вопросы будут похоже на те что уже были заданы. :good:
1. Как составить скрипт, что бы человек сидел на троне.
2. Камера... до меня не может дойти как сделать мультфильм, расскажите пожалуйсто.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lemegeton
сообщение Oct 9 2005, 01:18
Сообщение #1566


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

Класс: Монах
Характер: Lawful Good
Раса: Человек
NWN: Контент



QUOTE (Белатрис @ Oct 9 2005, 00:04)
1. Как составить скрипт, что бы человек сидел на троне.

Используй ф-цию
CODE
ActionSit(object oChair)

Например:
CODE
ActionMoveToObject(oChair);
SpeakString("Here's my seat!");
ActionSit(oChair);

Чел сядет на стул, заданый объектом oChair.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Вишес
сообщение Oct 9 2005, 01:32
Сообщение #1567


Level 13
****

Класс: Ниндзя
Характер: Chaotic Evil
Раса: Танар'ри



NedWarN
зачем так сложно?
а вообще спасибо.
я впаял в середину своего скрипта
SurrenderToEnemies();

и еще немного изменил - и все заработало.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Oct 9 2005, 04:17
Сообщение #1568


Level 11
***

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



Lemegeton, спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Oct 9 2005, 07:07
Сообщение #1569


Пушкин
Иконки Групп

Класс: Обыватель
Характер: Chaotic Neutral
Раса: Гигант
NWN: Тексты



Ладно, скрипт с globe1 заработал. А как же все-таки заставить NPC бормотать линии с интервалами секунд по 10? Желательно закольцевать это дело, чтобы по кругу гундели. Тут вот еще что:

CODE
void main()
{

object oPC = GetEnteringObject();

if (!GetIsPC(oPC)) return;

if (GetLocalInt(oPC, "marco")>= 6)
  {
  if (GetLocalInt(oPC, "statuestatus")== 0)
     {

     oTarget = GetObjectByTag("statue");

//Visual effects can't be applied to waypoints, so if it is a WP
//apply to the WP's location instead

     nInt = GetObjectType(oTarget);

     if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), oTarget);
     else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), GetLocation(oTarget));

     DestroyObject(oTarget, 3.0);

     oTarget = GetWaypointByTag("statuetag");

     lTarget = GetLocation(oTarget);

     oSpawn = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_statue2", lTarget);

     SetLocalInt(oPC, "statuestatus", 1);

     }
  }
else
  {
  SetLocalInt(oPC, "statuestatus", 1);

  }

}


Идея в том, чтобы при входе в зону проверялись две переменные, statue и marco, и если одна из них 0, а другая 6, то удалялся бы placeable, экран сотрясался и на его месте являлся другой объект, а переменная statue делалась бы 1 (чтобы не гонять скрипт снова и снова).

Пишет VARIABLE DEFINED WITHOUT TYPE на 20-й линии. Ошибка-то простая, но, видно, логика не моя стезя, никак не соображу, что добавить. Ненавижу скрипты. Я пока полез на позорный столб, а вы помогите, а? Гнилые помидоры вон в том ящике. :rolleyes:

Сообщение отредактировал Chimeric - Oct 9 2005, 07:21
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lemegeton
сообщение Oct 9 2005, 07:37
Сообщение #1570


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

Класс: Монах
Характер: Lawful Good
Раса: Человек
NWN: Контент



Neverwinter Script Source
//Visual effects can't be applied to waypoints, so if it is a WP
//apply to the WP's location instead

     // nInt = GetObjectType(oTarget);
     int nInt = GetObjectType(oTarget); // <---- проблема тут.  Обязательно указывать тип переменной.

     if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), oTarget);


Хы... И так везде... Попробуй так:
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return;

if (GetLocalInt(oPC, "marco")>= 6) {
  if (GetLocalInt(oPC, "statuestatus")== 0) {
     object oTarget = GetObjectByTag("statue");
     int nInt = GetObjectType(oTarget);
     ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), GetLocation(oTarget));  // Это наверняка на локацию.
     DestroyObject(oTarget, 3.0);
     oTarget = GetWaypointByTag("statuetag");
     location lTarget = GetLocation(oTarget);
     object oSpawn = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_statue2", lTarget);
     SetLocalInt(oPC, "statuestatus", 1);
   }
} else {
  SetLocalInt(oPC, "statuestatus", 1); // Это-то зачем? Получается, если не попадает в первое условие, предыдущие операторы никогда больше не сработают?
}

Уточни задачу. Решение явно не оптимальное. Если у тебя там уже есть оъект, ни к чему делать WayPoint...

Сообщение отредактировал Lemegeton - Oct 9 2005, 07:54
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Oct 9 2005, 10:01
Сообщение #1571


Пушкин
Иконки Групп

Класс: Обыватель
Характер: Chaotic Neutral
Раса: Гигант
NWN: Тексты



Вообще-то верно, statuestatus лишний. Про локацию верно, только там уже статуя торчит. Скрипт должен ее заменить на другую. Я воткнул Waypoint поверх нее. Как это все будет выглядеть иначе? %) Я понимаю, кончно, что уж кучу вопросов про скрипты вывалил, но тороплюсь успеть к конкурсному сроку...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
NedWarN
сообщение Oct 9 2005, 15:34
Сообщение #1572


Level 5
**

Класс: Маг
Характер: Lawful Good
Раса: Тварь



Челы, скриптёры, помогите. Я в шоке, написал скриптик а он не пашет, кто разяснит в чём проблема.
наОнХарб предметика.
Neverwinter Script Source
void main()
{
if(GetIsDay() && GetIsDawn() == TRUE)
{
PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE);
if(GetIsNight() && GetIsDusk() == TRUE)
{
object oSelf =GetObjectByTag("YYY_OIO_POIUN_1");
PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
effect eLight = EffectVisualEffect(VFX_DUR_LIGHT_YELLOW_10);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLight, oSelf);
}
}
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Oct 9 2005, 17:09
Сообщение #1573


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

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



QUOTE (NedWarN @ Oct 9 2005, 16:34)
елы, скриптёры, помогите. Я в шоке, написал скриптик а он не пашет, кто разяснит в чём проблема. наОнХарб предметика.


Neverwinter Script Source
void main()
{
//Тут нужен не "&&" - как такое можеь быть? Нужно использовать "||" !!
if(GetIsDay() && GetIsDawn() == TRUE)
{// тут *
PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE);


//Тут нужен не "&&" - как такое можеь быть? Нужно использовать "||" !!
if(GetIsNight() && GetIsDusk() == TRUE)
{
object oSelf =GetObjectByTag("YYY_OIO_POIUN_1");
PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
effect eLight = EffectVisualEffect(VFX_DUR_LIGHT_YELLOW_10);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLight, oSelf);
}
}// и тут *
}

*-Получается, что ночь и вечер будет проверяться, только если сейчас утро или день!

Надо так

Neverwinter Script Source
void main()
{

if(GetIsDay() || GetIsDawn())
{
    PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE);
}

if(GetIsNight() || GetIsDusk())
{
    object oSelf =GetObjectByTag("YYY_OIO_POIUN_1");

    PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
    effect eLight = EffectVisualEffect(VFX_DUR_LIGHT_YELLOW_10);

    ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLight, oSelf);
}
}


Если это работа с освещением, то нужно еще использовать функции
Neverwinter Script Source
SetPlaceableIllumination (OBJECT_SELF, FALSE);
RecomputeStaticLighting (GetArea(OBJECT_SELF));


Сообщение отредактировал -fenix- - Oct 9 2005, 17:17
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 9 2005, 19:39
Сообщение #1574


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

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



QUOTE (Белатрис @ Oct 9 2005, 03:04)
Времени нет листать 63 страницы, так что не сердитесь если мои вопросы будут похоже на те что уже были заданы.

Тут есть ПОИСК.
QUOTE (Белатрис @ Oct 9 2005, 07:17)
Lemegeton, спасибо.

А за такой "содержательный" пост, тут можно получить пред. :D Это тебе на будущее...
А вообще, тут рады новичкам. Но они должны соблюдать правила.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
2_advanced
сообщение Oct 9 2005, 20:33
Сообщение #1575


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

Класс: Вор
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]



кто-нибудь знает как реализовать невидимость кричи без потери визуальных эффектов? :D
т.е. луч идет до кричи =) и она должна бегать по локации.. вместе с лучём :swoon:
VFX_DUR_CUTSCENE_INVISIBILITY, хайд, 0-й вид частей тела не катит :vava:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Oct 9 2005, 22:26
Сообщение #1576


Пушкин
Иконки Групп

Класс: Обыватель
Характер: Chaotic Neutral
Раса: Гигант
NWN: Тексты



Как же все-таки заставить NPC бормотать фразы-линии?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 9 2005, 23:41
Сообщение #1577


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

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



Задержки ставь свои.
Neverwinter Script Source
object oUbo = GetObjectByTag("AM_CUT2_UBO");
    object oHalib = GetObjectByTag("AM_CUT2_HAL");

    DelayCommand(17.0, AssignCommand(oHal, SpeakString("Фраза #1.")));
    DelayCommand(18.5, AssignCommand(oUbo, SpeakString("Фраза #2.")));
    DelayCommand(20.0, AssignCommand(oHal, SpeakString("Фраза #3")));
    DelayCommand(22.0, AssignCommand(oHal, SpeakString("Фраза #4.")));
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Oct 10 2005, 00:22
Сообщение #1578


Пушкин
Иконки Групп

Класс: Обыватель
Характер: Chaotic Neutral
Раса: Гигант
NWN: Тексты



Кстати, вот еще вопрос: как запретить Respawn в сингле? Наверняка в архивах уже есть ответ, но местная функция поиска, мягко говоря, оставляет желать лучшего. Просматривать две нитки по 60 страниц каждая - извините... Тем более, что Мастерам скриптов мне подсказать ничего не стоит. Итак: как сделать так, чтобы при смерти персонажа не появлялось обычной панели с кнопками? Или пусть появляется, но без опции "Respawn", если это возможно. Хочу дать понять игроку, что чем нарываться на неприятности и врагов в расчете на воскрешение, лучше сохраняться почаще и разумно оценивать свои возможности.

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

P.S. Спасибо, Айван. Эти реплики будут крутиться до бесконечности? И куда ставить скрипт - в OnPerception?

Сообщение отредактировал Chimeric - Oct 10 2005, 00:26
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Вишес
сообщение Oct 10 2005, 01:41
Сообщение #1579


Level 13
****

Класс: Ниндзя
Характер: Chaotic Evil
Раса: Танар'ри



Chimeric

QUOTE
как запретить Respawn в сингле?


Очень просто.
В событиях модуля убери скрипты из строчек
onPlayerDeath
onPlayerdying
OnPlayerRespawn

И герой будет валяться мертвый до второго пришествия или пока не подойдет кто-то и оживит. (это кстати неплохая фишка - хенчмен оживляет игрока.)

Хотя если тебе надо, чтобы появлялась табличка, предлагаюющая выйти или загрузить сэйв - все будет выглядеть несколько хитрее.

Добавлено в 01:45
У меня тут возникла интересная идея. Хочу сделать фит, позволяющий метать сразу несколько ножей или сюрикенов в одного противника за одну атаку. Честно говоря, даже представить не могу, как будет выглядеть скрипт для этого фита. Может, кто-нибудь другой может?

Сообщение отредактировал Вишес - Oct 10 2005, 01:53
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Oct 10 2005, 02:59
Сообщение #1580


Пушкин
Иконки Групп

Класс: Обыватель
Характер: Chaotic Neutral
Раса: Гигант
NWN: Тексты



Проблема:


CODE
void main()
{

object oPC = GetLastUsedBy();

object oTarget = GetObjectByTag("hallwaysecretrope");

if (!GetIsPC(oPC)) return;

if (GetAbilityScore(oPC, ABILITY_DEXTERITY)>= 13)
  {

     oTarget = GetWaypointByTag("shrine");

  lTarget = GetLocation(oTarget);

  if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return;

  oTarget=GetFirstFactionMember(oPC, FALSE);

  while (GetIsObjectValid(oTarget))
     {
     AssignCommand(oTarget, ClearAllActions());

     AssignCommand(oTarget, ActionJumpToLocation(lTarget));
     oTarget=GetNextFactionMember(oPC, FALSE);
     }

  }
else
  {
  eEffect = EffectDamage(3, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_NORMAL);

  ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC);

  oTarget = oPC;

  nInt = GetObjectType(oTarget);

  if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), oTarget);
  else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), GetLocation(oTarget));

  eEffect = EffectDazed();

  ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 30.0f);

  AssignCommand(OBJECT_SELF, FadeToBlack(oPC, FADE_SPEED_MEDIUM));
  AssignCommand(OBJECT_SELF, ActionWait(2.0));
  AssignCommand(OBJECT_SELF, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));

  DelayCommand(3.0, FloatingTextStringOnCreature("Ëåãêàÿ ÷åðåïíî-ìîçãîâàÿ òðàâìà (èëè åå ìûñëåííûé ýêâèâàëåíò)", oPC));

  }

}



Падаем и ударяемся, но только - VARIABLE DEFINED WITHOUT TYPE. Те же грабли, черт! Никак я не догоню. Подсобите, люди. И еще вот странное дело: если я в линии c DelayCommand заменю текст на другой - на одно слово из моего собственного другого скрипта, то компилятор не жалуется, а с этой фразой почему-то выдает UNKNOWN STATE IN COMPILER. Не в длине же дело, всего-то одно предложение. :this:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
AliceDiren
сообщение Oct 10 2005, 07:26
Сообщение #1581


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



Neverwinter Script Source
void main()
{
object oPC = GetLastUsedBy();
object oTarget = GetObjectByTag("hallwaysecretrope");
if (!GetIsPC(oPC)) return;
if (GetAbilityScore(oPC, ABILITY_DEXTERITY)>= 13)
{
  oTarget = GetWaypointByTag("shrine");
  location lTarget = GetLocation(oTarget); //!!! location
  if (GetAreaFromLocation(lTarget)==OBJECT_INVALID) return;
  oTarget=GetFirstFactionMember(oPC, FALSE);
  while (GetIsObjectValid(oTarget))
  {
    AssignCommand(oTarget, ClearAllActions());
    AssignCommand(oTarget, ActionJumpToLocation(lTarget));
    oTarget=GetNextFactionMember(oPC, FALSE);
  }}
else
  {
  effect eEffect = EffectDamage(3, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_NORMAL);
  //!!! effect
  ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC);
  oTarget = oPC;
  int nInt = GetObjectType(oTarget);//!!! int
  if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), oTarget);
  else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), GetLocation(oTarget));
  eEffect = EffectDazed();
  ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 30.0f);
  AssignCommand(OBJECT_SELF, FadeToBlack(oPC, FADE_SPEED_MEDIUM));
  AssignCommand(OBJECT_SELF, ActionWait(2.0));
  AssignCommand(OBJECT_SELF, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));
  DelayCommand(3.0, FloatingTextStringOnCreature("...", oPC));
  }
}

ИМХО так.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Oct 10 2005, 12:31
Сообщение #1582


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

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



Chimeric
QUOTE (Chimeric @ Oct 9 2005, 23:26)
Как же все-таки заставить NPC бормотать фразы-линии?

http://www.wrg.ru/forums/index.php?showtop...875&#entry52274
чтоб не "бормотал", когда в локе нет игрока, поставить первой строкой в скрипте
Neverwinter Script Source
if (GetAILevel() == AI_LEVEL_VERY_LOW) return;
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
NedWarN
сообщение Oct 10 2005, 16:16
Сообщение #1583


Level 5
**

Класс: Маг
Характер: Lawful Good
Раса: Тварь



-fenix-
Не кричи ты, знаю я прикрасно как с if обращатся, я тока напутал ибо пиво. сорри. :D
а вообще пасиба. :yes:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 10 2005, 16:31
Сообщение #1584


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

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



dumbo, а что АI скидывается до минимума еслим РС нет в локе?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Oct 10 2005, 17:04
Сообщение #1585


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

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



Aiwan, насколько я помню(довольно давно и нетщательно тестировал это дело), именно так и есть. тонкостей регулирования движком уровня AI, правда, не расскажу... при установке "руками" уровня, движок перестает контроллировать его до тех пор, пока не поставишь обратно на AI_LEVEL_DEFAULT.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 62 63 64 65 66 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 2nd May 2025 - 05:00