ดังนั้นโดยสังเขปฉันพยายามส่งผ่านทางไกลเมื่อมันโดนกระสุนปืน (หรือถูกทำลายด้วยอาวุธใด ๆ ในเกมของฉัน)
ตอนนี้ฉันพยายามโทรหา Pawn.SetLocation ใน ProcessTouch ของ projectile นั่นเป็นปัญหาเพราะ ProcessTouch จะโจมตีนักแสดงทุกคนไม่ใช่แค่ตัวจำนำ นอกจากนี้ความพยายามใด ๆ ในการตรวจสอบ "Actor Other" ของ ProcessTouch จะพ่นข้อผิดพลาด
ฉันได้ลองใช้วิธีแก้ไขปัญหามากมาย (รวมถึงการสร้างเหตุการณ์ TakeDamage ในคลาสตัวควบคุม Pawn) แต่ก็ไม่มีประโยชน์
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;
}
รหัสนี้บ่นว่าจำนำเป็นนิพจน์ที่ไม่ดี ฉันจะตรวจสอบประเภทนักแสดงที่นี่ได้อย่างไร