![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#3721
|
|
Level 4 ![]() ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Я тут создавал свой собственный клас и столкнулся с несколькими проблемами. Если кто поможет их развязать буду очень благодарен.
1-когда я попытался написать cls_pres_**** то не смог найти откуда брать нужные параметры, мне нужно требования только друид, человек, 30 лвл. 2-какой программой редактировать dialog.tlk 3-если я добавляю класу фиты, то ни где не могу их взять(использовать) в игре они не отображаются, тоесть отображаются толшько в описании персонажа, а активные скилы ни куда не выносятся, что делать? 4-я пытаюсь создать совершенно новый клас заклинателя, если можно это сделать, то подскажите как, а если нельзя, то скажите как сделать чтобы мой новый класс мог использовать заклинания друида, как сви, в своем меню. Ну вот вроде всё с остальным я уже смог разобратся, заранее спасибо. Пожалуста не выкладывайте ссылки на англоязычные учебники. P.S. вот еще что где можно взять иконки для класов, в ссылках я не видел. |
![]()
Сообщение
#3722
|
|
Level 3 ![]() Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
На заход в модуль. Что с игроком произойдёт - это нужно вписать в блок. Neverwinter Script object oPC = GetEnteringObject(); if(GetName(oPC) == "имя") { ApplyEffectToObject(DURATION_TYPE_INSTANT, oPC, SupernaturalEffect(EffectDeath())); // например, эта строчка убьёт игрока с неугодным именем BootPC(oPC); //а эта выкинет его из модуля } Пиплы! не работает!!! ваще никак! не выкидывает, а на убивание вообще компайлер сохранять такой скрипт не хочет! (IMG:style_emoticons/kolobok_light/unsure.gif) Может вся проблема в GetFirstPC? Neverwinter Script if (GetName(GetFirstPC()) == "Лорд Нэшер Собственной Персоной") Имеется ввиду только имя? или вместе с фамилием? |
![]()
Сообщение
#3723
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Я тут создавал свой собственный клас и столкнулся с несколькими проблемами. Если кто поможет их развязать буду очень благодарен. 1-когда я попытался написать cls_pres_**** то не смог найти откуда брать нужные параметры, мне нужно требования только друид, человек, 30 лвл. 2-какой программой редактировать dialog.tlk 3-если я добавляю класу фиты, то ни где не могу их взять(использовать) в игре они не отображаются, тоесть отображаются толшько в описании персонажа, а активные скилы ни куда не выносятся, что делать? 4-я пытаюсь создать совершенно новый клас заклинателя, если можно это сделать, то подскажите как, а если нельзя, то скажите как сделать чтобы мой новый класс мог использовать заклинания друида, как сви, в своем меню. Ну вот вроде всё с остальным я уже смог разобратся, заранее спасибо. Пожалуста не выкладывайте ссылки на англоязычные учебники. P.S. вот еще что где можно взять иконки для класов, в ссылках я не видел. 1. Общий уровень чара вроде бы нельзя включить в требования. Можно потребовать определённую базовую атаку. Код 2DA V2.0 LABEL ReqType ReqParam1 ReqParam2 0 Human RACE 6 **** 1 Druid CLASS 3 **** 2 BaseAttack_20 BAB 20 **** 3 ScriptVar VAR <имя переменной> 0 2. Content Editor 3. Поставить OnMenu в 1ку в cls_feat_*** 4. Вроде бы только заменить друида, кастомные спелбуки нвн не поддерживает. У меня есть проект кастомного спелбука через фиты, но это страшное извращение, да и непонятно, что делать с метамагией (IMG:style_emoticons/kolobok_light/smile.gif) П. С. - Например, нарисовать (IMG:style_emoticons/kolobok_light/smile.gif) Цитата Хмы, у нас нету таких файлов, есть тока pakages вообще, но там все сразу завязано тама как раз и написаны Pack-такой, Pack-сякой. А где сами пэки? Скачать 2да 1.68, где-то у биоварей валялись.Цитата Ага, тока почему-то у тебя это или нормально выглядит, а в том скрипте написано циферками. Это типа несоответствие html-кодов? Хтмл тут ни при чём (IMG:style_emoticons/kolobok_light/wink3.gif) Цитата Пиплы! не работает!!! ваще никак! не выкидывает, а на убивание вообще компайлер сохранять такой скрипт не хочет! GetName() вернёт строку "имя, пробел, фамилия". Не хочет сохранять, потому что я с ходу не помню порядок аргументов в ApplyEffectToObject(). Значит, нужно так:Может вся проблема в GetFirstPC? Neverwinter Script ApplyEffectToObject(DURATION_TYPE_INSTANT, SupernaturalEffect(EffectDeath()), oPC); GetFirstPC() ни при чём)
Сообщение отредактировал Ilerien - Jun 23 2008, 20:39 |
![]() ![]()
Сообщение
#3724
|
|
Level 4 ![]() ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Цитата 3. Поставить OnMenu в 1ку в cls_feat_*** мдя протупил я. Цитата 4. Вроде бы только заменить друида, кастомные спелбуки нвн не поддерживает. тогда как заменить друида, я пробовал, ничего не получилось, вродебы везде гденадо друида ставил и пробовал свои таблицы некоторые писать, такие как cls_spgn_volhv всеравно ничего не вышло. (IMG:style_emoticons/kolobok_light/unsure.gif) А вообще спасибо большое! Цитата Например, нарисовать Если можно скажи с помощью какой проги можно такие нарисовать и как их добавить в невер |
![]()
Сообщение
#3725
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Если можно скажи с помощью какой проги можно такие нарисовать и как их добавить в невер Paint (IMG:style_emoticons/kolobok_light/smile.gif) Только потом сохранить формате TGA любой прогой, которая это умеет делать, например, ACDSee. Добавить - ну например сунуть в хак, подключённый к нужному модулю. Или в оверрайд.
|
![]()
Сообщение
#3726
|
|
Level 3 ![]() Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
Не хочет сохранять, потому что я с ходу не помню порядок аргументов в ApplyEffectToObject(). Теперь он убивает героя, а как с Boot'om быть? Там вроде написано, что надо тока oPC дописать в скобках, а оно не фурычит(IMG:style_emoticons/kolobok_light/sad.gif) Убивание ПС нам не подходит, потому что потом можно респауном возродиться и спокойно дальше ходить(IMG:style_emoticons/kolobok_light/sad.gif) |
![]()
Сообщение
#3727
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Не мог бы кто-нибудь подсказать мне, где почитать про установку секретных дверей? Желательно, по-русски, в английском лексиконе как-то не очень понятно. Заранее спасибо Вот ![]() ерефка в ней триггер + дверь в палитру. Скрипт создает плейсебл (любой) на вейпоинте. Дверь как пример. Выглядит так: идет РС и Хеньман, если игра на Изи то хеньчман говорит фразу (настраивается) "помоему тут что -то есть!". Если игрок профукал проверку поиска, то ничего не создается. Если нет, то хеньчман говорит типа посомтри внимательно туда! Тут БАХ трат та та! Куча спелов бум в дымке закла появляется дверь! У игрока над головой текст "Вы увидели потайную деврь!" и хеньчман говорит, но вот видишь! (настраивается). Так можно создать хоть что, хоть дверь, хоть корабль, хоть люк в полу. Сама дверь плейсебловая, но у нее в свойствах есть скрипт, который запускает игрока туда куда ты укажешь в свойствах. Локальный стринг равен месту перемещения. Скрипт создает дверь, а потом запускает любой нужный тебе скрипт на эту новую дверь. Она может открыться или ей мойжно присвоить локальный стринг того поинта, куда будет попадать игрок. Если интересно могу набрасать демо мод, как все работает... Так же есть система такая же для итемов. Наглядно видно как в монете находятся предметы на песке или в домах, как буд то игрок нашел что то случайно. Но при этом помощники помогают, подсказывают комментирую найденное... Вот скрипт на плейсебл дверь. Neverwinter Script //:://////////////////////////////////////////////
//:: OnExit am_pus_used_door //:: Copyright © 2005 WRG! //::////////////////////////////////////////////// /* Скрипт использования PLC_ дверей и люков. LocalString "TRANSITION_TARGET" - Таг вейпоинта или триггера, куда мы перемещаемся. Если на объекте не будет этого стринга, значит он просто откроется - закроется при повторном использовании. */ //::////////////////////////////////////////////// //:: Created By: Aiwan //:: Created On: 08.10.2005 //::///////////////////////////////////////////// #include "am_inc_common" void main() { object oPC = GetLastUsedBy(); string sTarget = GetLocalString(OBJECT_SELF, "TRANSITION_TARGET"); // sTarget - Это ТАГ объекта, куда мы переместимся object oTarget = GetObjectByTag(sTarget); // Сам объект if (GetLocked(OBJECT_SELF)) // Если закрыт, то ищем ключ и открываем { string sKey = GetTrapKeyTag(OBJECT_SELF); object oKey = GetItemPossessedBy(oPC, sKey); if (sKey != "" && GetIsObjectValid(oKey)) { SetLocked(OBJECT_SELF, FALSE); } else { DelayCommand(0.1, PlaySound("as_dr_locked2")); return; } } if (GetIsOpen(OBJECT_SELF) && sTarget !="") // Если открыт и есть цель { AssignCommand(oPC, ClearAllActions()); if(!GetIsObjectValid(oTarget)) // Если ошиблись с тагом цели { Debug("<cу >ВНИМАНИЕ! </c>Не могу найти точку перемещения!"); AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_MID)); DelayCommand(1.0, ActionPlayAnimation(ANIMATION_PLACEABLE_CLOSE)); SetLocalInt(OBJECT_SELF, "OPEN", FALSE); return; } DelayCommand(0.7, AssignCommand(oPC, JumpToObject(oTarget))); // Следом за игроком отправляем всех помощников DelayCommand(1.0, JumpAssociateToObject(oPC, oTarget)); SetLocalInt(OBJECT_SELF, "OPEN", FALSE); DelayCommand(1.5, ActionPlayAnimation(ANIMATION_PLACEABLE_CLOSE)); return; } if (!GetIsOpen(OBJECT_SELF)) { AssignCommand(oPC, ActionPlayAnimation(ANIMATION_LOOPING_GET_MID)); DelayCommand(1.0, ActionPlayAnimation(ANIMATION_PLACEABLE_OPEN)); SetLocalInt(OBJECT_SELF, "OPEN", TRUE); } else { ActionPlayAnimation(ANIMATION_PLACEABLE_CLOSE); SetLocalInt(OBJECT_SELF, "OPEN", FALSE); } } |
![]()
Сообщение
#3728
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Теперь он убивает героя, а как с Boot'om быть? Там вроде написано, что надо тока oPC дописать в скобках, а оно не фурычит Бут, наверное, в сингле не работает (IMG:style_emoticons/kolobok_light/smile.gif) Можно попробоватьNeverwinter Script EndGame("");
|
![]()
Сообщение
#3729
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Если интересно могу набрасать демо мод, как все работает... Интересно. (IMG:style_emoticons/kolobok_light/smile.gif) А еще интересно, можно ли настроить скрипт так, чтобы дверь появлялась только тогда, когда у игрока в слоте "амулет" надет определенный предмет (IMG:style_emoticons/kolobok_light/smile.gif) |
![]() ![]()
Сообщение
#3730
|
|
Level 4 ![]() ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
Эээ... так ктонибудь знает как заставить новый класс использовать магию друида?
Заранее спасибо. |
![]()
Сообщение
#3731
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Интересно. А еще интересно, можно ли настроить скрипт так, чтобы дверь появлялась только тогда, когда у игрока в слоте "амулет" надет определенный предмет Легко. (IMG:style_emoticons/kolobok_light/smile.gif) Но мне надо будет пару строк внести в общий код. А можно отдельно скрипт написать. |
![]()
Сообщение
#3732
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Интересно. А еще интересно, можно ли настроить скрипт так, чтобы дверь появлялась только тогда, когда у игрока в слоте "амулет" надет определенный предмет Легко, могу внести опцию в систему (IMG:style_emoticons/kolobok_light/smile.gif) Шад, ты спрашивай, если что-то в моих доках непонятно (IMG:style_emoticons/kolobok_light/wink3.gif) Цитата Эээ... так ктонибудь знает как заставить новый класс использовать магию друида? Насколько я понимаю, можно только убрать друида и вместо него прописать свой класс...
Сообщение отредактировал Ilerien - Jun 24 2008, 17:32 |
![]() ![]()
Сообщение
#3733
|
|
Level 4 ![]() ![]() Класс: Друид Характер: True Neutral Раса: Человек ![]() |
И снова я!
Я тут покопался и нашел аддон позволяющий развивать 60 уровней, но как его ставить не врублюсь может ктонибудь знает? P.S. Когда я создаю свой класс он всегда престиж и берется минимум со 2 уровня, в чем проблема? |
![]()
Сообщение
#3734
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Когда я создаю свой класс он всегда престиж и берется минимум со 2 уровня, в чем проблема? Возможно, не указывать ссылку на табличку пререквизитов (IMG:style_emoticons/kolobok_light/smile.gif) Если не поможет - хз, так глубоко в этом направлении не копал.
|
![]()
Сообщение
#3735
|
|
Level 3 ![]() Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
Бут, наверное, в сингле не работает (IMG:style_emoticons/kolobok_light/smile.gif) Можно попробовать Neverwinter Script EndGame(""); А что ставить в кавычках, которые в скобках? (после EndGame) Название файла модуля? Или имя PC? Или что-то еще? А про бут мы так почему-то и подумали=))) |
![]()
Сообщение
#3736
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
"" - это пустая строка. Там реф финального ролика, но в этом случае он нафиг не нужен (IMG:style_emoticons/kolobok_light/smile.gif)
Сообщение отредактировал Ilerien - Jun 24 2008, 19:22 |
![]()
Сообщение
#3737
|
|
Level 3 ![]() Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
Он конечно нафиг не нужен, но без него компайлер не хочет скрипт сохранять, пришлось титры присобакать. А как мона самим эти титры сделать?
|
![]()
Сообщение
#3738
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Почему вдруг не хочет? Он проверяет исключительно соответствие типа формального параметра типу фактического, а наличие ролика ему глубоко пофиг. "" - это тоже строка, так что компилироваться должно прекрасно.
|
![]()
Сообщение
#3739
|
|
Level 3 ![]() Класс: Обыватель Характер: Neutral Good Раса: Человек ![]() |
Значит пустые кавычки мона=)) Гым! А на всякий случай, титры-то ваще мона свои сделать? Вроде, где-то кто-то говорил, что есть специальная прога... или у нас глюки?
|
![]()
Сообщение
#3740
|
|
Миловидный Бегрюссунг ![]() Класс: Воин Характер: Chaotic Good Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Шад, вот демо-мод
![]() и все настроено в нем. короче. Иди на магические вспышки. Возьми перса, у которого нет режима обнаружения по умолчанию. На картинках написано как настроить триггеры. Что бы дверь которая появляется (а можно хоть дом плейсебл сделать) была рабочей, ты должна установить заранее вейпоинт и при создании двери просто на нее запустить скрипт присвоения локального стринга равного имени вейпоинта. если лень, то можеш создать сколько надо дверей и в их свойствах сразу указать куда перемещается РС. И закинуть в палитру. В каждом новом триггере пропишешь нужный ресреф двери и все. ![]() Настройки триггера для плейсеблов. Создаем рандомно на случайной локации. Если как у нас на специальном месте то SECRET_PLC_TR_SEARCH_PLC_DOOR_01 - Таг вейпоинта. Жирным - таг триггера он равен таг поинта (создал в палитре) + таг триггера. Код ResRef объекта = стрингу на триггере PLC_ResRef Поле триггера KeyTag - сложность проверки скилла: DC_EASY = 0; DC_MEDIUM = 1; DC_HARD = 2; Имя триггера - фраза над игроком float "DISTANCE" радиус на котором находим объект или специально на месте объекта "SECRET_PLC_"+[Таг Триггера] LocalInt "ACTION_MODE_DETECT" == 1 устанавливает свойство триггера, он сработает только когда РС в режиме обнаружения. специально на месте объекта ![]() Код ResRef объекта = стрингу на триггере CLASS_TYPE_ALL Если его нет, то создаем для каждого класса свой. Поле триггера KeyTag - сложность проверки скилла: DC_EASY = 0; DC_MEDIUM = 1; DC_HARD = 2; Имя триггера - фраза над игроком float "DISTANCE" радиус на котором находим объект LocalInt "ACTION_MODE_DETECT" ==1 устанавливает свойство триггера, он сработает только когда РС в режиме обнаружения. Настройки для итемов такие же. Только тут можно создать для каждого класса что я прописал. Это из ПВ, там ограничения я все классы не обработал. Какой надо скажешь, добавим. Триггер для фраз над игроком проще пареной репы. Читай его описание в свойствах триггера. Триггер старт диалога с НПС так же. Он работает по принципу таг триггера - TR_CONV_ТАГ_НПС. Код Тест над NPC, KeyTag - больше 0 - подбежит. К тагу триггера добавляете таг НПС. Пример: TR_CONV_[ТАГ_НПС] -------------------------------------------------------------------- Если поле Deity НПС содержит цифру (см внизу), то НПС вроспроизведет анимацию: 5 - Смотрит вдаль 9 - Просить 10 - Ругать 11 - Смех 104 - Салют 107 - Приветствие 108 - Насмешка Вот простой скрипт am_exe_door_001 который мы запустили после создания двери. там может быть что угодно... Neverwinter Script //::////////////////////////////////////////////// //:: OnSpawn am_exe_door_001 //:: Copyright © 2005 WRG! //::////////////////////////////////////////////// /* Дверь в склеп. Секретная. Присваиваем место перемещения при создании двери скриптом. */ //::////////////////////////////////////////////// //:: Created By: Aiwan //:: Created On: 26.09.2005 //::////////////////////////////////////////////// void main() { object oSelf = OBJECT_SELF; SetLocalString(oSelf, "TRANSITION_TARGET", "AM_EXIT_DOOR_002"); } В ствойствах двери создаваемой посмотри локалки. поймешь как работает эта дверь. |
![]()
Сообщение
#3741
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Ilerien, Aiwan, спасибо! (IMG:style_emoticons/kolobok_light/thank_you.gif) Коврыяю демки. никогда не думала, что это настолько сложно...
Ilerien, комментарии обязательно поднадобятся, вот только сформулирую. Так-то, в принципе, понятно, для чего и как. Но сама никогда не напишу такого, конечно. (IMG:style_emoticons/kolobok_light/smile.gif) Интересно, что ты плейс создаешь на Invisible Object... А если я захочу, чтобы дверь никуда не исчезала после ухода игрока (делаю сингл), мне просто с хартбита у резрефа снять скрипт, и все? Или закомментить строки эти просто в скрипте? Айв, амулет от поноса и дракон на водопое - сила-вещь! Кстати, игроку с прокачанным поиском интереснее там ходить (IMG:style_emoticons/kolobok_light/smile.gif) Вообще, я попробую соединить все и посмотреть, что получится. Спасибо еще раз! Сообщение отредактировал shadowdweller - Jun 24 2008, 23:23 |
![]()
Сообщение
#3742
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Интересно, что ты плейс создаешь на Invisible Object... А если я захочу, чтобы дверь никуда не исчезала после ухода игрока (делаю сингл), мне просто с хартбита у резрефа снять скрипт, и все? Или закомментить строки эти просто в скрипте? Если ты закомментишь уничтожение двери, то каждый раз будет создаваться новая на том же месте. Можно убрать скрипт из хб видимой двери - тогда скрипт создания будет думать, что она есть.Н-да, система делалась для PW (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#3743
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
А еще такой вопрос - обязательно такой сложный скрипт писать на проверку надетого предмета у игрока или можно воспользоваться стандартным условием? Я просто скрипт у Айва посмотрела и жутко впечатлилась. Ключевое слово - жутко. (IMG:style_emoticons/kolobok_light/smile.gif)
Сообщение отредактировал shadowdweller - Jun 25 2008, 22:44 |
![]()
Сообщение
#3744
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Neverwinter Script if(GetTag(GetItemInSlot(oPC, <...>)) == "<...>") этого хватит (IMG:style_emoticons/kolobok_light/smile.gif) |
![]()
Сообщение
#3745
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
Ilerien,
Neverwinter Script if (GetTag(GetItemInSlot(oPC, INVENTORY_SLOT_NECK)) == "Branzuletko") return TRUE; return FALSE; Так? И в начале скрипта его ставить, и потом выполнение? |
![]() ![]() |
Текстовая версия | Сейчас: 7th August 2025 - 09:55 |