Помощь - Поиск - Пользователи - Календарь
Полная версия: Вопросы новичков
Город Мастеров > РЕДАКТОРЫ > Neverwinter Nights Aurora Toolset
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103
Zirrex
Возник вопрос такого рода. Если расставляешь НПС по городу, то в момент обращения игрока к НПС, тот поворачивается в сторону игрока и остается так стоят, даже если игрок уже покинул его. Как заставить НПС всегда возвращаться в исходное положение и смотреть в ту сторону, в которую он смотрел изначально?

Я немного изменил скрипт "nw_c2_default1", добавив функцию "SetFacing":

Neverwinter Script Source
else if (!GetIsObjectValid(oEnemy) && !IsInConversation(OBJECT_SELF) &&
        GetWalkCondition(NW_WALK_FLAG_CONSTANT))
    {
        object oPlace = GetWaypointByTag("WP_" + GetTag(OBJECT_SELF) + "_01");

        WalkWayPoints();
        SetFacing(GetFacing(oPlace));
    }

но ходящие НПС (которые патрулируют), иногда на точках остановки резко поворачиваются в сторону направления своей первой точки, что не сильно портит картину, но является явной недоработкой.
Lex
посмотри WalkWayPoint.. можно добавть типа
SetFacing(GetFacing(oPoint)); чтобы они смотрели в сторону, куда показывает поинт.

В том, что написал ты смысла нет. у тебя SetFacing(GetFacing(oPlace)); получается сразу.. а потом НПС идет в точку и там уже не поворачивается. smile.gif Заноси в стек команд через ActionDoCommand.. но возможно и это не сработает, так как внутри WalkWayPoints() мб есть отчистка акций.. лучший способ - занести поворот внутрь функции и вынести это в параметры, сделав, скажем FALSE как значение по умолчанию. smile.gif



глянул.. в самой их функции есть такое
Neverwinter Script Source
if(GetLocalInt(oWay,"X2_L_WAYPOINT_SETFACING") == 1)
        {
            ActionDoCommand(SetFacing(GetFacing(oWay)));
        }

получается, что чтобы тебе сделать ориентацию, надо на все поинты навесить локалку X2_L_WAYPOINT_SETFACING. Насколько это удобно - думай сам smile.gif
Zirrex
Lex, хорошо, а можно скриптово определить, стоит НПС или ходит? Если он стоит, то каждый цикл его равнять по направлению точки, а если ходит, не проверять.

Делать на каждую точку локальную переменную, это не выход. Я так делал с магазинами, навешивая переменную на НПС, чтобы не городить кучу разных скриптов выполнения функции открытия магазина, но точки появляются гораздо чаще, чем магазины.
Lex
QUOTE (Zirrex @ Jan 10 2006, 15:54)
Lex, хорошо, а можно скриптово определить, стоит НПС или ходит? Если он стоит, то каждый цикл его равнять по направлению точки, а если ходит, не проверять.

можно.
GetCurrentAction.


QUOTE (Zirrex @ Jan 10 2006, 15:54)
Делать на каждую точку локальную переменную, это не выход. Я так делал с магазинами, навешивая переменную на НПС, чтобы не городить кучу разных скриптов выполнения функции открытия магазина, но точки появляются гораздо чаще, чем магазины.

я и говорю, что неудобно. Проще гораздо вешать это на НПС например. (в тулсете или сделав для них отдельный спавн-скрипт) или даже на модуль, те для всех.
zmey
Здрасьте! Мы тут замерзаем, блин! Мозги отказывают постепенно, поэтому я к вам за помощью.

diablo.gif
?№1: Где можно подробно узнать, как добавить/удалить/переименовать навыки/умения/заклинания/классы для РС?

?№2: какое соотношение между реальным и игровым временем, то есть 1 минута реала = ??? времени игрового мира?

?№3 В
Добавлено в [mergetime]1137424761[/mergetime]
?№3: как, чъет побъери, сделать уникальное свойство вещи, при использовании которого НА ТОЧКУ В ЛОКАЦИИ в этой точке появлялось призванное существо?


Vhall
QUOTE (zmey @ Jan 16 2006, 18:16)
?№1: Где можно подробно узнать, как добавить/удалить/переименовать навыки/умения/заклинания/классы для РС
QUOTE (zmey @ Jan 16 2006, 18:16)
?№2: какое соотношение между реальным и игровым временем, то есть 1 минута реала = ??? времени игрового мира?

Edit -> Module Properties -> Advanced -> Minutes/Hour
zmey
а по умолчанию?
Dik Morris
QUOTE
?№3: как, чъет побъери, сделать уникальное свойство вещи, при использовании которого НА ТОЧКУ В ЛОКАЦИИ в этой точке появлялось призванное существо?

Neverwinter Script Source
/*
Скрипт на onActivaItem модуля.
(Создай секретную локу, помести на неё,
нужного тебе NPC, a cкриптом мы заставим прыгнуть его на вейп.)
Хотя может кому то будет удобнее: CreateObject = )
*/

void main()
{
   object oItem = GetItemActivated(); // Активируемый итем
   object oNPC  = GetObjectByTag(""); // Таг неписи которая джампиться к вам
   object oWaip = GetWaypointByTag(""); // Таг вайпоинта на который нужно джампануть NPC

   if (GetTag(oItem)=="") // Проверочка на таг
   //(Т.е если таг предмета равен например Items то событие выполниться)
     {
     AssignCommand(oNPC, ClearAllActions()); // Чистим акции  (на всяк. пожарный : )
     AssignCommand(oNPC, JumpToObject(oWaip)); // Кидаем NPC на точку
     }
}

****************
QUOTE
Кхм... а вейп откуда взять, блин?!?

Как где?! Размести вайпоинт в нужном тебе месте:
QUOTE
НА ТОЧКУ В ЛОКАЦИИ

Что тут непонятного? smile.gif
(Если не хочешь чтобы кидало на вейп, заменяй: GetObjectByTag)
zmey
Кхм... а вейп откуда взять, блин?!?

QUOTE (zmey @ Jan 16 2006, 18:16)
?№1: Где можно подробно узнать, как добавить/удалить/переименовать навыки/умения/заклинания/классы для РС


http://www.wrg.ru/forums/index.php?showtopic=704
А поконкретнеееееееее? Там СТОЛЬКО всякого! diablo.gif

Добавлено в [mergetime]1137426291[/mergetime]
и еще, среди скриптов попался мне скрипт под названием nwskript с чем -то вроде этого:
.....
int IMMUNITY_TYPE_NEGATIVE_LEVEL = 29;
int IMMUNITY_TYPE_SNEAK_ATTACK = 30;
int IMMUNITY_TYPE_CRITICAL_HIT = 31;
int IMMUNITY_TYPE_DEATH = 32;

int AREA_TRANSITION_RANDOM = 0;
int AREA_TRANSITION_USER_DEFINED = 1;
int AREA_TRANSITION_CITY_01 = 2;
.....
и еще 120 листов печатного текста. Вопрос: что это вообще такое и как это можно использовать?
[MoF]Darth_Nick
QUOTE

и еще, среди скриптов попался мне скрипт под названием nwskript с чем -то вроде этого:
.....
int IMMUNITY_TYPE_NEGATIVE_LEVEL = 29;
int IMMUNITY_TYPE_SNEAK_ATTACK = 30;
int IMMUNITY_TYPE_CRITICAL_HIT = 31;
int IMMUNITY_TYPE_DEATH = 32;

int AREA_TRANSITION_RANDOM = 0;
int AREA_TRANSITION_USER_DEFINED = 1;
int AREA_TRANSITION_CITY_01 = 2;
.....
и еще 120 листов печатного текста. Вопрос: что это вообще такое и как это можно использовать?


это вроде константы...
*nwscript

QUOTE

Кхм... а вейп откуда взять, блин?!?


в палитре можеш взять

QUOTE

QUOTE (zmey @ Jan 16 2006, 18:16)
?№1: Где можно подробно узнать, как добавить/удалить/переименовать навыки/умения/заклинания/классы для РС


http://www.wrg.ru/forums/index.php?showtopic=704
А поконкретнеееееееее? Там СТОЛЬКО всякого! diablo.gif


ссылку открой и почитай...
чтобы переименовать открываеш dialog.tlk и там переименовываеш. Строки прописаны в 2да...
zmey
[MoF]Darth_Nick дорогой ты мой, уникальное св - во призыва должно работать так: куда мышом кликнули, там и появляется призванное существо!
Добавлено в [mergetime]1137492016[/mergetime]
Vhall QUOTE (zmey @ Jan 16 2006, 18:16)
?№1: Где можно подробно узнать, как добавить/удалить/переименовать навыки/умения/заклинания/классы для РС


http://www.wrg.ru/forums/index.php?showtopic=704


ИЗВИНЯЮСЬ, сам дурак! diablo.gif
Dik Morris
QUOTE
?№3: как, чъет побъери, сделать уникальное свойство вещи, при использовании которого НА ТОЧКУ В ЛОКАЦИИ в этой точке появлялось призванное существо?

И:
QUOTE
уникальное св - во призыва должно работать так: куда мышом кликнули, там и появляется призванное существо!

Определись что тебе нужно. Вообще скрипт запросто можно переделать практически под любой нужный вариант.
Например:
Neverwinter Script Source
AssignCommand(oNPC, JumpToObject(oWaip));

Можно джампануть Npc прямиком к игроку:
Neverwinter Script Source
AssignCommand(oNPC, JumpToObject(oPC));

А также, можно поставить локалку, и потом при юзании на определенном премете считывать её чтобы произошел нужный результат.
QUOTE
там и появляется призванное существо!

Вероятно подразумевается свойство Активировать премдмет?
Если да, вышеприведенный мой пост, дает ответ на ваш вопрос. (Только кажись юзать нужно не на пустом месте, а на себе или Npc)
(Хотя вообще удобнее, имхо, ставить просто Только собственное питание)
StalkerDtN
zmey yes.gif
Тебе Dik Morris уже предложил как, я лишь добавлю чтоб появлялся именно там где кликнул:
Neverwinter Script Source
....
// на предмете ставишь свойство активировать удаленный предмет (или что-то такое, найдешь)

        lLoc = GetItemActivatedTargetLocation();     // место где тыкаешь мышкой
        AssignCommand(oNPC, JumpToLocation(lLoc));
....
Nashman
Привет,
Абсолютна глупость, как регулировать повышение уровня, максимальный уровень и так далее ПС?
Aiwan
QUOTE (Nashman @ Jan 18 2006, 03:25)
Абсолютна глупость, как регулировать повышение уровня, максимальный уровень и так далее ПС?

Скриптом моим. В разделе скриптов.
zmey
здрасьте, снова я! И опять КУЧА вопросов:
№1 как скриптом поменять музыку/погоду/освещение в локе?
№2 как экиперовать персу шмот в те слоты, где шкурка и т п?
№3 как восстановить нормальное отношение к персу одной из фракций? (фракция создана мной самим)
№4 как скриптом поставить/снять флажок сюжет/бессмертие?
№5 как запретить хенчу экиперовать вещи в определенный слот. (короче, у меня хенч однорукий...0
№6 кто знает, какой прогой сделаны ролики в НВН?
Nashman
Для Змея:

1 - Лекс тебя "убет"! biggrin.gif .
Neverwinter Script Source
void SetWeather(object oTarget, int nWeather)
, для освещения вводишь "light", для музыки - music в редакторе скриптов.
2- ?
3 -
Neverwinter Script Source
// Adjust how oSourceFactionMember's faction feels about oTarget by the
// specified amount.
// Note: This adjusts Faction Reputation, how the entire faction that
// oSourceFactionMember is in, feels about oTarget.
// * No return value
void AdjustReputation(object oTarget, object oSourceFactionMember, int nAdjustment)
Кажется...
4 - Было, где-то...
5 - ?
6 - Лично я делаю максом, потом Премером(Adobe Premire Pro 7.0).


[MoF]Darth_Nick
4. сюжет хз что такое...бессмертие:

Neverwinter Script Source
// Set oTarget's plot object status.
void SetPlotFlag(object oTarget, int nPlotFlag)


проверка:

Neverwinter Script Source
// Determine whether oTarget is a plot object.
int GetPlotFlag(object oTarget=OBJECT_SELF)


иначе говоря - SetPlotFlag, принимает объект и флаг(TRUE & FALSE).TRUE - поставить бессмертие, FALSE - убрать
GetPlotFlag - возвращает TRUE если объект бессмертен и FALSE если смертен...
помойму так...

2.

Neverwinter Script Source
// Equip oItem into nInventorySlot.
// - nInventorySlot: INVENTORY_SLOT_*
// * No return value, but if an error occurs the log file will contain
//  "ActionEquipItem failed."
//
// Note:
//      If the creature already has an item equipped in the slot specified, it will be
//      unequipped automatically by the call to ActionEquipItem.
//
//      In order for ActionEquipItem to succeed the creature must be able to equip the
//      item oItem normally. This means that:
//      1) The item is in the creature's inventory.
//      2) The item must already be identified (if magical).
//      3) The creature has the level required to equip the item (if magical and ILR is on).
//      4) The creature possesses the required feats to equip the item (such as weapon proficiencies).
void ActionEquipItem(object oItem, int nInventorySlot)
zmey
[MoF]Darth_Nick ё ка ле ме не! в том- то и дело! Я не знаю, что это за слоты; вернее, что в команду вписывать! void ActionEquipItem(object oItem, int nInventorySlot)
[MoF]Darth_Nick
Neverwinter Script Source
//- nInventorySlot: INVENTORY_SLOT_*


Это значит, надо посмотреть список констант с префиксом INVENTORY_SLOT_

http://www.nwnlexicon.com/

QUOTE

INVENTORY_SLOT_CARMOUR
Creature skin/hide slot (natural armor).
zmey
[MoF]Darth_Nick слухай, будь другом, уж отпости все константы для этих слотов, а? (в смысле, для тех, что у существ ести, а у перса скрыты) diablo.gif
Добавлено в [mergetime]1137845693[/mergetime]
№5 как запретить хенчу экиперовать вещи в определенный слот. (короче, у меня хенч однорукий...0
????????????????????!!!!!!!!!!!!!!!!!!!!!!!!!! crazy.gif crazy.gif crazy.gif crazy.gif crazy.gif crazy.gif
Добавлено в [mergetime]1137845754[/mergetime]
ну помогите, блин!!!
[MoF]Darth_Nick
идеш сюда - http://www.nwnlexicon.com/
набираеш в поиске - INVENTORY_SLOT_*
выбераеш первый вариант поиска и фтыкаеш

и вообще сайт полезный очень )
Existor
Constant Description
INVENTORY_SLOT_ARMS The gloves or bracers slot in the inventory.

INVENTORY_SLOT_ARROWS The arrows slot in the inventory. Can have up to 99 arrows stacked.

INVENTORY_SLOT_BELT The belt slot in the inventory.

INVENTORY_SLOT_BOLTS The bolts slot in the inventory. Can have up to 99 bolts stacked.

INVENTORY_SLOT_BOOTS The boots slot in the inventory.

INVENTORY_SLOT_BULLETS The bullets slot in the inventory. Can have up to 99 bullets stacked.

INVENTORY_SLOT_CARMOUR Creature skin/hide slot (natural armor).

INVENTORY_SLOT_CHEST The chest (or main armor) slot in the inventory. Clothes and body armor would go here.

INVENTORY_SLOT_CLOAK The cloak slot in the inventory.

INVENTORY_SLOT_CWEAPON_B Creature special attack slot (typically a bite).

INVENTORY_SLOT_CWEAPON_L Creature's natural left attack (typically a claw).

INVENTORY_SLOT_CWEAPON_R Creature's natural right attack (typically a claw).

INVENTORY_SLOT_HEAD The head (or helmet) slot in the inventory.

INVENTORY_SLOT_LEFTHAND Off-hand weapon slot.

INVENTORY_SLOT_LEFTRING The left hand ring slot in the inventory.

INVENTORY_SLOT_NECK The neck (or amulet) slot in the inventory.

INVENTORY_SLOT_RIGHTHAND Primary weapon slot.

INVENTORY_SLOT_RIGHTRING The right hand ring slot in the inventory.
Добавлено в [mergetime]1137851521[/mergetime]
5. Если речь идет о кут-сценах(Cut-scene), ролики на движке игры, тогда ответ прост - эти "ролики" на языке скриптов.
zmey
Existor за константы - спасибо.
QUOTE
Если речь идет о кут-сценах(Cut-scene), ролики на движке игры, тогда ответ прост - эти "ролики" на языке скриптов.
Да нет, я о тех, которые перед загрузкой модуля...

Как сделать, чтобы в Cut-scene персы разговаривали СИДЯ НА СТУЛЬЯХ? Три часа долбался - не вышло...
Добавлено в [mergetime]1138001711[/mergetime]
[MoF]Darth_Nick Ты уж извини, но
QUOTE
идеш сюда
идёшь пишется с "ь"...
Lex
QUOTE (zmey @ Jan 23 2006, 10:32)
Как сделать, чтобы в Cut-scene персы разговаривали СИДЯ НА СТУЛЬЯХ? Три часа долбался - не вышло...

покажи, что надолбал за 3 часа.. там 2 строчки.
сесть: ActionSit
говорить: SpeakString + DelayCommand
Aiwan
QUOTE (zmey @ Jan 23 2006, 13:32)
Как сделать, чтобы в Cut-scene персы разговаривали СИДЯ НА СТУЛЬЯХ? Три часа долбался - не вышло...

Есть команда ActionSpeakString, а есть SpeakString. Первая отличается от второй, тем что она ждет покан е выполнится акция или попросту действие перед ней. Например, ActionSit. Пока он сидит ничего не произойдет. А вот вторая выполнит сразу когда получена. Это кстати есть в моем мануале. Прочти, сэкономишь пару недель жизни на простых вещах. Пока вкуришь.
zmey
Lex Aiwan
QUOTE
Есть команда ActionSpeakString, а есть SpeakString. Первая отличается от второй, тем что она ждет покан е выполнится акция или попросту действие перед ней.


Не знал.... тепрь все работает.

QUOTE
Это кстати есть в моем мануале. Прочти, сэкономишь пару недель жизни на простых вещах.
Читал. похоже надо перетитать еще раз...
Добавлено в [mergetime]1138085432[/mergetime]
Это что, все команды, которые "Action" не могут выполняться одновременно, так? crazy.gif
Aiwan
QUOTE (zmey @ Jan 24 2006, 12:47)
Это что, все команды, которые "Action" не могут выполняться одновременно, так?

Так. Но любое дейсвие не актион можно сделать таковым командой ActionDoCommand ...
Nashman
QUOTE
Так.
-gg!!! biggrin.gif

Пример: ActionDoCommand(AssignCommand(OBJCET_SELF, ActionSpeakString("Это все!!! Есть у Айвана в мануале!!!! Я исправился и ВСЕ!! прочитал и тебе советую...", TALKVOLUME_TALK)));
albridge
Всем привет. Даже стыдно задавать такой вопрос...
В каком случае функция GetCurrentAction(oNPC) вернет значение ACTION_DIALOGOBJECT ? Специально проверил, во время разговора с oNPC функция возвращает значение ACTION_INVALID. dntknw.gif

И заодно еще один вопрос: как проверить, сколько ресурсов жрет скрипт? Я что-то слышал про лог, но как его посмотреть?
Добавлено в [mergetime]1138186423[/mergetime]
Первый вопрос практически отпал. В смысле, чтобы проверить, разговаривает ли oNPC, нужно делать проверку функцией IsInConversation(oNPC). Только все равно непонятно, почему не работает GetCurrentAction(oNPC)...
mamuc
QUOTE
Всем привет. Даже стыдно задавать такой вопрос...

..название темы Вопросы новичков , так что все в порядке..а все о всем знать не может ни один человек yes.gif
[MoF]Darth_Nick
вроде плюгин был для nwnx, который проверяет сколько ресурсов скрипты жрут
Lex
QUOTE (albridge @ Jan 25 2006, 13:41)
И заодно еще один вопрос: как проверить, сколько ресурсов жрет скрипт? Я что-то слышал про лог, но как его посмотреть?

можно в тулсете при кэшировании посмотреть, скока он весит.. но скока жрет тулсетом не глянешь, нужны доп. примочки.
Добавлено в [mergetime]1138198571[/mergetime]
QUOTE (albridge @ Jan 25 2006, 13:41)
В каком случае функция GetCurrentAction(oNPC) вернет значение ACTION_DIALOGOBJECT ? Специально проверил, во время разговора с oNPC функция возвращает значение ACTION_INVALID. dntknw.gif

ХЗ, я думал при диалоге. Сам юзаю только IsInConversation() для таких случаев, так что не сталкивался с описанным тобой приколом.
-fenix-
QUOTE (Lexicon)
Some actions still return ACTION_INVALID, however.

Значит диалог в их числе.
albridge
mamuc, спасибо за моральную поддержку thank_you.gif
Мне в первую очередь перед собой стыдно. Просто я думал, что уже разобрался в таких вещах, но не тут-то было.

[MoF]Darth_Nick, Lex,
А что за плугин, что за примочки? Можете ссылку дать, где можно скачать? У меня в модуле много скриптов вешается на onHeartbeat, боюсь в будущем может сильно тормозить, если специально не проверять скрипты.
dumbo
albridge,
уже говорил, но повторюсь: о чем речь? все "примочки" (плаги nwnx) предназначены для выделенного сервера. к синглу это можно прикрутить(переписать nwnx, найти специфичные для сингла данные), но пока никто не озаботился.

ps. плаг для замера времени выполнения скриптов зовется nwnx_profiler.
Aiwan
QUOTE (albridge @ Jan 25 2006, 20:53)
Мне в первую очередь перед собой стыдно. Просто я думал, что уже разобрался в таких вещах, но не тут-то было.
Это ты зря. Все мы учимся, пока не отмучмся. biggrin.gif Спрашивай. yes.gif
Shadenuat
У кого есть опыт работы с музыкой в Aurora?
Есть ли где-нибудь гайд по обработки муз. композиций с последующим втыканием их в модуль?
rakoth
как заставить 2-ух неписей стать хенчманами.С одним я справляюсь, но с двумя не могу. В игре пишет что я могу брать только одного хенча.Но в андердарке можно было брать двух.Расскажите пожалуйста как это сделать
-fenix-
rakoth, это есть в Вопросах и ответах. Тема такая, в этом форуме.
rakoth
спасибо,помогло,работает
Existor
QUOTE (Shadenuat @ Jan 26 2006, 16:14)
У кого есть опыт работы с музыкой в Aurora?
Есть ли где-нибудь гайд по обработки муз. композиций с последующим втыканием их в модуль?
Aiwan
QUOTE (rakoth @ Jan 30 2006, 00:11)
как заставить 2-ух неписей стать хенчманами.С одним я справляюсь, но с двумя не могу. В игре пишет что я могу брать только одного хенча.Но в андердарке можно было брать двух.Расскажите пожалуйста как это сделать

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

QUOTE (Shadenuat @ Jan 26 2006, 19:14)
Есть ли где-нибудь гайд по обработки муз. композиций с последующим втыканием их в модуль?

В моем мануале есть. Ищи по ссылка или на сайте, в разделе файлов для тулсета.
Shadenuat
Aiwan
Принято.
rakoth
айв,спасибо,я разобрался
rakoth
тут такая мысль возникла:есть персонаж(некромант) и у него есть жертвенный кинжал. Можно ли как нибуль делать сделать в кинжале такаю фишку:щелкнул правой кнопкой мыши на кинжал, а там кроме стандартных действий(взять,осмотреть,положиьть) будет ещё одно-типа начертить пентаграмму.После нажатия начинается анимация когда чар ковыряется на полу и через несколоько секунд появлюется пентаграмма.Можно ли такое сделать? И как?
Archangel
QUOTE
Можно ли такое сделать? И как?

С помощью одних скриптов - вряд ли. Тут еще нужно поработать с 2da и 3Dmax`ом.
Lex
QUOTE (Archangel @ Feb 1 2006, 16:57)
С помощью одних скриптов - вряд ли. Тут еще нужно поработать с 2da и 3Dmax`ом.

брр.. Арх, не городи чепуху. Одни скрипты. Ну можно еще 2да + тлк (чтобы название было у свойства "Начертить пентаграмму" например.)
Aiwan
rakoth пробуй делать ПРОСТЫЕ вещи. Сложные иссушают запас инергии. smile.gif По вопросу. Нормальным способом нет.

LEX: Айв, и ты туда же? Вы сегодня все сговорились, да? biggrin.gif Cast Spell - Unique Power. Делаем скрипт с тэгом вещи (берем за основу x2_it_example) и прописываем все что нам надо сюда: else if (nEvent == X2_ITEM_EVENT_ACTIVATE) Это 51 строка, кто не найдет вдруг. 1 единственный скрипт. МОЖНО (не нужно, как написал Арх, а можно) подлючить 2да, если знаешь, как. Но не обязательно совершенно. И уж тем более 3дмакс. Пентаграмма есть стандартная.
А вот по поводу простых: согласен smile.gif
mamuc
QUOTE
тут такая мысль возникла:есть персонаж(некромант) и у него есть жертвенный кинжал. Можно ли как нибуль делать сделать в кинжале такаю фишку:щелкнул правой кнопкой мыши на кинжал, а там кроме стандартных действий(взять,осмотреть,положиьть) будет ещё одно-типа начертить пентаграмму.После нажатия начинается анимация когда чар ковыряется на полу и через несколоько секунд появлюется пентаграмма.Можно ли такое сделать? И как?


сделать это действительно просто yes.gif biggrin.gif так, как описано выше:
-делаешь кустомный предмет и даешь предмету (ножу) Cast Spell - Unique Power (можно на себя)
-делаешь в палитре кустомный плейс с названием"plc_evilcircle"
- пишешь вот примерно такой скрипт ( napisano bez tulseta-proverj)
CODE

// dobavleno : ispravil svoju oshibku - CreateEvilCircle(oPC) ...sorry
void CreateEvilCircle(object oPC)
{
   location lLoc = GetLocation(oPC);
   CreateObject(OBJECT_TYPE_PLACEABLE,"plc_evilcircle",lLoc);
   //+ vizualnij efekt dljapolnogo schastja =)
   DelayCommand( 0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectVisualEffect(VFX_IMP_EVIL_HELP), PC ) );
}

void main()
{
  object oPC = GetItemActivator();
  AssignCommand(oPC,ActionPlayAnimation(ANIMATION_LOOPING_GET_LOW,1.0,10.0));
  DelayCommand(10.0, CreateEvilCircle(oPC));
}

и сохраняешь этот скрипт с названием, что у ножа тег\ресреф(надеюсь ты сделал их одинаковыми)
и дополняешь модульный скрипт ( на OnActivateItem), что бы это заработало
CODE

   // eslin et etoj strochki, to dopishi
   object oItem = GetItemActivated();
   // zapishi zdesj tvoj tag/resref_predmeta
   if (GetTag(oItem)=="<tag/resref_predmeta>") { ExecuteScript(GetTag(oItem),OBJECT_SELF); }


п.с. если это кажеться слишком сложно, то начинай с более простых вещей, как советовал Айван yes.gif biggrin.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.