UTBotのGlobalで定義されてるSeePlayerイベントに関して質問です。
1行目の条件式の!WorldInfo.GRI.OnSameTeam(self, SeenPlayer)の!は不要だと思うのですが。
というのも、この場合selfとSeenPlayerが同じチームの場合に2つ目の条件式に移 りますよね?
で、Squadがnoneでないのはチームゲームの場合のみなので、
チームゲームの場合、敵チームプレイヤーには何も処理せず味方チームプレイヤーにはSetEnemy()で 判定するという処理が行われます。
これは逆な気がするんですが、何か理由があってこのような条件なのでしょうか?
Code:event SeePlayer(Pawn SeenPlayer) { if (Squad == None || !WorldInfo.GRI.OnSameTeam(self, SeenPlayer)) { // maybe scripted pawn; just notify Kismet Pawn.TriggerEventClass(class'SeqEvent_AISeeEnemy', SeenPlayer); } else if (UTSquadAI(Squad).SetEnemy(self, SeenPlayer)) { // check for any Kismet scripts that might care Pawn.TriggerEventClass(class'SeqEvent_AISeeEnemy', SeenPlayer); WhatToDoNext(); } if ( Enemy == SeenPlayer ) { VisibleEnemy = Enemy; EnemyVisibilityTime = WorldInfo.TimeSeconds; bEnemyIsVisible = true; } }



Reply With Quote

Bookmarks