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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 87 88 89 90 91 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Aiwan
сообщение Apr 29 2006, 22:29
Сообщение #2191


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

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



Посомтри в теме ссылок здесь в это разделе. Там как раз мой мануал есть в PDF.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение May 4 2006, 18:10
Сообщение #2192


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

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



А вы знаете, что енкаучеры не удаляются (IMG:style_emoticons/kolobok_light/smile.gif) Я вот не шмог удалить... (IMG:style_emoticons/kolobok_light/pardon.gif) Кто шмог?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение May 8 2006, 06:58
Сообщение #2193


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

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



QUOTE(Aiwan @ May 4 2006, 19:10) [snapback]80757[/snapback]

А вы знаете, что енкаучеры не удаляются (IMG:style_emoticons/kolobok_light/smile.gif) Я вот не шмог удалить... (IMG:style_emoticons/kolobok_light/pardon.gif) Кто шмог?

Aiwan, я тоже не смог, но можно запретить после определенного события. Устроит?
NSS
void main()
{
object oPC = GetFirstPC();
AssignCommand(oPC, SetEncounterActive(FALSE, GetObjectByTag("VOLKI")));
}
// Удалить встречу с монстрами
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение May 8 2006, 09:27
Сообщение #2194


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

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



gennady, спасибо. У меня оно так и работает. Но бывает случай, когда енкаучер уже совсем не нужен. Раньше я ставил удалить. А вот недавно понял что не удаляется. Это гораздо обломнее узнать после выхода модуля... Я просто молодежи писал скрипт на срабатывание енкаучера по локалке. Вот его переписал заново. Енкаучер должен быть неактивен и срабатывать только один раз в настройках.

NSS
//:://////////////////////////////////////////////
//:: OnEnter  am_een_local_on
//:: Copyright © 2006 WRG!
//:://////////////////////////////////////////////
/*
  Включает енкаучер, если на РС нет ни одной
  локальной переменной равной стрингу LOCAL_PC_0X
  float "TIME" - время срабатывания енкаучера
  Локалка "NUMBER" - означает сколько раз сработает.
  Если ее нет, сразу уничтожится.
*/

//:://////////////////////////////////////////////
//:: Created By: Aiwan
//:: Created On: 04.05.2006
//:://////////////////////////////////////////////
#include "am_inc_debug"

void main()
{
  object oPC = GetEnteringObject();
  object oEnc = OBJECT_SELF;
  object oArea = GetArea(OBJECT_SELF);
  float f = GetLocalFloat(oEnc, "TIME");
  int i = GetLocalInt(oEnc, "NUMBER");
  string sLl = GetLocalString(oEnc, "LOCAL_PC_01"); // Локальные переменные
  string sL2 = GetLocalString(oEnc, "LOCAL_PC_02"); // при каторых енкаучер
  string sL3 = GetLocalString(oEnc, "LOCAL_PC_03"); // не сработает.
  string sL4 = GetLocalString(oEnc, "LOCAL_PC_04");
  string sL5 = GetLocalString(oEnc, "LOCAL_PC_05");
  int iFalse;

  if(!GetIsPC(oPC)) return;
  if(GetLocalInt(oEnc, "FIGHT!")) return; // Енкаучер сработал
  if(sLl=="" && sL2 =="" && sL3=="" && sL4=="" && sL5=="") return;

  if(GetLocalInt(oPC, sLl) || GetLocalInt(oPC, sL2) || GetLocalInt(oPC, sL3)
  || GetLocalInt(oPC, sL4) || GetLocalInt(oPC, sL5))
  {
    Debug("Енкаучер '"+GetName(oEnc)+"' не сработает, т.к. переменные триггера и РС совпали.");
    return;
  }
  if(i == 0) // Если 0, то отключаем
  {
      Debug("Отключаем енкаучер. Манчи плачут на взрыд...");
      // Манчи плачут на взрыд...
      return;
    }
    else if(GetEncounterActive(oEnc) == FALSE)
      {
        if (f == 0.0) f = 600.0; // 10 минут, стандартный респавн
        SetEncounterActive(TRUE);
        DelayCommand(1.0, SetEncounterActive(FALSE, oEnc));
        SetLocalInt(oEnc, "FIGHT!", TRUE);
        // Тут самое интересное. Неактивный енкаучер DelayCommand не исполняет
        // поэтому я попросил это сделать локацию, в котором он стоит. Она вроде
        // как не против...
          SetLocalInt(oEnc, "NUMBER", i-1);
          Debug("Енкаучер сработает еще ["+IntToString(GetLocalInt(oEnc, "NUMBER"))+"] раз. ");
          AssignCommand(oArea, DelayCommand(f, SetLocalInt(oEnc, "FIGHT!", FALSE)));

      }
      else return;
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
gennady
сообщение May 8 2006, 14:50
Сообщение #2195


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

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



QUOTE(Aiwan @ May 8 2006, 10:27) [snapback]81091[/snapback]
Но бывает случай, когда енкаучер уже совсем не нужен.


Тогда проще написать скрипт встреч на обычный триггер, и если нужно, то удалять этот триггер. Как раз недавно писал такой скрипт, может кому пригодится.

NSS
//:://////////////////////////////////////////////
//:: Created By: Gennady
//:: Created On:27.04.2006
//:://////////////////////////////////////////////
void main()
{
object oPC = GetEnteringObject();
object oSelf = OBJECT_SELF;
object oPlc = GetNearestObjectByTag("LOC_"+GetTag(oSelf));
location lLoc = GetLocation(oPlc);
string sResRef = GetName(oSelf); // Объект создаваемый
string sNewTag = GetTag(oSelf);  // Тег созданиЯ
int iN = StringToInt(GetLockKeyTag(oSelf)); // Количество созданий
int iNN = StringToInt(sNewTag); // Количество встреч
int iNM = 0;
effect eEffect1 = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
effect eEffect2 = EffectVisualEffect(VFX_IMP_DISPEL);

if(!GetIsPC(oPC)||GetLocalInt(oSelf, "DEACTIVATED")) return;
{
  while (iN != iNM)
  {
   if (GetIsObjectValid(oPlc))
   CreateObject(OBJECT_TYPE_CREATURE, sResRef, lLoc,TRUE,sNewTag);
   else
   CreateObject(OBJECT_TYPE_CREATURE, sResRef, GetLocation(oSelf),TRUE,sNewTag);
   iNM++;
  }
if (GetIsObjectValid(oPlc))
{
  ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect1, GetLocation(oPlc));
  DelayCommand(1.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect2, GetLocation(oPlc)));
}
else
{
  ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect1, GetLocation(oSelf));
  DelayCommand(1.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect2, GetLocation(oSelf)));
}
   if (sNewTag == "1")
  {
    DelayCommand(0.2, SetLocalInt(oSelf, "DEACTIVATED", TRUE));
   DestroyObject(oSelf, 2.0);
  }
   else
   {
    DelayCommand(0.2, SetLocalInt(oSelf, "DEACTIVATED", TRUE));
    DelayCommand(1000.0, SetLocalInt(oSelf, "DEACTIVATED", FALSE));
    if (iNN < 1) return;
    SetLocalInt(oSelf, "NUM", GetLocalInt(oSelf, "NUM") + 1);
    if (GetLocalInt(oSelf, "NUM") >= iNN)
    DestroyObject(oSelf, 2.0);
   }
}
}
/*            Встреча
  Триггер содержит в названии ResRef объкта, который появится.
  Точка, где появится объект LOC_+Тег триггера, если точки нет - то к триггеру.
  Поле триггера KeyTag - Количество созданий
  Если тег триггера 1, то встреча только один раз, если другой,
  то повтор через 1000 секунд, если цифра, то это количество встреч.
*/


Сообщение отредактировал gennady - May 20 2006, 05:26
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение May 8 2006, 18:43
Сообщение #2196


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

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



Если бы все было так просто.... (IMG:style_emoticons/kolobok_light/pardon.gif) Триггер залудить это две секунды. Даже если взять в расчет уровень игрока и потом спавнить НПС или монстров. Но ваш триггер громадный дизбаланс... Вы это поймете когда запустите в модуль игрокоы с уровнем 5-10 примерно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 8 2006, 19:00
Сообщение #2197


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

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



Триггер проигрывает энкаунтеру в:
- гибкости и легкости настройки (добавить, удалить из листа, уникальный спавн и прочее)
- спавн на энкаунтерах сбалансированный, по CR, а на триггерах нет.
а выигрыш только в том, что его можно удалить.
сомнительные преимущества триггера (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Don_Beavis
сообщение May 9 2006, 09:38
Сообщение #2198


Level 1


Класс: Клерик
Характер: Neutral Evil
Раса: Дварф



Глупый нубский вопрос (IMG:style_emoticons/kolobok_light/rolleyes.gif) . Как поднять максимальное кол-во опыта, получаемое при убийстве моба и как сделать так, что бы в пати опыт резался не по полам(в случае если патя из двух человек), а процентов на 10, и что бы сумоны не жрали экспу. Заранее спасибо (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение May 9 2006, 10:08
Сообщение #2199


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

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



1. Ставим уровень игры Изи. Открываем вкладку в свойствах модуля в Адвантес:
QUOTE

Приспособьте ползунок так, чтобы снимать тот опыт, который герой автоматически получит в течение игры:

0% - опыт должен быть присужден или вручную, или же по сценарию.
100% - стандартные вознаграждения опыта, основанные на таблице НН.
2000% - 20 x стандартный награды опыта
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение May 9 2006, 11:47
Сообщение #2200


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

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



Ситуация: у всех NPC в OnConversation стоит

NSS
оbject oPC = GetFirstPC();

SetCutsceneMode(oPC, TRUE);

ActionStartConversation(oPC, "", FALSE, TRUE);


После чего они начинают свой разговор в режиме катсцены. Штука, однако, в том, что при таком режиме не работает то, что вроде бы должно. Например, нужно сделать так, чтобы трое неписей напали на нас и окончился режим катсцены. Ставил вот что на последнюю реплику:


NSS
void main()
{

object oPC = GetPCSpeaker();
object oTarget;

SetCutsceneMode(oPC, FALSE);


oTarget = GetObjectByTag("1");

DelayCommand(0.2, SetIsTemporaryEnemy(oPC, oTarget));

DelayCommand(0.2, ActionAttack(oPC));

oTarget = GetObjectByTag("2");

DelayCommand(0.2, SetIsTemporaryEnemy(oPC, oTarget));

DelayCommand(0.2, AssignCommand(oTarget, ActionAttack(oPC)));

oTarget = GetObjectByTag("3");

DelayCommand(0.2, SetIsTemporaryEnemy(oPC, oTarget));

DelayCommand(0.2, AssignCommand(oTarget, ActionAttack(oPC)));

}


Откладываю команды чуть-чуть, чтобы сначала выйти из фильма. Получается черт знает что, точнее, и того не выходит. Между прочим, пытался менять местами в TemporaryEnemy oPC и oTarget. Не помогает.

Или вот еще. Когда начинается разговор в том же режиме, то ставлю на первую реплику игрока следующее, чтобы к нему повернулись:

NSS
void main()
{

object oPC = GetPCSpeaker();

AssignCommand(GetObjectByTag("1"), SetFacingPoint(GetPosition(oPC)));

DelayCommand(0.5, AssignCommand(GetObjectByTag("2"), SetFacingPoint(GetPosition(oPC))));
DelayCommand(0.5, AssignCommand(GetObjectByTag("2"), ActionPlayAnimation(ANIMATION_FIREFORGET_SPASM)));

DelayCommand(1.2, AssignCommand(GetObjectByTag("3"), SetFacingPoint(GetPosition(oPC))));
DelayCommand(1.6, AssignCommand(GetObjectByTag("3"), ActionPlayAnimation(ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD)));

}


Не работает. И еще какая-то странность. Тот скрипт выше, с которым полагается начинать драку, все же позволяет мне выйти из разговора и режима фильма. Правда, никто не нападает. Зато если потом обычным порядком напасть на тех NPC, то есть выбрать меч в меню, то все тут же переходит в режим фильма и драка уже разыгрывается как в театре - без интерфейса, без урона (раз все стали Plot) и без конца. Кто-нибудь может это объяснить?

Сообщение отредактировал Chimeric - May 9 2006, 11:47
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 9 2006, 12:35
Сообщение #2201


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

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



скрипты атаки и поворота работают без режима катсцены, в старом варианте?

\\ переношу в скрипты

QUOTE(Chimeric @ May 9 2006, 12:47) [snapback]81184[/snapback]
Ситуация: у всех NPC в OnConversation стоит
NSS
оbject oPC = GetFirstPC();
SetCutsceneMode(oPC, TRUE);
ActionStartConversation(oPC, "", FALSE, TRUE);


Лучше не так.. Я же приводил скрипт для onConversation
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение May 9 2006, 16:38
Сообщение #2202


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

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



В твоем скрипте есть какой-то RespondToShout, который Аврора не признает.

Скрипты не работают и без катсцены. Только что теги проверял, думал, может, не те. Они. В точности тот же тег у существа, что и в скрипте, но SetFacingPoint - кукиш. Бой тоже не начинается.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение May 9 2006, 19:24
Сообщение #2203


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

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



QUOTE(Chimeric @ May 9 2006, 17:38) [snapback]81196[/snapback]
Скрипты не работают и без катсцены

значит дело не в ней (IMG:style_emoticons/kolobok_light/yes3.gif) .
QUOTE(Chimeric @ May 9 2006, 17:38) [snapback]81196[/snapback]
В твоем скрипте есть какой-то RespondToShout, который Аврора не признает.

это как это не признает???? RespondToShout описана в библе nw_i0_generic, она там в скрипте подключена сверху
NSS
#include "nw_i0_generic"


ща посмотрим, что там не так в скриптах

QUOTE(Chimeric @ May 9 2006, 12:47) [snapback]81184[/snapback]
Или вот еще. Когда начинается разговор в том же режиме, то ставлю на первую реплику игрока следующее, чтобы к нему повернулись:

это точно работает. Проверь:
- правильные ли тэги
- нет ли в модуле других объектов с такими же тэгами
- лучше (если возможно) юзай GetNearestObjectByTag чтобы брать не просто по тэгу, а еще и ближайших

QUOTE(Chimeric @ May 9 2006, 12:47) [snapback]81184[/snapback]
После чего они начинают свой разговор в режиме катсцены. Штука, однако, в том, что при таком режиме не работает то, что вроде бы должно. Например, нужно сделать так, чтобы трое неписей напали на нас и окончился режим катсцены. Ставил вот что на последнюю реплику

и это тоже работает. смотри что написано выше по поводу другого скрипта. + мб там с фракциями/но-ПвП чтонить, хотя врядли.

QUOTE(Lex @ May 9 2006, 18:04) [snapback]81197[/snapback]
- нет ли в модуле других объектов с такими же тэгами

это можно легко проверить вот таким образом:

NSS
void CheckTag(string sTag)
{
int i = 0;
object oObject = GetObjectByTag(sTag,i);
object oPC = GetFirstPC();
SendMessageToPC(oPC,"CHECK TAG: '"+sTag+"'. List of Objects:");
while (GetIsObjectValid(oObject))
    {
    SendMessageToPC(oPC,GetName(oObject)+" in area "+GetName(GetArea(oObject)));
    i++;
    oObject = GetObjectByTag(sTag,i);
    }
}

void main()
{
CheckTag("1");
CheckTag("2");
CheckTag("3");
}


запусти такой скрипт где-нить, или вставь в свой и посмотри в логах, где что есть повторное.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение May 9 2006, 20:46
Сообщение #2204


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

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



А! Черт! Ну конечно! Так, все, вроде понял. Завтра поменяю кое что и сообщу...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Don_Beavis
сообщение May 9 2006, 21:39
Сообщение #2205


Level 1


Класс: Клерик
Характер: Neutral Evil
Раса: Дварф



Aiwan, за ползунок спасибо, но меня больше интересует другая часть моего вопроса, а именно как сделать, что бы суммоны не жрали опыт и между патей он делился в меньшем процентном соотношении. Если это скрипт, напиши его пожалуйста. (IMG:style_emoticons/kolobok_light/smile.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение May 9 2006, 21:56
Сообщение #2206


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

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



NSS
// Так даем обычному кричу ХР и РС тоже
GiveXPToCreature(GetPCSpeaker(), 150)

// Так дает партии ХР
#include "nw_i0_tool"
void main()
{
    RewardPartyXP(150, GetPCSpeaker());
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DarkDeivel
сообщение May 11 2006, 09:49
Сообщение #2207


Level 3
*

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



Народ в Скриптах особо не шарю. Вот помогите мне я подхожу к НПС и надо так сделать что когда он отвечает "Да хочу" НПС наколдовал на игрока защиту и всякое такое + лечение. Напишите плиз скрипт он должен быть в диалоге. В завершении. (IMG:style_emoticons/kolobok_light/rolleyes.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение May 11 2006, 12:03
Сообщение #2208


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

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



NPC востaнавливает все хит-поинты игрока + увеличивает класс брони на 5.

Нужное время да и сам эффект, можешь поменять (IMG:style_emoticons/kolobok_light/smile.gif)

NSS
//На ActionTakens в диалоге
void main()
{
object oPC = GetPCSpeaker();
object oNPC = OBJECT_SELF;

  AssignCommand(oPC, ClearAllActions());
  AssignCommand(oNPC, ClearAllActions());

  AssignCommand(oPC, ActionPauseConversation());
  DelayCommand(1.0, AssignCommand(oNPC,    ActionPlayAnimation(ANIMATION_LOOPING_CONJURE2,1.0f, 5.0f)));
  DelayCommand(6.8, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_HEALING_X ),oPC));
  DelayCommand(6.8, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectACIncrease(5), oPC, 1000.0f));
  DelayCommand(6.9, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectHeal(GetMaxHitPoints(oPC)), oPC));
  DelayCommand(7.1, AssignCommand(oPC, ActionResumeConversation());
}


PS: скрипт писал без тулсета, посему не исключены ошибки. (IMG:style_emoticons/kolobok_light/pleasantry.gif)

Сообщение отредактировал Dik Morris - May 11 2006, 12:40
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nuprahtor
сообщение May 11 2006, 12:42
Сообщение #2209


Level 3
*

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



Вот у меня есть такой лилаковский скрипт:

NSS
/*  Script generated by
Lilac Soul's NWN Script Generator, v. 2.2

For download info, please visit:
http://nwvault.ign.com/View.php?view=Other...&id=4683&id=625    */


//Put this script OnEnter
void main()
{

object oPC = GetEnteringObject();

if (!GetIsPC(oPC)) return;

object oTarget;
location lTarget;
oTarget = GetWaypointByTag("WP_FromStart");

lTarget = GetLocation(oTarget);

//only do the jump if the location is valid.
//though not flawless, we just check if it is in a valid area.
//the script will stop if the location isn't valid - meaning that
//nothing put after the teleport will fire either.
//the current location won't be stored, either

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

SetLocalLocation(oPC, "ls_stored_loc", GetLocation(oPC));

AssignCommand(oPC, ClearAllActions());

AssignCommand(oPC, ActionJumpToLocation(lTarget));

FloatingTextStringOnCreature("Ловушка!Начни сначала.", oPC);

}

Ставлю его на триггер.При наступлении на него игроком, скрипт переносит PC в вейпоинт WP_FromStart.
Как можно сделать, чтобы триггер перемещал игрока в вейпоинт, так которого равен тегу ключа вейпоинта?
Помогите пожалуйста.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение May 11 2006, 12:49
Сообщение #2210


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

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



QUOTE
Как можно сделать, чтобы триггер перемещал игрока в вейпоинт, так которого равен тегу ключа вейпоинта?


Тэг ключа вайпоинта... ?

Если честно я ничего не понял. (IMG:style_emoticons/kolobok_light/pleasantry.gif)

Сообщение отредактировал Dik Morris - May 11 2006, 12:52
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nuprahtor
сообщение May 11 2006, 12:54
Сообщение #2211


Level 3
*

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



Ну в русской версии.
Свойства триггера-улучшенный-авто удаление ключа, а ниже - тег ключа.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
mamuc
сообщение May 11 2006, 12:57
Сообщение #2212


Лорд AxisTown'a
Иконки Групп

Класс: Монах
Характер: Lawful Good
Раса: Дварф
NWN: Маппинг



QUOTE
Как можно сделать, чтобы триггер перемещал игрока в вейпоинт, так которого равен тегу ключа вейпоинта?

хмм написан вопрос весьма туманно и замудренно...
но никакой особый скрипт для этого не нужен
просто в закладке Area Transition тригера через Setup Area Transition укажи куды пригать и все (IMG:style_emoticons/kolobok_light/biggrin.gif)
п.с. не рекомндуеться юзать русифицированый тулсет..особенно с некоторыми "перлами" "точного дословного" перевода (IMG:style_emoticons/kolobok_light/biggrin.gif)

Сообщение отредактировал mamuc - May 11 2006, 13:00
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nuprahtor
сообщение May 11 2006, 13:07
Сообщение #2213


Level 3
*

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



QUOTE
хмм написан вопрос весьма туманно и замудренно...
но никакой особый скрипт для этого не нужен
просто в закладке Area Transition тригера через Setup Area Transition укажи куды пригать и все biggrin.gif
п.с. не рекомндуеться юзать русифицированый тулсет..особенно с некоторыми "перлами" "точного дословного" перевода biggrin.gif

1.Этот скрипт писала бездушная машина\программа.
2. Идет себе герой по подземелью.Смотрит, на полу лежит меч+3!Ничего себе, халявный меч!Подходит к мечу, а потом рраз, и телепортировался к гаргульям...
Скрипт срабатывает не тогда, когда игрок по нему кликает, а когда наступает(PC этот триггер не видит).
Я не такой чайник, чтобы не знать, как использовать триггер Area Transitition.

Сообщение отредактировал Nuprahtor - May 11 2006, 13:13
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение May 11 2006, 13:12
Сообщение #2214


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

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



QUOTE
Свойства триггера-улучшенный-авто удаление ключа, а ниже - тег ключа.


Это ключ не вайпоинта, а триггера. (IMG:style_emoticons/kolobok_light/smile.gif) )

Т.е как я понял тебе нужен скрипт, чтобы при наступании игрока на триггер,он прыгал на объект с тагом, указанным в поле KeyTag того же триггера.

NSS
//onEnter, триггера.
void main
{
object oPC = GetEnteringObject();
string sTag = GetLockKeyTag(OBJECT_SELF);

if (GetIsPC(oPC))
  {
    AssignCommand(oPC, ClearAllActions());
    DelayCommand(0.2, AssignCommand(oPC,                                        ActionJumpToLocation(GetLocation(GetObjectByTag(sTag)))));
    DestroyObject(OBJECT_SELF, 0.6);
// Скрипт сработает всего 1 раз, т.к триггер мы удалим. Если это не нужно, строчку можно потереть.
  }
}


Сообщение отредактировал Dik Morris - May 11 2006, 15:14
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
mamuc
сообщение May 11 2006, 13:15
Сообщение #2215


Лорд AxisTown'a
Иконки Групп

Класс: Монах
Характер: Lawful Good
Раса: Дварф
NWN: Маппинг



QUOTE
Я не такой чайник, чтобы не знать, как использовать триггер Area Transitition

тогда в чем проблема? (IMG:style_emoticons/kolobok_light/biggrin.gif)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 87 88 89 90 91 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



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