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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 93 94 95 96 97 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Aiwan
сообщение Jun 17 2006, 13:27
Сообщение #2341


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

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



NSS
// All clients in oArea will recompute the static lighting.
// This can be used to update the lighting after changing any tile lights or if
// placeables with lights have been added/deleted.
void RecomputeStaticLighting(object oArea)

Попробуй сделать этой функцией пересчет света. Выйди с локации и зайди заново, если это эффект света на объекте то должно пропасть.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Jun 17 2006, 13:54
Сообщение #2342


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

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



QUOTE(Mandrake @ Jun 17 2006, 13:24) [snapback]84964[/snapback]
Я в курсе того что он исчезает при снятии всех вещей, но допустим там есть то что мне абсолютно не нужно, конечно я могу во избежании этих точек ходить и собирать все что падает, но это ведь как "Смерть лечит от всех болезней"


Я имел в виду не собирать самому, а вместо DestroyObject скриптом через DelayCommand снимать все вещи и деньги:
NSS
DelayCommand(120.0, TakeGoldFromCreature(GetGold(oCreature), oCreature, TRUE));
таким образом ты уберешь тело.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mandrake
сообщение Jun 17 2006, 14:17
Сообщение #2343


Level 3
*

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



QUOTE
Я имел в виду не собирать самому, а вместо DestroyObject скриптом через DelayCommand снимать все вещи и деньги


Потом я понял твой пост, но дело в том, что стоит через скрипт внести другие вещи для выпадения, которые не надеты на объекте, как эта схема перестает работать, поэтому я и не стал править свой предыдущий пост (IMG:style_emoticons/kolobok_light/vava.gif)
Исчезают только те вещи, которые при спавне были на обджекте, а те которые добавляются к нему после смерти, почему то остаются.Вот собствено тот скрипт.
NSS
object oPC = OBJECT_SELF;


object oItem;
oItem = GetFirstItemInInventory(oPC);

while (GetIsObjectValid(oItem))
  {
  if (GetPlotFlag(oItem))
      SetPlotFlag(oItem, FALSE);

    DelayCommand(20.0, DestroyObject(oItem));

  oItem = GetNextItemInInventory(oPC);
  }

int nInt;
for (nInt=0; nInt<NUM_INVENTORY_SLOTS; nInt++)
  {
  oItem = GetItemInSlot(nInt, oPC);

  if (GetPlotFlag(oItem))
        SetPlotFlag(oItem, FALSE);

  DelayCommand(20.0, DestroyObject(oItem));
  }

Выданный скрипт эдитором, который я подправил.(Установил задержку на дестрой)

Aiwan, спасибо попробую.

Добавил.
Попробывал, как сказал Aiwan
NSS
//Put OnExit
void main()
{
object oPC =  GetExitingObject();
object oArea = GetArea(oPC);
RecomputeStaticLighting(oArea);
}


Не помогло (IMG:style_emoticons/kolobok_light/aggressive.gif) (IMG:style_emoticons/kolobok_light/unsure.gif)

Сообщение отредактировал Mandrake - Jun 17 2006, 14:44
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
azathoth
сообщение Jun 17 2006, 17:59
Сообщение #2344


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

Класс: Оборотень
Характер: Chaotic Neutral
Раса: Нежить
NWN: Скриптинг [Sn]



Попробуй вынести удаление вещей в отдельную функцию и ее заDelay'ить.

Твой измененный скрипт будет выглядеть примерно так:
NSS
void Clear(object oPC)
{
    object oItem = GetFirstItemInInventory(oPC);
    while (GetIsObjectValid(oItem))
    {
        SetPlotFlag(oItem, FALSE);
        DestroyObject(oItem);

        oItem = GetNextItemInInventory(oPC);
    }

    TakeGoldFromCreature(GetGold(oPC), oPC, TRUE)
}

void main()
{
    object oPC = OBJECT_SELF;
    DelayCommand(120.0, Clear(oPC));
}

P.S. К тому же в твоем варианте вещи удаляются даже если игрок заберет их.
P.P.S. Plot'овые вещи лучше не удалять, а если они не критичны, то и Plot флаг с них лучше убрать.
P.P.P.S. А вообще лежащий труп напряжет систему не больше, чем бегающий монстр, так что если у тебя монстры не появляются все время, то лучше оставлять - так реалистичнее.

Сообщение отредактировал azathoth - Jun 17 2006, 18:06
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jun 17 2006, 18:19
Сообщение #2345


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

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



У меня есть система удаления лута с слокаций. На OnExit локации ставь или по смыслу и своим условиям.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mandrake
сообщение Jun 17 2006, 19:27
Сообщение #2346


Level 3
*

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



NSS
//:://////////////////////////////////////////////
//:: OnExit  am_aex_random
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
/*
    Удаление лута на локации случайных боев.
*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 24.05.2005
//:://///////////////////////////////////////////
int GetIsAssociate(object oMaster, object oAssociate)
{
    object oMaster = GetMaster(oAssociate);
    if(oMaster != OBJECT_INVALID)
      {
      return TRUE;
      }
        return FALSE;
}

void main()
{
object oPC = GetExitingObject();
object oDestr = GetFirstObjectInArea(OBJECT_SELF);
if (!GetIsPC(oPC)) return;

while (oDestr!=OBJECT_INVALID)
  {
//------------------------------------------------------------------------------
    if (GetHasInventory(oDestr) && GetTag(oDestr)=="BodyBag") // Лут - сумка стандартная
    {
      object oItem = GetFirstItemInInventory(oDestr);
      while (GetIsObjectValid(oItem))
      {
        DestroyObject(oItem);
        oItem = GetNextItemInInventory(oDestr);
      }
      DestroyObject(oDestr);
    }
//------------------------------------------------------------------------------
if (GetObjectType(oDestr) == OBJECT_TYPE_PLACEABLE
//      || GetObjectType(oDestr) == OBJECT_TYPE_CREATURE
      && !GetIsAssociate(oPC, oDestr))
        {
        {
          CopyItem(oDestr, oPC, TRUE);

        }
    }
//------------------------------------------------------------------------------*/
    oDestr = GetNextObjectInArea(OBJECT_SELF);
    }
}


Aiwan! (IMG:style_emoticons/kolobok_light/good.gif) НЛО исчезло, после небольшой доработки твоего скрипта. (IMG:style_emoticons/kolobok_light/thank_you.gif) Но у меня вопрос теперь такого плана. Подставив
QUOTE
GetObjectType(oDestr) == OBJECT_TYPE_PLACEABLE
я не подверг ли опасности какие нибудь другие объекты, носящие стратегически важную цель для модуля? (IMG:style_emoticons/kolobok_light/vava.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Jun 17 2006, 22:09
Сообщение #2347


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

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



Слушай, я правил тот скрипт и конечно же накосячил в нем, так как вырезал куски для тебя. Ща убрал тока одину локалку вверху. Так что смотри мой скрипт выше, я там пометил что я лишнее удалил. Извини.

Перечитал свой пост, это ты там у себя накосячил что-то (IMG:style_emoticons/kolobok_light/wacko.gif) Короче этот блок либо поправь либол возьми мой я пометил что там он делает.
NSS
//:://////////////////////////////////////////////
//:: OnExit  am_aex_random
//:: Copyright © 2005 WRG!
//:://////////////////////////////////////////////
/*
    Удаление лута на локации случайных боев.
*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 24.05.2005
//:://///////////////////////////////////////////
int GetIsAssociate(object oMaster, object oAssociate)
{
    object oMaster = GetMaster(oAssociate);
    if(oMaster != OBJECT_INVALID)
      {
      return TRUE;
      }
        return FALSE;
}

void main()
{
object oPC = GetExitingObject();
object oDestr = GetFirstObjectInArea(OBJECT_SELF);
if (!GetIsPC(oPC)) return;

while (oDestr!=OBJECT_INVALID)
  {
//------------------------------------------------------------------------------
    if (GetHasInventory(oDestr) && GetTag(oDestr)=="BodyBag")
    {
      object oItem = GetFirstItemInInventory(oDestr);
      while (GetIsObjectValid(oItem))
      {
        string sTag = GetTag(oItem); // Debag message
        SendMessageToPC(oPC, "Destroy Item - "+sTag);
        DestroyObject(oItem);
        oItem = GetNextItemInInventory(oDestr);
      }
      string sTag = GetTag(oDestr); // Debag message
      string sResRef = GetResRef(oDestr);
      SendMessageToPC(oPC, "Destroy Object - "+sTag+" Resref-"+sResRef); // Debag message
      DestroyObject(oDestr);
    }
//------------------------------------------------------------------------------
  if (GetObjectType(oDestr) == OBJECT_TYPE_ITEM        // Если это предмет
      || GetIsEncounterCreature(oDestr)                // или монстр из енкаучера
      && !GetIsAssociate(oPC, oDestr))                  // но не наш помощник
      {
      // Если это предмет плотовый, якобы мы его уронили или не подняли случайно
      if (GetPlotFlag(oDestr) == TRUE && GetObjectType(oDestr) == OBJECT_TYPE_ITEM)
      {
          CopyItem(oDestr, oPC, TRUE); // копируем его в инвентарь РС
          SendMessageToPC(oPC, "Перед тем, как идти дальше, вы вернулись и побдобрали важный предмет.");
      }
      string sTag = GetTag(oDestr); // Debag message
      string sResRef = GetResRef(oDestr);
      SendMessageToPC(oPC, "Destroy Object - "+sTag+" Resref-"+sResRef); // Debag message
      DestroyObject(oDestr); // Удаляем то что валялось или бегало и пугало нас
      }
//------------------------------------------------------------------------------*/
    oDestr = GetNextObjectInArea(OBJECT_SELF);
    }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mandrake
сообщение Jun 18 2006, 01:01
Сообщение #2348


Level 3
*

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



Все, нашел консенсус. От трупов отказался, вернулся к мешкам лута стандартным, пусть будет так, зато все работает.

Спасибо всем за помощь.

Aiwan, вам отдельное спасибо за нахождение решения проблемы (IMG:style_emoticons/kolobok_light/thank_you.gif)

P.S. Пытался выловить этот светящийся объект путем того, что через скрипт Aiwan'a удалял все плейсиблы с локи, потом заходил в нее еще раз и после убийства мобов опять выходил. Функция сообщения указывающего что удалялось показало 2 объекта с тэгом стандартного мешочка лута... Вот так. Неразрешенная загадка осталось таковой

Сообщение отредактировал Mandrake - Jun 18 2006, 01:07
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jun 18 2006, 16:18
Сообщение #2349


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Mandrake, это старый баг данного флажка. Удаляется этот светящийся объект только тогда, когда игрок полностью забирает все вещи с трупа, но если труп с вещами удаляется сам по истечение определенного времени, то точка остается. В свое время долго боролся с этой проблемой, но так и не получилось избавиться от этих точек. Похоже, что в месте смерти остается невидимый объект, который после удаления тела перестает быть активным, но сам не исчезает.

Кстати, ты написал
QUOTE
вернулся к мешкам лута стандартным
Каким именно? В моем модуле создается на месте смерти невидимый объект из палитры, в который сразу же копируются все выпавшие вещи с монстра. Через 1 минуту все это добро, вместе с телом монстра, удаляется. Работает хорошо, и не вызывает каких-либо проблем. И главное, что смотрится отлично. Если интересует, могу поделиться скриптом.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Mandrake
сообщение Jun 19 2006, 18:53
Сообщение #2350


Level 3
*

Класс: Волшебник
Характер: Neutral Evil
Раса: Человек



Мешок который по умолчанию, с тэгом "BodyBag". Именно он удаляется скриптом Aiwan'a, после того, как с локи уходит игрок. Но если я понял правильно, то он действует в сингле, а в онлайн может доставить неудобство, ибо с локации может выйти кто то другой, а игрок который убил моба останется без законно выбитого добра.

Я конечно планированием сетевых шардов заниматься не думаю, но для просвещения, не отказался бы увидеть ваш скрипт, Zirrex (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Jun 24 2006, 07:10
Сообщение #2351


Level 11
***

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



Не начинается диалог...
NSS
void main()
{
object oPC = GetEnteringObject();
object oNPC1 = GetObjectByTag("NPC_01"); // Ãëàâàðü
object oNPC2 = GetObjectByTag("NPC_02"); // Ëó÷íèöà
object oNPC3 = GetObjectByTag("NPC_03");
object oNPC4 = GetObjectByTag("NPC_04");
object oWPpc1 = GetWaypointByTag("WP_PC_1");
object oWP1 = GetWaypointByTag("WP_NPC_01");
object oWP2 = GetWaypointByTag("WP_NPC_02");
object oWP3 = GetWaypointByTag("WP_NPC_03");
object oWP4 = GetWaypointByTag("WP_NPC_04");
object oDoor1 = GetObjectByTag("DOOR_01"); // Äâåðü Ãëàâàðÿ
object oDoor2 = GetObjectByTag("DOOR_02"); // Äâåðü ëó÷íèöû
object oDoor3 = GetObjectByTag("DOOR_03"); // Íàøà äâåðü
object oDoor4 = GetObjectByTag("DOOR_04"); // Íàøà äâåðü

if (!GetIsPC(oPC) || GetLocalInt(OBJECT_SELF, "TRIGGER") == 1)
    return;
  {
  SetLocalInt(OBJECT_SELF, "TRIGGER", 1);
  SetCutsceneMode(oPC);
  AssignCommand(oPC, ClearAllActions());
  AssignCommand(oNPC1, ClearAllActions());
  AssignCommand(oNPC2, ClearAllActions());
  AssignCommand(oNPC3, ClearAllActions());
  AssignCommand(oNPC4, ClearAllActions());
ActionDoCommand(AssignCommand(oPC, ActionMoveToObject(oWPpc1)));
ActionDoCommand(AssignCommand(oPC, SetCameraFacing(280.0, 7.0, 45.0, CAMERA_TRANSITION_TYPE_SLOW)));
ActionDoCommand(AssignCommand(oPC, SpeakString("Êàê-òî ñäåñü ìðà÷íî... è... ïîäîçðèòåëüíî òèõî...")));
ActionWait(9.5);
ActionDoCommand(AssignCommand(oDoor1, ActionOpenDoor(OBJECT_SELF)));
ActionDoCommand(AssignCommand(oDoor2, ActionOpenDoor(OBJECT_SELF)));
ActionDoCommand(AssignCommand(oDoor3, ActionOpenDoor(OBJECT_SELF)));
ActionDoCommand(AssignCommand(oDoor4, ActionOpenDoor(OBJECT_SELF)));
ActionWait(1.0);
ActionDoCommand(AssignCommand(oNPC1, ActionForceFollowObject(oWP1)));
ActionDoCommand(AssignCommand(oNPC2, ActionForceFollowObject(oWP2)));
ActionDoCommand(AssignCommand(oNPC3, ActionForceFollowObject(oWP3)));
ActionDoCommand(AssignCommand(oNPC4, ActionForceFollowObject(oWP4)));
ActionWait(4.5);
ActionStartConversation(GetFirstPC(), "bandit1");
}
}

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jun 24 2006, 09:27
Сообщение #2352


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

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



Белатрис

Строка:
NSS
ActionStartConversation(GetFirstPC(), "bandit1");

Начинает диалог, с самим триггером. К тому же, зачем использовать функцию GetFirstPC() если игрок и так определен ? + Просто-напросто, может отсутствовать диалог.

PS: на будущее, копируй код с элементами русс. речи (комментариями, текстом) на русской раскладке.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Юзверь
сообщение Jun 24 2006, 18:45
Сообщение #2353


Level 1


Класс: Друид
Характер: Neutral Good
Раса: Эльф



Всем привет, Дамы и Господа.
Насколько я понимаю скрипты разбираются здесь.
Дело в том, что на просторах инета я нашел один интересный скриптик. Этот скрипт меняет свойство навыка Animal Empathy у рэйнджэра и друида (вкратце, зверье не привлекается на сторону последних, но и не атакует их). Возникла одна проблема - скрипт идет только под HotU v. 1.66, а с учетом моего соединения скачать 76 Мб нереально.
К тому же хотелось бы вставить подобное нововведение в кампанию, а не только в модули. Простой записи в Оверрайд не только основного файла (выложен файл *.erf), но даже его содержимого не достаточно.
Если кого-то как и меня заинтересует подобное, то ниже ссылка.
nwvault.ign.com

Заранее спасибо за помощь...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jun 24 2006, 19:07
Сообщение #2354


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

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



Alaron

В HotU, и 1.66 есть новые фун-ции, и если они используются в скрипте, то тут уже ничего не поделаешь, остаеться только ставить аддон и патчить игру.

QUOTE
Простой записи в Оверрайд не только основного файла (выложен файл *.erf), но даже его содержимого не достаточно.


еrf, не нужно записывать в ovveride, они просто импортируются в модуль.
(File - Import - нужный *erf)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Юзверь
сообщение Jun 24 2006, 20:53
Сообщение #2355


Level 1


Класс: Друид
Характер: Neutral Good
Раса: Эльф



QUOTE
В HotU, и 1.66 есть новые фун-ции, и если они используются в скрипте, то тут уже ничего не поделаешь, остаеться только ставить аддон и патчить игру.

Что это меняет? Даже если пропатчить игру, то вставить скрипты в кампанию не выйдет, т.к. Тулсет просто откажется компилировать содержимое, ссылаясь на пропасть ошибок...

QUOTE
еrf, не нужно записывать в ovveride, они просто импортируются в модуль.
(File - Import - нужный *erf)

Я понимаю, тем не менее должна быть возможность вставить скрипты не в модуль, а в саму кампанию...

Сообщение отредактировал Alaron - Jun 24 2006, 20:54
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jun 24 2006, 20:59
Сообщение #2356


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

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



Alaron

QUOTE
Я понимаю, тем не менее должна быть возможность вставить скрипты не в модуль, а в саму кампанию...


Модули компании, лежат в папке nwn, и имеют расширение *NWN, для того чтобы открыть их в тулсете, просто смени расширение на *MOD, перезапиши в moduls, спокойно импортируй скрипт, сохраняй мод, а потом опять меняй расширение на *NWN, и записывай в прежнею папку.

Сообщение отредактировал Dik Morris - Jun 25 2006, 12:39
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Юзверь
сообщение Jun 24 2006, 22:35
Сообщение #2357


Level 1


Класс: Друид
Характер: Neutral Good
Раса: Эльф



QUOTE
Модули компании, лежат в папке nwn, и имеют расширение *NWN, для того чтобы открыть их в тулсете, просто сменить расширение на *MOD, перезапиши в moduls, спокойно импортируй скрипт, сохраняй мод, а потом опять меняй расширение на *NWN, и записывай в прежнею папку.


Как я уже писал выше, Тулсет сохраняет модули с пропастью ошибок в основном в скриптах. (IMG:style_emoticons/kolobok_light/sad.gif)
К тому же придется прописывать скрипты ВО ВСЕХ МОДУЛЯХ, а это пи... в общем, крайне нежелательно. (IMG:style_emoticons/kolobok_light/suicide2.gif)
В любом случае спасибо за совет... (IMG:style_emoticons/kolobok_light/declare.gif)

Сообщение отредактировал Alaron - Jun 24 2006, 22:35
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Zirrex
сообщение Jun 24 2006, 23:10
Сообщение #2358


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

Класс: Друид
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]
Амен



Alaron, а что тебе мешает исправить эти ошибки? Ну если ты хочешь изменить что-то в модулях компании, то делать это лучше все же во всех модулях. Да, вот еще что, если ты обратил внимание, то все модули сделаны так, чтобы в них не было ничего от аддона, в котором компания не делалась.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Jun 24 2006, 23:41
Сообщение #2359


Level 11
***

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



QUOTE(Dik Morris @ Jun 24 2006, 17:27) [snapback]85785[/snapback]

Белатрис

Строка:
NSS
ActionStartConversation(GetFirstPC(), "bandit1");

Начинает диалог, с самим триггером. К тому же, зачем использовать функцию GetFirstPC() если игрок и так определен ? + Просто-напросто, может отсутствовать диалог.

PS: на будущее, копируй код с элементами русс. речи (комментариями, текстом) на русской раскладке.

А написать нельзя? (IMG:style_emoticons/kolobok_light/shout.gif)

Айван: послушай меня, если тебе надо что бы КТО-ТО написал за тебя скрипт, то просить надо вежливо и низко кланяясь. ТУТ ТЕБЕ НИКТО НИЧЕГО НЕ ДОЛЖЕН. Если не умеешь, сразу и говори Я НЕ НИЧЕГО НЕ УМЕЮ. И люди не будут время тратить на объяснение и идеи.

Я уже устал говорить, что мало что знаю, но народ этого не замечает! Вон, на предыдущей странице(кажется) я написал, что вообще все забыл. Этого не достаточно? Да и к тому же, я не приказываю, просто Дик первым увидел мой пост с 10 вопросами, почему же тогда он не вспомнил, что я ни-ни в скриптах, мне-то всего нужно было написать несколько строчек. Я могу лишь, что-то делать пользуясь чужими матерьялами ("вопросы и ответы" к примеру)..

Дик, прошу прощения, если обидел, я не хотел, честно!

Сообщение отредактировал Белатрис - Jun 25 2006, 10:19
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jun 25 2006, 08:25
Сообщение #2360


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

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



QUOTE(Alaron @ Jun 25 2006, 01:35) [snapback]85809[/snapback]

Как я уже писал выше, Тулсет сохраняет модули с пропастью ошибок в основном в скриптах. (IMG:style_emoticons/kolobok_light/sad.gif)
К тому же придется прописывать скрипты ВО ВСЕХ МОДУЛЯХ, а это пи... в общем, крайне нежелательно. (IMG:style_emoticons/kolobok_light/suicide2.gif)
В любом случае спасибо за совет... (IMG:style_emoticons/kolobok_light/declare.gif)


Я говорил в предыдущем посте, что в более новой версии игры есть новые функции, скрипт без них - работать не сможет, отсюда и ошибки. (Я про код, в erf)

Белатрис

Во первых, какой вопрос - такой и ответ.
Во вторых, Aiwan уже написал, тебе тут никто ничего не должен.

По вопросу, eсли я правильно понял, то диалог игрок должен начать с одним из NPC, для этого, используй функцию: AssignCommand.
Т.е последняя строчка, будет выглядеть так:

NSS
ActionDoCommand(AssignCommand(Нужный NPC,  ActionStartConversation(oPC, "bandit1")));


Сообщение отредактировал Dik Morris - Jun 25 2006, 10:34
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Юзверь
сообщение Jun 25 2006, 08:58
Сообщение #2361


Level 1


Класс: Друид
Характер: Neutral Good
Раса: Эльф



QUOTE
Да, вот еще что, если ты обратил внимание, то все модули сделаны так, чтобы в них не было ничего от аддона, в котором компания не делалась.

Да уж. И первые проявления этого - отказы в компилляции... (IMG:style_emoticons/kolobok_light/sad.gif)

Dik Morris, Zirrex, спасибо.
Пойду искать пропатченную версию в продаже, т.к. скачать 76 мб нереально... (IMG:style_emoticons/kolobok_light/sad.gif)

Сообщение отредактировал Alaron - Jun 25 2006, 09:02
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Jun 25 2006, 10:21
Сообщение #2362


Level 11
***

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



Dik Morris, теперь мне понятно! СПАСИБО БОЛЬШОЕ!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Jun 26 2006, 05:25
Сообщение #2363


Level 11
***

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



А как уничтожить скрипт, который, допустим запускается второй раз (это в диалоге)?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Jun 26 2006, 08:56
Сообщение #2364


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

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



Белатрис, нужно просто делать проверку на локальные переменные.
По ним читай Здесь, либо в мануале от Aiwan'a.

PS: т.е скрипт у тебя будет иметь такой вид:

NSS
void main()
{
  if (GetLocalInt(OBJECT_SELF, "temp") == 0)
    {
      SetLocalInt(OBJECT_SELF, "temp",1);
      // Код ;
    }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Юзверь
сообщение Jun 26 2006, 12:33
Сообщение #2365


Level 1


Класс: Друид
Характер: Neutral Good
Раса: Эльф



Дамы и Господа, помогите, плиз, решить задачку.
Дано:
Файл *.erf в нем *.uti, скрипты и информация для экспорта (кому интересно, ссылка выше на nwvault)
Надо:
Как можно удобнее вставить сие нововведение в кампании (NWN, SoU и HotU)
Решение:
Наиболее вероятным решением всех отозвавшихся является вставка через Аврору перепакованием модулей.
Вопрос:
Можно ли вставить содержимое файла ерф в Оверрайд и как? Если никак, то что еще можете предложить?
Заранее much thanks...

Сообщение отредактировал Alaron - Jun 26 2006, 12:34
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 93 94 95 96 97 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29th April 2025 - 23:16