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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 72 73 74 75 76 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
justshurik
сообщение Jan 2 2006, 18:41
Сообщение #1816


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



Подскажите пожалуйста. Вот есть некая зона (тригер генерации новый общий). Нужно чтобы когда какой-нибудь обьект входит в нее у него можно было взять тег и использовать этот обьект в качестве мишени для баллисты (см мой предыдущий пост). Причем неизвестно точно какой обьект войдет на эту зону(сам игрок или какой-нибудь монстр) И кроме того, скрипт должен сравнивать по тегу, нужно ли стрелять баллисте в заданный обьект или нет. Т.е. работа скрипта выглядит примерно так: некий обьект вошел в некую зону триггера, находящаяся неподалеку балииста проверяет(по тегам прописаным в скрипте, не по фракции) является ли этот обьект дружественным и соответственно стреляет или не стреляет. Если кто знает как это сделать, расскажите пожалуйста. Заранее спасибо!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jan 2 2006, 20:11
Сообщение #1817


Вечно меняющийся
Иконки Групп

Класс: Монах
Характер: True Neutral
Раса: Человек
NWN: Скриптинг [Sn]



Ставь на onEnter триггера.
Neverwinter Script Source
void main()
{
object oEnter = GetEnteringObject();//Тот кто наступил на триггер.
object oBall  = GetNearestObjectByTag("BALLISTA");//Таг ближайшей баллисты.
object oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_IS_PC);//Игрок

if ((GetTag(oEnter)=="TAG_ENTER") || GetIsPC(oPC))
/*
Проверка на таг, если таг вошедшего равен: TAG_ENTER или вошедший игрок, ТО:
(Можешь добавить проверку на другие таги, в этом помогут операторы && - И, || - или)
*/

  {
  AssignCommand(oBall, ActionCastSpellAtObject(SPELL_FIREBALL,oEnter,PROJECTILE_PATH_TYPE_DEFAULT));
  //Кастуем фаерболл.
  }
}


Сообщение отредактировал Dik Morris - Jan 2 2006, 20:12
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
justshurik
сообщение Jan 2 2006, 20:30
Сообщение #1818


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



Большое спасибо! Еще маленький вопросик. Можно ли сделать так, что бы баллиста кастовала фаерболл все время, пока игрок или кто-либо еще находиться на триггере?
Добавлено в [mergetime]1136224171[/mergetime]
Только с разницей между выстрелами в 1 секунду
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 2 2006, 23:49
Сообщение #1819


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (Dik Morris @ Jan 2 2006, 09:50)
AssignCommand(oBa, DelayCommand(0.6, ActionCastFakeSpellAtObject(nSpell,oCel, PROJECTILE_PATH_TYPE_DEFAULT)));//

не PROJECTILE_PATH_TYPE_DEFAULT а PROJECTILE_PATH_TYPE_BALLISTIC.
QUOTE (NedWarN @ Jan 2 2006, 06:19)
Всем Сорри >> нет Возможности Использовать NSS!

а это что за бред??? Тэги ручками написать никак, если у тебя яваскрипты не пашут и кнопки не отрабатывают???? пред.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
justshurik
сообщение Jan 3 2006, 00:39
Сообщение #1820


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



QUOTE (Lex @ Jan 2 2006, 23:49)
не PROJECTILE_PATH_TYPE_DEFAULT а PROJECTILE_PATH_TYPE_BALLISTIC.


И с DEFAULT и с BALLISTIC нормально работает

Обьясните пожалуйста, что значит сообщение: СКРИПТ ххххх, СЛИШКОМ МНОГО ИНСТРУКЦИЙ.


Сообщение отредактировал justshurik - Jan 3 2006, 01:17
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 3 2006, 03:18
Сообщение #1821


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (justshurik @ Jan 3 2006, 00:39)
И с DEFAULT и с BALLISTIC нормально работает

разница в визуализации. Дефолт это полет по прямой. Балистик - по баллистической траектории. Не критично, но смотрится красиво.
QUOTE (justshurik @ Jan 3 2006, 00:39)
Обьясните пожалуйста, что значит сообщение: СКРИПТ ххххх, СЛИШКОМ МНОГО ИНСТРУКЦИЙ.

то и значит. Скрипт запрашивает выполнение слишком большого количества операций. Скорее всего бесконечный цикл там внутри оказался.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
justshurik
сообщение Jan 3 2006, 13:52
Сообщение #1822


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



Да. Там был бесконечный цикл. Эт я пытался сделать выстрелы баллисты с интервалом в 1 секунду. Так и не получилось.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 3 2006, 14:22
Сообщение #1823


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



чтобы палить постоянно с интервалом в 1 секунду (кстати многовато выстрелов больно получается). То надо в ХБ записать 6 выстрелов в задержкой в 0,1,2,3,4,5 секунд.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
justshurik
сообщение Jan 3 2006, 14:53
Сообщение #1824


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



Спасибо за ответ. Только я не совсем понял, что такое ХБ?

Сообщение отредактировал justshurik - Jan 3 2006, 14:53
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jan 3 2006, 14:57
Сообщение #1825


Вечно меняющийся
Иконки Групп

Класс: Монах
Характер: True Neutral
Раса: Человек
NWN: Скриптинг [Sn]



Neverwinter Script Source
//Скрипт на onHeartBeat баллисты.
//Баллиста будет палит по игроку или НПС каждые шесть секунд, вплоть до смерти, //мишени.
void main()
{
object oBal = OBJECT_SELF;//Сама баллиста
object oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_IS_PC);//Игрок
object oNPC = GetNearestObjectByTag("");//НПС (выше ты писал что нужна проверка по тагу)

if ((GetIsObjectValid(oPC)) && GetDistanceToObject(oBal)<=30.0f)
//Приверка, если игрок жив и находится на дистанции 30 метров то:
  {
  AssignCommand(oBal, ActionCastSpellAtObject(SPELL_FIREBALL,oPC,PROJECTILE_PATH_TYPE_DEFAULT));
  //Шарахнем фаербольчиком : D
  }
else if ((GetIsObjectValid(oNPC)) && GetDistanceToObject(oBal)<=30.0f)
/*
А если жив нпс то:
(можно легко добавить еще проверку на НПС, юзая операторы || (или) выглядеть будет примерно так:)
else if ((GetIsObjectValid(oNPC)) || GetIsObjectValid(GetNearestObjectByTag("ТАГ ВТОРОГО НЕПИСЯ")))
*/

  {
  AssignCommand(oBal, ActionCastSpellAtObject(SPELL_FIREBALL,oPC,PROJECTILE_PATH_TYPE_DEFAULT));
  //Шарахнем фаербольчиком : D
  }
}

PS:
QUOTE
Спасибо за ответ. Только я не совсем понял, что такое ХБ?

Эвент onHeartBeat, кратко просто ХБ.
(Служит для того чтобы нужное событие происходило каждые 6 секунд.)

Сообщение отредактировал Dik Morris - Jan 3 2006, 14:58
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jan 3 2006, 15:35
Сообщение #1826


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

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



QUOTE (justshurik @ Jan 3 2006, 17:53)
Спасибо за ответ. Только я не совсем понял, что такое ХБ?

Учите, батенька, матчасть! :boss: Без этого вы ничего не поймете даже если вам дадут все готовое. :yes:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nashman
сообщение Jan 4 2006, 00:21
Сообщение #1827


Level 8
***

Класс: Тайный Лучник
Характер: Lawful Good
Раса: Эльф



Привет,
По требованию Aiwan(а), я вопросик разместил сюда, чуть-чуть его изменив:
Суть:
Есть у меня старуха(НПС), есть пирог(o_pie001), есть ВейПойнт(Вейп).
Цель:
- Разговариваем из старухой, когда переходим к определенной реплике, то она идет к столу(ВейПойнту), и:
Вариант 1:
Проигрывается анимация, возле стола, и старуха как будто бы ставит на стол пирог(o_pie001), на самом деле перед этим, пирог нужно сделать невидимым, а потом когда проиграет анимация – видимым.
Вариант 2:
Вместо невидимого пирога, просто создать свой пирог из тегом o_pie001.
Вариант 3:
Просто из инвентаря старухи передать пирог в мой инвентарь.

Исходник(автор основы(99%)- Dik Morris):

Neverwinter Script Source
void CreateObjectVoid(int nObjectType, string sTemplate, location lLoc, int bUseAppearAnimation = FALSE)
{
    CreateObject(nObjectType, sTemplate, lLoc, bUseAppearAnimation);
}
void main()
{
object NPC = OBJECT_SELF;//Ето наш NPC...
object PLE = GetWaypointByTag("my_ast_oldw001");//Таг вейпа к которому нада подойти...
location lLocation = GetLocation(GetObjectByTag("item008"));

if(GetLocalInt(NPC,"NPC")==!TRUE)//Проверка на локалку...
  {
  ActionDoCommand(AssignCommand(NPC, ActionMoveToObject(PLE,FALSE)));//подойдем к плейсу...
  ActionDoCommand(AssignCommand(NPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_MID)));
  DelayCommand(4.0f,AssignCommand(NPC, CreateObjectVoid(OBJECT_TYPE_PLACEABLE,"item008",lLocation)));

  ActionDoCommand(SetLocalInt(NPC,"NPC",TRUE));//Локалку ставим...
  }
}

Сноска:
CreateObjectVoid – эту команду в тулсете не видно, но ошибки компилятор не выдает.

НОВЫЕ вопросы:
- Где почитать об рандомных разговорах статических Неписей?
- Есть неписи, и когда на улице день, они идут на улицу к лавке, когда ночь – в дом?
Абсолютно не знаю как правильно.
Код(автор - Я):
Neverwinter Script Source
void main()
{
object oHPC = GetNearestObjectByTag("o_HPC001", OBJECT_SELF, 1);
object olABKA = GetObjectByTag("o_laBka001", 0);
object oast = GetObjectByTag("o_piut001", 0);
if (GetIsDay)
{
ActionMoveToObject(olABKA, FALSE, 1.0f);
}
else (GetIsNight)
{
ActionMoveToObject(olABKA, FALSE, 1.0f);
}
}


- У меня не работает СетДей, СетНочь, как из этим боротся?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jan 4 2006, 02:23
Сообщение #1828


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

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



Во первых, после написания скрипта жми F7. Это компилятор, если скрипт с ошибкой он выдаст строку в которой надо смотреть что ты напартачил.
Neverwinter Script Source
void main()
{
  object oHPC = GetNearestObjectByTag("o_HPC001", OBJECT_SELF, 1);
  object olABKA = GetObjectByTag("o_laBka001", 0);
  object oast = GetObjectByTag("o_piut001", 0);
  if (GetIsDay())
  {
      ActionMoveToObject(olABKA, FALSE, 1.0f);
  }
    else if (GetIsNight())
        {
            ActionMoveToObject(olABKA, FALSE, 1.0f);
        }
}


QUOTE (Nashman @ Jan 4 2006, 03:21)
Проигрывается анимация, возле стола, и старуха как будто бы ставит на стол пирог(o_pie001), на самом деле перед этим, пирог нужно сделать невидимым, а потом когда проиграет анимация – видимым.

Сделать PLC объект невидимым нельзя. Насколько я знаю. МОжно только создать или дестроить его на месте. Ну или измеить его свойства, но для этого надо ковырять твой пирог Мах-ом, и в одно из свойств сделать его невидимым.

Neverwinter Script Source
if(GetLocalInt(NPC,"NPC")==!TRUE) //Шо за отсебятина?
if(GetLocalInt(NPC,"NPC")==FALSE) // Тоды так
if(!GetLocalInt(NPC,"NPC")) // Или так проверь.

Вообще, дуй в тему скриптов новичков и почитай там внимательно скрипты и комметы.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jan 4 2006, 09:25
Сообщение #1829


Вечно меняющийся
Иконки Групп

Класс: Монах
Характер: True Neutral
Раса: Человек
NWN: Скриптинг [Sn]



QUOTE

-Вариант 1:
Проигрывается анимация, возле стола, и старуха как будто бы ставит на стол пирог(o_pie001), на самом деле перед этим, пирог нужно сделать невидимым, а потом когда проиграет анимация – видимым.

Тебе помогут:
Neverwinter Script Source
ApplyEffectToObject
(налаживаем эффект)
Neverwinter Script Source
RemoveEffect
(снимаем эффект)
QUOTE

Вариант 2:
Вместо невидимого пирога, просто создать свой пирог из тегом o_pie001.

Код я тебе, дал. (Кстати нужно указывать не таг, а ресреф)
QUOTE

Просто из инвентаря старухи передать пирог в мой инвентарь.

Ставь в делей:
Neverwinter Script Source
CreateItemOnObject

QUOTE
- Где почитать об рандомных разговорах статических Неписей?

Не знаю, юзай:
(Создай "пустой" диалог, на Action Takens.)
Neverwinter Script Source
void main()
{
switch (Random(3)+1)
   {
   case 1:
   SpeakString("ФРАЗА_1");
   break;

   case 2:
   SpeakString("ФРАЗА_2");
   break;

   case 3:
   SpeakString("ФРАЗА_3");
   break;
   }//В общем что то в этом духе : ).
}

QUOTE
- Есть неписи, и когда на улице день, они идут на улицу к лавке, когда ночь – в дом?

Aiwan скрипт уже привел, но в дополнение ко всему: ЗДЕСЬразбирают подобную ситуацию.
PS:
QUOTE
Сделать PLC объект невидимым нельзя.

Можно 100%.
Neverwinter Script Source
EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY)
- У меня работает на 5+. :yes:

Сообщение отредактировал Dik Morris - Jan 4 2006, 09:33
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jan 4 2006, 11:55
Сообщение #1830


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

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



QUOTE (Dik Morris @ Jan 4 2006, 12:25)
Можно 100%.

:good: Спасибо, не знал, не знал... :scratch:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
StalkerDtN
сообщение Jan 4 2006, 12:05
Сообщение #1831


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

Класс: Волшебник
Характер: Chaotic Good
Раса: Дракон
NWN: Скриптинг [Sn]



Привет всем! :yes:
У меня такой вопрос: как програмно создать в определенном месте локации тригер ловушки или прицепить его (опять же программно) на дверь или сундук.
Заранее спасибо!

LEX: нафиг в разных темах повторять вопрос? В одной (не в этой, кстати) достаточно. Пока устное предупреждение.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jan 4 2006, 15:17
Сообщение #1832


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

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



StalkerDtN скачайте мануал с нашего сайта и почитайте. Там ОЧЕНЬ подробно и доступно описано это. Удачи.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nashman
сообщение Jan 4 2006, 15:33
Сообщение #1833


Level 8
***

Класс: Тайный Лучник
Характер: Lawful Good
Раса: Эльф



Приве,
Ребята, ничего не получается, либо тулсет глючный либо...вы догадались. :swoon:
Возможно повторюсь, но у меня никак нельзя воспользоваться функциией SetDay,SetNight. Я думал как-то через While, но я пытаюсь скрыпты писать месяц, может, максимум и б цыклах ничо не знаю. ПОМОГИТЕ!!!
Нужно не контролировать День и Ночиь и Вечер, а что бы они сами по сибе шли.
Вопрос:
Может быблиотеку подлючить?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Jan 4 2006, 16:05
Сообщение #1834


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

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



QUOTE (Nashman @ Jan 4 2006, 16:33)
Нужно не контролировать День и Ночиь и Вечер, а что бы они сами по сибе шли.

Nashman, ты вообще хоть что-то читал, учил, разберался?

Свойства локи->Опци окружающей среды->Смена дня и ночи. Вот и все!

Если не работают функции, то возможно тупой у тя редактор - меняй его, тут тебе не помогут.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Salasar
сообщение Jan 5 2006, 20:35
Сообщение #1835


Level 1


Класс: Мастер Оружия
Характер: Neutral Good
Раса: Человек



А у меня такой вопрос: как сделать так, чтобы НПС при общении с героем, например:
-Ты готов идти?(НПС)
-Да.(герой)
Они перемещались в другую область в заданную локацию?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Jan 5 2006, 20:59
Сообщение #1836


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

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



Вот функции.
Neverwinter Script Source
// The subject will jump to lLocation instantly (even between areas).
// If lLocation is invalid, nothing will happen.
void ActionJumpToLocation(location lLocation)

// Jump to an object ID, or as near to it as possible.
void ActionJumpToObject(object oToJumpTo, int bWalkStraightLineToPoint=TRUE)

// Jump to lDestination.  The action is added to the TOP of the action queue.
void JumpToLocation(location lDestination)

// Jump to oToJumpTo (the action is added to the top of the action queue).
void JumpToObject(object oToJumpTo, int nWalkStraightLineToPoint=1)


Например ставишь в нужном месте вейпоинт, а на строчку в диалоге скрипт.

Neverwinter Script Source
void main()
{
object oPC = GetPCSpeaker(); // это герой
object oNPC = OBJECT_SELF; //это НПС

object oWP_PC = GetWaypointByTag("ТАГ ВЕЙПОИНТА ИГРОКА");
object oWP_NPC = GetWaypointByTag("ТАГ ВЕЙПОИНТА НПС");

AssignCOmmand(oPC, ClearAllActions());//почистим акции на всякий пожарный
AssignCommand(oPC, JumpToObject(oWP_PC));//герой прыгает к вейпоинту
AssignCommand(oNPC, JumpToObject(oWP_NPC));//НПС прыгает к вейпоинту
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
justshurik
сообщение Jan 6 2006, 02:32
Сообщение #1837


Level 4
**

Класс: Маг
Характер: Chaotic Evil
Раса: Человек



Всем привет!
Прежде всего благодарю Lex-а, Dik_Morris-а и Aiwan-a за то что помогли со скриптом.
И хотел бы спросить, сам не могу докумекать, как во время диалога с NPC сделать проверку вещей PC по тегу. Заранее спасибо!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jan 6 2006, 02:47
Сообщение #1838


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

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



Посмотри ТУТ примеры. Для тебя писалась тема.
Neverwinter Script Source
#include "nw_i0_tool"
int StartingConditional()
{
    object oPC = GetPCSpeaker();
    if(!HasItem(oPC, "ТАГ_ПРЕДМЕТА"))
        return FALSE;
    return TRUE;
}

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Salasar
сообщение Jan 6 2006, 10:18
Сообщение #1839


Level 1


Класс: Мастер Оружия
Характер: Neutral Good
Раса: Человек



Спасибо за ответ! И Ещё один вопрос. Как сделать так, чтобы НПС при определённом кол-ве жизни( например герой дрался с ним и у НПС осталось 10 или ниже хит-поинтов) начал разговор с героем.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jan 6 2006, 12:33
Сообщение #1840


Вечно меняющийся
Иконки Групп

Класс: Монах
Характер: True Neutral
Раса: Человек
NWN: Скриптинг [Sn]



Neverwinter Script Source
/*
:: Скрипт на onDamaget Npc.
:: Когда игрок, атакует Npc, происход. проверка, если HP у Npcменьше 10
:: то он становится дружественным, и начинаег диалог с игроком.
*/

void main()
{
object NPC = OBJECT_SELF;//Сам НПС
object oPC  = GetLastDamager();//Игрок. (А точнее тот кто атакует Npc)

if (GetCurrentHitPoints(NPC)<=10)//Проверка на HP
   {
   SetImmortal(NPC,TRUE);//Делаем НПС бессмертным;
   AssignCommand(oPC, ClearAllActions(TRUE));//Чистим актионы у игрока;
   AssignCommand(NPC, ClearAllActions(TRUE));//Чистим актионы у Npc;
   AssignCommand(NPC, SpeakString("Стой! Я не хочу больше дратся!"));//Думаю понятно;
   ClearPersonalReputation(oPC, NPC);//Чистим репутацию;
   ClearPersonalReputation(NPC, oPC);//Чистим репутацию;
   ChangeToStandardFaction(NPC, STANDARD_FACTION_COMMONER);//Меняем фракцию на простолюдин; 
   //(можешь сам настроить на какую именно, набери в фильтре конст. STANDARD_FACTION*)
   DelayCommand(1.0f, AssignCommand(NPC, ActionStartConversation(oPC)));
   //Заставляем Npc говорить с игроком.
   }
}

PS: Lex исправил. :)

Сообщение отредактировал Dik Morris - Jan 6 2006, 12:51
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 72 73 74 75 76 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19th June 2025 - 14:40