![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1436
|
|||
![]() Класс: Обыватель Характер: Chaotic Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Наверное, вопросы в обратном порядке должны быть. По крайней мере я буду отвечать так. 1. РезРеф (ResRef) уникальное имя предмета в палитре. 2. Путем edit© из палитры или при на установленном в локации предмете пр. кн. мыши и добавить в палитру. Там на вкладке Addvanced первый пункт и есть ResRef. 3. По идее этот вопрос отпадает уже. Именно по РезРефу и креатиться существо. Т.е. пишешь РезРеф в скриптах. (там надо внимательно в функциях смотреть, что требуется: РезРеф или Тег) З.Ы. внимателнее: РезРеф чувствителен к регистру и не может быть написан заглавными буквами (он сам исправит на строчные). Так что и в скриптах тоже надо указывать его строчными. |
||
![]()
Сообщение
#1437
|
|
Level 2 ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Спасибо большое. А по тегу значит ни как? Жалко... Ладно, будем осваивать резреф! :yes:
|
![]()
Сообщение
#1438
|
|
Level 6 ![]() Класс: Страж Тьмы Характер: Lawful Good Раса: Баатезу ![]() |
Не, я всегда использую, тег в скрипте. GetobjectByTeg!, и ненадо заморачиватся с ресрефом. За исключением, особенных.
|
![]()
Сообщение
#1439
|
|
Level 2 ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
object CreateObject(int nObjectType, string sTemplate, location lLocation, int bUseAppearAnimation=FALSE, string sNewTag="")
string sTemplate - Это имя нашего объекта. Здесь просят указать его РезРеф. Вернуть РезРеф по тегу нельзя. Ну и как ты это сделаешь? :xz: |
![]()
Сообщение
#1440
|
|||
![]() Класс: Обыватель Характер: Chaotic Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
это два разных "имени". Если по простоте, то РезРеф - "имя" (идентификатор) в палитре, а Тег - "имя" (идентификатор) на локации. З.Ы. GetObjectByTag Добавлено в [mergetime]1119062232[/mergetime] а создание предмета/крича идет из палитры ведь. |
||
![]()
Сообщение
#1441
|
|||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
в скриптах можно резреф писать заглавными. |
||
![]()
Сообщение
#1442
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
У меня два абсолютно глупых вопроса, если каво не затруднит пожалуйста ответьте.
1)-Как сделать чтобы при заходе игрока на тригер NPC подбегал к нему и начинал диалог при этом говоря фразу. 2)-Как самому настроить генерацию предметов, в ящиках. |
![]()
Сообщение
#1443
|
|||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
1. Вопрос 1.
2. Писать сложный скрипт. Добавлено в [mergetime]1119094731[/mergetime] Имя триггера это строка над НПС, когда он решит к вам подойти и заговорить, типа: "Привет! Подожди!". Таг триггера это сумма тагов НПС и таг заготовки триггера: TR_CONV_ТАГ_НПС_ДЛЯ_ДИАЛОГА. Сделано это для того что бы не мучаться с происком объектов по тагу в модуле. (помятуя Каэтан с ее твадцатью триггерами с одинаковым как у нее Тэгом). Дальше, KeyTag = 1, НПС подбежит. В поле НПС "Deity" ввести константу аннимации, то он ее проиграет. Если оставить пустым то нет. Примеры констант (полный список дам позже): int ANIMATION_FIREFORGET_HEAD_TURN_LEFT = 100; int ANIMATION_FIREFORGET_HEAD_TURN_RIGHT = 101; int ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD = 102; int ANIMATION_FIREFORGET_PAUSE_BORED = 103; int ANIMATION_FIREFORGET_SALUTE = 104; int ANIMATION_FIREFORGET_BOW = 105; int ANIMATION_FIREFORGET_STEAL = 106; int ANIMATION_FIREFORGET_GREETING = 107; int ANIMATION_FIREFORGET_TAUNT = 108; int ANIMATION_FIREFORGET_VICTORY1 = 109; int ANIMATION_FIREFORGET_VICTORY2 = 110; int ANIMATION_FIREFORGET_VICTORY3 = 111; int ANIMATION_FIREFORGET_READ = 112; int ANIMATION_FIREFORGET_DRINK = 113; int ANIMATION_FIREFORGET_DODGE_SIDE = 114; int ANIMATION_FIREFORGET_DODGE_DUCK = 115; ---------------------------------------------------------------------------------------------------- int ANIMATION_LOOPING_PAUSE = 0; int ANIMATION_LOOPING_PAUSE2 = 1; int ANIMATION_LOOPING_LISTEN = 2; int ANIMATION_LOOPING_MEDITATE = 3; int ANIMATION_LOOPING_WORSHIP = 4; int ANIMATION_LOOPING_LOOK_FAR = 5; int ANIMATION_LOOPING_SIT_CHAIR = 6; int ANIMATION_LOOPING_SIT_CROSS = 7; int ANIMATION_LOOPING_TALK_NORMAL = 8; int ANIMATION_LOOPING_TALK_PLEADING = 9; int ANIMATION_LOOPING_TALK_FORCEFUL = 10; int ANIMATION_LOOPING_TALK_LAUGHING = 11; int ANIMATION_LOOPING_GET_LOW = 12; int ANIMATION_LOOPING_GET_MID = 13; int ANIMATION_LOOPING_PAUSE_TIRED = 14; int ANIMATION_LOOPING_PAUSE_DRUNK = 15; int ANIMATION_LOOPING_DEAD_FRONT = 16; int ANIMATION_LOOPING_DEAD_BACK = 17; int ANIMATION_LOOPING_CONJURE1 = 18; int ANIMATION_LOOPING_CONJURE2 = 19; int ANIMATION_LOOPING_SPASM = 20; |
||
![]()
Сообщение
#1444
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Спасибо Aiwan! Большое и искреннее !!! Щас опробую.
Добавлено в [mergetime]1119097934[/mergetime] У меня еще вопрос, этот попроще: игрок наступает на триггер, и журнал обновляется (игрок получает квест, или наоборот выполняет его). |
![]()
Сообщение
#1445
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Ищи на форуме. Все это давно съедено. Если тебе лень искать, то мне точно влом двести пятый раз такое объяснять. ;)
|
![]()
Сообщение
#1446
|
|||||||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Add an entry to a player's Journal. (Create the entry in the Journal Editor first).
sCategoryTag - The tag of the Journal category (case sensitive). nEntryID - The ID of the Journal entry. oCreature - The PC you want to receive the journal entry. bAllPartyMembers - If TRUE, the entry is added to the journal of all of oCreature's Party. (Default: TRUE) bAllPlayers - If TRUE, the entry will show up in the journal of all PCs in the module. (Default: FALSE) bAllowOverrideHigher - If TRUE, override restriction that nState must be > current Journal Entry. (Default: FALSE) PS: я уже без лексикона не просматриваю форум. Ибо 50% ответ написан там. А народ обленился в хлам. Добавлено в [mergetime]1119107311[/mergetime]
СОУ методы скриптига. Сам иногда грешу, но надо бы переходить на локалки. |
||||||||
![]()
Сообщение
#1447
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
Лекс и Айван, вы не думайте что я не смотрел другие темы я их тоже просматривал, кстати много полезного для себя учел, и нашел...
Айван: не обращай внимания. Мы иногда бурчим. :rolleyes: Сообщение отредактировал Aiwan - Jun 18 2005, 22:59 |
![]()
Сообщение
#1448
|
|
Level 5 ![]() ![]() Класс: Рейнджер Характер: Neutral Good Раса: Человек ![]() |
Рес-реф - это, вообще, имя файла без расширения (utp, utc, uti и т.п.), с прототипом объекта. Он не чувствителен к регистру, хотя по традиции пишется маленькими буквами. А тэг - это тэг.
Мистра - богиня магии в ФР. После второго уда... блин, Времен Бед отождествляется с Миднайт - чародейкой которой она перебала свою Силу и, возможно часть своей личности. Как таковая, убита Хельмом на ступенях небесной лестницы, когда шла качать права к Лорду Ао (Верховный бог ФР). |
![]()
Сообщение
#1449
|
|
Level 2 ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Friedrich
Ясенько. Санькс. Еще вопрос: Что такое Впитывание повреждений? Предположим у нас есть мантия искателя приключений: +1 впитывание 30 поврежений 30 - это то насколько кменьшатся повреждения? Тогда что такое +1? :xz: |
![]()
Сообщение
#1450
|
|
4-х Кубовый ![]() Класс: Некромант Характер: Lawful Evil Раса: Человек NWN: Скриптинг [Sn] Проклятие Левора ![]() |
+ 1 - это просто добавка к AC. А 30 Soak Damage - это поглощение урона, который меннее чем 30 едениц. 17, 25, 6 - все это схавается... Если же больше, допустим 37, то из этого урона будет вычитаться 30. В итоге мы нанесем лишь 7 повреждений. =)
|
![]()
Сообщение
#1451
|
|||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Тем кто может разобраться со скриптингом, мой код не очень то и нужен. А молодежи трудно будет объяснить куда вешать локалку, да еще если у нег например только СОУ... ТАк что этот код хоть и старомоден, но универсален для любого варианта. |
||
![]()
Сообщение
#1452
|
|
Вечно меняющийся ![]() Класс: Монах Характер: True Neutral Раса: Человек NWN: Скриптинг [Sn] ![]() |
У меня опять вопрос...
Вот скрипт для открытия (и закрытия) двери, рычагом: void main() { object oDoor=GetNearestObjectByTag("ТЭГ_ДВЕРИ"); if(GetIsOpen(oDoor)) // если она открыта { AssignCommand(OBJECT_SELF,ActionCloseDoor(oDoor)); // захлопнуть дверь. действие привязанно к рычагу. SetLocked(oDoor,TRUE); // запереть дверь ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE); // рычаг переходит в другое положение } else if(!GetIsOpen(oDoor)) //иначе, если дверь не открыта { SetLocked(oDoor,FALSE);// отпереть дверь AssignCommand(OBJECT_SELF,ActionOpenDoor(oDoor)); // открыть дверь. ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE); // перевод рычага в другое положение } } Как все поняли этот скрипт на OnUsed рычага, я его туда ставлю, соответственно ввожу ТЭГ двери, но почемуто когда использую рычаг нечего не происходит. |
![]()
Сообщение
#1453
|
|
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Проверил скрипт, у меня все работает. Может ты тег не тот пишешь?
Сообщение отредактировал -fenix- - Jun 19 2005, 11:10 |
![]()
Сообщение
#1454
|
|||
Level 5 ![]() ![]() Класс: Рейнджер Характер: Neutral Good Раса: Человек ![]() |
Тута как я понимаю такое дело. Это значит, что "впитывание" пробивается только +1 и выше оружием. Т.е. Если тебя бьют обычным мечом, то все как сказал ДБ. Если +1, то твое "впитывание" уже не работает. Обычно такое свойство висит на шкурках всяких мэджик бистов, которые пробиваются только зачарованным оружием. Если я ничего не перепутал. |
||
![]()
Сообщение
#1455
|
|||||
Level 5 ![]() ![]() Класс: Убийца Характер: True Neutral Раса: Чудовище ![]() |
Dark@ngel
А вообще, возьми и покопайся в стандартных скриптах - найдешь много интересного. |
||||
![]()
Сообщение
#1456
|
|
Level 2 ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Friedrich, DBColl, Санькс.
Тогда еще вопросик: Есть задачка, для решения которой у меня, пока что, слишком мало знаний: Есть стафф, с тегом staf и РезРеф’ом staf. Задача: Если стафф лежит в контейнере. И на контейнер кастуется заклинание. То: если это заклинание 0-го уровня то у стаффом можно колдовать это заклинание бесконечно в день. если 1-го то – 5\день если 2-го 4\день 3-го 3\день 4-го 2 5-го 1 Если у стаффа уже есть восемь заклинаний, и этим способом в него пытаются запихнуть девятое – стафф уничтожается с такой-то анимацией на контейнере. В принципе, там еще проверки на наличие определенных предметов в том же контейнере, но это я и сам напишу. =) Второй вопрос: Можно ли сделать проверку на Школу магии, выбранную волшебником(цой)? Не пакет, а именно школу (Некромантия, Воскрешение, Иллюзия, Защитная...) |
![]() ![]()
Сообщение
#1457
|
|||||
Восставший из пепла ![]() ![]() ![]() Класс: Бледный Мастер Характер: Neutral Evil Раса: Человек ПОДМАСТЕРЬЕ ![]() |
Вставь это в OnHeartBeat НеПиСя:
А Агрессинг тебе загнул супер пупер скрипт с просто дофигищем проверок. В большинстве случаев просто ненужных. Ну что уж поделать - у BioWare все оч продумано :D ЗЫ Агрессинг! Не пугай новичков! :lol: Сообщение отредактировал Archangel - Jun 20 2005, 13:34 |
||||
![]()
Сообщение
#1458
|
|||
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Актион НПС не выдержит больше 75 действий. Соотвественно, если каждые 6 секунд будет даваться акция сесть, то скоро начнется дикий дебаг :) |
||
![]() ![]()
Сообщение
#1459
|
|||
Восставший из пепла ![]() ![]() ![]() Класс: Бледный Мастер Характер: Neutral Evil Раса: Человек ПОДМАСТЕРЬЕ ![]() |
Да у меня НеПиСей так 30 с таким скриптом в OnHeartBeat стоят и ниче, живы еще :D Ну есть еще один вариант.... моно вставить в OnSpawn, но тогда правильность действий не гарантирую... :no: Сообщение отредактировал Archangel - Jun 20 2005, 13:35 |
||
![]()
Сообщение
#1460
|
|||
Level 19 ![]() Класс: Воин Характер: Lawful Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
В страшном скрипте Биоваров есть на такой случай проверка на занятость. |
||
![]() ![]() |
Текстовая версия | Сейчас: 15th July 2025 - 03:12 |