UDK: vérification du type d'acteur dans le projectile ProcessTouch

10

Donc, pour être bref, j'essaie de téléporter un pion quand il est frappé par un projectile (ou endommagé par une arme dans mon jeu.)

En ce moment, j'essaie d'appeler Pawn.SetLocation dans le ProcessTouch du projectile. C'est un problème car ProcessTouch frappera n'importe quel acteur, pas seulement un pion. De plus, toute tentative de vérification de "l'Acteur Autre" de ProcessTouch génère des erreurs.

J'ai essayé un tas de solutions (y compris la création d'un événement TakeDamage dans la classe de contrôleur Pawn), mais en vain.

    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;
    }

Ce code se plaint que Pawn est une mauvaise expression. Sinon, comment vérifier le type d'acteur ici?

Lancer les dés
la source

Réponses:

0

Je pense que vous manquez de lancer votre pion comme:

if( myDesiredClass(Other) != none)

Vérifiez-le et donnez-moi des commentaires si vous rencontrez un nouveau problème.

Emadpres
la source
0

À mon avis, vous pouvez le faire en vérifiant la classe

Other.class == class'Pawn '

ou en lançant et en vérifiant si c'est None ou non

Pion (Autre)! = Aucun

Gabeee
la source