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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 76 77 78 79 80 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Агрессинг
сообщение Aug 22 2005, 21:31
Сообщение #1911


Level 5
**

Класс: Убийца
Характер: True Neutral
Раса: Чудовище



Подскажите пожалуйст. где event'ы шмоток находятся.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 22 2005, 21:38
Сообщение #1912


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

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



QUOTE (Агрессинг @ Aug 22 2005, 21:31)
Подскажите пожалуйст. где event'ы шмоток находятся.

Их кажись нет? Все, что можно с вещями делать, делается по другому.
А что ты хочешь с вещью сделать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Агрессинг
сообщение Aug 22 2005, 21:47
Сообщение #1913


Level 5
**

Класс: Убийца
Характер: True Neutral
Раса: Чудовище



onequipitem,
onunequipitem
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 22 2005, 21:54
Сообщение #1914


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

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



Ах эти!
Это в модульных св-вах смотри.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Агрессинг
сообщение Aug 22 2005, 22:08
Сообщение #1915


Level 5
**

Класс: Убийца
Характер: True Neutral
Раса: Чудовище



-fenix-
А надо для определенной вещи - например на oneqip плаща локалку
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 22 2005, 22:32
Сообщение #1916


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

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



Агрессинг, ты их не полностью называешь, я так понимаю, что при утрате плаща локалку?
Тут надо просто смотерть, кокой предмет был утерян. Введи в Редакторе скрипта Acquired и получешь 4 функции, в частности
Neverwinter Script Source
// Use this in an OnItemAcquired script to get the item that was acquired.
// * Returns OBJECT_INVALID if the module is not valid.
object GetModuleItemAcquired()


Проверка на ТАГ аналогично, как и стегом НПС, написано выше.

Сообщение отредактировал -fenix- - Aug 22 2005, 22:35
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Агрессинг
сообщение Aug 22 2005, 22:39
Сообщение #1917


Level 5
**

Класс: Убийца
Характер: True Neutral
Раса: Чудовище



Мне надо поставить при экепировании плаща локалку. :this:
Alian REXis
Спасибо. :yes: Я так и думал, что надо через last equiped, но решил удостоверится, точно ли нет евентов в вещах. Оказалось - нет.

Сообщение отредактировал Агрессинг - Aug 22 2005, 22:42
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Alian REXis
сообщение Aug 22 2005, 22:39
Сообщение #1918


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

Класс: Обыватель
Характер: True Neutral
Раса: Человек
NWN: Модмейкер
Начало Войны



Агрессинг,
Это событие срабатывает при надевании любого предмета.
Пример скрипта(на OnPlayerEquipItem):

Neverwinter Script Source
object oITM= GetPCItemLastEquipped(); // Последняя вещь, которая была надета
object oPC = GetPCItemLastEquippedBy();//последний PC, который надел вещь

if (GetTag(oITM) =="тэг плаща")
{
..........
}


Аналогично со снятием вещей
на OnPlayerUnEquipItem
GetPCItemLastUnequipped();
GetPCItemLastUnequippedBy();
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
T34
сообщение Aug 23 2005, 16:54
Сообщение #1919


Level 1


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



Стал ковыряться в переводе NWN... (который лежит тут) ну вообще беда. Переводили точняк не ручками, а каким-то полуавтоматом.
А где приложили ручки - получились перлы вроде "умрите буратины!".
И диалоги низкоинтеллектуальных персонажей переводчики не просекли, а поправили "ошибки" английского языка.

Я решил поправить все имена собственные, названия существ и местностей, то есть привести к единообразному виду.
Для чего написал прогу, которая преобразует dialog.tlk в plain-text и обратно. Для удобства подправления.
Дополнил dialog.tlk до версии 1.66

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

Знатоки AD&D, кто такой Umber Hulk? По-русски?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vitalist
сообщение Aug 23 2005, 18:05
Сообщение #1920


Level 4
**

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



Спасибо за тригер!
Напишите как:
1) после смерти NPC открылся портал
2) NPC после разговора телепортировал игрока в друшую локацию
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Aug 23 2005, 19:03
Сообщение #1921


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

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



QUOTE
2) NPC после разговора телепортировал игрока в друшую локацию

Ставится на последнюю строчку в диалоге
Neverwinter Script Source
void main()
{
object oPC = GetPCSpeaker();
AssignCommand(oPC, ClearAllActions());
ActionWait(3.0);
AsignCommand(oPC, JumpToObject(GetObjectByTag("ТЭГ_ВЭЙПОИНТА")));
}


Сообщение отредактировал Dik Morris - Aug 23 2005, 19:05
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 23 2005, 19:11
Сообщение #1922


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

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



QUOTE (Vitalist @ Aug 23 2005, 18:05)
1) после смерти NPC открылся портал

Скажем на месте смерти откроется портал, так пойдет?
В св-вах нпс в OnDeath добавь строку.
Neverwinter Script Source
CreateObject(OBJECT_TYPE_PLACEABLE, "рес реф портала", Location(GetArea(OBJECT_SELF), GetPosition(OBJECT_SELF), GetFacing(OBJECT_SELF)));

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vitalist
сообщение Aug 25 2005, 18:49
Сообщение #1923


Level 4
**

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



Fenix. самое то!
DikMorris, так все правильно? Что-то не хочет...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Aug 25 2005, 19:12
Сообщение #1924


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

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



QUOTE (Vitalist @ Aug 23 2005, 19:05)
2) NPC после разговора телепортировал игрока в друшую локацию

Neverwinter Script Source
void main()
{
object oPC = GetPCSpeaker();
AssignCommand(oPC, ClearAllActions());
AsignCommand(oPC, ActionJumpToObject(GetObjectByTag("ТЭГ_ВЭЙПОИНТА")));
}

так.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Daemonix
сообщение Aug 26 2005, 00:17
Сообщение #1925


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



Вот мне, наконец, понадобилась ваша квалифицированная помощь.
У меня есть сундук. Я кладу туда один сюжетный предмет. Когда захожу в игру, то в сундуке помимо нужного мне предмета лежат ещё несколько случайно сгенерированных игрой. Можно ли убрать как-нибудь эти случайно сгенерированные предметы?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Tiger Greyhawk
сообщение Aug 26 2005, 02:29
Сообщение #1926



Иконки Групп

Класс: Обыватель
Характер: Chaotic Good
Раса: Человек
NWN: Скриптинг [Sn]



2 Daemonix
Правь скрипт на OnEnter этого сундука. Или удали его вообще. ;)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 26 2005, 08:13
Сообщение #1927


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

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



Daemonix убери все скрипты в слотах сундука и положи в инвентарь свой предмет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vitalist
сообщение Aug 26 2005, 14:50
Сообщение #1928


Level 4
**

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



Что-то не хочет... Наверняка, я где-то не прав: в конце диалога пихаю этот скрипт, в другой области ставлю "точку" с нужным тэгом?
А как телепортировать просто в другую локацию?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DEM
сообщение Aug 26 2005, 16:18
Сообщение #1929


Level 7
**

Класс: Маг
Характер: Lawful Neutral
Раса: Эльф



прото в другую нельзя. Надо поставить в другой локации вэйпоинт и телепортироваться туда...

Кажеться так...
Neverwinter Script Source
void main()
{

object oPC = GetPCSpeaker();

AssignCommand(oPC, ClearAllActions());

object oTarget;
location lTarget;
oTarget = GetWaypointByTag("Тэг вэйпоинта");

lTarget = GetLocation(oTarget);

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

DelayCommand(3.0, AssignCommand(oPC, ActionJumpToLocation(lTarget)));

oTarget = oPC;

//Визуальный эффект

int nInt;
nInt = GetObjectType(oTarget);

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

}


Сообщение отредактировал DEM - Aug 26 2005, 16:19
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vitalist
сообщение Aug 26 2005, 16:49
Сообщение #1930


Level 4
**

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



DEM :good:! Теперь все в шоколаде...
Можно ли задать интервал между игроком и NPC во время разговора? Мне хотелось бы, чтобы игрок не подходил так близко.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DEM
сообщение Aug 26 2005, 16:52
Сообщение #1931


Level 7
**

Класс: Маг
Характер: Lawful Neutral
Раса: Эльф



Да? Сам был не уверен... Такие скрипты для меня впервые :)
QUOTE
Можно ли задать интервал между игроком и NPC во время разговора? Мне хотелось бы, чтобы игрок не подходил так близко.


Скорее всего можно, но как... :xz:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Aug 26 2005, 16:58
Сообщение #1932


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

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



Можно, написать кутсценку :yes: (если уж сильно надо, я напишу)
Еще игрока, закинуть на вайпоинт :D

Сообщение отредактировал Dik Morris - Aug 26 2005, 16:58
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DEM
сообщение Aug 26 2005, 17:29
Сообщение #1933


Level 7
**

Класс: Маг
Характер: Lawful Neutral
Раса: Эльф



Ну а вот, если не хочешь эффекта, но вместе со всей партией :)


Neverwinter Script Source
void main()
{

object oPC = GetPCSpeaker();

AssignCommand(oPC, ClearAllActions()); //почистить все ДЕЙСТВИЯ у игрока

object oTarget;
location lTarget;
oTarget = GetWaypointByTag("тэг вэйпоинта");

lTarget = GetLocation(oTarget);

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

oTarget=GetFirstFactionMember(oPC);

while (GetIsObjectValid(oTarget))
   {
   AssignCommand(oTarget, ActionJumpToLocation(lTarget));
   oTarget=GetNextFactionMember(oPC);
   }

}


Сообщение отредактировал DEM - Aug 26 2005, 17:33
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 26 2005, 20:29
Сообщение #1934


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

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



QUOTE (Vitalist @ Aug 26 2005, 16:49)
Можно ли задать интервал между игроком и NPC во время разговора? Мне хотелось бы, чтобы игрок не подходил так близко.


Vitalist, можно растянуть перед НПС тригер(если НПС стоячий) и на OnEnter написать такой скрипт. Тогда НПС сам начнет диалог на минимально допустимом расстоянии.

Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oNPC = GetObjectByTag("ТАГ НЕВИДИМОГО ТРУПА");

if(GetIsPC(oPC))
    {
    AssignCommand(oPC, ClearAllActions());
    AssignCommand(oPC, SetCommandable(FALSE, oPC));
    AssignCommand(oNPC, ActionStartConversation(oPC));
    }
}


И обязательно, на последнюю фразу в диалоге, на вкладку совершенных действий нужно поставить следующее.

Neverwinter Script Source
void main()
{
object oPC = GetPCSpeaker();
SetCommandable(TRUE, oPC);
}


Можно еще написать на onPerseption, но он не такой надежный.

Neverwinter Script Source
void main()
{
object oPercep = GetLastPerceived();

if (GetLastPerceptionSeen() && GetIsPC(oPercep))
    {
    AssignCommand(oPercep, ClearAllActions());
    AssignCommand(oPercep, SetCommandable(FALSE, oPercep));
    AssignCommand(OBJECT_SELF, ActionStartConversation(oPercep));
    }
}


Не забудь на последнюю строчку в диалоге поставить скрипт!

З.Ы Если поставить НПС максимальную дальность чувствительности, то вроде все ОК и на OnPerseption. Только надо учитывать, где НПС будет гулять, чтобы откуда бы ПС на него не выскочил, он был достаточно далеко.
Вот замечательная возможность заставить ПС договорить с НПС без использования КАТСЦЕН.


А еще можно во как.
Растягиваешь перед НПС тригер(длинный), короче от длины тригера зависит расстояние разговора(сам разберешься и подстроишь как надо). В начале тригера(со стороны ПС) ставешь Труп(невидимый - есть в палитре), ему ставешь имя и портрет НПС, а в скрипте ставешь его ТАГ. Так можно какое угодно расстояние сделать.


Neverwinter Script Source
void main()
{
object oPC = GetEnteringObject();
object oInv = GetObjectByTag("ТАГ НЕВИДИМОГО ТРУПА");

if(GetIsPC(oPC))
    {
    AssignCommand(oPC, ClearAllActions());
    AssignCommand(oPC, SetCommandable(FALSE, oPC));
    AssignCommand(ooInv, ActionStartConversation(oPC));
    }
}


На OnPerseption то же можно, только прейдется создавать объект рядом с увиденным ПС. Поэтому готовый труп надо будет добавить в палитру с уникальным РесРефом, вот скрипт.

Neverwinter Script Source
void main()
{
object oPercep = GetLastPerceived();

if (GetLastPerceptionSeen() && GetIsPC(oPercep))
    {
    AssignCommand(oPercep, ClearAllActions());
    AssignCommand(oPercep, SetCommandable(FALSE, oPercep));
    object iTrup = CreateObject(OBJECT_TYPE_PLACEABLE, "РесРеф", GetLocation(oPercep));
    AssignCommand(iTrup, ActionStartConversation(oPercep));
    }
}


Сообщение отредактировал -fenix- - Aug 26 2005, 21:50
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Daemonix
сообщение Aug 27 2005, 00:14
Сообщение #1935


Level 10
***

Класс: Мастер Оружия
Характер: Lawful Good
Раса: Человек



Вот скрипт. Но не компилируется! :xz:
CODE
void main()
{

   if (GetLocalInt(OBJECT_SELF, "nTriggered" == 1)
       return;
   SetLocalInt(OBJECT_SELF, "nTriggered", 1);
object oNPC=GetObjectByTag("nerilhome_guard_vick";
AssignCommand(oNPC, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL,1.0,10.0));
AssignCommand(oNPC, ActionSpeakString("Íàì íóæíî ñðî÷íî ïîãîâîðèòü!");
}


Не знаю почему... не я писал..
Добавлено в [mergetime]1125090924[/mergetime]
Самое обидное, что я ни фига не знаю.. поэтому и исправить не могу.. могу тока юзать, но учусь, учусь, учусь, учусь, учусь.........
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 76 77 78 79 80 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 20th July 2025 - 09:11