![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#2286
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
1. Хз, я не видел. Думаю, что нет.
2. Волт 3. См. п. 2. (IMG:style_emoticons/kolobok_light/smile.gif) Сообщение отредактировал Ilerien - Sep 29 2008, 20:17 |
![]()
Сообщение
#2287
|
|
Level 17 ![]() Класс: Волшебник Характер: Neutral Good Раса: Человек NWN: Скриптинг [PW] Axistown SR 1.9 NWNX ![]() |
Э, всем прив.Долго нет был сломян.Тут возник вопрос...Подскожите илидайте ссылку на тему , ну типа как можно размещать обекты или тайсеты за границей локи.Спасибо. (IMG:style_emoticons/kolobok_light/rolleyes.gif) Я делал модифицированный тулсет для этого, но мало экспериментировал с таким размещением плейсов. Ни для чего особо не пригодилось.
|
![]()
Сообщение
#2288
|
|
Level 2 ![]() Класс: Воин Характер: True Neutral Раса: Человек ![]() |
Ilerien, фенькс (IMG:style_emoticons/kolobok_light/rolleyes.gif) .
virusman, дай ссылку чтоли, а то оч нужно (за границами are'и пустота... мда - не реально да и некрасиво это както. Но! У меня появилась хорошая мыслишка!(Ну или вопросик.) Никто не поможет написать скриптик (ну типа игрок идет, ас в переди триггиер.Игрок пытается идти дальше, а пройти не может. Никто не подсобит с скриптиком? (IMG:style_emoticons/kolobok_light/scratch_one-s_head.gif) |
![]()
Сообщение
#2289
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Только такой вопрос надо в теме про скрипты задавать.
Я как-то видел реализацию заклинания antilife shell из пхб - АОЕ с центром на кастующем не пускало внутрь живых существ (IMG:style_emoticons/kolobok_light/smile.gif) Поступаем так: рисуем триггер, в центре его ставим вейпоинт с определённым тегом (например, WP_TR_JUMP_CENTER). Задача осложняется тем, что размер/форма триггера у нас не определены. Поэтому триггер нужно рисовать так, чтобы расстояние от центра было постоянным - это либо круг, либо его сегмент (если мы уверены, что игрок придёт с определённой стороны). Далее, на границе триггера (чуть подальше самой границы - чтобы игрока не кинуло на триггер) ставим вейпоинт (например, с тегом WP_TR_JUMP_RADIUS), который позволит померить радиус триггера. На onEnter триггера вешаем такой скрипт: Neverwinter Script //функция считает длину вектора vVector float GetVectorModule(vector vVector); void main() { object oPC = GetEnteringObject(); location lLoc = GetLocation(oPC); location lJumpPoint; vector vCenter = GetPositionFromLocation(GetLocation(GetObjectByTag ("WP_TR_JUMP_CENTER"))); //центр триггера относительно начала координат vector vJumpPoint = GetPositionFromLocation(lLoc) - vCenter; //игрок относительно центра триггера float fRadius = GetVectorModule(GetPositionFromLocation(GetLocatio n(GetObjectByTag("WP_TR_JUMP_RADIUS"))) - vCenter); //считаем радиус триггера float fCoefficient = fRadius / GetVectorModule(vJumpPoint); //считаем расстояние, на которое нужно откинуть игрока от центра vJumpPoint = Vector(vJumpPoint.x * fCoefficient, vJumpPoint.y * fCoefficient, vJumpPoint.z * fCoefficient); //место, в которое нужно откинуть игрока, относительно центра триггера lJumpPoint = Location(GetArea(oPC), vJumpPoint + vCenter, GetFacingFromLocation(lLoc)); AssignCommand(oPC, ClearAllActions()); AssignCommand(oPC, DelayCommand(0.05f, JumpToLocation(lJumpPoint))); //перенос } float GetVectorModule(vector vVector) { return sqrt(vVector.x * vVector.x + vVector.y * vVector.y + vVector.z * vVector.z); } А вообще, можно проще сделать - чтобы кидало на определённый вейпоинт (IMG:style_emoticons/kolobok_light/smile.gif) Сообщение отредактировал Ilerien - Oct 1 2008, 13:11 |
![]()
Сообщение
#2290
|
|
Level 2 ![]() Класс: Воин Характер: True Neutral Раса: Человек ![]() |
Ilerien? огромное спасибо! (IMG:style_emoticons/kolobok_light/declare.gif)
Ilerien? - сори... опечатка |
![]()
Сообщение
#2291
|
|
Level 2 ![]() Класс: Воин Характер: True Neutral Раса: Человек ![]() |
У меня небольшая проблемка.Чето я подзабыл как модули из папки nwm/ открыть в тулсете. Неподскажете?
|
![]()
Сообщение
#2292
|
|
Level 9 ![]() Класс: Вор Характер: Chaotic Good Раса: Эльф МАСТЕР Переводов ![]() |
1. Копируешь нужный файл в папку "modules"
2. Меняешь его расширение на .mod 3. Открываешь в тулсете. 4. Наслаждаешься (IMG:style_emoticons/kolobok_light/wink3.gif) Сообщение отредактировал shadowdweller - Oct 8 2008, 11:08 |
![]()
Сообщение
#2293
|
|
Level 2 ![]() Класс: Воин Характер: True Neutral Раса: Человек ![]() |
У меня такая вот фигня:
копирую, меняю расширение, а открыть в тулсе немогу!!!!! (когда появляется окно с списками модулей, модуля из папки /nwm НЕТУ!!!!!!!!!!!!!!!!!!!!!!!!!! шо за фигня!..... (IMG:style_emoticons/kolobok_light/shout.gif) |
![]()
Сообщение
#2294
|
|
Level 3 ![]() Класс: Воин Характер: Lawful Evil Раса: Человек ![]() |
Хмм... Хедин, я специально проверил - все работает. Если хочешь убедиться, то у тебя должна смениться информация о файле при смене расширения. То есть, например:
Было: Стало: XP1-Chapter 2.nwm -> XP2_Chapter1.mod Файл "NWM" -> Protracker Module 19 377 КБ -> 19 377 КБ И в тулсете я вижу этот модуль. Только предупреждаю, он должен быть в категории "Нормальные модули", а не "модули компаний". Вроде всё... больше ничем помочь, прости, не могу. (IMG:style_emoticons/kolobok_light/sad.gif) Кстати... у меня тут вопрос назрел)) Да-да, я просто так посты не пишу, все сугубо в корыстных целях)) Итак, суть: есть замечательная функция ActionCastSpellAtObject. Она позволяет любому субъекту скастовать любое заклинание на любой объект соответственно. Однако! Я нигде не нашел упоминанй о Уровне Заклинания. Который зависит от уровня колдующего. То есть, скажем, маг первого уровня прочитает "Магическую стрелу" и у него получится две стрелы, а маг двадцатого уровня, прочитав ту же "Магическую стрелу", получит все пять стрел. Для примера вот строка моего кода: ActionCastSpellAtObject(SPELL_FLAME_ARROW, oPC, METAMAGIC_NONE, TRUE, 0, PROJECTILE_PATH_TYPE_DEFAULT, TRUE)); При исполнении скрипта в игрока (object oPC) вылетает две огненные стрелы. Но это базисный уровень заклинания. Можно ли сделать так, чтобы в игрока вылетело, скажем, пять стрел, как это было бы при чтении заклинания высокоуровневым магом? Добавлено позже: Кстати, если кто знает способ заменить модель волшебника (CREATURE) на модель размещаемого объекта (PLACEABLE), напишите, пожалуйста. Так ведь тоже можно решить проблему. Если конкретнее, надо, чтобы в меню выбора внешности персоонажа можно было выбрать модель баллисты и катапульты. Сообщение отредактировал Neakris - Oct 8 2008, 22:14 |
![]()
Сообщение
#2295
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата Можно ли сделать так, чтобы в игрока вылетело, скажем, пять стрел, как это было бы при чтении заклинания высокоуровневым магом? Да, пофиксив скрипт заклинания. Если идёт читерный каст каким-нибудь файтом заклинания, то кастерлевел берётся 2 * innatelevel - 1.Цитата Кстати, если кто знает способ заменить модель волшебника (CREATURE) на модель размещаемого объекта (PLACEABLE), напишите, пожалуйста. Так ведь тоже можно решить проблему. Если конкретнее, надо, чтобы в меню выбора внешности персоонажа можно было выбрать модель баллисты и катапульты. Моделек баллисты и катапульты для существ нет. Путей решения 2 - сделать собственные модельки (чем принципиально отличаются модельки для плейсов и для существ, хз, возможно, что и ничем) либо поставить плейс вместо существа, его тоже можно заставить кастовать (IMG:style_emoticons/kolobok_light/smile.gif)
|
![]()
Сообщение
#2296
|
|
Level 2 ![]() Класс: Воин Характер: True Neutral Раса: Человек ![]() |
Наверно я всех замучил с своей проблемой)) НО! У меня получилось! Не обычным способом))
То есть запустил WRG! Editor, открыл файл nwn кампании, а затем сохранил его в папке modules\ с расширением .mod! Все равно, Neakris спасибо.Когда назреет еще один вопрос, обращусь сюда. ))))))) Сообщение отредактировал Hedeen - Oct 10 2008, 09:30 |
![]()
Сообщение
#2297
|
|
Level 3 ![]() Класс: Псионик Характер: Neutral Good Раса: Человек NWN: Скриптинг [Sn] ![]() |
Есть более простой способ.
Клацаешь правой кнопкой мыши по любому файлу nwm (мод компании), выбераешь "Свойства", кликаешь по кнопке "Изменить" и указываешь полный путь до "nwtoolset.exe". После чего "Ок" и всё. Теперь простым дбл-клацем по любому из этих файлов (nwm) ты автоматом будешь открывать их в тулсете. |
![]()
Сообщение
#2298
|
|
Level 3 ![]() Класс: Воин Характер: Lawful Evil Раса: Человек ![]() |
Товарищи, снова обращаюсь к вам за помощью!)
Не подскажете, как создать визуальный эффект полета огненного шара? Объясняю подробнее: Есть замечательная функция EffectBeam, она создает ЛУЧ от объекта А до объекта Б. Например, как в заклинании 0 круга Морозный луч. Я же хочу, чтобы была визуалка, как, скажем, при чтении заклинания огненынй шар - то есть чтобы от объекта А в объект Б полетел "огненный шар". В кавычках, потому что настоящим огненным шаром он являться не будет - это должна быть всего лишь визуалка. По аналогии хотелось бы также научиться "плеваться" кислотой, как это происхлдит при чтении заклинания Кислотная вспышка. Конечно, можно воспользоваться функцией CastSpellFake... или как-то там, но мне нужно чтобы эффект налагался мгновенно, как при чтении ускоренного заклинания (как в функции CastSpell(instant spell = TRUE)). Воть... Вроде все. Заранее спасибо. |
![]()
Сообщение
#2299
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Можно сделать свой спелл, скопировав ниже часть строки с фаерболом в spells.2da, вместо названия скрипта спелла поставить ****, главное, чтобы совпадали столбцы, отвечающие за projectile. После этого спокойно вызывать ActionCastSpellAtObject/Location с этим спеллом.
|
![]()
Сообщение
#2300
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
ActionCastFakeSpellAtObject делает мгновенный эффект полета, если я не ошибаюсь.
|
![]()
Сообщение
#2301
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Там хитрее, если это существо, то анимация каста проигрывается, если нет - то мгновенный эффект.
|
![]()
Сообщение
#2302
|
|
Level 3 ![]() Класс: Воин Характер: Lawful Evil Раса: Человек ![]() |
Ilerien, спасибо. Мысль хорошая насчет своего спелла, но не хочется грузить пользователья модифицированными файлами игры, это раз. Во-вторых, единственное, с чем я еще не разобрался - просто не стал пока что разбираться - это с редактированием 2da файлов. В принципе, я, думаю, уделю этому времечко попозже (помнится, на Игромании был неплохой (или нехороший) самоучитель по редактированию 2da). Тем не менее, меня интересовало как сам эффест полета через скрипт прописать. Ну да ладно, в принципе, это нужно было для идеала. Без идеала обойдусь, пойду окольными путями))
P.S. не сразу заметил твой последний пост. Насчет существа... у меня существо) Если быть точным, то "нуль-человек" =) Воть такъ... Lex, к сожалению, ты ошибаешься. Эффект не мгновенный. То есть, сначала видно "облачко формирующегося заклинания" в руках заклинателя, и только потом оформленная конструкция летит к цели. Ну да не суть... вобщем, КастСпелаПонарошку здесь не совсем в теме. Для меня важно, чтобы эффект был наложен мгновенно. Теперь... еще один вопрос, уважаемые скриптеры и не только. Есть ли возможность заблочить инвентарь игроку? То есть ЛИБО сделать так, чтобы он не мог открыть инвентарь в принципе и не мог воспользоваться предметами оттуда, ЛИБО сделать так, чтобы с предметами нельзя было что-либо сделать. Так бывает, когда ты Shapeshifter'ом принимаешь форму кого-нибудь с чем-нибудь в руках (скажем, минотавра с уникальным топором минотавра), и ты не можешь ни разоружить себя (как минотавра)), ни перетащить что-нибудь... вобще ничем из инвентаря воспользоваться не можешь, кроме банок. Просто когда подводишь мышь к какому-либо предмету, он помечается как "красный". Короче =) С моими вечно запутанными объяснениями =) Резюме: как заблочить инвентарь игроку?)) P.S. и как сменить морду лица после того, как воспользовался функцией SetAppearance (или как-то так)? Ну... всем заранее спасибо) Сообщение отредактировал Neakris - Oct 20 2008, 20:08 |
![]()
Сообщение
#2303
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата как заблочить инвентарь игроку?)) Теоретически есть возможность. Повесить соответствующий скрипт на onEquipItem, в спеллхук, на активацию шмотки и т. д. Гемора там прилично будет. И багов тоже (IMG:style_emoticons/kolobok_light/smile.gif) Цитата и как сменить морду лица после того, как воспользовался функцией SetAppearance (или как-то так)? Функциями SetPortraitResRef/Id.Цитата Мысль хорошая насчет своего спелла, но не хочется грузить пользователья модифицированными файлами игры, это раз. Да ладно, запихай это дело в хак и приложи к модулю.
Сообщение отредактировал Ilerien - Oct 20 2008, 20:33 |
![]()
Сообщение
#2304
|
|
Level 3 ![]() Класс: Воин Характер: Lawful Evil Раса: Человек ![]() |
Хмм... я тут подумал... понравилось... короче (IMG:style_emoticons/kolobok_light/smile.gif)
просто я решил, что, раз я все равно заблочу инвентарь, то игрок не сможет пользоваться шмотками, верно? Ну а раз он не сможет ими пользоваться, то ему они, собственно, незачем. Ну а раз так, то я просто через цикл While все шмотки игрока помещу куда-нибуть далеко. Например, в сундук. Хорошо спрятанный))) Конечно, так пропадает часть атмосферности, но ведь результат достигнут, верно?) Завтра буду реализовывать... Да, зачем я это тут пишу? Ну, чтобы тот, кто прочел мой вопрос и кому это будет интересно, нашел-таки на него ответ)) Еще вопрос, правда, тоже из разряда "можно сделать через... кхм... но все-таки хочется красиво": можно ли изменять занчение характеристик персоонажа, но не через эффект? Просто функции SetAbility я, естественно, не обнаружил, хотя есть обратная ей функция GetAbility. Вот... а функцией EffectAbilityIncrease/Decrease пользоваться не хочется из-за того, что ее эффект наблюдается игроком в виде значков около портрета и в окне статуса персоонажа. |
![]()
Сообщение
#2305
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата можно ли изменять занчение характеристик персоонажа, но не через эффект? Нельзя (IMG:style_emoticons/kolobok_light/sad.gif) Можно на шкурку повесить, но это всё равно не то...
|
![]()
Сообщение
#2306
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
Там хитрее, если это существо, то анимация каста проигрывается, если нет - то мгновенный эффект. угу, точно. Я обычно фэйк всегда от плэйса делал (ловушки, катапульты и прочие радости), поэтому забыл что бывает когда это на чара вешаешь (IMG:style_emoticons/kolobok_light/smile.gif) просто я решил, что, раз я все равно заблочу инвентарь, то игрок не сможет пользоваться шмотками, верно? Ну а раз он не сможет ими пользоваться, то ему они, собственно, незачем. Ну а раз так, то я просто через цикл While все шмотки игрока помещу куда-нибуть далеко. Например, в сундук. тут пара подводных камушков: - сумки с вещами - о***ый бардак после возврата вещей игроку |
![]()
Сообщение
#2307
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Цитата - сумки с вещами Такое было в ХотУ, на старте отбирались вещи. Когда я до них добрался, не поместились в инвентарь, потому что убились все сумки (IMG:style_emoticons/kolobok_light/smile.gif) Цикл по инвентарю пробегает вещи и в контейнерах тоже, но сами контейнеры надо убивать во избежание.
|
![]()
Сообщение
#2308
|
|
Level 3 ![]() Класс: Воин Характер: Lawful Evil Раса: Человек ![]() |
Ilerien, Lex, спасибо огромное за ответы. Все информация для меня важна)
Хмм... еще вопрос?)) Можно ли сделать так, чтобы у игрока при определенном событии (не важно, каком), восстанавливались все заклинания, но и только. Функция ForceRest, конечно, восстанавливает их, но... черт подери) Она попутно восстанавливает и все хиты и убирает все негативные эффекты. А их мне надо оставить) Мысли есть, как такое сделать? P.S. Сейчас сижу пишу скрипт, который не очень красиво, но это реализует через ForceRest - т.е. я запомню в переменную кол-во хитов и негативные эффекты, потом заставлю игрка отдохнуть, потом снова применю эффекты и изменю кол-во хитов. Некрасиво, согласен. Потому и спрашиваю)) P.P.S. очепятки и грамматику подправил... Сообщение отредактировал Neakris - Oct 23 2008, 08:12 |
![]()
Сообщение
#2309
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
|
![]()
Сообщение
#2310
|
|
Level 11 ![]() Класс: Волшебник Характер: Lawful Evil Раса: Эльф NWN: Скриптинг [PW] Gem of the North ![]() |
Да там как бы и негативные эффекты не очень сохранишь... Длительность-то потеряется в любом случае.
Сообщение отредактировал Ilerien - Oct 23 2008, 18:19 |
![]() ![]() |
Текстовая версия | Сейчас: 14th July 2025 - 08:17 |