Um es kurz zu machen, ich versuche einen Bauern zu teleportieren, wenn er von einem Projektil getroffen wird (oder von einer Waffe in meinem Spiel beschädigt wird).
Im Moment versuche ich, Pawn.SetLocation im ProcessTouch des Projektils aufzurufen. Das ist ein Problem, weil ProcessTouch jeden Schauspieler trifft, nicht nur einen Bauern. Darüber hinaus führt jeder Versuch, den "Actor Other" von ProcessTouch zu überprüfen, zu Fehlern.
Ich habe eine Reihe von Lösungen ausprobiert (einschließlich der Erstellung eines Ereignisses TakeDamage in der Pawn-Controller-Klasse), aber ohne Erfolg.
simulated function ProcessTouch(Actor Other, Vector HitLocation, Vector HitNormal)
{
if (Other != Instigator)
{
//This is where the Other.TakeDamage goes if we are using a traditional gun.
if (Other == Pawn);
{
Other.SetLocation(0,0,0);
}
}
Destroy;
}
Dieser Code beschwert sich, dass Pawn ein schlechter Ausdruck ist. Wie soll ich sonst den Schauspielertyp hier überprüfen?