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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 26 27 28 29 30 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
Archangel
сообщение Feb 12 2005, 20:02
Сообщение #676


Восставший из пепла
***

Класс: Бледный Мастер
Характер: Neutral Evil
Раса: Человек
ПОДМАСТЕРЬЕ



Нi всем!
Lex сказал, что с вопросами по сриптам надо сюда(насколько я его понял).
:this:

А ВОТ И ВОПРОС:

Че-то не могу понять че от меня Тулсет хочет..... :xz:
Вот этот скриптик, который не получается:
(Не компилится в строке, где написано "if (GetClickingObject("Door_dragons_1"))")



Neverwinter Script Source
void main()
{
object oDoor = GetObjectByTag("Door_dragons_1");//Дверь
object oGuard = GetObjectByTag("Guard_dragons_1");//Охранник
object oPC = GetEnteringObject();//Игрок
if (!GetIsPC(oPC))//Проверка: Игрок енто или НеПиСь
    return;
if (GetClickingObject("Door_dragons_1"))//Если Игорок кликнул на дверке, то  появляется......
  {
    DelayCommand(2.0, AssignCommand(oGuard, SpeakString("What are you doing? Get out small thief!")));//ВОТ ЕНТО
   }
else//А, если ж нет,то......
     {
       DelayCommand(1.0, AssignCommand(oGuard, ClearAllActions()));//ПОЧИСТИМ ВСЕ ДЕЙСТВИЯ У ОХРАННИКА
       }
     }


ПОДСКАЖИТЕ ПЖААААААЛУЙСТА ЧЕ ТУТ НЕ ТАК! :drag:

Сообщение отредактировал Archangel - Feb 12 2005, 20:04
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Feb 12 2005, 20:16
Сообщение #677


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

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



QUOTE (Archangel @ Feb 12 2005, 20:02)
Lex сказал, что с вопросами по сриптам надо сюда(насколько я его понял).

правильно понял


Neverwinter Script Source
if (GetClickingObject("Door_dragons_1"))

смысл строки такой: если объект, который кликает на дверь..... и все. Условие то где?

И вообще скрипт какой-то странный.... на чем он стоит? Похоже на входе в локу или на триггер... Тогда GetClickingObject тебе ничего не выдаст...

Что ты вообще от скрипта хочешь то?





Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Archangel
сообщение Feb 12 2005, 20:50
Сообщение #678


Восставший из пепла
***

Класс: Бледный Мастер
Характер: Neutral Evil
Раса: Человек
ПОДМАСТЕРЬЕ



Ок LEX. Ща все объясню: :this:

QUOTE
смысл строки такой: если объект, который кликает на дверь..... и все. Условие то где?


Я имел ввиду вот, что: Игрок кликает на дверь, и если дверь заперта, то охранник говорит: " What are you doing? Get out small thief! "

QUOTE
И вообще скрипт какой-то странный.... на чем он стоит? Похоже на входе в локу или на триггер... Тогда GetClickingObject тебе ничего не выдаст...


Скрипт стоит на обычной двери.

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Feb 12 2005, 21:00
Сообщение #679


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

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



на двери...хех..там больше 10 слотов. Но раз тебе надо
QUOTE (Archangel @ Feb 12 2005, 20:50)
Я имел ввиду вот, что: Игрок кликает на дверь, и если дверь заперта, то охранник говорит: " What are you doing? Get out small thief! "

то все просто

Neverwinter Script Source
void main()
{
object oPC = GetLastUsedBy();
if (!GetIsPC(oPC)) return;
object oGuard = GetNearestObjectByTag("Guard_dragons_1");
AssignCommand(oGuard,SpeakString("What are you doing? Get out small thief!"));
}


скрипт ставится на слот onFailToOpen (может не так называется, но смысл тот.)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 13 2005, 02:04
Сообщение #680


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

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



Народ мне нужна помощь...
(Опять Эти скрипты меня в угол загнали)..
Так вот, Бошка не как не доходит как сделать так.
Стоит НеПиСь и Точка маршрута и напиример Пк поговорил с НПК Вдруг рас скрипт срабатывает
и НПК Читает заклинание (Всмысле колдует со звуком) например Лучь мороза и Это заклинание поражает Точку маршрута.
//
И еще вопросик как мне соединить в скрипте на локации 4 заклинания Луч Мороза
Например 4 Точки маршрута и из 1 точки бьёт луч во 2 и т.д
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Shad
сообщение Feb 13 2005, 05:12
Сообщение #681


Level 3
*

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



То есть разговор с NPC инициирует цепь этих лучей?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Shad
сообщение Feb 13 2005, 08:49
Сообщение #682


Level 3
*

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



Часть 1. Непись колдует: наверно не сработает
Neverwinter Script Source
ActionCastSpellAtObject(SPELL_RAY_OF_FROST,
GetWaypointByTag("sWPTag"), METAMAGIC_ANY, 1);

(не примет вейпойнт как объект) или
Neverwinter Script Source
ActionCastSpellAtLocation(SPELL_RAY_OF_FROST,
GetLocation(GetWaypointByTag(sWPTag+"1")), METAMAGIC_ANY, 1);

(не каждый спелл можно прокастовать на локацию, SPELL_RAY_OF_FROST я думаю нельзя), то должно сработать что-то вроде
Neverwinter Script Source
ActionCastFakeSpellAtLocation(SPELL_RAY_OF_FROST,
GetLocation(GetWaypointByTag("sWPTag")));//Непись машет пальцами и бормочет, повернувшись в нужном направлении
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,
EffectBeam(VFX_BEAM_COLD, OBJECT_SELF, BODY_NODE_HAND),
GetLocation(GetWaypointByTag("sWPTag")), 3.0);//Собственно виз. эффект

Часть 2. От вейпойнта к вейпойнту:
Neverwinter Script Source
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,
EffectBeam(VFX_BEAM_COLD, GetWaypointByTag("sWPTag"), BODY_NODE_HAND),
GetLocation(GetWaypointByTag("sWPTag1")), 3.0);

В последнем может надо поэкспериментировать с BODY_NODE_, какие там части тела у вейпойнта...

Сообщение отредактировал Shad - Feb 13 2005, 08:55
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Archangel
сообщение Feb 13 2005, 17:46
Сообщение #683


Восставший из пепла
***

Класс: Бледный Мастер
Характер: Neutral Evil
Раса: Человек
ПОДМАСТЕРЬЕ



Хэллоу всем! :D
У мня тута вопрос по скрипту:


Neverwinter Script Source
void main()
{
object oGuard = GetObjectByTag("Guard_dragons_1");//Охрана
object oPC = GetLastUsedBy();//Игрок
if (!GetIsPC(oPC)) return;//Проверка-игрок енто или НеПиСь
object oDoor = GetObjectByTag("Door_dragons_1");//Дверь
int iDoorLocked = GetLocked(oDoor);//Переменная двери
if (iDoorLocked == TRUE)//Разветвление
{
AssignCommand(oGuard, ActionAttack(oPC));//Стражник атакует Игрока
AssignCommand(oGuard,SpeakString("I kill you small thief!"));//Стражник скажет это
SetLocked(oDoor, FALSE);//Ну я думаю енто понятно
}
else
{
AssignCommand(oGuard,SpeakString("What are you doing? Get out small thief!"));//Стражник скажет это
SetLocked(oDoor, TRUE);//Ну я думаю енто понятно
}
}


Вообще-то он должен работать так:
Есть Игрок, он пытается открыть дверь(точнее взломать-сначало дверь закрыта).
Если у него енто получается, то рядом стоящий охранник говорит:"I kill you small thief!",а
затем атакует Игрока.
Если ж у Игрока не получается тпереть дверь, то тогда охранник просто говорит:
"What are you doing? Get out small thief!".
Но дело в том, что все с точки зрения Тулсета в порядке(т.е все компилится).
Я ни че не могу понять где че неправильно.

ОТКЛИКНИТЕСЬ КТО МОЖЕТ! :drag:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Feb 13 2005, 18:06
Сообщение #684


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



QUOTE (Archangel @ Feb 13 2005, 17:46)
if (iDoorLocked == TRUE)//Разветвление

если дверь закрыта, то стражник нападает, но по сюжету твоему, он должен нападать только после попытки открыть....Так где же эта попытка?
Надо так
Neverwinter Script Source
if (GetLocked(oDoor)==FALSE)//или GetLastUnlocked()==oDoor
{
AssignCommand(oGuard, ActionAttack(oPC));//Стражник атакует Игрока
AssignCommand(oGuard,SpeakString("I kill you small thief!"));//Стражник скажет это

}
else if (GetLocked(oDoor)==FALSE && (тут надо проверку на то, что PC кликнул дверь))
{
AssignCommand(oGuard,SpeakString("What are you doing? Get out small thief!"));//Стражник скажет это
}
}


Сообщение отредактировал MasterMage - Feb 13 2005, 18:07
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Feb 13 2005, 18:18
Сообщение #685


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

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



QUOTE (Archangel @ Feb 13 2005, 17:46)
Есть Игрок, он пытается открыть дверь(точнее взломать-сначало дверь закрыта). Если у него енто получается, то рядом стоящий охранник говорит:"I kill you small thief!"

слот onUnLock
Neverwinter Script Source
void main()
{
object oGuard = GetNearestObjectByTag("Guard_dragons_1");
object oPC = GetLastUsedBy();
if (!GetIsPC(oPC)) return;
AssignCommand(oGuard,ClearAllActions());
AssignCommand(oGuard,ActionAttack(oPC));
AssignCommand(oGuard,SpeakString("I kill you small thief!"));
}

В случае, если РС успешно взломал дверь, то стражник нападает. Как тебе вроде и надо.

QUOTE (Archangel @ Feb 13 2005, 17:46)
Если ж у Игрока не получается тпереть дверь, то тогда охранник просто говорит: "What are you doing? Get out small thief!".

это нельзя сделать именно так. Можно что игрок пытается открыть дверь, но не может.
слот onFailToOpen
Neverwinter Script Source
void main()
{
object oPC = GetLastUsedBy();
if (!GetIsPC(oPC)) return;
object oGuard = GetNearestObjectByTag("Guard_dragons_1");
AssignCommand(oGuard,SpeakString("What are you doing? Get out small thief!"));
}

этот скрипт я тебе уже писал выше.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Guest_Maniac_*
сообщение Feb 13 2005, 18:46
Сообщение #686








Всем привет, я новенький на этом форуме.Так что если чё не так, то не обижайтесь.
Не подскажет ли мне кто нибудь,как сделать так, чтобы только ночью стражники
ходили с факелами, а днём нет. :yes:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Feb 13 2005, 18:55
Сообщение #687


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

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



добавка в скрипт на слоте onHeartBeat стражника:
Neverwinter Script Source
void GetItem(string sTag, object oCreature )
{
  object oItem = GetFirstItemInInventory(oCreature);
  while (GetTag(oItem)!=sTag)
  {
  oItem = GetNextItemInInventory(oCreature);
  if (!GetIsObjectValid(oItem)) return OBJECT_INVALID;
  }
return oItem;
}
/// тут стандартный скрипт ХБ
if (GetIsDay())&&(GetLocalInt(OBJECT_SELF,"TORCH"))
{
  ClearAllActions();
  ActionUnequipItem(GetItemInSlot(INVENTORY_SLOT_LEFTHAND,OBJECT_SELF);
  SetLocalInt(OBJECT_SELF,"TORCH",FALSE);
}
if (GetIsNight())&&(!GetLocalInt(OBJECT_SELF,"TORCH"))
{
  ClearAllActions();
  ActionEquipItem(GetItem("ITM_TORCH",OBJECT_SELF),INVENTORY_SLOT_LEFTHAND);
  SetLocalInt(OBJECT_SELF,"TORCH",TRUE);
}


что-то типа этого...тулсета под рукой нет
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Archangel
сообщение Feb 13 2005, 20:13
Сообщение #688


Восставший из пепла
***

Класс: Бледный Мастер
Характер: Neutral Evil
Раса: Человек
ПОДМАСТЕРЬЕ



Maniac, необижайся, но ты новенький, так, что лучше те в тему "Вопросы новичков" заглянуть. Ничего личного, просто совет...... :yahoo: :yahoo: :yahoo: :yahoo:

Сообщение отредактировал Archangel - Feb 13 2005, 20:15
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Friedrich
сообщение Feb 13 2005, 20:23
Сообщение #689


Level 5
**

Класс: Рейнджер
Характер: Neutral Good
Раса: Человек



QUOTE
И еще вопросик как мне соединить в скрипте на локации 4 заклинания Луч Мороза
Например 4 Точки маршрута и из 1 точки бьёт луч во 2 и т.д

На вейпоинты, по-моему, вообще ничего накладывать нельзя. На не статичные невидимые плейсаблы - можно.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Archangel
сообщение Feb 13 2005, 21:26
Сообщение #690


Восставший из пепла
***

Класс: Бледный Мастер
Характер: Neutral Evil
Раса: Человек
ПОДМАСТЕРЬЕ



Lex! У мня че-то не получается! Я сделал все как ты сказал, а охраннику хоть бы хны!
Это я че-то недопираю или может ты где-то ошибся? :xz:
Скорее всего Я че-то не так делаю.....

ПОДСКАЖИ ПЖАААЛУЙСТА...
:swoon: :swoon: :swoon:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Feb 13 2005, 21:30
Сообщение #691


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

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



а что именно не сработало? Он не напал, он не говорит? Ситуацию описывай подробнее
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Archangel
сообщение Feb 13 2005, 22:28
Сообщение #692


Восставший из пепла
***

Класс: Бледный Мастер
Характер: Neutral Evil
Раса: Человек
ПОДМАСТЕРЬЕ



Если точно, то он и не говорит и не нападает..........
:vava: :vava: :vava:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Feb 13 2005, 22:33
Сообщение #693


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

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



Хм, странно. Дома попробую сделать
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 14 2005, 03:48
Сообщение #694


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

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



QUOTE
На вейпоинты, по-моему, вообще ничего накладывать нельзя. На не статичные невидимые плейсаблы - можно.


Можно в аддоне Ундердарк есть где калдовали на веапон, а ты незнаеш как невобект поставить?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Feb 14 2005, 11:59
Сообщение #695


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



Nokoll ЧТО???? ничего не понятно!!! :this:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Archangel
сообщение Feb 14 2005, 11:59
Сообщение #696


Восставший из пепла
***

Класс: Бледный Мастер
Характер: Neutral Evil
Раса: Человек
ПОДМАСТЕРЬЕ



Угу Lex. Попытайся пЖалуйста! :good:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 14 2005, 12:41
Сообщение #697


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

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



QUOTE
Nokoll ЧТО???? ничего не понятно!!!


Я говорил что в Аддоне Underdarc был скрипт где кастовали каклинание на Точку Маршрута.
И спосил еще как соеденить например 4 лединых луча например 1 бёт во 2, и т.д с помощю невидемого обекта. :D
<small>Добавлено в 12:57</small>
Это вапрос Дарк Принца:

Самым злобным образом приветствую всех многоуважаемых участников форума. :DB:
Возник небольшой вопрос по скриптам - мне в определенный момент времени нужно "потрясти экран" - эффект землетрясения. Каким образом можно это реализовать? Чесно говоря неохота перерывать Lexicon и родные NWN-новские скрипты. Может подскажет кто?

Сообщение отредактировал Nokoll - Feb 14 2005, 13:13
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Feb 14 2005, 13:24
Сообщение #698


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



QUOTE (Nokoll @ Feb 14 2005, 12:41)
Самым злобным образом приветствую всех многоуважаемых участников форума. 
Возник небольшой вопрос по скриптам - мне в определенный момент времени нужно "потрясти экран" - эффект землетрясения. Каким образом можно это реализовать? Чесно говоря неохота перерывать Lexicon и родные NWN-новские скрипты. Может подскажет кто?

знаю, вопрос не твой, так вот ответ
Neverwinter Script Source
effect eEf=EffectVisualEffect(не помню, но вместо этой строки ставь константу,что-то связанное со "screen");
object oWp=GetWaypointByTag("Тэг твоей точки");//а можно GetObjectByTag("Тэг"); - если ты на объект ставишь//
ApplyEffectAtLocation(DURATION_TUPE_TEMPORARY,eEf,GetLocation(oWp),2.5);

ставишь на триггер или дверь, куда нужно в общем...
Тут я точно не помню(так как тула нет при себе) что сотоит раньше eEf, или loc(GetLocation(oWp).
<small>Добавлено в 13:27</small>
DBColl
дело в том, что эта функция находит эффект только в данном скрипте, а если еффект уже наложен, а снять хочешь другим, то ОН НЕ РАБОТАЕТ!! =)
Вот в чем дело.... Думается, он просто не может работать, будучи разорванным...
Remove удаляет только в одном скрипте.... :vava:

<small>Добавлено в 13:32</small>
Neverwinter Script Source
//::///////////////////////////////////////////////
//:: Created By: MasterMage ©
//:: Created On: 30.01.05
//::///////////////////////////////////////////////
void main()
{
    object oPC=GetPCItemLastUnequippedBy();
    object oRing=GetPCItemLastUnequipped();
    object oNPC=GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_NOT_PC,oPC,1,
                                  CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_NOT_PC,
                                  CREATURE_TYPE_PLAYER_CHAR,PLAYER_CHAR_NOT_PC);

    if (GetTag(oRing)=="Ring")
    {
    effect eEf = GetFirstEffect(oPC);
    while (GetIsEffectValid(eEf))
{
  if (GetEffectType(eEf) == EFFECT_TYPE_IMPROVEDINVISIBILITY)
        RemoveEffect(oPC, eEf);
  eEf = GetNextEffect(oPC);
}   
}
    return;
}


Сообщение отредактировал MasterMage - Feb 14 2005, 13:32
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Nokoll
сообщение Feb 14 2005, 13:33
Сообщение #699


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

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



С Позволения МастераМагии Подправлю.. :D
Поставъ Так effect eEf=EffectVisualEffect(VFX_FNF_SCREEN_SHAKE);
Или VFX_FNF_SCREEN_BUMP
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Grazzt, Dark Pri...
сообщение Feb 14 2005, 14:00
Сообщение #700


Level 5
**

Класс: Маг
Характер: Chaotic Evil
Раса: Танар'ри



Спасибки. Приду домой - опробую фичу. :D Крайне полезный эффект. :DB:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

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

 



Текстовая версия Сейчас: 30th April 2025 - 17:09