Construction Set Telekinese Zauber

Frontschwein

Abenteurer
Hi, ich bin grad am ausprobieren, wie man einen erweitereten Telekinese-Zauber erstellen könnte, suche aber noch die Richtigen Scriptbefehle bzw. Kombinationen von Skriptbefehlen.

Was ich vor allem brauche, ist ein Skriptbefehl, der den Blickwinkel der Kamera abfragt. Ich habe zwar schon etwas in der Art gefunden,nämlich GetAngleHeading, aber das funktioniert nicht so, wie ich es brauche

Ps: Ich warte immer noch auf Antwort bei der Kamera
 
Obwohl mir niemand helfen konnte, ist es mir gelungen, einen vorläufigen Telekinese Spell zu erzeugen.
Bis jetzt ist er noch 2-dimensional also man kann den Npc noch nicht in die Höhe heben, daran arbeite ich gerade.

Allerdings kann man Leute schön gegen die Wand klatschen, macht nen heidenspass:lol: :lol: :lol:
 
Ich habe ein Problem!!

Wenn ich die Leute so nen halben Meter überm Boden schweben lasse, dann passiert estws komisches. Sie fallen langsam nach unten, schießen dann wieder auf die orginalhöhe hoch und fallen dann wieder runter und immer so weiter.
Wie kann ich das verhindern??
 
Nein, ich habe nur einen Konstanten z-achsenwert gemacht, der das Objekt in der Luft hält.
Hier mal das Script:
Code:
scriptname Telezauber

short doonce

;Blickwinkel des Player
float rotorg_Z
float rotorg_X

;Position des Player
float org_x
float org_y
float org_z

;Position der Klinge
float mod_x
float mod_y
float mod_z

;Horizontale Entfernung zum Player
float hdistance

;Geschwindigkeit
float rspeed

;Position in der Umlaufbahn
float rpos

Begin Scripteffectstart
	;setting up constants
    	set rspeed       to  120 ; Geschwindikeit
        set mod_z        to 50 ; Höhe
        set hdistance        to 200 ; Distanz  

endif
End

Begin Scripteffectupdate

; updating the position on the circle (rpos)

endif
if rpos < rotorg_z
    		set rpos to rpos + ( rspeed * getSecondsPassed )
endif

if rpos > rotorg_z
		set rpos to rpos - ( rspeed * getSecondsPassed )
endif

if rpos > 360
    	set rpos to rpos - 360
endif

if rpos < 0
	set rpos to rpos +360
endif
    ; setting the mods, via the SinCosTan function
    set aa.fin1 to rpos
    setStage aa 15                ; SinCosTan(rpos) function call
    set mod_x to aa.fout  * hdistance ; sin(rpos) * hdist
    set mod_y to aa.fout2 * hdistance ; cos(rpos) * hdist

    ; getting the player's position
    set org_x to Player.getPos X
    set org_y to Player.getPos Y
    set org_z to Player.getPos Z
	
	;getting the player's rotation

	set rotorg_Z to player.GetAngle Z
	set rotorg_X to player.GetAngle X

    ; setting my own position
    set org_x to org_x + mod_x
    setPos X, org_x
        
    set org_y to org_y + mod_y
    setPos Y, org_y
        
    set org_z to org_z + mod_z
    setPos Z, org_z
End
Begin Scripteffectfinish

	resetfalldamagetimer
	
End
 
Ich hatte sowas auch mit der "Perle" als es noch keine Perle war ;)
Am Anfang hatte ich versucht das mit einem toten Irrlicht zu machen. Da hatte ich den selben effekt.
Ich denke das hat was mit dem Gewicht(Havok) zu tun bin mir aber da auch nicht sicher.
 
Das kann sein. Wahrscheinlich ist die Update-rate des Scripts nicht so hoch.Vieleicht kann ich das ändern. Ich glaub es gibt einen Befehl,der die Aktualisierungsrate erhöht
 
Frontschwein schrieb:
Das kann sein. Wahrscheinlich ist die Update-rate des Scripts nicht so hoch.Vieleicht kann ich das ändern. Ich glaub es gibt einen Befehl,der die Aktualisierungsrate erhöht
Meinst Du "fQuestDelayTime"? Lt. wiki bezieht sich das nur auf QuestScripts, die normalerweise alle 5 Sekunden ausgeführt werden. Demnach müssten andere Scripts ohnehin 1x pro Frame ausgeführt werden.

Was mir noch einfällt: sollte man evtl. die Animation der NPCs unterdrücken?
Ein NPC über dem Boden dürfte automatisch ein "JumpLoop" ausführen, oder bei "fast über dem Boden" ein JumpLand. Wenn Du zum Schluss den NPC mit "SetPos Z original_Z" zu tief absetzt, weil am Aufschlagpunkt der Boden etwas höher ist, wird er wie eine Rakete aus dem Boden schnellen. Hm...wenn diese Animationen mit playgroup <blabla>,0 gestartet werden, also "gesammelt nacheinander" ablaufen, dürfte das ein ziemliches Gehampel ergeben...

Grüße,
Andreas.
 
Zuletzt bearbeitet:
Frontschwein schrieb:
Das kann sein. Wahrscheinlich ist die Update-rate des Scripts nicht so hoch.Vieleicht kann ich das ändern. Ich glaub es gibt einen Befehl,der die Aktualisierungsrate erhöht

Wenn das ein Questscript ist kannst du wie Brandanus schon gesagt hat "fQuestDelayTime" benutzen, ein Object script läuft ja eh jeden Frame.

Wie ist eigentlich hier Frame definiert ? Würde mich auch mal interessieren :)
 
Das mit den Leuten an die Wand klatschen klingt interessant. Hast du vor den Telekinese Spell als Plugin rauszubringen? Und bekommen Die Npc schaden wenn sie gegen die Wand geschleudert werden?
 
Am Anfang war das noch sehr lustig. Der Schaden, den Leute beim Aufprall auf den Boden bekommen, wird in dem Spiel nicht durch die Fallhöhe bestimmt, sondern durch die Länge des Falls.Wenn der Npc jetzt also für 30 sc in der Luft hängt, ist das so, also würde er dreisig secunden fallen, d.h. er ist tot, wenn der Zauber endet. Jetzt habe ich das so gelöst
Code:
Begin Scripteffectfinish

    resetfalldamagetimer

End

Also wenn der Scripteffect endet, landet er dann auf ganz weichen Füssen.
Wenn ich ihn gegen die Wand schleudere, wird er noch hindurchgeworfen,ich müsste vieleicht eine Collisionbox oder so was um ihn bauen,vieleicht weiß Brandanus,wie das geht.Beim levitation-spell fliegt er ja auch nicht durch den Berg.Aber man kann ihn gegen Treppen schleudern!!
Ist jetzt alles noch ziemlich verbugt, aber das Grundsystem funktioniert.

Was ich noch erwähnen wollte.Dieser Spell ist aufgrund von Zerlix Problem entstanden, da sein Script auf der Perle die Basis für meinen Script bildet.

Dann was ich noch wissen wollte, wenn ich mein mit Fraps gemachtes Video bei Youtube hochlade, dan steht da, es ist ein unsupportet Codec.

Wie formatiere ich das video, das sie es annehmen??

@Brandanus: Er schießt nicht am Ende in die Luft, sondern er hüpft den ganzen Spell hin und her.
Wie meinst du dass mit Animation unterdrücken.
Fällt den ein Actor nur dann wenn er auch ein Jump-Animation spielt??


steht er dann in der Luft

Nein er hängt, es ist wie ,als würde er Springen,bloß dass er nicht hinunterfällt
ICh wollte ihn bewusstlos machen, damit's cooler aussieht, aber setunconscious funktioniert irgendwie nicht

Hast du vor, den Spell als PlugIn rauszubringen
Ich kann mich noch gut an eine Mod-Anfrage erinnern, in dem man so einen Tele-Spell gesucht hat.
Und ich wollte das auch schon immer mal machen.Wenn es mir gelingt, dass auch nur halbwegs passabel
aussehen zu lassen, werd ich das natürlich als plugIn rausbringen
 
Zuletzt bearbeitet:
Bis jetzt bekommt er noch gar keinen Schaden, aber sinnvoll wäre natürlich, dass er Shcaden bekommt, wenn er an die Wand geschmettert wird

edit: wieso bist du eigentlich Schwertkämpfer und ich Händler, obwohl wir beide die gleiche Sterne-anzahl haben
 
Hier noch mal ein Trailer, wie das ganze aussieht, damit ihr euch ein Bild von meinem Problem machen könnt

Telekinese

Die Wachen werden es in der Final dann natürlich als Angriff ansehen, habs bloß deshalb als freundlichen Zauber gemacht, damit ich's besser testen kann
 
Das leigt daran, dass ich bis jetzt noch nicht den Anfangswert der Variable rpos festegesetzt habe. Und wenn ich ihr keine Definition gebe, ist sie automatisch null. Das heißt,das Ziel wird,sobald es getroffen wird, zum Z-Achsenwert-null teleportiert, und zwar im abstand hdistance zu mir. Dass sind alles kleine Schönheitsfehler, die später noch wegkommen.
 
Wenn du denkst, es ist besser, kann's ja später mal umstellen, jetzt erst mal nicht, da der effect der gleiche bleibt:D

Ich brauch mal jemanden der mir Hilft!!!!!!!!!!!!!!!!!!!!!!!!