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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 24 25 26 27 28 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Leon PRO
сообщение Jan 27 2005, 11:15
Сообщение #611


Ушедший на войну
Иконки Групп

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



вопрос номер 1 переделал...
по вопросу номер два:
т.е. возможно к.л. макаром всетаки указать в runscript аргумент для скрипта ?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lemegeton
сообщение Jan 27 2005, 12:04
Сообщение #612


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

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



QUOTE
...т.е. возможно к.л. макаром всетаки указать в runscript аргумент для скрипта ?

Нет. Ты С или С++ знаешь? Хоть чуть-чуть? Там есть возможность группировать часто используемые универсальные ф-ции для вызова из других частей программы или из других программ. Это называется include файлом. В NWNScript тоже есть такая кракозябра. Т.е. создается файл - что-то вроде:

Neverwinter Script Source
//Имя файла my_functions.inc
void KillHim(object Who);

void KillHim(object Who)
{
DestroyObject(Who, 1);
return;
}


В скрипте, где надо использовать:
Neverwinter Script Source
#include "my_functions"  //ДО ф-ции main, БЕЗ указания расширения.

void main()
{
...
object BadNPC = GetObjectByTag("BadPC");
KillHim(BadNPC);   // Вызывается ф-ция, описанная в другом файле с указанием параметров.
}


ОБЯЗАТЕЛЬНО пересобрать модуль. Данный пример от-балды, вряд ли заработает, но идея такова.


<small>Добавлено в 12:15</small>
Вопрос номер один.

а. В свойствах предмета поставить: Заклинание -> Только собственное питание (это позволяет тыкать палкой :D ).

б. Надо (или не надо, еще не разобрался :D ) переписать OnActivateItem в свойствах модуля на такой:

Neverwinter Script Source
void main()
{
    object oItem = GetItemActivated();
    string tgItem = GetTag(oItem);
    object oTarget = GetItemActivatedTarget();
    ExecuteScript(tgItem, oTarget);
}


Это позволит запустить скрипт с именем тэга используемого предмета.!

в. Создать скрипт с именем тэга палки:

Neverwinter Script Source
void main()
{
int nVisEffect;
effect eCusEffect;
object oPC = OBJECT_SELF; // !!!!!!! - Это будет тот, на кого палкой ткнули - !!!!!!!

nVisEffect =  511; //просто номер эффекта - не обращайте внимания!!!

eCusEffect = EffectVisualEffect(nVisEffect);
eCusEffect = SupernaturalEffect(eCusEffect);

ApplyEffectToObject(DURATION_TYPE_PERMANENT, eCusEffect, oPC);
}


Сообщение отредактировал Lemegeton - Jan 27 2005, 12:17
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Jan 27 2005, 13:02
Сообщение #613


Ушедший на войну
Иконки Групп

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



Хех, пасибо, за вопрос №2, хоть ты сам точно не знаешь, но хоть ткнул меня где копать.
А по вопросу №1 ты по-моему не понял, я в курсе про инклуды.

Я говорю о такой ситуации распишу по шагам:
1. Зашел ДМ-ом на шард.
2. написал в консоли runscript имя_скрипта - работает само-собой.
3. поддерживаются-ли такие скрипты, где можно написать, вызвав иго из консоли runscript имя_скрипта(параметр) ?

По поводу скрипта:
QUOTE
object oPC = OBJECT_SELF; // !!!!!!! - Это будет тот, на кого палкой ткнули - !!!!!!!

А разве OBJECT_SELF не на того, кто палкой тыкал сработает ?

Сообщение отредактировал Leon PRO - Jan 27 2005, 13:03
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lemegeton
сообщение Jan 27 2005, 13:11
Сообщение #614


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

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



Не, извиняй. Я не в курсе про ДМ скрипты. :xz:

QUOTE
... разве OBJECT_SELF не на того, кто палкой тыкал сработает ?


Neverwinter Script Source
void main()
{
    object oItem = GetItemActivated();
    string tgItem = GetTag(oItem);
    object oTarget = GetItemActivatedTarget();  // <----
    ExecuteScript(tgItem, oTarget);
}


Ф-ция ExecuteScript в качестве второго параметра получает объект, от лица которого запускается скрипт. Т.е. в запущеном скрипте этот объект будет как раз OBJECT_SELF.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Jan 27 2005, 13:17
Сообщение #615


Ушедший на войну
Иконки Групп

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



Ок, я дома попробую, завтра еще напишу, спасибо огромное!
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
mamuc
сообщение Jan 27 2005, 14:06
Сообщение #616


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

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



Leon PRO "умный в гору не пойдет,умный гору обойдет" - если ты хочешь передать параметр в скрипт вызванный с ExecuteScript, например :
ExecuteScript(tgItem, oPC ); , то повесь нужное значение на oPC локалкой какой нить..а в скрипте ты эту локалку(значение) сможешь считать и использовать, а потом эту локалку изничтожить, чтоб место зря не занимала...( это один из приемов серии"голь на выдумку хитра" :D )

Сообщение отредактировал mamuc - Jan 27 2005, 14:06
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Leon PRO
сообщение Jan 27 2005, 15:07
Сообщение #617


Ушедший на войну
Иконки Групп

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



mamuc Да вот пока на этом и остановился =\ но думаю как-бы попроще.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Jan 27 2005, 17:55
Сообщение #618


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Как сделать так чтобы мешки с лутом исчезали через указанное время, например 250 секунд?
Есть плэйс мешка на открытия которого стоит срипт генерации лута, с этим понятно, есть скрипт на смерть моба при испольнении скрипта создается заданый мешок, пробовал такой вариант :
Neverwinter Script Source
void main()
{
string sTemplate = "low_plc_loot";
string sTag = GetTag(OBJECT_SELF);
location lLoc = GetLocation(OBJECT_SELF);

CreateObject(OBJECT_TYPE_PLACEABLE, sTemplate, lLoc, TRUE, sTag);

DestroyObject(OBJECT_SELF, 250.0);
}

Но мешок не дестроится, подскажите вариант лучше, три часа на это убил а результата не добился :xz:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lemegeton
сообщение Jan 27 2005, 18:50
Сообщение #619


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

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



Был такой вопрос... Решился "Чистильщиком". Т.е. НПЦ, который через некоторое время убирает все "левое" шмотье на карте. Где-то на форуме даже скрипты есть.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
mamuc
сообщение Jan 27 2005, 18:50
Сообщение #620


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

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



ммм ..выше уже писалось - нельзя уничтожить обьект если его инвентарь не пуст..сначало надо весь инвентарь вычистить..

Сообщение отредактировал mamuc - Jan 27 2005, 18:51
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 27 2005, 18:57
Сообщение #621


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

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



ну так чистильщик так и работает. :)

А вообще в ХОТУ стандартная система выпадения вещей разве не кактит? Я в ней не копался, но вроде там можно указать время, через которое дестроится лут.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Тобур
сообщение Jan 27 2005, 19:27
Сообщение #622


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

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



QUOTE (Лито @ Jan 27 2005, 17:55)
Как сделать так чтобы мешки с лутом исчезали через указанное время, например 250 секунд?
Есть плэйс мешка на открытия которого стоит срипт генерации лута, с этим понятно, есть скрипт на смерть моба при испольнении скрипта создается заданый мешок, пробовал такой вариант :
Neverwinter Script Source
void main()
{
string sTemplate = "low_plc_loot";
string sTag = GetTag(OBJECT_SELF);
location lLoc = GetLocation(OBJECT_SELF);

CreateObject(OBJECT_TYPE_PLACEABLE, sTemplate, lLoc, TRUE, sTag);

DestroyObject(OBJECT_SELF, 250.0);
}

Но мешок не дестроится, подскажите вариант лучше, три часа на это убил а результата не добился :xz:

Не уверен, но, по-моему объект не уничтожается потому, что назначаешь команду уничтожения исполнить объекту, который сам будет уничтожен (умерший моб должен уничтожить мешок).
К тому же у тебя просто ошибка в скрипте: DestroyObject(OBJECT_SELF, 250.0); должна уничтожить моба (если скрипт запускает моб).
Попробуй в скрипте вместо
DestroyObject(OBJECT_SELF, 250.0);
такую конструкцию:
object oBag = CreateObject(OBJECT_TYPE_PLACEABLE, sTemplate, lLoc, TRUE, sTag);
AssignCommand(GetModule(), DestroyObject(oBag , 250.0));
т.е. чтобы какой то другой объект уничтожал (в данном случае модуль)

Сообщение отредактировал Тобур - Jan 27 2005, 19:31
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 27 2005, 19:33
Сообщение #623


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

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



Объект может сам себя уничтожать, так что все ок со скриптом, надо только содержимое почистить перед этим.
так:
Neverwinter Script Source
object oItem = GetFirstItemInInventory(OBJECT_SELF);
while (GetIsObjectValid(oItem))
  {
  DestroyObject(oItem);
  oItem = GetNextItemInInventory(OBJECT_SELF);
  }

посему лучше такой вариант:

Neverwinter Script Source
void Clear(object oBag = OBJECT_SELF)
{
object oItem = GetFirstItemInInventory(Bag);
while (GetIsObjectValid(oItem))
  {
  DestroyObject(oItem);
  oItem = GetNextItemInInventory(Bag);
  }
DestroyObject(oBag,1.0);
}
void main()
{
string sTemplate = "low_plc_loot";
string sTag = GetTag(OBJECT_SELF);
location lLoc = GetLocation(OBJECT_SELF);

CreateObject(OBJECT_TYPE_PLACEABLE, sTemplate, lLoc, TRUE, sTag);

DelayCommand(250.0,Clear(OBJECT_SELF));
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lemegeton
сообщение Jan 27 2005, 19:42
Сообщение #624


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

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



Кстати, получает ли такая система ограничение на количество лута? Есть ведь ограничение на количество команд (Actions) в стэке. Кроме того, таймер (ХартБит) "халявит" в тех картах на которых нет игрока. Там все будет ОК?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 27 2005, 19:51
Сообщение #625


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

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



??
- Никаких ограничений на кол-во вещей в луте.
- с ХБ эта система никак не связанна.
- ХБ не халявит нигде. Он во всех локах работает.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Jan 27 2005, 20:04
Сообщение #626


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Спасибо за помощь, сейчас буду пробовать :good:
Кстати не хотите ли завести второй том скриптов?Как сделали с вопросами новичков, 27 страниц как то многовато :xz:

Не помогло... После смерти моба из него вываливается мешок, лут генерится нормально, но мешки не исчезают...
этот скрипт стоит на OnDeath моба, может я его не туда впихнул?:)
Neverwinter Script Source
void Clear(object oBag = OBJECT_SELF)
{
object oItem = GetFirstItemInInventory(oBag);
while (GetIsObjectValid(oItem))
  {
  DestroyObject(oItem);
  oItem = GetNextItemInInventory(oBag);
  }
DestroyObject(oBag,1.0);
}
void main()
{
string sTemplate = "low_plc_loot";
string sTag = GetTag(OBJECT_SELF);
location lLoc = GetLocation(OBJECT_SELF);

CreateObject(OBJECT_TYPE_PLACEABLE, sTemplate, lLoc, TRUE, sTag);

DelayCommand(10.0,Clear(OBJECT_SELF));
}

поставил 10 секунд чтобы побыстрее проверить

Сообщение отредактировал Лито - Jan 27 2005, 20:14
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lemegeton
сообщение Jan 27 2005, 20:15
Сообщение #627


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

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



С ХБ напрямую не связана. Но есть ведь буффер для подобных команд с задеркой. Он может и переполниться?! Или нет?

ХБ халявит еще как! Он раз в 7-10 секунд происходит на локации, где нет других игроков. По крайней мере, не в серверной версии...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 27 2005, 20:57
Сообщение #628


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

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



ХБ сам по себе происходит раз в 6 секунд. Я не проверял, что там в локах, где нет игрока, но по идее так же должно быть.

Дома проверю.

то Лито, сорри, я ступил...
так надо:

Neverwinter Script Source
void Clear(object oBag = OBJECT_SELF)
{
object oItem = GetFirstItemInInventory(oBag);
while (GetIsObjectValid(oItem))
  {
  DestroyObject(oItem);
  oItem = GetNextItemInInventory(oBag);
  }
DestroyObject(oBag,1.0);
}
void main()
{
string sTemplate = "low_plc_loot";
string sTag = GetTag(OBJECT_SELF);
location lLoc = GetLocation(OBJECT_SELF);

object oloot = CreateObject(OBJECT_TYPE_PLACEABLE, sTemplate, lLoc, TRUE, sTag);

AssignCommand(oloot,DelayCommand(10.0,Clear(oloot)));
}


почему было неправильно то, что раньше щас объясню..

OBJECT_SELF в скрипте смерти НПС это сам НПС а не мешок лута, так что
DestroyObject(OBJECT_SELF,1.0) и тд это удаление НПС.
а нам то нужен лут, поэтому вводим object oloot и привязываем к нему (а не к НПС) команду с задержкой на 10 секунд.

Кстати, а сам НПС у тебя исчезает, или как?

Пожалуй щас сделаем второй том. А из этой темы надо будет в базу скриптов перенести потом готовые коды.



Том II находится тут
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Jan 27 2005, 21:02
Сообщение #629


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

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



Том I находится тут
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Jan 27 2005, 21:31
Сообщение #630


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Lex к унитожению лута
Все дестроится в точно указанное время, и спасибо за то что разъяснил в чем была ошибка, для меня важно разобратся в чем проблема:)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Jan 28 2005, 23:41
Сообщение #631


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

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



Нарот все кто в состоянии мне помочь помогите у меня огромный зов о помощи.
я написал скрипт всё компилится вот только действия все сразу делаются а мне надо пости пенно кашмар
мне очень трудно обяснить поэтому поставте мой скрипт на синюю строчку ПК в диалоге и разу все уаидете
Помогите очень прошу. :swoon:

вот мой проклятый скрипт

Neverwinter Script Source
//Scrip straha napadenie!!
#include "x2_inc_cutscene"
void main()
{
////////////////////////////////////////////////////////////////////////////////
//////////////:LICHNO MOI SCRIPT SPECALNO NAPISEN DLA NICITA:///////////////////
////////////////////////////////////////////////////////////////////////////////
        object oSauron = GetObjectByTag("Sauron");
        object oGimli = GetObjectByTag("Gimli");
        object oPC = GetPCSpeaker();
        object oSau = GetWaypointByTag("Go_Sauron");
        object oRc1 = GetObjectByTag("ORC_1");
        object oRc2 = GetObjectByTag("ORC_2");
        object oRc3 = GetObjectByTag("ORC_3");
        object oRc4 = GetObjectByTag("ORC_4");
        object oRc5 = GetObjectByTag("ORC_5");
        object oRc6 = GetObjectByTag("ORC_6");
        object oRc7 = GetObjectByTag("ORC_7");
        object oRc8 = GetObjectByTag("ORC_8");
        object oRc9 = GetObjectByTag("ORC_9");
        object oRc10 = GetObjectByTag("ORC_10");
//Tochki Morshruta==============================================================
        object oWp1 = GetWaypointByTag("Go1");
        object oWp2 = GetWaypointByTag("Go2");
        object oWp3 = GetWaypointByTag("Go3");
        object oWp4 = GetWaypointByTag("Go4");
        object oWp5 = GetWaypointByTag("Go5");
        object oWp6 = GetWaypointByTag("Go6");
        object oWp7 = GetWaypointByTag("Go7");
        object oWp8 = GetWaypointByTag("Go8");
        object oWp9 = GetWaypointByTag("Go9");
        object oWp10 = GetWaypointByTag("Go10");
//----------------------O Candelabr---------------------------------------------
        object oHak = GetObjectByTag("Hakel1");
        object oHak2 = GetObjectByTag("Hakrl2");
        object oHak3 = GetObjectByTag("Hakrl3");
        object oHak4 = GetObjectByTag("Hakrl4");
//----------------------O Camera Tochki-----------------------------------------
        object oCamera = GetWaypointByTag("Camera1");
        object oCamera2 = GetWaypointByTag("Camera2");
        object oCamera3 = GetWaypointByTag("Camera3");
//==============================================================================
//==========================+Nicita the Lord of tne Ring+=======================
//##############################=VISUAL EFFECT=#################################
        effect eVis1 = EffectVisualEffect(VFX_IMP_MAGIC_RESISTANCE_USE);
        effect eVis2 = EffectVisualEffect(VFX_IMP_DEATH);
        effect eVis3 = EffectVisualEffect(VFX_IMP_CHARM);
        effect eVis4 = EffectVisualEffect(VFX_DUR_PIXIEDUST);
        effect eVis5 = EffectVisualEffect(VFX_DUR_MAGICAL_SIGHT);
        effect eVis6 = EffectVisualEffect(VFX_DUR_LIGHT_YELLOW_20);
        effect eCutInv = EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY);
        effect eDed = EffectDeath();
//===========================SAMAA SLOZNNOA CHAST SCRIPTA=======================
        SetLocalInt(oPC, "CUT_SCEN_02", TRUE);
        SetLocalLocation(oPC,"START_POINT", GetLocation(oPC));
        AssignCommand(oGimli, ActionPauseConversation());
        AssignCommand(oGimli, ClearAllActions());
        AssignCommand(oSauron, ActionJumpToObject(oSau));
        FadeToBlack(oPC, FADE_SPEED_FASTEST);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eCutInv, oPC, 41.0);
////////////////////////////////////////////////////////////////////////////////
////////////////////////////CAMERA MOTOR POEXALI////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
        SetCutsceneMode(oPC);
        SetAILevel(oSau, AI_LEVEL_HIGH);
        DelayCommand(1.0, AssignCommand(oPC, JumpToObject(oCamera)));
        DelayCommand(1.5, AssignCommand(oPC, SetCameraFacing(10.0, 12.0, 40.0,
        CAMERA_TRANSITION_TYPE_SNAP)));
        DelayCommand(2.0, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));
        DelayCommand(3.5, AssignCommand(oPC, SetCameraFacing(10.0, 20.0, 40.0,
        CAMERA_TRANSITION_TYPE_SLOW)));
        ActionWait(5.5);
        DelayCommand(4.0, AssignCommand(oSauron, SpeakString("VAM CANEC!!")));
        DelayCommand(5.5, AssignCommand(oSauron, SpeakString("Nu Chtoz (ORCI)!!!")));
////////////////////////////////////////////////////////////////////////////////
//////////////////////:ORCI POBEHALI SUDA SLUSAAS SAURONA!://///////////////////
//============================================================================//
        DelayCommand(6.0, AssignCommand(oRc1, ActionForceMoveToObject(oWp1, TRUE, 1.0, 7.0)));
        DelayCommand(6.5, AssignCommand(oRc2, ActionForceMoveToObject(oWp2, TRUE, 1.0, 7.0)));
        DelayCommand(7.0, AssignCommand(oRc3, ActionForceMoveToObject(oWp3, TRUE, 1.0, 7.0)));
        DelayCommand(7.5, AssignCommand(oRc4, ActionForceMoveToObject(oWp4, TRUE, 1.0, 7.0)));
        DelayCommand(8.0, AssignCommand(oRc5, ActionForceMoveToObject(oWp5, TRUE, 1.0, 7.0)));
        DelayCommand(8.5, AssignCommand(oRc6, ActionForceMoveToObject(oWp6, TRUE, 1.0, 7.0)));
        DelayCommand(9.0, AssignCommand(oRc7, ActionForceMoveToObject(oWp7, TRUE, 1.0, 7.0)));
        DelayCommand(9.5, AssignCommand(oRc8, ActionForceMoveToObject(oWp8, TRUE, 1.0, 7.0)));
        DelayCommand(10.0, AssignCommand(oRc9, ActionForceMoveToObject(oWp9, TRUE, 1.0, 7.0)));
        DelayCommand(10.5, AssignCommand(oRc10, ActionForceMoveToObject(oWp10, TRUE, 1.0, 7.0)));
        ActionWait(5.5);
//===========================CAMERA ZANOVES=====================================
        DelayCommand(11.0, AssignCommand(oPC, ClearAllActions()));
        DelayCommand(11.5, FadeToBlack(oPC, FADE_SPEED_FASTEST));
        DelayCommand(12.0, AssignCommand(oPC, JumpToObject(oCamera2)));
        DelayCommand(13.6, AssignCommand(oPC, SetCameraFacing(130.0, 10.0, 40.0,
        CAMERA_TRANSITION_TYPE_SNAP)));
        ActionWait(5.5);
        DelayCommand(14.5, FadeFromBlack(oPC, FADE_SPEED_MEDIUM));
        DelayCommand(15.0, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVis1, oSauron, 6.0));
        DelayCommand(15.5, AssignCommand(oSauron, SpeakString("BLA CHTO ETO BALO?")));
        DelayCommand(16.0, AssignCommand(oSauron, SpeakString("O SAURON POMOGI MNE!!!")));
        DelayCommand(16.5, AssignCommand(oSauron, ActionPlayAnimation(ANIMATION_LOOPING_WORSHIP, 0.9, 3.0)));
        DelayCommand(17.0, AssignCommand(oPC, SetCameraFacing(130.0, 10.0, 40.0,
        CAMERA_TRANSITION_TYPE_SNAP)));
        ActionWait(5.5);
//ACtive Hakel
        DelayCommand(17.5, AssignCommand(oHak, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE, 0.9, 5.0)));
        DelayCommand(18.0, AssignCommand(oHak2, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE, 0.9, 5.0)));
        DelayCommand(18.5, AssignCommand(oHak3, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE, 0.9, 5.0)));
        DelayCommand(19.0, AssignCommand(oHak4, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE, 0.9, 5.0)));
//-----------------------------------------------------------------------------------
        DelayCommand(20.0, AssignCommand(oSauron, SpeakString("SMERT TEBE")));
        ActionWait(5.5);
//-----------------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////
////////////////////OTDELNOI SCRIPT PO POAVLENIU SMERTI/////////////////////////
////////////////////////////////////////////////////////////////////////////////
        effect eVis = EffectVisualEffect(VFX_DUR_GHOSTLY_VISAGE);
        location lLoc = GetLocation(GetNearestObjectByTag("WP_Morag"));
        object oMorag = CreateObject(OBJECT_TYPE_CREATURE,"Morag",lLoc,TRUE);
        ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_LOS_EVIL_20),lLoc);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis,oMorag);
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
        DelayCommand(20.5, AssignCommand(oSauron, SpeakString("XA XA XA!!")));
//------------------------------------------------------------------------------
        effect eMor = EffectVisualEffect(VFX_DUR_FLIES);
        effect eMor2 = EffectVisualEffect(VFX_DUR_ANTI_LIGHT_10);
        location lLoc3 = GetLocation(GetNearestObjectByTag("Gop"));
        location lLoc4 = GetLocation(GetNearestObjectByTag("Gop"));
        object oHabas = CreateObject(OBJECT_TYPE_CREATURE,"Habas",lLoc3,TRUE);
        object oHabas2 = CreateObject(OBJECT_TYPE_CREATURE,"Habas",lLoc4,TRUE);
        ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_LOS_EVIL_20),lLoc3);
        ApplyEffectAtLocation(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_FNF_LOS_EVIL_20),lLoc4);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVis,oHabas);
//------------------------------------------------------------------------------
        DelayCommand(21.0, AssignCommand(oSauron, SpeakString("You Kill him!!")));
        DelayCommand(22.5, AssignCommand(oRc1, SpeakString("Ecc Gospadin")));
        DelayCommand(23.0, AssignCommand(oRc1, ActionForceMoveToObject(oGimli, TRUE, 1.0, 7.0)));
        DelayCommand(25.0, AssignCommand(oPC, ClearAllActions()));
        ActionWait(5.5);
        DelayCommand(25.6, AssignCommand(oPC, SetCameraFacing(130.0, 10.0, 40.0,
        CAMERA_TRANSITION_TYPE_SLOW)));
        ActionWait(5.5);
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVis3, oGimli, 90.5);
        DelayCommand(90.9, AssignCommand(oGimli, SpeakString("A A A A A")));
        ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eDed, oGimli, 90.5);
        DelayCommand(90.10, AssignCommand(oPC, SpeakString("you dead")));
        DelayCommand(10.0, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL, 0.9, 5.0)));
        DelayCommand(90.6, AssignCommand(oSauron, SpeakString("A Xa xa xa")));
        DelayCommand(27.0, AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_TALK_LAUGHING, 0.9, 5.0)));



}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Jan 29 2005, 17:29
Сообщение #632


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

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



Вот обяснение моего скрипта для Lex. :D

Скрипт мой состоит вот так.

Говариш со старухой она ваще нейтральна от всего так просто для диалога
На строке ПК стоит мой скрипт
И дело пошло, затемнение камеры и вдруг раз и все функции DelayCammand срабатывают не в порядке очереди в указанное время а сразу, далее прибегают орки
На заранее написанные и поставленные точки это делается ровно без прерываний
Зажигаются факелы здесь проблема , факелы должны зажыгатся поочередно функцией

Neverwinter Script Source
DelayCommand(17.5, AssignCommand(oHak, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE, 0.9, 5.0)));
        DelayCommand(18.0, AssignCommand(oHak2, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE, 0.9, 5.0)));
        DelayCommand(18.5, AssignCommand(oHak3, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE, 0.9, 5.0)));
        DelayCommand(19.0, AssignCommand(oHak4, ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE, 0.9, 5.0)));

А они зажигаются все сразу, причем зажечься они должны пока сароман стоит на коленях

DelayCommand(16.0, AssignCommand(oSauron, SpeakString("O SAURON POMOGI MNE!!!")));
        DelayCommand(16.5, AssignCommand(oSauron, ActionPlayAnimation(ANIMATION_LOOPING_WORSHIP, 0.9, 3.0)));

Далее идут действия появляются 2 главных орка функция указона в моём скрипте.
Скрипт мой Кампилится но делается все сразу это такой ужас все выглядит ужасно поговоришь камера тока пошла сразу появляется 2 орка и тому подобное, короче скрипт работает как будто его основные функции поставлены не DelayCommand а AssignCommand. Заранее извеняюсь дабы писал на форуме в без Тоолсета поэтому могут быть ошибки но всё было так на скока я помню.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Jan 30 2005, 14:14
Сообщение #633


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Кто знает как выполнена краска на шардах?(итем которым игроки могут красить броню и шлемы)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lemegeton
сообщение Jan 30 2005, 15:11
Сообщение #634


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

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



:hi: Отвечу.
( - Не мог в "одиночном вопросе" ответить да?! Морочишь людям голову :angry:
- Извентиляюсь, не знал, что будет время :xz: )

Если надо что-то сложное нафигачить - смотри ф-цию:
Neverwinter Script Source
object IPDyeArmor(
    object oItem,
    int nColorType,
    action nColor
);


Параметры:
oItem - Бронька на покраску.
nColorType - константа из ITEM_APPR_ARMOR_COLOR_* (тип покраски)
nColor - собственно цвет (от нуля до 63-х)

Внимание:
Объект oItem просто дестроится, а ф-ция возвращает новый "покрашенный" предмет. oItem уничтожится даже в том случае, когда ф-ция будет применена не к броне!!! А нового не вернет!!! Надо делать проверки.

А вообще, есть способ гораздо проще. Смотри в св-вах предмета "Наложить Заклинание" -> Dye_что-то_там :D

З.Ы. Кстати, почему именно на шардах? Что ты имеешь ввиду? Не скрытые цвета случайно?

Сообщение отредактировал Lemegeton - Jan 30 2005, 15:24
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Jan 30 2005, 16:49
Сообщение #635


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Neverwinter Script Source
З.Ы. Кстати, почему именно на шардах? Что ты имеешь ввиду? Не скрытые цвета случайно?

Именно :yes:

Кстати за этот ответ все равно спасибо, этот я не знал ;)

И еще на счет Dye_ там нельзя выбрать цвет в который будешь красить вещь.

Сообщение отредактировал Лито - Jan 30 2005, 16:53
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 24 25 26 27 28 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 12th May 2025 - 18:52