Name Typ Von
alignChar("c", "t") Definition AFRLme

Mit dieser kleinen Funktion kannst du schnell einen Charakter an einem anderen Charakter ausrichten.


Zusätzliche Informationen
Die Ausrichtung basiert auf der Zeichenmitte, die normalerweise in der Nähe der Füße liegt.
Es gibt keine einfache Methode zum Ermitteln der oberen (y) Pixelkoordinate der aktuell aktiven Charakteranimation.


Anweisungen

1. Füge das Hauptskript im Skripteditor von Visionaire Studio hinzu und lege es als Definitionsskript fest.
2a. Um einen Charakter an einem anderen Charakter auszurichten ...

alignChar(nil, "Tom")

2b. Um ein bestimmtes Zeichen an einem anderen Charakter auszurichten ...

alignChar("Tom", "Barry")

2c. Um ein bestimmtes Zeichen am aktuellen Zeichen auszurichten ...

alignChar("Tom")


Hauptskript

function alignChar(c, t)
 if c == nil then c = game.CurrentCharacter else c = Characters[c] end -- store character or current character
 if t == nil then t = game.CurrentCharacter else t = Characters[t] end -- store character or current character
 -- + --
 local p1 = c.Position -- store characters position
 local p2 = t.Position -- store target characters position
 -- + --
 local ax, ay
 ax = p2.x - p1.x -- calculate x destination coordinate
 ay = p1.y - p2.y -- calculate y destination coordinate
 -- + --
 local angle = math.deg( math.atan(ay, ax) ) -- calculate angle
 if angle < 0 then angle = 360 + angle end -- some fallback? I don't remember why I wrote it
 -- + -- 
 c.Direction = angle -- update specified characters direction
end


Syntaxaufschlüsselung

Name Typ Beschreibung
c „string“ oder null Ein „String“-Wert mit dem Namen des Charakters, der ausgerichtet werden soll, oder nil für den aktuellen Charakter.
t „string“ oder null Ein „String“-Wert mit dem Namen des Charakters, an dem ausgerichtet wird, oder nil für den aktuellen Charakter.