TELEKINESIS on objects and people

Post » Thu Jun 21, 2012 8:14 am

a interesting ability is the Ab telekinesis, present on the telekinetc spell that allow you to get the name of the object you are aiming.
does it contain more informaion on the object?
is there any way to get that information (the reference)?

my porpous is to do a more general telekinesis spell. I tried to use an explosion (hard to predict behaviour) or a item placed by the explosion (I only was able to manipulate tat object not the target)


IDEAS?

for those how want to use it the script i'm using on actor (you can use it if you want):


Spoiler

Scriptname voicepusheffectscript2	  extends ActiveMagicEffect  float telekconcentrafloat Property telekconcentra Autoint Property PushForce2  Auto  ;for in adjustable intensity future versionint Direccion  ;for in adjustable intensity future version;positions of target an caster relative to worldfloat tarposxfloat tarposyfloat tarposzfloat plaposxfloat plaposyfloat plaposz;positions of target relative to casterfloat distradialfloat distradiallxfloat distradialyfloat distradialzfloat distradial2;speed of casterfloat speed0float riskfactorMagicEffect Property NewProperty  Auto  Event OnEffectStart(actor Target, actor Caster)Direccion=1speed0=Caster.GetAV("SpeedMult")if (telekconcentra < 1)telekconcentra=1endIf   if !Caster.IsRunning()riskfactor=riskfactor+1	  plaposx= (Caster AS OBJECTREFERENCE).GetPositionX()	   plaposy=  (Caster AS OBJECTREFERENCE).GetPositionY()	   plaposz=  (Caster AS OBJECTREFERENCE).GetPositionZ()	   ;reduce caster speed (caster must concentrate  deeply)	   Caster.ForceAV("SpeedMult", speed0/5)	   ; aply force  to moce the targen in the direction the caster is moving	   utility.wait(0.1)	  Caster.PushActorAway(Target,0); Target.SetRestrained()	  Target.ApplyHavokImpulse(( (Caster AS OBJECTREFERENCE).GetPositionX()-plaposx)*90,( (Caster AS OBJECTREFERENCE).GetPositionY()-plaposy)*90,( (Caster AS OBJECTREFERENCE).GetPositionZ()-plaposz)*91+35,130*telekconcentra)Target.ApplyHavokImpulse(0,0,256,2+0.1*telekconcentra*telekconcentra)if ( (Caster AS OBJECTREFERENCE).GetPositionX()-plaposx)*900<( (Caster AS OBJECTREFERENCE).GetPositionZ()-plaposz)*91+135if ( (Caster AS OBJECTREFERENCE).GetPositiony()-plaposy)*900<( (Caster AS OBJECTREFERENCE).GetPositionZ()-plaposz)*91+135   Target.ApplyHavokImpulse(0,0,335,300*telekconcentra)endifendif	   ;restore speed	   Caster.ForceAV("SpeedMult", speed0)  else	 if Caster.IsSneaking() ;casteris abel to throw  the target vericaly		  tarposx=(Target AS OBJECTREFERENCE).GetPositionX()		   tarposy=(Target AS OBJECTREFERENCE).GetPositionY()		   tarposz=(Target AS OBJECTREFERENCE).GetPositionZ()		   distradial2=  (Caster AS OBJECTREFERENCE).GetDistance((Target AS OBJECTREFERENCE))		   Caster.PushActorAway(Target,0 )		   Target.ApplyHavokImpulse(00,00,-(distradial2-distradial)/distradial*40, 400+telekconcentra)	   else		   Caster.PushActorAway(Target,1 )		  ; the spell is tlaned to act on objects so i use an equivalent of pushactoraway using ApplyHavokImpulse		   Target.ApplyHavokImpulse((Caster.GetPositionX()-plaposx)/distradial*100,(Caster.GetPositionY()-plaposy)/distradial*100,(Caster.GetPositionY()-plaposz)/distradial*100, 200*telekconcentra)		endif	   ; if anythig fails		Caster.PushActorAway(Target,50*telekconcentra)	endIf	; damare te target a litle	Target.DamageActorValue("health", 1)EndEventEvent OnEffectFinish(actor Target, actor Caster)	;restore speed ; otherwise, the peed is not restored correctly sometimes	Caster.ForceAV("SpeedMult",speed0)Debug.Notification("Oh No! May Talos Save You!" + telekconcentra)riskfactor=0;Target.SetRestrained(false)if (telekconcentra < 1)telekconcentra=1endIfendEvent
User avatar
Cathrine Jack
 
Posts: 3329
Joined: Sat Dec 02, 2006 1:29 am

Return to V - Skyrim