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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 61 62 63 64 65 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
-fenix-
сообщение Oct 4 2005, 16:37
Сообщение #1551


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

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



Chimeric, убери галку "статик" !

QUOTE (Chimeric @ Oct 4 2005, 15:02)
Во-вторых (самокритика продолжается) не знаю, как заставить камеру увеличить масштаб. То есть не в роликах, а просто по появлении персонажа в зоне. Пусть дальше игрок увеличивает и уменьшает, как хочет, но в начале - крупный план. Идея в том, чтобы он, каждый раз появляясь в одном и том же месте, постоянно натыкался на увеличенный вид статуи в двух шагах. В двух-то в двух, а увеличение какое было до перемещения между зонами, такое и остаётся. Как поправить?


Например так
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();

AssignCommand(oPC, SetCameraFacing(30.0, 1.0, 40.0, CAMERA_TRANSITION_TYPE_SNAP));
}


Сообщение отредактировал -fenix- - Oct 4 2005, 18:13
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Oct 5 2005, 04:56
Сообщение #1552


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

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



Спасибо громадное, Алиса и Феникс. Только куда вставить эти скрипты? Дело с приближением камеры в том, что нужно, чтобы происходило это только в некоторых случаях. То есть у меня имеется в зоне две точки, откуда персонаж прибывает из других зон. Напротив одной точки - статуя, и в этом месте мне хотелось бы увеличенного масштаба. Но другая точка прибытия - напротив массивной галереи, и тут уж, наоборот, желательно удаление камеры для пущего великолепия. Как мне это оформить?

Скажите уж, куда и скрипт для брони ставить. :( В триггер на OnEnter? Или...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
AliceDiren
сообщение Oct 5 2005, 07:15
Сообщение #1553


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



Скрипт для брони поставь в модульных свойствах на OnAcquireItem.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Oct 5 2005, 12:10
Сообщение #1554


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

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



Понятно. Только мне, в принципе, нужно такое проделать с тремя объектами. Там меч, шлем и броня в трёх лучах света. Это как будет?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
AliceDiren
сообщение Oct 5 2005, 12:54
Сообщение #1555


Level 7
**

Класс: Маг
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [Sn]



Neverwinter Script Source
void main()
{
object oItem = GetModuleItemAcquired();
string sItemTag = GetTag(oItem);
object oSpam = OBJECT_INVALID;

if(sItemTag == "Таг брони")//Подняли броню
  {
  oSpam = GetObjectByTag("AShaft");//Луч, в котором лежит броня
  DestroyObject(oSpam);
  }
if(sItemTag == "Таг меча")//Подняли меч
  {
  oSpam = GetObjectByTag("BShaft");//Луч, в котором лежит меч
  DestroyObject(oSpam);
  }
if(sItemTag == "Таг шлема")//Подняли шлем
  {
  oSpam = GetObjectByTag("SShaft");//Луч, в котором лежит шлем
  DestroyObject(oSpam);
  }
}


А лучше сделать подругому. Три скрипта, соответственно называющиеся scr_*, где * - это таг предмета.
Neverwinter Script Source
//Это для брони, для шлема и меча меняешь таг уничтожаемого объекта
void main
{
DestroyObject(GetObjectByTag("AShaft"));
}

И такой код:
Neverwinter Script Source
void main()
{
object oItem = GetModuleItemAcquired();
string sItemTag = GetTag(oItem);
object oSpam = OBJECT_INVALID;

ExecuteScript("scr_" + sItemTag, OBJECT_SELF);
}

Добавлено в [mergetime]1128506730[/mergetime]
Да, вот еще, я тоже делала подобное и добавляла перед тем как уничтожить объект, такой код:
Neverwinter Script Source
object oDstrObject = GetObjectByTag("AShaft");
ApplyEffectAtLocation(0, EffectVisualEffect(74), GetLocation(oDstrObject));
DelayCommand(1.0, ApplyEffectAtLocation(0, EffectVisualEffect(286), GetLocation(oDstrObject)));
DelayCommand(2.0, DestroyObject(GetObjectByTag("AShaft")));

Насчет Id эффектов я могу ошибаться, но имхо в объект должна ударить молния, экран хорошенько встряхнет и он (объект) исчезнет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Oct 5 2005, 20:53
Сообщение #1556


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

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



Не работает первый вариант почему-то. Вот примерный модуль, погляди: http://gweleif.narod.ru/Example.mod

Не обращай внимание там на другие скрипты и т.п.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Oct 5 2005, 21:28
Сообщение #1557


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

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



Chimeric, я говорил
QUOTE (-fenix- @ Oct 4 2005, 17:37)
Chimeric, убери галку "статик" !

имеются ввиду лучи света
тогда все заработает :V:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Oct 7 2005, 06:13
Сообщение #1558


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

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



Голосом Матроскина: урра, заработало!

Спасибо обоим. Но как же всё-таки сделать так, чтобы только по прибытии в конкретную точку камера переводилась в крупный план? А по прибытии в другую точку, наоборот, отходила назад?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Oct 8 2005, 07:44
Сообщение #1559


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

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



Тисну-ка я это отдельной темой. А пока вот еще два неработающих скрипта:

CODE
void main()
{

object oPC = GetLastPerceived();

if (!GetIsPC(oPC)) return;

if (!GetLastPerceptionSeen()) return;
ActionSpeakString("Áåäíûé Ìàðêî! ×òî îíè ñ íèì ñäåëàëè!");

ActionWait(10.0f);

ActionSpeakString("À ìû òàê õîðîøî æèëè. Íî ÿ è Ïîëèêðàò íåìíîãî çàðàáàòûâàëè. Íå÷åãî óäèâëÿòüñÿ, ÷òî îí ñîáëàçíèëñÿ äåíüãàìè.");

ActionWait(10.0f);

ActionSpeakString("Â ýòîì ìèðå ïîäëîñòè íåò ïðåäåëà.");

ActionWait(10.0f);

ActionSpeakString("Êîãäà îí áûë ìàëåíüêèì, òî âñåãäà ïîìîãàë ìíå ïî äîìó. Âñåãäà.");

ActionWait(10.0f);

ActionSpeakString("Êàê-òî îí óïîìÿíóë, ÷òî ïîçíàêîìèëñÿ ñ î÷åíü âàæíûì ÷åëîâåêîì, à ÿ, èäèîòêà, íå îáðàòèëà âíèìàíèÿ.");

ActionWait(10.0f);

ActionSpeakString("Õëîÿ ïðîñòî íå äàâàëà åìó ïðîõîäà.");


:D Это должно запускать на OnPerception. Человечек пишет над головой фразу, ждет время, пишет еще фразу и так далее. Второй:

CODE
void main()
{

object oPC = GetEnteringObject();

if (!GetIsPC(oPC)) return;

int DoOnce = GetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF));

if (DoOnce==TRUE) return;

SetLocalInt(OBJECT_SELF, GetTag(OBJECT_SELF), TRUE);

RewardPartyGP(200, oPC, FALSE);

object oTarget;
oTarget = GetObjectByTag("globe1");

//Visual effects can't be applied to waypoints, so if it is a WP
//apply to the WP's location instead

int nInt;
nInt = GetObjectType(oTarget);

if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_DISPEL_GREATER), oTarget);
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_DISPEL_GREATER), GetLocation(oTarget));

DestroyObject(oTarget, 3.0);

FloatingTextStringOnCreature("200 çîëîòûõ", oPC);

}


Этот должен при наступлении на триггер "globe1" уничтожить предмет "globe1" со спецэффектом Greater Dispelling, высветить "200 золотых" у игрока над головой и дать ему столько же.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 8 2005, 09:53
Сообщение #1560


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

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



QUOTE (Chimeric @ Oct 8 2005, 10:44)
Это должно запускать на OnPerception. Человечек пишет над головой фразу, ждет время, пишет еще фразу и так далее.

Любое действо может сбить акции. И он не скажет ничего кроме первых фраз.
Neverwinter Script Source
oTarget = GetObjectByTag("globe1");

Если в модуле есть еще хоть один предмет с таким тагом, то не сработает.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Вишес
сообщение Oct 8 2005, 16:32
Сообщение #1561


Level 13
****

Класс: Ниндзя
Характер: Chaotic Evil
Раса: Танар'ри



не могу сделать скрипт, прекращающий драку и начинающий диалог.
мой вариант.
Neverwinter Script Source
void main()
{
if (GetCurrentHitPoints(OBJECT_SELF)< 4)
{
object oPC = GetAttackTarget(OBJECT_SELF);
AssignCommand(OBJECT_SELF, ActionSpeakString("Ñòîé!"));
AssignCommand(oPC, ClearAllActions(TRUE));
AssignCommand(OBJECT_SELF, ClearAllActions(TRUE));
ChangeToStandardFaction(OBJECT_SELF,STANDARD_FACTION_DEFENDER);
AssignCommand(OBJECT_SELF,ActionStartConversation (oPC));
}
}

бой останавливается, начинается диалог, но непись почему-то остается враждебным
Я знаю, это где-то уже было. Но не могу найти. скажите, что не так или дайте ссылку, пожвлуйста.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
NedWarN
сообщение Oct 8 2005, 17:50
Сообщение #1562


Level 5
**

Класс: Маг
Характер: Lawful Good
Раса: Тварь



2Вишес
Дело в том что движок, НВНа не позваляет, говорить с НеПиСем, примо после боя. нужно переждать 3-5 секунды.
тогда непись сможет говорить.попробуй мой скриптик я его не тестил. поставь на ОнДифер Непися.
Neverwinter Script Source
void main()
{
object oPC = GetLastAttacker();
object oNPC = OBJECT_SELF;
int iNPC = GetUserDefinedEventNumber();
if(iNPC == 1006)
{
int iMaxHP = GetMaxHitPoints();
int iCurrHP = GetCurrentHitPoints();
if (GetLocalInt(OBJECT_SELF,"ZDES") == 0)
if((iCurrHP * 3) <= iMaxHP && GetLocalInt(OBJECT_SELF,"Surrender") == 0)
{
AdjustReputation(OBJECT_SELF,oPC, 100);
AdjustReputation(oPC,OBJECT_SELF, 100);
SurrenderToEnemies();
AssignCommand(GetLastAttacker(), ClearAllActions());
SetLocalInt(OBJECT_SELF,"Surrender",1)   ;
SpeakOneLinerConversation();
DelayCommand(0.0,AssignCommand(oNPC, SpeakString("Ìîß íå õîòåòü äðàòñß")));
ActionWait(2.0);
AssignCommand(oNPC, ActionStartConversation(oPC, "Òàã Äèàëîãà"));
SetLocalInt(OBJECT_SELF,"ZDES",1);
}
}
}


Сообщение отредактировал NedWarN - Oct 8 2005, 17:51
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Oct 8 2005, 20:04
Сообщение #1563


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

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



QUOTE (Aiwan @ Oct 8 2005, 09:53)
Любое действо может сбить акции. И он не скажет ничего кроме первых фраз.

Ну там никакое действо невозможно. Разве что персонаж нападет на NPC, но я его сделал неуязвимым. А так - диалога нет, анимаций тоже, стоит дядя и бормочет... Так как все-таки оформить, чтобы заработало? Или дело в тарабарщине, в которую превращаются русские шрифты в редакторе скриптов? UNKNOWN STATE IN COMPILER. Но что делать? В Опциях нет варианта для русского языка. Шрифты-то у меня стоят, разговоры по-русски и описания предметов читаемы, а вот со скриптами не знаю.

Под "предметом" ты имеешь в виду любую вещь? У меня у самого триггера такой же tag, globe1. Поменять? Или это разные категории?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 8 2005, 20:31
Сообщение #1564


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

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



QUOTE (Chimeric @ Oct 8 2005, 23:04)
Под "предметом" ты имеешь в виду любую вещь? У меня у самого триггера такой же tag, globe1. Поменять? Или это разные категории?

Меняй.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Oct 9 2005, 00:04
Сообщение #1565


Level 11
***

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



Всем здрасте.
Я здесь новичок, и модули начел создавать недавно, и у меня ничего не получалось. Времени нет листать 63 страницы, так что не сердитесь если мои вопросы будут похоже на те что уже были заданы. :good:
1. Как составить скрипт, что бы человек сидел на троне.
2. Камера... до меня не может дойти как сделать мультфильм, расскажите пожалуйсто.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lemegeton
сообщение Oct 9 2005, 01:18
Сообщение #1566


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

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



QUOTE (Белатрис @ Oct 9 2005, 00:04)
1. Как составить скрипт, что бы человек сидел на троне.

Используй ф-цию
CODE
ActionSit(object oChair)

Например:
CODE
ActionMoveToObject(oChair);
SpeakString("Here's my seat!");
ActionSit(oChair);

Чел сядет на стул, заданый объектом oChair.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Вишес
сообщение Oct 9 2005, 01:32
Сообщение #1567


Level 13
****

Класс: Ниндзя
Характер: Chaotic Evil
Раса: Танар'ри



NedWarN
зачем так сложно?
а вообще спасибо.
я впаял в середину своего скрипта
SurrenderToEnemies();

и еще немного изменил - и все заработало.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение Oct 9 2005, 04:17
Сообщение #1568


Level 11
***

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



Lemegeton, спасибо.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Oct 9 2005, 07:07
Сообщение #1569


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

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



Ладно, скрипт с globe1 заработал. А как же все-таки заставить NPC бормотать линии с интервалами секунд по 10? Желательно закольцевать это дело, чтобы по кругу гундели. Тут вот еще что:

CODE
void main()
{

object oPC = GetEnteringObject();

if (!GetIsPC(oPC)) return;

if (GetLocalInt(oPC, "marco")>= 6)
  {
  if (GetLocalInt(oPC, "statuestatus")== 0)
     {

     oTarget = GetObjectByTag("statue");

//Visual effects can't be applied to waypoints, so if it is a WP
//apply to the WP's location instead

     nInt = GetObjectType(oTarget);

     if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), oTarget);
     else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), GetLocation(oTarget));

     DestroyObject(oTarget, 3.0);

     oTarget = GetWaypointByTag("statuetag");

     lTarget = GetLocation(oTarget);

     oSpawn = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_statue2", lTarget);

     SetLocalInt(oPC, "statuestatus", 1);

     }
  }
else
  {
  SetLocalInt(oPC, "statuestatus", 1);

  }

}


Идея в том, чтобы при входе в зону проверялись две переменные, statue и marco, и если одна из них 0, а другая 6, то удалялся бы placeable, экран сотрясался и на его месте являлся другой объект, а переменная statue делалась бы 1 (чтобы не гонять скрипт снова и снова).

Пишет VARIABLE DEFINED WITHOUT TYPE на 20-й линии. Ошибка-то простая, но, видно, логика не моя стезя, никак не соображу, что добавить. Ненавижу скрипты. Я пока полез на позорный столб, а вы помогите, а? Гнилые помидоры вон в том ящике. :rolleyes:

Сообщение отредактировал Chimeric - Oct 9 2005, 07:21
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lemegeton
сообщение Oct 9 2005, 07:37
Сообщение #1570


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

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



Neverwinter Script Source
//Visual effects can't be applied to waypoints, so if it is a WP
//apply to the WP's location instead

     // nInt = GetObjectType(oTarget);
     int nInt = GetObjectType(oTarget); // <---- проблема тут.  Обязательно указывать тип переменной.

     if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), oTarget);


Хы... И так везде... Попробуй так:
Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return;

if (GetLocalInt(oPC, "marco")>= 6) {
  if (GetLocalInt(oPC, "statuestatus")== 0) {
     object oTarget = GetObjectByTag("statue");
     int nInt = GetObjectType(oTarget);
     ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), GetLocation(oTarget));  // Это наверняка на локацию.
     DestroyObject(oTarget, 3.0);
     oTarget = GetWaypointByTag("statuetag");
     location lTarget = GetLocation(oTarget);
     object oSpawn = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_statue2", lTarget);
     SetLocalInt(oPC, "statuestatus", 1);
   }
} else {
  SetLocalInt(oPC, "statuestatus", 1); // Это-то зачем? Получается, если не попадает в первое условие, предыдущие операторы никогда больше не сработают?
}

Уточни задачу. Решение явно не оптимальное. Если у тебя там уже есть оъект, ни к чему делать WayPoint...

Сообщение отредактировал Lemegeton - Oct 9 2005, 07:54
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Chimeric
сообщение Oct 9 2005, 10:01
Сообщение #1571


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

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



Вообще-то верно, statuestatus лишний. Про локацию верно, только там уже статуя торчит. Скрипт должен ее заменить на другую. Я воткнул Waypoint поверх нее. Как это все будет выглядеть иначе? %) Я понимаю, кончно, что уж кучу вопросов про скрипты вывалил, но тороплюсь успеть к конкурсному сроку...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
NedWarN
сообщение Oct 9 2005, 15:34
Сообщение #1572


Level 5
**

Класс: Маг
Характер: Lawful Good
Раса: Тварь



Челы, скриптёры, помогите. Я в шоке, написал скриптик а он не пашет, кто разяснит в чём проблема.
наОнХарб предметика.
Neverwinter Script Source
void main()
{
if(GetIsDay() && GetIsDawn() == TRUE)
{
PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE);
if(GetIsNight() && GetIsDusk() == TRUE)
{
object oSelf =GetObjectByTag("YYY_OIO_POIUN_1");
PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
effect eLight = EffectVisualEffect(VFX_DUR_LIGHT_YELLOW_10);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLight, oSelf);
}
}
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Oct 9 2005, 17:09
Сообщение #1573


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

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



QUOTE (NedWarN @ Oct 9 2005, 16:34)
елы, скриптёры, помогите. Я в шоке, написал скриптик а он не пашет, кто разяснит в чём проблема. наОнХарб предметика.


Neverwinter Script Source
void main()
{
//Тут нужен не "&&" - как такое можеь быть? Нужно использовать "||" !!
if(GetIsDay() && GetIsDawn() == TRUE)
{// тут *
PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE);


//Тут нужен не "&&" - как такое можеь быть? Нужно использовать "||" !!
if(GetIsNight() && GetIsDusk() == TRUE)
{
object oSelf =GetObjectByTag("YYY_OIO_POIUN_1");
PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
effect eLight = EffectVisualEffect(VFX_DUR_LIGHT_YELLOW_10);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLight, oSelf);
}
}// и тут *
}

*-Получается, что ночь и вечер будет проверяться, только если сейчас утро или день!

Надо так

Neverwinter Script Source
void main()
{

if(GetIsDay() || GetIsDawn())
{
    PlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE);
}

if(GetIsNight() || GetIsDusk())
{
    object oSelf =GetObjectByTag("YYY_OIO_POIUN_1");

    PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
    effect eLight = EffectVisualEffect(VFX_DUR_LIGHT_YELLOW_10);

    ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLight, oSelf);
}
}


Если это работа с освещением, то нужно еще использовать функции
Neverwinter Script Source
SetPlaceableIllumination (OBJECT_SELF, FALSE);
RecomputeStaticLighting (GetArea(OBJECT_SELF));


Сообщение отредактировал -fenix- - Oct 9 2005, 17:17
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Oct 9 2005, 19:39
Сообщение #1574


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

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



QUOTE (Белатрис @ Oct 9 2005, 03:04)
Времени нет листать 63 страницы, так что не сердитесь если мои вопросы будут похоже на те что уже были заданы.

Тут есть ПОИСК.
QUOTE (Белатрис @ Oct 9 2005, 07:17)
Lemegeton, спасибо.

А за такой "содержательный" пост, тут можно получить пред. :D Это тебе на будущее...
А вообще, тут рады новичкам. Но они должны соблюдать правила.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
2_advanced
сообщение Oct 9 2005, 20:33
Сообщение #1575


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

Класс: Вор
Характер: True Neutral
Раса: Эльф
NWN: Скриптинг [PW]



кто-нибудь знает как реализовать невидимость кричи без потери визуальных эффектов? :D
т.е. луч идет до кричи =) и она должна бегать по локации.. вместе с лучём :swoon:
VFX_DUR_CUTSCENE_INVISIBILITY, хайд, 0-й вид частей тела не катит :vava:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 61 62 63 64 65 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 20th April 2024 - 00:58