Перемещение объектов силой воли — вот что такое телекинез, а в Divinity: Original Sin 2 телекинез — это способность, которую вы можете выбрать изначально. С помощью этой силы вы можете перемещать объекты, которые не может сдвинуть с места одна лишь грубая сила. Однако, даже имея эту доступную силу, игроки могут не знать, как использовать ее в полной мере.
К счастью, сообщество придумало множество способов использования телекинеза в игре. От официального использования до сбоев, способность действительно мощная.
Телекинез в Divnity: Original Sin 2
Когда вы привязываете Телекинез к кнопке, вы можете использовать его для перемещения тяжелых предметов. Изначально у Телекинеза дальность действия составляет четыре метра, но вы можете повысить его уровень, чтобы увеличить его.
Диапазон уровня 5 составляет восемь метров. Диапазон уровня 3 составляет 12 метров. Диапазон уровня 4 составляет 16 метров. Диапазон уровня 5 составляет 20 метров.
TES V Skyrim: Заклинание Телекинез
С большим диапазоном вы можете перемещать объекты дальше от себя. Поскольку способность игнорирует вес объекта, повышение его уровня не влияет на то, сколько вы можете нести.
Некоторые из функций телекинеза:
Движущиеся объекты
Некоторые предметы, которые слишком тяжелы для переноски в руках, легко перемещаются при использовании телекинеза. Это могут быть легкие бочки или тяжелые ящики. Поскольку вы можете перемещать тяжелые предметы, некоторые игроки решили попробовать использовать его в бою.
Вред врагам
Тяжелые предметы наносят урон врагам, когда вы их бросаете. Чем больше вес объекта, тем больше урона он наносит. Независимо от веса объекта, использование Телекинеза требует только одного AP.
В бою вы можете использовать это умение, чтобы блокировать пути и лестницы, заставляя врагов занимать компрометирующую позицию. Когда у вас есть тактическое преимущество, прикончить их будет проще.
Вы можете использовать телекинез, чтобы начать или закончить бой, в зависимости от того, когда вы его активируете.
Бросать ядовитые лампочки
Ядовитые луковицы — это форма жизни, которая причиняет вам вред ядом или пламенем. Обычно, если наступить на них или использовать не тот элемент, они тоже взорвутся. С помощью телекинеза справиться с ними просто.
Вы можете использовать Телекинез, чтобы бросить их в другое место или в других врагов. В игре есть сундук, окруженный этими ядовитыми лампочками. Как только вы выбросите их, вы сможете получить доступ к содержимому сундука, не получив урона.
Ошибка телекинеза
Как мы упоминали ранее, телекинез позволяет игрокам наносить урон врагам, а более тяжелые объекты наносят больше урона, чем более легкие. Предметы в игре имеют вес, и вы можете носить их в своей сумке, которая также может превратиться в импровизированное оружие.
Изначально вы можете носить с собой сумку с предметами и использовать телекинез, чтобы наносить урон врагам. Однако эти предметы и сумки изнашиваются из-за повреждений.
Skyrim AE Стрелы ТЕЛЕКИНЕЗА где взять и как использовать
Таким образом, как можно скорее доберитесь до Форта Радости, где есть Украшенный сундук с бесконечным здоровьем. Как только вы получите этот бонус, вам будет легче поражать врагов, не беспокоясь об уроне.
Используя этот эксплойт, вам больше никогда не придется беспокоиться о вложении средств в боевые навыки.
Вес не проблема
Использование телекинеза в бою вместо оружия звучит ужасающе для врагов. Более того, вам нужно всего 20 килограммов предметов в сундуке или сумке, чтобы мгновенно убить почти все в игре. Кому нужны мечи, когда у тебя здоровенная грудь?
Источник: playtrucos.com
Создание заклинания «Телекинез»
Я еще до конца не закончил перепроверку и чистку заклинания, но (благодаря помощи Saturas-a) удалось довести до ума основную механику. Выкладываю небольшой ролик в надежде услышать, что надо подправить. С эффектами я не заморачивался вообще. Надеюсь на днях закончить и написать развернутую инструкцию.
Saturas
Модостроитель
Регистрация 11 Фев 2009 Сообщения 2.617 Благодарности 1.330 Баллы 315
Re: создание заклинание телекинеза
Вполне себе ничего) Но есть один баг(правда заметить сложно, но есть)
Когда предмет к себе подвигаешь, и Wowремя не прекратить каст, то предмет может оказатся в «Центре» гг, что чревато тем что гг просто не сможет сдвинутся с места без марвина.
Bump: А по сути, респект) на днях свой закончу на г2ексте)
George_M
Участник форума
Регистрация 17 Дек 2010 Сообщения 692 Благодарности 16 Баллы 255
Re: создание заклинание телекинеза
Saturas, у меня такого бага нету — заклинание останавливается автоматически, когда расстояние между ГГ и предметом достигает 150-ти
Saturas
Модостроитель
Регистрация 11 Фев 2009 Сообщения 2.617 Благодарности 1.330 Баллы 315
Re: создание заклинание телекинеза
аа, тогда все ок)
Bump: Тогда советуЮ сделать чтобы хоть чуточку быстрее предмет двигался к гг)
А то сильно уж медленно) ману можно всю спалить)
Myxomop
Почетный форумчанин
Регистрация 28 Май 2005 Сообщения 3.201 Благодарности 2.540 Баллы 455
Re: создание заклинание телекинеза
George_M,
Красота! Ждем инструкцию
George_M
Участник форума
Регистрация 17 Дек 2010 Сообщения 692 Благодарности 16 Баллы 255
Re: создание заклинание телекинеза
Myxomop, инструкции будут на днях.
Saturas, у меня сейчас стоит 1 мана на 100 расстояния — при максимуме в 5000 съест лишь 50, а скорость увеличить конечно стоит
George_M
Участник форума
Регистрация 17 Дек 2010 Сообщения 692 Благодарности 16 Баллы 255
Re: создание заклинание телекинеза
Выкладываю обещанную инструкцию по созданию скриптового заклинания телекинеза для Готики2 с возможностью компиляции готиксорсером. Как я уже писал, с эффектами мне было лень возиться, поэтому здесь используется покореженное заклинание ледяного копья. Учитывая существующие мануалы, не думаю, что для кого-то будет проблемой создать отдельное заклинание.
Выкладываемую версию я протестил и постарался предусмотреть защиту на возможные баги, но учитывая, что скриптингом под вторую Готику я никогда не занимался (я и под первую то по сути не занимался ), да и саму ее последний раз проходил несколько лет назад, мог что-то пропустить, поэтому буду благодарен за выловленные ошибки и постараюсь их исправить. Да, чуть не забыл: это все для версии Готики2НВ 2.6, на голде без фикса приводит к вылету.
Для работы нам понадобится старая версия скриптового пакета Икарус (новая слишком специфически использует работу движка и сорсер с ней помирить крайне проблематично) – ее можно найти в тексте обсуждения на немецком воге, классы двигателя и константы желательно брать из последний версий пакета: http://forum.worldofplayers.de/forum/showthread.php?t=969446 , а также пакет функций для работы с переменными типа float в представлении 32 bit IEEE 754: http://forum.worldofplayers.de/forum/showthread.php?t=500080
На всякий случай, выкладываю используемую мной подборку (классы oCNpc, oCItem, oCGame, oWorld, константы, Икарус и Floats32) – их желательно вставить поближе к началу *.src файла: Посмотреть вложение Ikarus_partial.rar. Икарус урезан – есть только необходимые функции, в которые при потребности были внесены правки для перевариваемости сорсером.
Приступим.
Для начала нам надо предоставить возможность заклинаниям ловить предмет в фокус. Для этого меняем в instance Focus_Magic(C_Focus) значение item_prio с -1 на 0.
Можно переходить к созданию инстанции самого заклинания. Сразу остановлюсь на двух моментах. Первое: как только спелы начинают брать в фокус предметы, двиг подкидываем в нагрузку известный по первой Готике баг: если при зажатой ЛК спрятать руну/свиток, то быстрым кликом все той же ЛК можно подобрать предмет на любом расстоянии.
Как это убрать, я подробно описывал в теме по лечению багов в Г1, так что детально останавливаться не буду. Второе: для плавного движения предмета нам понадобится цикл с таймером. В случае создания заклинания наилучший подобный цикл сама функция Spell_Logic_нашезаклинание, возвращающая SPL_NEXTLEVEL: период отработки будет задаваться соотношение двух величин — time_per_mana и маны, необходимой для перехода на следующий уровень. Итак, имеем:
Код: Скопировать в буфер обмена
[COLOR=Blue]//стоимость перехода на следующий уровень[/COLOR] const int STEP_Icelance=1; [COLOR=Blue]//счетчик цикла[/COLOR] var int stage; [COLOR=Blue]//сбивание фокуса при убирании свитка[/COLOR] func int Spell_Icelance_focus_remover() < var oCNpc Npc; Npc = Hlp_GetNpc( hero ); Npc.focus_vob=0; [COLOR=Blue]//подстраховочное обнуление счетчика[/COLOR] stage=0; return false; >; instance Spell_Icelance(C_Spell_Proto) < time_per_mana = 30; spelltype = SPELL_NEUTRAL; targetCollectRange = 5000; targetCollectAlgo = TARGET_COLLECT_FOCUS; [COLOR=Blue]//чтобы ловило предметы[/COLOR] targetCollectType = TARGET_TYPE_ITEMS; [COLOR=Blue]//сбивание фокуса при убирании свитка[/COLOR] canTurnDuringInvest = Spell_Icelance_focus_remover(); canChangeTargetDuringInvest = false; >;
Пришла очередь тела заклинания. Ассоциируем instance oCItem_Telekinesis (oCItem) с нашим предметом (ссылка на него хранится в Npc.focus_vob) с помощью функции MEM_AssignInst(temp, Npc.focus_vob). Для компиляции в сорсере используем промежуточную переменную с переопределенным типом, которую для компиляции нужно дописать в файл GothicSourcer/ System/RedefinedLocalVariable.dsc следующим образом: int# Spell_Logic_Icelance.temp; (сразу советую дописать туда же int# MEM_InitGlobalInst.game; — она используется в исправленном Икарусе):
Код: Скопировать в буфер обмена
var int temp; temp = oCItem_Telekinesis; MEM_AssignInst (temp, Npc.focus_vob);
Для расчета шага движения используем следующие функции из Floats32 (без них никак – Даэдалус с флотами не дружит):
аddf – сумма двух float;
subf — разница двух float;
divf – отношение двух float;
mkf – делает из простого int равное ему, но записанное в формате 32 bit IEEE 754.
Координаты кастера и предмета содержатся в _zCVob_trafoObjToWorld соответствующих классов. Данная переменная – массив из 16 элементов сделанный из матрицы 4х4. Последняя строчка пустая, а первые три по столбцам содержат 3 вектора ориентации и координату VOB-а, т.е. нас интересуют элементы [3],[7] и [11]. Не забывайте о путанице с Y и Z – вертикаль в [7].
Еще один важный момент – при движении надо менять координаты как предмета в _zCVob_trafoObjToWorld, так и координаты bbox3D в _zCVob_bbox3D_mins и _zCVob_bbox3D_maxs, т.к. они задаются не в относительной, а в абсолютной системе координат. Теперь все это собираем вместе.
Дополнительно вводим счетчик шагов – с его помощью можно регулировать потребление маны, а заодно и задавать алгоритм движения на разных стадиях заклинания (не забываем его обнулить, заодно желательно добавить для надежности запасное обнуление в функцию сбивания фокуса – неизвестно как поведет себя двиг игры при избиении кастера в неподходящий момент). Сейчас в коде подстраховочная начальная стадия движения, чтобы предметы не проваливались под поверхность мира – грубый вариант, подымает на высоту bbox3D. Можно добавить просто постепенное поднятие первые n шагов движения. Советую подганять под потребности мода – если предметы прятать под потолком пещеры, поднятие нежелательно.
Код: Скопировать в буфер обмена
instance oCItem_Telekinesis (oCItem); var int step_x; var int step_y; var int step_z; var int numb_of_steps; [COLOR=Blue]//функция движения предмета[/COLOR] func void new_Telekinesis () < oCItem_Telekinesis._zCVob_trafoObjToWorld[3]=addf(oCItem_Telekinesis._zCVob_trafoObjToWorld[3],step_x); oCItem_Telekinesis._zCVob_trafoObjToWorld[7]=addf(oCItem_Telekinesis._zCVob_trafoObjToWorld[7],step_z); oCItem_Telekinesis._zCVob_trafoObjToWorld[11]=addf(oCItem_Telekinesis._zCVob_trafoObjToWorld[11],step_y); oCItem_Telekinesis._zCVob_bbox3D_mins[0]=addf(oCItem_Telekinesis._zCVob_bbox3D_mins[0],step_x); oCItem_Telekinesis._zCVob_bbox3D_mins[1]=addf(oCItem_Telekinesis._zCVob_bbox3D_mins[1],step_z); oCItem_Telekinesis._zCVob_bbox3D_mins[2]=addf(oCItem_Telekinesis._zCVob_bbox3D_mins[2],step_y); oCItem_Telekinesis._zCVob_bbox3D_maxs[0]=addf(oCItem_Telekinesis._zCVob_bbox3D_maxs[0],step_x); oCItem_Telekinesis._zCVob_bbox3D_maxs[1]=addf(oCItem_Telekinesis._zCVob_bbox3D_maxs[1],step_z); oCItem_Telekinesis._zCVob_bbox3D_maxs[2]=addf(oCItem_Telekinesis._zCVob_bbox3D_maxs[2],step_y); [COLOR=Blue]//наложение эффекта[/COLOR] Wld_PlayEffect(«spellFX_ItemAusbuddeln»,oCItem_Telekinesis,oCItem_Telekinesis,0,0,0,FALSE); >; func int Spell_Logic_Icelance(var int manaInvested) < var oCNpc Npc; Npc = Hlp_GetNpc( self ); if (stage==0) < [COLOR=Blue]//привязка предмета в фокусе к инстанции oCItem_Telekinesis [/COLOR] var int temp; temp = oCItem_Telekinesis; MEM_AssignInst (temp, Npc.focus_vob); [COLOR=Blue]//расчет размера сдвига по осям исходя из шага в 10 единиц[/COLOR] numb_of_steps=Npc_GetDistToItem(self, oCItem_Telekinesis)/10; step_x=divf(subf(Npc._zCVob_trafoObjToWorld[3],oCItem_Telekinesis._zCVob_trafoObjToWorld[3]),mkf(numb_of_steps)); step_z=divf(subf(Npc._zCVob_trafoObjToWorld[7],oCItem_Telekinesis._zCVob_trafoObjToWorld[7]),mkf(numb_of_steps)); step_y=divf(subf(Npc._zCVob_trafoObjToWorld[11],oCItem_Telekinesis._zCVob_trafoObjToWorld[11]),mkf(numb_of_steps)); >;[COLOR=Blue] //подстраховочная проверка на расстояние, чтобы не произошло наложение анимации перехода в состояние кастования и убирания свитка в конце[/COLOR] if(self.attribute[ATR_MANA] < STEP_Icelance)||((stage==0)180)) < return SPL_DONTINVEST; >; if(manaInvested else if (manaInvested > STEP_Icelance) ; if(self.attribute[ATR_MANA] < 0) < self.attribute[ATR_MANA] = 0; >; [COLOR=Blue]//автоматическая остановка при приближении предмета[/COLOR] if (Npc_GetDistToItem(self, oCItem_Telekinesis)<150) < [COLOR=Blue]//при остановке каста закинет в Spell_ProcessMana_Release [/COLOR] return SPL_STATUS_CANINVEST_NO_MANADEC; >; [COLOR=Blue]//подстраховочная стадия движения[/COLOR] if (stage==0) < var int start_z; start_z=subf(oCItem_Telekinesis._zCVob_bbox3D_maxs[1],oCItem_Telekinesis._zCVob_bbox3D_mins[1]); oCItem_Telekinesis._zCVob_trafoObjToWorld[7]=addf(oCItem_Telekinesis._zCVob_trafoObjToWorld[7],start_z); oCItem_Telekinesis._zCVob_bbox3D_mins[1]=addf(oCItem_Telekinesis._zCVob_bbox3D_mins[1],start_z); oCItem_Telekinesis._zCVob_bbox3D_maxs[1]=addf(oCItem_Telekinesis._zCVob_bbox3D_maxs[1],start_z); Wld_PlayEffect(«spellFX_ItemAusbuddeln»,oCItem_Telekinesis,oCItem_Telekinesis,0,0,0,FALSE); >; [COLOR=Blue]//вызов функции сдвига[/COLOR] new_Telekinesis(); stage+=1; return SPL_NEXTLEVEL; >; >;
Теперь осталось только «уронить» подтянутый предмет на землю. Для этого нам понадобится класс двига oWorld – функция его привязке к инстанции MEM_World (немного подправленная) MEM_InitGlobalInst() содержится в пакете Икарус – ее желательно запихнуть в функцию инициализации мира при загрузке сейва, если пакет скриптов планируется использовать не только для этого заклинания. Далее делаем следующее: включаем «физику» нашему предмету, отключаем режим «sleep» и заносим в activeVobList (содержит ссылки на все VOB-ы, физика/AI которых отслеживается двигом). Еще надо не забыть убрать из инвентаря использованный свиток – т.к. заклинание вроде как не кастуется, двиг за нас этого не сделает. Полученный код добавляем в Spell_ProcessMana_Release – именно к ней обратится наше заклинание при остановке вкачивания маны:
Код: Скопировать в буфер обмена
func int Spell_ProcessMana_Release(var int manaInvested) < . if(activeSpell == SPL_IceLance) < if (stage>0) < var oCNpc Npc; Npc = Hlp_GetNpc( self ); MEM_InitGlobalInst(); [COLOR=Blue]//включаем физику[/COLOR] oCItem_Telekinesis._zCVob_bitfield [0] = oCItem_Telekinesis._zCVob_bitfield [0] | zCVob_bitfield0_physicsEnabled; [COLOR=Blue]//отключаем режим «sleep»[/COLOR] oCItem_Telekinesis._zCVob_bitfield[2]=oCItem_Telekinesis._zCVob_bitfield[2] | zCVob_bitfield2_sleepingMode; [COLOR=Blue]//записываем в activeVobList [/COLOR] MEM_WriteInt(MEM_World.activeVobList_array+4*(MEM_World.activeVobList_numInArray), Npc.focus_vob); [COLOR=Blue]//сообщаем, что activeVobList стал на 1 элемент длиннее[/COLOR] MEM_World.activeVobList_numInArray+=1; [COLOR=Blue]//проверка на свиток/руну[/COLOR] if(Npc_GetActiveSpellIsScroll(self)) < [COLOR=Blue]//убираем свиток в инвентарь на случай если последний[/COLOR] AI_UnreadySpell(self); [COLOR=Blue]//забираем свиток из инвентаря[/COLOR] Npc_RemoveInvItems(self,ItSc_Icelance,1); >else < [COLOR=Blue]//просто чтобы заклинание при использовании свитка и руны выглядело одинаково[/COLOR] AI_UnreadySpell(self); >; stage=0; >; return SPL_SENDSTOP; >; . >;
Вроде ничего не забыл
P.S. Просьба к администрации — исправьте, плиз, опечатку в названии темы.
Источник: worldofplayers.ru
Не могу в скайриме найти телекинез
Сообщение сайта
(Сообщение закроется через 2 секунды)
Зарегистрируйтесь, чтобы скрыть этот рекламный блок.
Telekinesis+ES, какой бонус даёт
Neo
Просмотр профиля
25.02.2004 — 15:38
Сообщений: 5
Регистрация: 25.02.2004
подскажите плз какие бонусы идут от телекинеса к ES
и как желательно прокачать это совместно
заранее спасиб
knight
Просмотр профиля
25.02.2004 — 15:51
Сообщений: 2690
Регистрация: 20.05.2003
Короче теликинес уменьшает затраты маны, когда по тебе бьют.
Изначально из маны отнимается двойной урон нанесённый персу, при 16 скиллах в телекинезе из маны отнимается ровно столько сколько было нанесено урона.
А если задумал качать эту тему, то телекинес максить, а в ES один поинт.
Neo
Просмотр профиля
25.02.2004 — 16:29
Сообщений: 5
Регистрация: 25.02.2004
списиб
что-то скилов много нафуй кидаеться 5 проходных 20 телекинес + ES уже напряжно всёравно , а если это и качать то естественно надо 5-10 на Warmith кинуть чё-то много получаеться
knight
Просмотр профиля
25.02.2004 — 16:42
Сообщений: 2690
Регистрация: 20.05.2003
Зачем 5-10 в теплоту? В темлоту больше одно можно кинуть, если тока скиллы девать не куда. А в 1.10 со скиллами у сорки напряг.
И ещё если собрался так качать, то надевай много шмоток с % taken damage does to mana. Тал-раша пояс, руны Eth в бронь пихай и т.п.
Пардон, прусь Ith, а не Eth.
coolёk
Просмотр профиля
25.02.2004 — 19:15
Сообщений: 5292
Регистрация: 08.07.2003
я сейчас качаю сорку.
warmth 5
telekinesis 10 (буду 20)
es 1
static 1
ice bolt 10
frozen orb 20
cold mastery 20
shiver armor 10 (буду 20)
Alex_Nel
Просмотр профиля
26.02.2004 — 13:47
Сообщений: 359
Регистрация: 05.02.2004
Итак, что такое ES ты знаешь и тебе уже подсказали, что каждый поинт в телекинез, уменьшает затраты маны на 6.25%, по сравнению с начальным 200%. Рассмотрим теперь принцип работы ES.
Итак ES работает только на нанесенный дамаг, т.е. удар не блокирован или моб попал по тебе. Но ES работает до резистов и других модов, поэтому мана заканчивается очень быстро.
Для наглядности рассмотрим это на примере. Пусть у тебя есть 50%ES и 50% резы, а по тебе попал дамаг 100 поинтов.
1.Если у тебя ES-1 и Телек-0 (например, каст с палки) – общий урон маны составит:
Dmg_mana=100*0.5*(200%/100)=100mana, тогда как Dmg_life=100*0.5*0.5=25hp.
2. Eсли у тебя ES-1 и Телек -1 – то получим Dmg_mana=100*0.5*(200-6.25)/100=96.875, Dmg_life=100*0.5*0.5=25hp.
3. Если ES-1 а Телек-20 – Dmg_mana=100*0.5*(200-6.25*20)/100=37.5, Dmg_life=100*0.5*0.5=25hp.
Как видим дамаг в лайфу не изменяется, но значительно уменьшается потеря манны.
Возникает логичный вопрос «Значит качать телекинез не надо, лучше прокачать warmth и ману.» Ответ нет. Регенерация маны считается по формуле (M * (100 + %Mana Regeneration) / 100) / 120 (это упрощенная формула). Воспользовавшись этой формулой мы легко найдем следующие зависимости. Кол-во маны требуемой для полного восстановления затрат за 2 сек. 1значение — +0sk, 2 -+10sk)
T-1, W -20: I-1624mp, II-1216mp
T-5, W -16: I-1633mp, II-1177mp
T-10, W -11: I-1650mp, II-1115mp
T-11, W -10: I-1654mp, II-1100mp
T-15, W -6: I-1678mp, II-1028mp
T-16, W -5: I-1580mp, II-944mp
T-20, W -1: I-1731mp, II-900mp
Можно заметить некую странность. Наименьшее кол-во маны при +0sk требуется когда вложены 16sp в Телекинез и 5sp в Warmth, но уже при +10sk лучший показатель достигается когда у нас Телекинез-20 и Warmth-1. Правильно это связано с тем, что на синерджи +скилл не работает. Просчитав все варианты находим (см. приложение), что если у вас менее +4скилл, то лучше первый вариант, если +скилл больше 4 то качаем Telek и 1 в Warmth.
Некоторые предлагают для уменьшения затрат маны использовать мод ХХ% Damage Goes To Mana. Так вот он возвращает ману только от реально нанесенных повреждений в hp. В нашем случае это составит Mana=25*ХХ%/100. При прокаченном телеке он еще более менее эффективен, требуется всего лишь 150% (200% — при T-16) для полного восполнения. А вот если телек не прокачен, то держитесь, 387,5% такое нам никогда не набрать.
И не забывайте по Вам могут бить и сильнее.
Вот сижу думаю над подписью, пока ничего в голову не лезет.
Neo
Просмотр профиля
27.02.2004 — 17:56
Сообщений: 5
Регистрация: 25.02.2004
спасиб , почти всё понял
вот ешо 1 вопрос допустим телек-20 лана , а почему бы вармиф до 10 не качунть ? ну собственно вопрос в том , будет ли хуже ?
Alex_Nel
Просмотр профиля
28.02.2004 — 09:55
Сообщений: 359
Регистрация: 05.02.2004
Источник: www.diablozone.net