• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Avatar Stopen oder verlangsamen

andera Shermer

Superstar
Hi, ich versuche mich gerade an einem Realstic Bow,

nun meine idee wäre es den Avatar zu verlangsamen wenn er im Mouselook ist also mit dem bogen ziehlt, und ihm beim Schiesen kurz stopt.

nun ich suche mich nur platt nach dem befehl wir ich den avatar verlangsame und oder stope.

gibt es den?

ich hoffe einer von euch kann mir helfen

schon mal danke.
 
andera Shermer schrieb:
nun ich suche mich nur platt nach dem befehl wir ich den avatar verlangsame und oder stope.

gibt es den?

ich hoffe einer von euch kann mir helfen

schon mal danke.

Ich weiß nicht genau was du machen möchtest ehrlich gesagt :?:

Aber wenn du meinst, das man die Bewegungsabläufe verlangsamt, das geht glaub ich nicht.

MfG
Hannibal
 
du kannst keinen avatar verlangsamen, lediglich könntest du über den umweg llMoveToTarget und eine Berechnung die Bewegung des Avatars gegensteuern bzw durch eine Scriptbewegung ersetzen.
 
Wenn du per Timer jede Sekunde ein
Code:
llMoveToTarget(llGetPos(), 1.0);
machst, duerfte das relativ nah an das gewuenschte Ergebniss rankommen. Leider kenne ich mich mit der Physikengine zu wenig aus um die 'Endgeschwindigkeit' gezielt zu festzulegen. Ist bei mir immer mit viel trial&error verbunden.

Zum stoppen einfach ein
Code:
llMoveToTarget(llGetPos(), 0.1);
ohne timer. Dann bewegt sich der Avatar [libary:bc6df2f4cd][Spielfigur] in [SecondLife], welche von einem [Spieler] gesteuert wird. In [SecondLife] kann ein [Avatar] jederzeit beliebig sein Aussehen und Geschlecht ändern.[/libary:bc6df2f4cd] erstmal gar nicht mehr. Groessere Werte fuer den zweiten Parameter erlauben etwas Bewegungsfreiheit. Vergleichbar mit einem Hund an der Leine. :)
 
Aber andera, in meinen Cuffs ist doch genau so was drin. ;)

Geht über llApplyImpulse. Ist ein wenig Fummelig, die richtigen Werte zu finden, klappt aber. Der Trick besteht darin, die Geschwindigkeit zu messen, ist sie zu hoch, gibt's einen winzigen Schubser in die Gegenrichtung.

Code:
vector global_velocity = llGetVel (); 
vector local_velocity = global_velocity/llGetRot ();
        
if((float)local_velocity.x>wspeed)  llApplyImpulse(llGetMass()*setVel*llGetRot(),FALSE);

setVel ist ein Vector, der die Kraft des Gegenimpulses bestimmt.
wspeed ist die Maximalgeschwindigkeit, die nicht überschritten werden darf.

Die Geschwindigkeit kannst Du Dir anzeigen lassen, mit:

Code:
vector global_velocity = llGetVel (); 
vector local_velocity = global_velocity/llGetRot ();
llOwnerSay((string)local_velocity.x);

Komplett anhalten geht so:

Code:
llApplyImpulse(-llGetMass()*llGetVel(),FALSE);
 
Na ja nun ... seit kurzem habe ich auch wieder sowas wie ein RL-Privatleben, ich bin nicht mehr so oft in SL [libary:d5aa7edbb3]Abkürzung für [Second Life][/libary:d5aa7edbb3] wie früher.

Und das mit dem Bogen... äh, über sowas haben wir doch neulich geredet. ;)

Da man mit der beschriebenen Methode die Geschwindigkeit messen kann, die ein Ava beim Feuern drauf hatte, kann man die direkt als Variable für ein Mallus-System benutzen. Als einen codierten Zahlenwert, der den Pfeilen als Parameter beim Rezzen mitgegeben wird. In Abhängigkeit davon kann man dann z.B. den Scan-Radius verkleinern, um die Splash-Hit-Wahrscheinlichkeit zu verringern. Oder man kann die Direct Hits ausschalten bzw. unwahrscheinlicher machen.

Hm, ich glaub', ich verrate zu viel - so werd' ich ja nie reich! :D
 

Users who are viewing this thread

Zurück
Oben Unten