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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 127 128 129 130 131 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Azzerrotter
сообщение Dec 7 2009, 06:26
Сообщение #3201


Level 2
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



"У меня есть несколько вопросов относительно скриптов сам редактор я знаю оч хорошо а вот в скриптах нуб подскижите мне пару скриптов для:
1) Как сделать чтоб люди вокруг говорили когда ты проходиш мимо или кто нибудь рубил дрова стрелял из лука бил тренеровочное чучело?
2) Как сделать чтобы как только ты оказался на определенном участке земли к тебе подошел нпс и начал первым диалог которы нельзя прервать?
3) Как сделать чтобы после твоего диалога с нпс он ушел бы из данной локи в какую нибудь другую локу?
4) И еще если можно опишите мне как сделать компаньена чтобы он следовал за тобой или вернулся назад в место его найма?

Приведите скрипты и куда их надо втавлять описывать необязательно

и последнее самое главное как сделать скрипт смерти нпс чтобы при смерти у него отнимались деньги опыт и он переносился в определенную локу или просто умирал бы без респава?

Заранее благодарю!"

Сообщение отредактировал Azzerrotter - Dec 7 2009, 18:42
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
farah
сообщение Dec 9 2009, 18:43
Сообщение #3202


Level 3
*

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



2 Azzerrotter
http://www.city-of-masters.ru/forums/index...c=1612&st=0
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Azzerrotter
сообщение Dec 10 2009, 14:16
Сообщение #3203


Level 2
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



спс за ссылку да только там нету того что я искал про переход нпс тока есть скрипт да и то не совсем тот что нужен мне надо чтоб нпс ушел с 1 локи на другую а тут нпс просто переходит к точке маршрута которую указываеш в скрипте и исчезает...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Dec 10 2009, 20:03
Сообщение #3204


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

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



Ну так убери в скрипте строку дестроя и добавь команду для ухода в другую локу.
Neverwinter Script
//:://////////////////////////////////////////////
//:: ActionTaken  am_at_npcwp_exit
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
/*
  NPC уходит на персональный вейпоинт, таг которого
  равен AM_WP_ESC_ плюс таг НПС и дестроится на ней.
  Ставим на диалог с НПС, устанавливаем в локации
  вейпоинт  AM_WP_ESC_[ТАГ_НПС]. Если надо что
  бы НПС побежал к точке, то присвоим на поинт
  локалку "RUN".

*/

//:://///////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 20.09.2005
//:://///////////////////////////////////////////
void main()
{
    object oPC = GetPCSpeaker(); // Игрок
    object oNpc = OBJECT_SELF; // НПС с которым идет диалог
    string sTag = GetTag(oNpc); // Таг НПС
    object oExit = GetNearestObjectByTag("AM_WP_ESC_"+sTag); // Вейпоинт
    int iRun = FALSE; // Параметр определяющий скорость НПС

    // Если в локации нет вейпоинта, то НПС скажет что некуда бежать
        if (!GetIsObjectValid(oExit)||(GetArea(oExit)!=GetAre
a(oNpc)))
        {
          AssignCommand(oNpc, SpeakString("Нет вейпоинта, или он не в этой этой локации!"));
          return;
        }
    if(GetLocalInt(oExit, "RUN"))
      {
      iRun = TRUE; // Если присвоить локалку "RUN" на поинт, то он побежит.
      }
    AssignCommand(oNpc, ClearAllActions()); // Почистим стек команд
    AssignCommand(oNpc, ActionForceMoveToObject(oExit, iRun, 1.0, 30.0));
    AssignCommand(oNpc, ActionJumpToObject(GetObjectByTag("ТАГ_ТВОЕГО_ПОИНТА_В_ДРУГОЙ_ЛОКАЦИИ")));
    DelayCommand(0.5, SetCommandable(FALSE, oNpc)); // Что бы случайно не забыл
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Azzerrotter
сообщение Dec 11 2009, 06:31
Сообщение #3205


Level 2
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



Я стер строчку



// Если в локации нет вейпоинта, то НПС скажет что некуда бежать
if (!GetIsObjectValid(oExit)||(GetArea(oExit)!=GetAre
a(oNpc)))
{
AssignCommand(oNpc, SpeakString("Нет вейпоинта, или он не в этой этой локации!"));
return;
}


теперь нпс переходит в другую локу все норм только нпс сразу после диалога исчезает а мне бы так чтобы он сначало подошел к двери и потом ток исчез

(сорь если чтот нетак делаю скрипты сложная для меня вещь)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Dec 11 2009, 08:35
Сообщение #3206


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

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



Вот в этом скрипте учтено присутствие двери рядом с точкой ухода...
Neverwinter Script
//::///////////////////////////////////////
//:: УНИВЕРСАЛЬНОЕ ПЕРЕМЕЩЕНИЕ СУЩЕСТВА
//:: Created By: Gennady
//:: FileName: p_object
//:://////////////////////////////////////
void main()
{
object oPC = GetFirstPC();
object oSelf = OBJECT_SELF;
object oPoint1 = GetObjectByTag("TROP_"+ GetTag(oSelf));
object oPoint2 = GetNearestObjectByTag("EXIT_"+ GetTag(oSelf));
object oDoor = GetNearestObject(OBJECT_TYPE_DOOR, oPoint2);
location LOC = GetLocation(oSelf);
effect eJump = EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3);
int INTEL = GetAbilityScore(oSelf, ABILITY_INTELLIGENCE);

//***** БЛОКИРОВКА ГЕРОЯ  ******
AssignCommand(oPC, ClearAllActions());
AssignCommand(oPC, ActionWait(12.0));
AssignCommand(oPC, ActionDoCommand(SetCommandable(TRUE, oPC))); // разблокировать
DelayCommand(0.1, SetCommandable(FALSE, oPC)); // заблокировать
//*******************************
  AssignCommand(oSelf, ClearAllActions());
  DelayCommand(0.1, SetCommandable(FALSE, oSelf)); // заблокировать
  DelayCommand(12.0, SetCommandable(TRUE, oSelf)); // разблокировать
  DelayCommand(12.0, SetCommandable(TRUE, oPC)); // разблокировать

  if (GetIsObjectValid(oPoint1))
  {
    if(INTEL != 4)
    AssignCommand(oSelf, SpeakString("До встречи!"));
    if (GetIsObjectValid(oPoint2))
    {
    AssignCommand(oSelf, ActionForceMoveToObject(oPoint2, FALSE, 0.0, 10.0));
    if(GetDistanceBetween(oDoor, oPoint2)< 3.0 && GetLocked(oDoor)==FALSE)
      {
      AssignCommand(oSelf, ActionOpenDoor(oDoor));
      AssignCommand(oSelf, ActionWait(2.0));
      }
    AssignCommand(oSelf, ActionDoCommand(SetCommandable(TRUE, oPC))); // разблокировать
    AssignCommand(oSelf, ActionJumpToObject(oPoint1));
    return;
    }
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eJump, LOC);
    DelayCommand(3.0, SetCommandable(TRUE, oPC)); // разблокировать
    AssignCommand(oSelf, ActionWait(3.0));
    AssignCommand(oSelf, ActionDoCommand(SetCommandable(TRUE, oSelf)));
    AssignCommand(oSelf, ActionJumpToObject(oPoint1));
    return;
  }
  else  // Если нет точки, то удалить существо
    {
    if(INTEL != 4)
    SpeakString("Прощай!");
    AssignCommand(oSelf, SetIsDestroyable(TRUE, TRUE, TRUE));
    if (GetIsObjectValid(oPoint2))
    {
    AssignCommand(oSelf, ActionForceMoveToObject(oPoint2, FALSE, 0.0, 10.0));
    if(GetDistanceBetween(oDoor, oPoint2)< 3.0 && GetLocked(oDoor)==FALSE)
      {
      AssignCommand(oSelf, ActionOpenDoor(oDoor));
      AssignCommand(oSelf, ActionWait(2.0));
      }
    AssignCommand(oSelf, ActionDoCommand(SetCommandable(TRUE, oPC))); // разблокировать
    AssignCommand(oSelf, ActionDoCommand(DestroyObject(oSelf)));
    return;
    }
    DelayCommand(3.0, SetCommandable(TRUE, oPC)); // разблокировать
    DestroyObject(oSelf, 3.2);
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eJump, LOC);
    }
}
/* Если есть точка "TROP_"+тэг ПС, то идет прыжок  к этой точке с эффектом.
  Если при этом есть точка "EXIT_"+тэг ПС, то ПС уходит к этой точке
  и прыгает к точке "TROP_"+тэг ПС без эффекта.
  Если нет точки "TROP_"+тэг ПС, то ПС удаляется с эффектом.
  Если при этом есть точка "EXIT_"+тэг ПС, то ПС идет к этой точке
  и удаляется без эффекта
  Если интеллект равен 4, то фраз не будет.  */
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Azzerrotter
сообщение Dec 12 2009, 19:00
Сообщение #3207


Level 2
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



Хреновый с меня скриптограф я вроде 2 точки маршрута с нужными тегами поставил скрипт нпс дал как тока скрипт срабатывает нпс кастует на себя заклинание и исчезает нигде его нет потом...
(IMG:style_emoticons/kolobok_light/wacko.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Dec 12 2009, 21:15
Сообщение #3208


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

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



Цитата(Azzerrotter @ Dec 12 2009, 19:00) *
Хреновый с меня скриптограф я вроде 2 точки маршрута с нужными тегами поставил скрипт нпс дал как тока скрипт срабатывает нпс кастует на себя заклинание и исчезает нигде его нет потом...

Если НПС исчезает, т.е. дестроится, то будет стринг "Прощай!". Значит нужных точек для перемещения не задано... Не понял в чем проблема с написанием нужных тегов для точек?

Например тег НПС "Azzerrotter" значит тег точки, где появится НПС будет "TROP_Azzerrotter"
Если нужно чтобы НПС пошел к определенной точке, а потом прыгнул на конечную, то зададим еще точку выхода "EXIT_Azzerrotter", которая должна быть в этой же локе. Если точка стоит рядом с дверью. то НПС подойдет к двери, откроет и прыгнет на конечную точку, сказав при этом: "До встречи!"
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Dec 13 2009, 16:35
Сообщение #3209


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

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



gennady, просто человек думал скрипт это просто. Azzerrotter, надо вникать и пытаться думать. Без этого никакой мега крутой скрипт тебе не поможет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Azzerrotter
сообщение Dec 14 2009, 14:59
Сообщение #3210


Level 2
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



ну вот я ставлю нищего даю ему тег N ставлю точку маршрута на эту же локу где и нищий даю ей тег EXIT потом переключаюсь на другую локу ставлю там точку маршрута с тегом TROP делаю скрипт который выглядит так



Neverwinter Script
//::///////////////////////////////////////
//:: УНИВЕРСАЛЬНОЕ ПЕРЕМЕЩЕНИЕ СУЩЕСТВА
//:: Created By: Gennady
//:: FileName: p_object
//:://////////////////////////////////////
void main()
{
object oPC = GetFirstPC();
object oSelf = OBJECT_SELF;
object oPoint1 = GetObjectByTag("TROP_N"+ GetTag(oSelf));
object oPoint2 = GetNearestObjectByTag("EXIT_N"+ GetTag(oSelf));
object oDoor = GetNearestObject(OBJECT_TYPE_DOOR, oPoint2);
location LOC = GetLocation(oSelf);
effect eJump = EffectVisualEffect(VFX_FNF_SUMMON_MONSTER_3);
int INTEL = GetAbilityScore(oSelf, ABILITY_INTELLIGENCE);

//***** БЛОКИРОВКА ГЕРОЯ  ******
AssignCommand(oPC, ClearAllActions());
AssignCommand(oPC, ActionWait(12.0));
AssignCommand(oPC, ActionDoCommand(SetCommandable(TRUE, oPC))); // разблокировать
DelayCommand(0.1, SetCommandable(FALSE, oPC)); // заблокировать
//*******************************
  AssignCommand(oSelf, ClearAllActions());
  DelayCommand(0.1, SetCommandable(FALSE, oSelf)); // заблокировать
  DelayCommand(12.0, SetCommandable(TRUE, oSelf)); // разблокировать
  DelayCommand(12.0, SetCommandable(TRUE, oPC)); // разблокировать

  if (GetIsObjectValid(oPoint1))
  {
    if(INTEL != 4)
    AssignCommand(oSelf, SpeakString("До встречи!"));
    if (GetIsObjectValid(oPoint2))
    {
    AssignCommand(oSelf, ActionForceMoveToObject(oPoint2, FALSE, 0.0, 10.0));
    if(GetDistanceBetween(oDoor, oPoint2)< 3.0 && GetLocked(oDoor)==FALSE)
      {
      AssignCommand(oSelf, ActionOpenDoor(oDoor));
      AssignCommand(oSelf, ActionWait(2.0));
      }
    AssignCommand(oSelf, ActionDoCommand(SetCommandable(TRUE, oPC))); // разблокировать
    AssignCommand(oSelf, ActionJumpToObject(oPoint1));
    return;
    }
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eJump, LOC);
    DelayCommand(3.0, SetCommandable(TRUE, oPC)); // разблокировать
    AssignCommand(oSelf, ActionWait(3.0));
    AssignCommand(oSelf, ActionDoCommand(SetCommandable(TRUE, oSelf)));
    AssignCommand(oSelf, ActionJumpToObject(oPoint1));
    return;
  }
  else  // Если нет точки, то удалить существо
    {
    if(INTEL != 4)
    SpeakString("Прощай!");
    AssignCommand(oSelf, SetIsDestroyable(TRUE, TRUE, TRUE));
    if (GetIsObjectValid(oPoint2))
    {
    AssignCommand(oSelf, ActionForceMoveToObject(oPoint2, FALSE, 0.0, 10.0));
    if(GetDistanceBetween(oDoor, oPoint2)< 3.0 && GetLocked(oDoor)==FALSE)
      {
      AssignCommand(oSelf, ActionOpenDoor(oDoor));
      AssignCommand(oSelf, ActionWait(2.0));
      }
    AssignCommand(oSelf, ActionDoCommand(SetCommandable(TRUE, oPC))); // разблокировать
    AssignCommand(oSelf, ActionDoCommand(DestroyObject(oSelf)));
    return;
    }
    DelayCommand(3.0, SetCommandable(TRUE, oPC)); // разблокировать
    DestroyObject(oSelf, 3.2);
    ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eJump, LOC);
    }
}


делаю нищему диалог по завершению которого должен сроботать этот скрипт нпс говорит говорит прощай и исчезает...
вроде все правельно делал... (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение Dec 14 2009, 16:27
Сообщение #3211


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

Класс: Обыватель
Характер: Lawful Good
Раса: Человек
NWN: Модмейкер
Рыцарская Сага



Если говорит: "Прощай!", то точек нет или они не правильно пробиты... Я думаю ты забыл пробить нижний дефис между приставкой и тегом.

Если тег N, то теги точек должны быть:
EXIT_N
TROP_N
Звиняюсь... Тока доглядел чего ты в скрипте напортачил... Это универсальный скрипт и нечего в него еще и теги НПС пробивать...
Neverwinter Script
object oPoint1 = GetObjectByTag("TROP_N"+ GetTag(oSelf));
object oPoint2 = GetNearestObjectByTag("EXIT_N"+ GetTag(oSelf));

Тут в моем скрипте написано:
Neverwinter Script
object oPoint1 = GetObjectByTag("TROP_"+ GetTag(oSelf));
object oPoint2 = GetNearestObjectByTag("EXIT_"+ GetTag(oSelf));

Это значит что идет привязка точки к тегу НПСа (+ GetTag(oSelf)-это тег НПСа), а теги точек для твоего НПС с тегом N как раз и будут
EXIT_N
TROP_N
попробуй догодаться какие теги нужны для твоего скрипта...
Цитата(Aiwan @ Dec 13 2009, 16:35) *
Azzerrotter, надо вникать и пытаться думать. Без этого никакой мега крутой скрипт тебе не поможет.

+1 (IMG:style_emoticons/kolobok_light/yes3.gif)

Сообщение отредактировал gennady - Dec 14 2009, 16:40
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Azzerrotter
сообщение Dec 15 2009, 12:58
Сообщение #3212


Level 2
*

Класс: Воин
Характер: True Neutral
Раса: Эльф



спс все по описанию вправил все запахало!


Сообщение отредактировал Azzerrotter - Dec 15 2009, 13:28
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
WARLORD
сообщение Dec 27 2009, 22:06
Сообщение #3213


Level 1


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



Люди, помогиге пожалуйста! Я в этих скриптах практически ничего не понимаю, да они мне на самом деле то и не нужны. НО вот какой вопрос. Я начал переводить мод НВН "Кормические ночи". И тут стал такой вопрос, а где находятся реплики НПС'шников, которые появляются у них над головами во время скриптовых сцен? Залажу в НПС, далее в скрипты. Проверил все: ну Conversation, Perception и т.д. но ни в одном из них не нашел команды типа SpeakString или ActionSpeakString. А функция FloatingTextStringOnCreature вообще пассивна и никакого текста не отображает. Может я что-то не догоняю. И не там ищу? Помогите пожалуйста разобраться. Укажите, где этот текст должен быть точно: скрипт и функцию, если он в ней. И еще один вопрос, где должен находится текст в панели отчета? Ну типа "Вы вышли из тюрьмы и в глаза вам ударил яркий солнечный свет" - текст. Там должны по-моему быть такие команды FloatingTextStringOnCreature("Текст."); SendMessageToPC(oPC, "текст"). Очень прошу помогите плиз, а то буит очень обидно, когда ВСЕ диалоги будут на русском, а эти немногочисленные фразы в скриптовых сценах так и останутся непереведенными. Заранее спасибо
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Dec 28 2009, 11:14
Сообщение #3214


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

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



WARLORD, в скриптах или в стрингах.

Стринги - строки с описанием могут быть где угодно, хоть на самом НПС или триггере.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
WARLORD
сообщение Dec 28 2009, 12:11
Сообщение #3215


Level 1


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



Цитата(Aiwan @ Dec 28 2009, 12:14) *
WARLORD, в скриптах или в стрингах.

Стринги - строки с описанием могут быть где угодно, хоть на самом НПС или триггере.


Я уже нашел. Там скрипты называются cutscene 1,2,3 и т.д. Но вот еше один ламерский вопрос: как писать в скрипте на русском? а не абракадаброй

опять сам разобрался (IMG:style_emoticons/kolobok_light/rolleyes.gif) надо было шрифт поменять
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ogneslav
сообщение Jan 17 2010, 23:53
Сообщение #3216


Level 4
**

Класс: Друид
Характер: True Neutral
Раса: Человек



Скажите, можно ли добавалять фиты персонажу скриптово(на подобии нвна 2, тоесть социальные там всякие(ну вообщем для скрипта всеравног какие, главное можно ли?))

И второй вопрос можно ли добавить фит на оружие через скрипт, из тех что нет в палитре( и врядли они там будут, т.к. их я сделал, а добавлять в палитру нехотелось бы (IMG:style_emoticons/kolobok_light/prankster2.gif) )
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Jan 18 2010, 08:53
Сообщение #3217


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Вешать на шкуру. Или через NWNX, но это вариант не для сингла.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Norfolk
сообщение Feb 4 2010, 21:30
Сообщение #3218


Level 2
*

Класс: Бледный Мастер
Характер: Chaotic Neutral
Раса: Полуэльф



Помогите со скриптом пожалуйста. нужно что бы сундук(и др. объекты с инвентарем) пропадали когда из них забирают содержимое, и появлялись заново через 10 минут (вместе с содержимым).

Я поставил на OnClosed скрипт, ломающий объект, а вот восстановить никак не могу... Да, и если можно лучше что бы просто исчезал, а не ломался, и не когда закрывают, а когда забирают содержимое (ведь можно закрыть и не взять, а объект все равно сломается).
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Feb 5 2010, 12:28
Сообщение #3219


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Ставить на onDisturbed.
Neverwinter Script
#include "nw_i0_2q4luskan"

void main()
{
    object oChest = OBJECT_SELF;
    location lLoc = GetLocation(oChest);
    string sResRef = GetResRef(oChest);

    if(GetInventoryDisturbType() == INVENTORY_DISTURB_TYPE_REMOVED && !GetIsObjectValid(GetFirstItemInInventory(oChest))
)
    {
        AssignCommand(GetModule(), DelayCommand(600.0f, CreateObjectVoid(OBJECT_TYPE_PLACEABLE, sResRef, lLoc)));
        DestroyObject(oChest);
    }
}
Можно добавить переноску имени/тега/флажков и т. д. Если инвентарь переменный, то его тоже можно сохранять (а лучше генерить на открытие плейса).

Сообщение отредактировал Ilerien - Feb 5 2010, 13:49
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Norfolk
сообщение Feb 5 2010, 13:17
Сообщение #3220


Level 2
*

Класс: Бледный Мастер
Характер: Chaotic Neutral
Раса: Полуэльф



о, спасибо большое (IMG:style_emoticons/kolobok_light/thank_you.gif)


Хм..Не знает команды CreateObjectVoid, а чем она отличается от просто createobject?

Добавлено: А, все, сорри, это я кривой, не скопировал первую строку, думал это комментарий (IMG:style_emoticons/kolobok_light/pardon.gif)

Сообщение отредактировал Norfolk - Feb 5 2010, 13:56
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение Feb 5 2010, 14:19
Сообщение #3221


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Что значит "не знает"? Эта функция лежит в стандартной библе nw_i0_2q4luskan. Отличается от простого создания обжекта тем, что возвращает не обжект, а войд - для того, чтобы можно было передать её в DelayCommand().
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Feb 8 2010, 10:20
Сообщение #3222


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

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



Цитата(Ilerien @ Feb 5 2010, 14:19) *
для того, чтобы можно было передать её в DelayCommand().

или загонять в стек через ActionDoCommand
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Batkom
сообщение Feb 12 2010, 20:51
Сообщение #3223


Level 4
**

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



Хотел научить стражников ругаться и подбегать к игроку, если у него в руках находится оружие.
на onPerseption поставил такой кусок:
Neverwinter Script
object oPC = GetLastPerceived();
    if (GetIsPC(oPC)&&GetLastPerceptionSeen())
    {
        object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
        if (oWeapon != OBJECT_INVALID)
        {
        ClearAllActions();
        AssignCommand(OBJECT_SELF, ActionStartConversation(oPC, "noweapon"));
        SendMessageToPC(oPC, "Я вижу тебя!");
        }
    }

"Ай си ю" в лог говорит, а вот диалог не стартует.
Нипесь привязан к вейпоинтам, быть может в них дело?

Сообщение отредактировал Batkom - Feb 12 2010, 20:53
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lorendroll
сообщение Feb 14 2010, 00:31
Сообщение #3224


Level 9
***

Класс: Волшебник
Характер: Neutral Good
Раса: Эльф



Batkom, попробуй заставь его сначала подойти к игроку
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Virake
сообщение Feb 25 2010, 00:03
Сообщение #3225


Level 5
**

Класс: Некромант
Характер: Chaotic Evil
Раса: Человек



возможно ActionDoCommand?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 127 128 129 130 131 > » 
Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29th April 2024 - 14:28