UDN
Search public documentation:
GametypeTechnicalGuideJP
English Translation
中国翻译
한국어
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
中国翻译
한국어
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
UE3 ホーム > テクニカル & プログラミング ホーム > ゲームプレイ 技術ガイド
ゲームプレイ 技術ガイド
概要
GameInfo クラス
GameInfo
クラスは、「Unreal」においてすべてのゲームタイプの基本クラスになっています。マップがロードされるたびに、適切な GameInfo
クラスの新たなインスタンスが作成され、ゲームタイプに割り当てられます。特定のレベルのためにゲームタイプを設定する方法については、 ゲームのライフサイクル のセクションに詳細が掲載されています。
GameInfo プロパティ
Arbitration (アービトレーション : 仲裁)- bUsingArbitration - TRUE の場合は、ゲームがアービトレーションを使用します。
- bHasArbitratedHandshakeBegun - アービトレイト (仲裁) されたハンドシェークが発生した場合は TRUE となります。ハンドシェークが開始すると、新たな接続は拒絶されます。
- bNeedsEndGameHandshake - TRUE の場合は、ゲームは、その終わりにハンドシェークを実行します。
- bHasEndGameHandshakeBegun - 終了時ゲームハンドシェーク (end game handshake) が開始すると、TRUE となります。
- bIsEndGameHandshakeComplete - 終了時ゲームハンドシェークが完了すると、TRUE となります。
- ArbitrationHandshakeTimeout - GLOBALCONFIG (グローバルコンフィグ) です。キックされる前にクライアントがアービトレーション ハンドシェークを実行しなければならない時間量を保持します。
- PendingArbitrationPCs - ゲームがハンドシェークする相手として待っている
PlayerControllers
の配列です。 - ArbitrationPCs - ゲームがハンドシェークを実行した相手で、かつ、オンラインサブシステムに書き出されるアービトレーションデータのファイナライズを要求している
PlayerControllers
の配列です。
- [Min/Max]TimeMargin - クライアント クロックがサーバー クロックよりもこの値以上に遅れる / 進むと、スピードハック検知がトリガーされます。
- TimeMarginSlack - クライアント クロックがサーバー クロックからドリフトする速さがこの値以上になると、スピードハック検知がトリガーされます。
- bIsStandbyCheckingEnabled - TRUE の場合は、スタンバイ チート (接続をスタンバイ状態にするチート) のチェックを実行します。
- bIsStandbyCheckingOn - スタンバイ チートがチェックされているときは、TRUE となります。
- bHasStandbyCheatTriggered - スタンバイ チートが検知された場合に、TRUE となります。
- Standby[Rx/Tx]CheatTime - 発生する可能性があるパケット / 確認応答を受け取らない時間量がこの値以上になると、チート コードがトリガーされます。
- BadPingThreshold - ping がこの閾値を超えると、サーバーがパケットをディレイしていると見なされるか、不良なアップストリーム接続を持つようになります。
- PercentMissingFor[Rx/Tx]Standby - パケット / 確認応答データを欠損するクライアントのパーセンテージがこの値よりも大きくなると、スタンバイ コードがトリガーされます。
- PercentForBadPing - 不正な ping 値をもつクライアントのパーセンテージがこの値よりも大きくなると、スタンバイコードがトリガーされます。
- JoinInProgressStandbyWaitTime -待機時間がこの値よりも大きくなると、スタンバイ問題のために接続がチェックされます。
- PlayerControllerClass - 新たなプレイヤーが当該ゲームタイプのためにログインした場合に使用される
PlayerController
クラスです。 - DefaultPawnClass - 新たなプレイヤーが当該ゲームタイプのためにログインした場合に使用される
Pawn
クラスです。 - HUDType - 当該ゲームタイプ用のヘッドアップ ディスプレイ (HUD) のために使用される
HUD
クラスです。 - PlayerReplicationInfoClass - 新たなプレイヤーが当該ゲームタイプのためにログインした場合に使用される
PlayerReplicationInfo
クラスです。 - GameReplicationInfoClass - 当該ゲームタイプのために使用される
GameReplicationInfo
クラスです。 - OnlineSub - プラットフォーム レイヤーのサービスと通信するために当該ゲームタイプによって使用される
OnlinSubsystem
インスタンスです。 - GameInterface - オンラインゲームを作成、検索、破棄するためにゲームタイプによって使用される
OnlineGameInterface
インターフェースです。 - OnlineStatsWriteClass - 統計を作成および保持するために使用し、クライアントに送るための
OnlineStatsWrite
クラスです。 - OnlineGameSettingsClass - オンラインサービスを伴った、専用サーバーの登録を行う場合に使用するクラスです。
- DeathMessageClass - プレイヤーがデス (機能停止) したときのメッセージを表示するために使用する
LocalMessage
クラスです。 - GameMessageClass - ゲームプレイ イベントに関するメッセージを表示するために使用する
GameMessage
クラスです。 - AccessControlClass - 当該ゲームタイプのために使用する
AccessControl
クラスです。 - AccessControl - プレイヤーがゲームに入ることができるか、あるいは admin になれるか (あるいはその両方を行えるか) を制御する
AccessControl
インスタンスです。 - BroadcastHandlerClass - 当該ゲームタイプのために使用する
BroadcastHandler
クラスです。 - BroadcastHandler - 当該ゲームタイプのためのメッセージを表示するのに使用する
BroadcastHandler
インスタンスです。 - AutoTestManagerClass - 当該ゲームタイプのために使用する
AutoTestManager
クラスです。 - MyAutoTestManager - 自動化されたテスティングを管理するために使用する
AutoTestManager
インスタンスです。コマンドラインによって要求された場合にのみ存在します。
- bRestartLevel - TRUE の場合は、プレイヤーが死ぬと、レベルが再スタートします。
- bTeamGame - TRUE の場合は、ゲームはチームゲームとして設定されます。したがって、プレイヤーたちは分けられて 1 つ以上のチームのどれかに所属することになります。ベースとなる
GameInfo
には、チームを作成するためのロジックがビルトインされていません。このプロパティは、当該ゲームがチームをもつということを指定するに過ぎません。 - bGameEnded - ゲーム終了条件を満たしたときに、TRUE となります。
EndGame()
によって設定されます。 - bOverTime - TRUE の場合は、ゲームは延長されています。このようになるのは、
EndGame()
が呼び出されたものの、満たされない終了条件があったためにCheckEndGame()
が false を返した場合です。 - bDelayedStart - TRUE の場合は、プレイヤーが参加したときにゲームがすぐに開始されません。
- bWaitingToStartMatch - ゲームが
PendingMatch
(ゲーム開始のために待機中) の状態にある場合は、TRUE となります。 - bChangeLevels - GLOBALCONFIG です。TRUE の場合は、ゲームが再スタートしたときに新たなマップがロードされます。
- bAlreadyChanged - ゲームが再スタートして
bChangeLevels=TRUE
の場合に、新たなマップでロードプロセスが開始されると、TRUE となります。 - bGameRestarted - ゲームが再スタートしたときに、TRUE となります。
- bLevelChange - レベル遷移 (
ProcessServerTravel()
による) が進行しているときに、TRUE となります。 - GameDifficulty - GLOBALCONFIG です。当該ゲームのための難易度モディファイアです。これは、ゲームにきわめて固有なものなので、サブクラスで利用すべきです。
- GoreLevel - GLOBALCONFIG です。ゴア (流血シーン) の量を保持します。
0
にすると、ノーマルなゴアの量が表示され、値が大きくなると表示されるゴアの量が少なくなります。 - GameSpeed - ゲーム時間のためのスケーリング係数です。
WorldInfo.TimeDilation
を設定するために使用されます。 - MaxSpectators - GLOBALCONFIG です。サーバー上で当該ゲームタイプによって許可される最大プレイヤー数です。
- MaxSpectatorsAllowed - 当該ゲームタイプによって常に許可される最大スペクテーター (観戦者) 数です。この
MaxSpectators
は、config で設定され、改変が可能であるため、実用的な値にクランプ (値を制限) するために使用されます。 - NumSpectators - ゲームに存在する現在のスペクテーター数です。
- MaxPlayers - GLOBALCONFIG です。サーバー上で当該ゲームタイプによって許可される最大プレイヤー数です。
- MaxPlayersAllowed - 当該ゲームタイプによって常に許可される最大プレイヤー数です。この = MaxPlayers= は、config で設定され、改変が可能であるため、実用的な値にクランプ (値を制限) するために使用されます。
- NumPlayers - ゲームにおいて、人によって制御されているプレイヤーの現在数です。
- NumBots - ゲームにおいて、AI によって制御されているプレイヤーの現在数です。
- NumTravellingPlayers - この前のマップから現在まだ移動しているプレイヤー数です。
- CurrentID - 一意の
PlayerID
が作成されたときに、それを各PlayerReplicationInfo
(プレイヤー複製情報) に割り当てるために使用される現在の ID です。 - DefaultPlayerName - LOCALIZED です。当該ゲームタイプのために、名前をプレイヤーに割り当てる際に使用するデフォルトの名前プレフィックスです。
- GameName - LOCALIZED です。当該ゲームタイプのための表示名です。
- FearCostFalloff -
bDoFearCostFalloff=true
の場合に、時間の経過にともなってNavigationPoints
のためのFearCost
がどのくらい速くフォールオフするかを決定する係数です。 - bDoFearCostFalloff - TRUE の場合は、時間の経過にともなって
NavigationPoints
のためのFearCost
がフォールオフします。 - GoalScore - マッチ (競技) を終了させるために、プレイヤーによって必要とされる「スコア」です。スコアは任意のコンセプトです。ただし、多くのゲームにおいて、何らかのスコアが監視され、特定のスコアに達するとゲームが終了します。
- MaxLives - マッチごとにプレイヤーに与えられるライフの最大数です。
- TimeLimit - 1 つのマッチに課せられる制限時間です。
- GameInfoClassAliases -
GameClassShortName
構造体配列です。当該ゲームタイプのための短縮名をフルクラス名にマッピングします。 - DefaultGameType - CONFIG です。ゲームタイプが特に指定されていない場合に使用されるデフォルトのゲームタイプです。(そのゲームタイプ クラスへのフルパスを指定する文字列の形式で保持されます)。
- DefaultMapPrefixes - CONFIG です。レベル名のプレフィックスを特定のゲームタイプにマッピングする
GameTypePrefix
構造体配列です。ゲームタイプが指定されていない場合に使用するゲームタイプを指定するのに使われます。DefaultGameType
をオーバーライドします。詳細については、 ゲームタイプのプレフィックス のセクションを参照してください。 - CustomMapPrefixes - CONFIG です。レベル名のプレフィックスを特定のゲームタイプにマッピングする
GameTypePrefix
構造体配列です。ゲームタイプが指定されていない場合に使用するゲームタイプを指定するのに使われます。DefaultGameType
をオーバーライドします。詳細については、 ゲームタイプのプレフィックス のセクションを参照してください。 - bRequiresPushToTalk - TRUE の場合は、当該ゲームタイプのために音声通信がプッシュ トゥ トーク方式でなければなりません。それ以外は、音声通信は常に開いたままになっています。
- BaseMutator - 当該ゲームタイプに適用される第一の
ミューテータ
への参照です。
- InactivePRIArray - ゲームから退出したプレイヤーの
PlayerReplicationInfos
(プレイヤーレプリケーション情報) の配列です。これは、退出したプレイヤーが再接続したときのために保存されます。 - bKickLiveIdlers - GLOBALCONFIG です。TRUE の場合は、
Pawn
を伴ったPlayerControllers
を、アイドリング (待機状態) のためにゲームから退出させることができます。 - MaxIdleTime - プレイヤーは、この最大時間量よりも長い時間アイドリングすると、ゲームから退出させられます。
- LeaderboarId - スキル / スコアの統計を書き出すための順位表の ID です。
- ArbitratedLeaderBoardId - スキル / スコアの統計を書き出すための、アービトレイトされた順位表の ID です。
- bUseSeamlessTravel - TRUE の場合は、マップの移動を実行するために
SeamlessTravel()
が使用されます。これは、バックグラウンドでロードするためクライアントの接続を切りません。 - CoverReplicatorBase - 専用サーバーの登録が開始したときに適用する URL オプションの文字列です。
- bHasNetworkError - 重大なネットワークエラーが発生し、サーバーがマップ移動を実行できなくなったときに、TRUE となります。
- ServerOptions - 専用サーバーの登録が開始したときに適用する URL オプションの文字列です。
- AdjustNetSpeed - 現在の調整されたネットスピードです。リッスンサーバーのためのネットスピードを動的に管理するために使用されます。
- LastNetSpeedUpdateTime - クライアントの入場 / 退出によってサーバーのためにネットスピードが更新された直近の時間です。
- TotalNetBandwidth - GLOBALCONFIG です。リッスンサーバーに利用できる帯域幅のトータルの値です。ネット接続間で動的に分割されます。
- [Min/Max]DynamicBandwidth - 接続単位で動的に設定される帯域幅の最小値と最大値です。
- bPauseable - TRUE の場合は、プレイヤーがオンラインでプレイヤーしているときに、ゲームをポーズすることができます。スタンドアローン型ゲームでプレイしているならば、プレイヤーは常にゲームをポーズすることができます。
- bAdminCanPause - TRUE の場合は、adimin がオンラインでプレイヤーしているときに、ゲームをポーズすることができます。
- Pausers - ポーズ解除が可能か否かを決定するために
ClearPause()
でチェックされるデリゲートの配列です。
- bFixedPlayerStart - TRUE の場合は、プロファイリングを一定にするために、同一のスポーン ポイント (複数可) をゲームが使用します。
GameInfo
にはこのための機能がありません。この機能は、サブクラスにおけるスポーンポイント選択のロジックに追加される必要があります。 - CauseEventCommand - マップ URL にあるゲームに渡されたコンソールイベントを保持します。通常は、テスティングのために (すなわち、自動化されたフライスルーをトリガーするために) 使用されます。
GameInfo
にはこのコマンドを実行するための機能がありません。サブクラスの中に追加する必要があります。 - BugLocString - マップ URL にあるゲームに渡された Bugit (バグ要修正) の位置の文字列を保持します。
- BugRotString - マップ URL にあるゲームに渡された Bugit (バグ要修正) の回転の文字列を保持します。
GameInfo の関数
ゲーム- OnEngineHasLoaded - 起動時にエンジンがロードされたときに、ネイティブコードから呼び出されるイベントです。このイベントは、ゲーム起動時に一度だけ呼び出されます。新たなマップが (したがってゲームタイプが) ロードされるたびに呼び出されるわけではありません。
- GetSupportedGameTypes [InFilename] [OutGameType] [bCheckExt] - 指定されたマップ名のための
GameTypePrefix
構造体を取得します。詳細については、 ゲームタイプのプレフィックス のセクションを参照してください。- InFilename - このマップ名のためにゲームタイプを取得します。
- OutGameType - 出力パラメータです。指定されたマップに関連づけられている
GameTypePrefix
構造体を出力します。 - bCheckExt - オプションのパラメータです。TRUE の場合は、マップ名のファイル拡張子をチェックすることによって、有効なマップファイルであることを確認します。
- GetMapCommonPackageName [InFilename] [OutCommonPackageName] - 指定されたマップのファイル名に、一般的なパッケージ名を (存在するならば) 取得します。成功すると、TRUE を返します。マップのための
GameTypePrefix
が見つからない場合や、GameTypePrefix
が一般的なパッケージを使用していない場合は、FALSE を返します。詳細については、 一般的なパッケージ のセクションを参照してください。- InFilename - このマップの名前のために一般的なパッケージの名前を取得します。
- OutCommonPackageName - 出力パラメータです。一般的なパッケージの名前を出力します。
- GetDefaultGameClassPath [MapName] [Options] [Portal] - 指定されたマップとオプションのために使用する、オプションの
GameInfo
クラスへのフルパスを返します。この関数は、クック済みのパッケージを事前にロードするために使用されます。したがって、フォールバックはまったく含める必要はありません。SetGameType()
が後に呼び出されて、望ましいクラスを実際に検索 / ロードすることになっています。- MapName - このマップの名前のためにデフォルトゲームタイプを取得します。
- Options - マップのための URL からのオプション文字列です。(ただし存在する場合)。
- Portal - プレイヤーを送る、目的地のポータルの名前です。(ただし存在する場合)。
- SetGameType [MapName] [Options] [Portal] - 指定されたマップおよび指定されたオプションにおけるゲームのためにスポーンする GameInfo のクラスを返します。望ましいクラスが見つからない場合に備えて、この関数に何らかのフォールバックを含めるべきです。
- MapName - このマップの名前のためにゲームタイプを取得します。
- Options - マップのための URL からのオプション文字列です。(ただし存在する場合)。
- Portal - プレイヤーを送る、目的地のポータルの名前です。(ただし存在する場合)。
- InitGame [Options] [ErrorMessage] - 当該ゲームタイプのためにパラメータを初期化するとともにヘルパークラスをスポーンするために、他のスクリプトが実行される前に、エンジンによって呼び出されます。
- Options - マップのための URL からのオプション文字列です。(ただし存在する場合)。
- ErrorMessage - 出力パラメータです。ゲームタイプの初期化中に発生したエラーメッセージを出力します。
- StartMatch - マッチがこれから始まり、プレイヤーのための
Pawn
がスポーンされることを、全アクタに通知します。 - Reset - ゲームタイプを初期状態にリセットします。他のすべての
Actor
がリセットされた後に呼び出されます。 - ShouldReset [ActorToReset] - 指定された
Actor
がリセットできるか否かを決定します。ゲームを再スタートしているあいだに、指定されたActor
がその上でReset()
を呼び出さなければならない場合は、TRUE を返します。GameInfo
が手動でアクタをリセットする場合や、アクタがリセットされる必要がない場合は、FALSE を返します。- ActorToReset - リセットする
Actor
です。
- ActorToReset - リセットする
- ResetLevel - あらゆる
Controller
、さらに、あらゆるActor
、さらにはGameInfo
のそれぞれでReset()
を呼び出すことによって、レベルをリセットします。 - RestartGame -
bChangeLevels=TRUE
の場合にマップを変更するか、あるいは、現在のマップをリロードすることによって、ゲームを再スタートします。 - EndGame [Winner] [Reason] - ゲーム終了処理を実行します。ゲームの終了条件が満たされた場合に呼び出されます。
- Winner - ゲームに勝利したプレイヤーの
PlayerReplicationInfo
(プレイヤー レプリケーション) です。 - Reason - ゲームを終了する理由を指定する
文字列
です。たとえば、TimeLimit (制限時間)、LastMan (生き残り)、DungeonComplete (ダンジョンの完了) などです。
- Winner - ゲームに勝利したプレイヤーの
- CheckEndGame [Winner] [Reason] -
EndGame()
から呼び出されて、指定された理由に基づいてゲームを実際に終了すべきか否かを確認します。サブクラスによってこれをオーバーライドして、ゲーム固有の変更を追加することができます。- Winner - ゲームに勝利したプレイヤーの
PlayerReplicationInfo
(プレイヤー レプリケーション) です。 - Reason - ゲームを終了する理由を指定する
文字列
です。たとえば、TimeLimit (制限時間)、LastMan (生き残り)、DungeonComplete (ダンジョンの完了) などです。
- Winner - ゲームに勝利したプレイヤーの
- CheckModifiedEndGame [Winner] [Reason] -
CheckEndGame()
から呼び出されて、ゲーム終了条件の変更を可能にします。デフォルトでは、全ミューテータ
上にあるCheckEndGame()
を呼び出します。- Winner - ゲームに勝利したプレイヤーの
PlayerReplicationInfo
(プレイヤー レプリケーション) です。 - Reason - ゲームを終了する理由を指定する
文字列
です。たとえば、TimeLimit (制限時間)、LastMan (生き残り)、DungeonComplete (ダンジョンの完了) などです。
- Winner - ゲームに勝利したプレイヤーの
- PerformEndGameHandling - オンラインレイヤーのために、ゲームの終了条件の処理を行います。
- GameEnding - エンジンによって呼び出されて、ゲームがシャットダウンされる (すなわち、アプリケーションが終了するか、新たなマップがロードされる場合) ことを、ゲームタイプに通知します。
- PreExit - エンジンに呼び出されて、エンジンがシャットダウンすることをゲームに通知します。
- MatchIsInProgress - マッチが現在進行中か否かを返します。
- GameEventsPoll - カスタムのゲームロギングを一定間隔で実行する統計コードのエントリーポイントとして機能する関数スタブです。統計ロギングが開始されると、一定間隔で、
GameplayeStatsWriter
のPoll()
タイマーによって呼び出されます。カスタムの統計ロギングを追加するには、サブクラスでこの関数をオーバーライドします。 - EndLogging [Reason] - 統計ロギングを停止するための関数スタブです。統計ロギングを停止するロジックを追加するには、サブクラスでこの関数をオーバーライドします。
- Reason - ロギングを中止する理由を指定する
文字列
です。
- Reason - ロギングを中止する理由を指定する
- ProcessServerTravel [URL] [bAbsolute] - 新たなレベルにサーバーをジャンプさせる処理を行います。
- URL - 移動先のマップの
URL
です。 - bAbsolute - TRUE の場合は、絶対的移動が使用されます。そうでない場合は、相対的な移動が使用されます。
- URL - 移動先のマップの
- ProcessClientTravel [URL] [NextMapGuid] [bSeamless] [bAbsolute] - 指定された URL に移動するようにすべてのクライアントに通知します。
- URL - 移動先のマップの
URL
です。 - NextMapGuid - 次レベルのサーバーバージョンの GUID (グローバル一意識別子) です。
- bSeamless - TRUE の場合は、シームレスな移動が使用されます。
- bAbsolute - TRUE の場合は、絶対的移動が使用されます。そうでない場合は、相対的な移動が使用されます。
- URL - 移動先のマップの
- SendPlayer [aPlayer] [URL] - プレイヤーを指定された URL に送ります。
- aPlayer - 新たな URL に送るプレイヤーの
PlayerController
です。 - URL - 移動先のマップの
URL
です。
- aPlayer - 新たな URL に送るプレイヤーの
- GetNextMap - 次のゲームで、プレイヤーが移動すべきマップを返す関数スタブです。ゲームにマップのサイクルがある場合は、サブクラスでこの関数をオーバーライドしなければなりません。
- GetTravelType - 使用すべき移動のタイプを決定します。絶対的移動については TRUE を返し、相対的移動については FALSE を返します。
- PreCommitMapChange [PreviousMapName] [NextMapName] - 前のレベルをアンロードする前に、
CommitMapChange()
によってエンジンが呼び出すイベントスタブです。- PreviousMapName - アンロードされるマップの名前です。
- NextMapName - ロードされるマップの名前です。
- PostCommitMapChange - 前のレベルがアンロードされて新たなレベルがロードされた後に、
CommitMapChange()
によってエンジンが呼び出すイベントスタブです。 - GetSeamlessTravelActorList [bToEntry] [ActorList] - シームレスな遷移中にサーバー上でエンジンによって呼び出されて、新たなレベルに移動すべきアクタのリストを取得します。
PlayerControllers
、および、Role < ROLE_Authority
Actor
、 さらに、リストに入っているActor
(すなわち、リストに入っているObject.Outer = =Actor
) 内部にあるあらゆる非アクタは、ここに含まれるか否かにかかわらず、すべて自動的に移動されます。 PersistentLevel 内の動的 (bStatic および bNoDelete) アクタだけが移動できます。(これには、ゲームプレイ中にスポーンされる全アクタが含まれます)。この関数は、遷移の両側で呼び出されます。中間でアクタに変更が生じることがあるからです。(たとえば、プレイヤーが参加したり、ゲームから退出したりする場合)。- bToEntry - TRUE の場合は、サーバーが古いレベルからエントリに移動します。そうでない場合は、サーバーはエントリから新たなレベルに移動します。
- ActorList - 出力パラメータです。 移動すべき
Actor
の配列を出力します。
- PostSeamlessTravel - シームレスな移動が完了した後に、 新たな
GameInfo
上でエンジンによって呼び出されます。この関数は、通常、ゲーム内にすでに存在するプレイヤーを再初期化するために使用されます。そのようなプレイヤーは、Login()
を呼び出さないからです。 - HandleSeamlessTravelPlayer [C] - シームレスなレベル遷移を経て残っていたプレイヤーの再初期化を処理します。サーバーの後にロードを終えたプレイヤーのために、
PostSeamlessTravel()
およびエンジンから呼び出されます。- C - 処理すべきプレイヤーの
Controller
です。
- C - 処理すべきプレイヤーの
- SetSeamlessTravelViewTarget [PC] - シームレスなレベル遷移を経て残っていたプレイヤーのために
ViewTarget
(ビューターゲット) を設定します。- PC -
ViewTarget
を設定すべきPlayerController
です。
- PC -
- PreLogin [Options] [Address] [ErrorMessage] - サーバーに加わりつつあるプレイヤーを受け入れ、もしくは拒否します。
- Options - マップのための URL からのオプション文字列です。(ただし存在する場合)。
- Address - 接続しているプレイヤーの IP アドレスです。
- ErrorMessage - 出力パラメータです。失敗したログインのためのエラーメッセージを出力します。
文字列
が空白以外の場合は、ログインが失敗したことを表します。
- Login [Portal] [Options] [UniqueID] [ErrorMessage] - プレイヤーをログインさせるとともに、プレイヤーのための
PlayerController
をスポーンします。スポーンしたPlayerController
を返します。- Portal - プレイヤーを送る、目的地のポータルの名前です。(ただし存在する場合)。
- Options - マップのための URL からのオプション文字列です。(ただし存在する場合)。
- UniqueID - ログインしているプレイヤーのための
UniqueNetID
(一意なネット ID) です。 - ErrorMessage - 出力パラメータです。失敗したログインのためのエラーメッセージを出力します。
文字列
が空白以外の場合は、ログインが失敗したことを表します。
- PostLogin [NewPlayer] -プレイヤーのログインが成功した後にエンジンによって呼び出されて、プレイヤーのセットアップを処理します。
- NewPlayer - ログインしたプレイヤーの
PlayerController
です。
- NewPlayer - ログインしたプレイヤーの
- Logout [Exiting] -
Controller
から呼び出されて、プレイヤーが破棄されたときに、ゲームからプレイヤーを削除します。- Exiting - ゲームから退出するプレイヤーの
Controller
です。
- Exiting - ゲームから退出するプレイヤーの
- SpawnDefaultPawnFor [NewPlayer] [StartSpot] -
DefaultPawnClass
を使用して、指定されたController
のためのPawn
をスポーンして返します。- NewPlayer -
Pawn
をスポーンするプレイヤーのController
です。 - StartSpot -
Pawn
をスポーンするNavigationPoint
です。
- NewPlayer -
- GetDefaultPlayerClass [C] - 指定された
Controller
のために使用するデフォルトのPawn
クラスを返します。- C - この
Controller
のためにPawn
クラスを取得します。
- C - この
- StartHumans -
RestartPlayer()
を呼び出すことによって、人が制御するプレイヤーをスタートさせます。 - StartBots -
RestartPlayer()
を呼び出すことによって、AI が制御するプレイヤーをスタートさせます。 - RestartPlayer [NewPlayer] - プレイヤーのために、始点を探し、
Pawn
をスポーンし、デフォルトのインベントリを追加するなどして、プレイヤー (人または AI) を再スタートさせます。- NewPlayer - 再スタートさせるプレイヤーの
Controller
です。
- NewPlayer - 再スタートさせるプレイヤーの
- GenericPlayerInitialization [C] - 移動メソッド (
PostLogin()
およびHandleSeamlessTravelPlayer()
) において共通するプレイヤーの初期化をすべて処理します。- C - 初期化するプレイヤーの
Controller
です。
- C - 初期化するプレイヤーの
- UnregisterPlayer [PC] - プレイヤーがゲームから退出する際に、名前の付いたセッションからプレイヤーを削除します。
- PC - ゲームから退出するプレイヤーの
PlayerController
です。
- PC - ゲームから退出するプレイヤーの
- AtCapacity [bSpectator] - ゲームがすでに定員になっているか否かを返します。
- bSpectator - TRUE の場合は、スペクテーター (観戦者) の定員に達しているか否かを返します。そうでない場合は、プレイヤーの定員に達しているか否かを返します。
- GetNumPlayers - ゲーム内にいるプレイヤーの数を返します。
- GetNextplayerID - 参加しているプレイヤーのために使用する、次の ID を返します。
- SetPlayerDefaults [PlayerPawn] - 特定のプレイヤー
Pawn
のプロパティを、デフォルトの値にリセットします。RestartPlayer()
から呼び出されます。- PlayerPawn - この
Pawn
のためにプロパティをリセットします。
- PlayerPawn - この
- CanSpectate [Viewer] [ViewTarget] - 指定された
PlayerController
が、指定されたPlayerReplicationinfo
の視点から見物することができるか否かを返します。- Viewer - スペクテーターの
PlayerController
です。 - ViewTarget - 見物対象の
PlayerReplicationInfo
です。
- Viewer - スペクテーターの
- ChangeName [Other] [S] [bNameChange] - 指定されたプレイヤーの名前を、指定された名前に変更します。
- Other - プレイヤーの
Controller
です。 - S - プレイヤーに付ける名前です。
- bNameChange - 未使用です。
- Other - プレイヤーの
- ChangeTeam [Other] [N] [bNewTeam] - 指定されたプレイヤーのチームを、指定されたチームに変更します。
- Other - プレイヤーの
Controller
です。 - N - プレイヤーを配置するチームの番号です。
- bNewteam - 未使用です。
- Other - プレイヤーの
- PickTeam [Current] [C] - 指定されたプレイヤーを配置するチームの実際の番号を返します。
- Current - プレイヤーを配置するチームの仮の番号です。
- C - プレイヤーの
Controller
です。
- PlayerCanRestartGame [aPlayer] - 指定されたプレイヤーが、ゲームを再スタートしても良いかどうかを返します。
- aPlayer - 再スタートを要求しているプレイヤーの
PlayerController
です。
- aPlayer - 再スタートを要求しているプレイヤーの
- PlayerCanRestart [aPlayer] - 指定されたプレイヤーが、再スタートされても良いかどうかを返します。
- aPlayer - 再スタートされるように要求しているプレイヤーの
PlayerController
です。
- aPlayer - 再スタートされるように要求しているプレイヤーの
- SwapPlayerControllers [OldPC] [NewPC] - シームレスな移動を行い、新たなゲームタイプの
Controller
クラスが前のものと異なる場合、ビューポート / 接続のPlayerControllers
を交換します。- OldPC - 前のゲームタイプに由来するプレイヤーの
PlayerController
です。 - NewPC - 新ゲームタイプにおけるプレイヤーのための
PlayerController
です。
- OldPC - 前のゲームタイプに由来するプレイヤーの
- DoNavFearCostFalloff -
bDoFearCostFalloff=true
の場合、ナビゲーションポイントの FearCost フォールオフを更新します。GameInfo
のTimer()
から呼び出されます。 - NotifyNavigationChanged [N] - NavigationPoint (ナビゲーションポイント) がブロックされるか、ブロック解除されたときに、ゲームタイプに通知する関数スタブです。これによって、ゲームタイプがワールド内の AI に通知し、AI がルートを更新することができるようになります。
- N - 変更された
NavigationPoint
です。
- N - 変更された
- ShouldSpawnAtStartSpot [Player] - 指定されたプレイヤーの
StartSpot
プロパティを、Pawn
のためのスポーン位置として使用すべきか否かを返します。- Player - プレイヤーの
Controller
です。
- Player - プレイヤーの
- FindPlayerStart [Player] [InTeam] [IncomingName] - 当該プレイヤーの出発地点として最善な
NavigationPoint
を返します。PlayerStarts
はRatePlayerStart()
によって評価されます。- Player - プレイヤーの
Controller
です。 - InTeam - オプションの引数です。プレイヤーが属すチームの番号です。
- IncomingName - オプションの引数です。出発地点として使用するテレポーターのタグを指定します。
- Player - プレイヤーの
- ChoosePlayerStart [Player] [InTeam] - 指定されたプレイヤーの出発地点として最善な
PlayerStart
を返します。PlayerStarts
はRatePlayerStart()
によって評価されます。- Player - プレイヤーの
Controller
です。 - InTeam - オプションの引数です。プレイヤーが属すチームの番号です。
- Player - プレイヤーの
- RatePlayerStart [P] [Team] [Player] - 指定された
PlayerStart
が、指定されたプレイヤーとチームにとってどの程度望ましいものかを評価して返します。- P - 評価を受ける
PlayerStart
です。 - Team - プレイヤーが属すチームの番号です。
- Player - プレイヤーの
Controller
です。
- P - 評価を受ける
- ShouldRespawn [Other] - 指定された
PickupFactory
(ピックアップ ファクトリ) が再スポーンすべきか否かを返します。デフォルトでは、マルチプレイヤーのゲームにおいてのみ、アイテムの再スポーンが許されています。- Other - 再スポーンさせるアイテムの
PickupFactory
です。
- Other - 再スポーンさせるアイテムの
- AddDefaultInventory [P] - 指定された
Pawn
のためにデフォルトのあらゆるインベントリをスポーンします。 (Pawn::AddDefaultInventory()
を使用します)。Pawn
をスポーンするActorFactory
およびRestartPlayer()
から呼び出されます。- P - デフォルトのインベントリを渡す
Pawn
です。
- P - デフォルトのインベントリを渡す
- PickupQuery [Other] [ItemClass] [Pickup] - 渡されたアイテムを指定されたプレイヤーが選択できるか否かを返します。
Pawn
がアイテムを選択しようとする際にPickupFactory
またはDroppedPickup
によって呼び出されます。- Other - アイテムを選択しようとしている
Pawn
です。 - ItemClass - アイテムの
Inventory
クラスです。 - Pickup - アイテムを含む
Actor
です。(例 :PickupFactory
)。
- Other - アイテムを選択しようとしている
- DiscardInventory [Other] [Killer] - プレイヤーが死んだ後、プレイヤーのインベントリを破棄またはドロップします。
- Other - 死んだプレイヤーの
Controller
です。 - Killer - オプションの引数です。死んだプレイヤーを殺したプレイヤーの
Controller
です。(ただし、存在する場合)。
- Other - 死んだプレイヤーの
- BroadcastDeathMessage [Killer] [Other] [damageType] - あるプレイヤー (
Killer
) が他のプレイヤー (Other
) を殺した場合に、DeathMessageClass
からのメッセージを表示します。BroadcastLocalized()
を呼び出します。- Killer - 一方のプレイヤーを殺したプレイヤーの
Controller
です。None
(プレイヤーによって殺されなかった場合) またはOther
(この場合自死ということになる) にすることができます。 - Other - 殺されたプレイヤーの
Controller
です。 - damageType - プレイヤーの死を招いたダメージの
DamageType
(ダメージタイプ) です。
- Killer - 一方のプレイヤーを殺したプレイヤーの
- Broadcast [Sender] [Msg] [Type] - 指定されたメッセージを、ゲーム内の全プレイヤーに表示します。
- Sender - メッセージを開始する
Actor
です。 - Msg - 表示するメッセージを表す
文字列
です。 - type - オプション引数です。送信されるメッセージの追加の「タイプ」を規定するために使用できる
名前
です。
- Sender - メッセージを開始する
- BroadcastTeam [Sender] [Msg] [Type] - 通信者と同じチームにいる全プレイヤーに指定されたメッセージを表示します。
- Sender - メッセージを開始する
Actor
です。 - Msg - 表示するメッセージを表す
文字列
です。 - type - オプション引数です。送信されるメッセージの追加の「タイプ」を規定するために使用できる
名前
です。
- Sender - メッセージを開始する
- BroadcastLocalized [Sender] [Message] [Switch] [RelatedPRI_1] [RelatedPRI_2] [OptionalObject] - ゲーム内の全プレイヤーにローカライズされたメッセージを表示します。
- Sender - メッセージを開始する
Actor
です。 - Message - メッセージの入手元である
LocalMessage
クラスです。 - Switch - オプションの引数です。表示するメッセージのインデックスです。
- RelatedPRI_1 - オプションの引数です。メッセージの中で表示すべき情報を得るのに使用できる
PlayerReplicationInfo
です。 - RelatedPRI_2 - オプションの引数です。メッセージの中で表示すべき情報を得るのに使用できる
PlayerReplicationInfo
です。 - OptionalObject - オプション引数です。メッセージを表示する際に使用できる
Object
です。たとえば、LocalMessage
クラスのデフォルトの動作では、これをClass
オブジェクトとして扱い、その上にあるGetLocalString()
を呼び出すことによって、表示すべきメッセージを入手します。(これはBroadcastDeathMessage
のために使われます)。
- Sender - メッセージを開始する
- BroadcastLocalizedTeam [TeamIndex] [Sender] [Message] [Switch] [RelatedPRI_1] [RelatedPRI_2] [OptionalObject] - 指定されたチームにいる全プレイヤーにローカライズされたメッセージを表示します。
- TeamIndex - メッセージの表示先になるチームの番号です。
- Sender - メッセージを開始する
Actor
です。 - Message - メッセージの入手元である
LocalMessage
クラスです。 - Switch - オプションの引数です。表示するメッセージのインデックスです。
- RelatedPRI_1 - オプションの引数です。メッセージの中で表示すべき情報を得るのに使用できる
PlayerReplicationInfo
です。 - RelatedPRI_2 - オプションの引数です。メッセージの中で表示すべき情報を得るのに使用できる
PlayerReplicationInfo
です。 - OptionalObject - オプション引数です。メッセージを表示する際に使用できる
Object
です。たとえば、LocalMessage
クラスのデフォルトの動作では、これをClass
オブジェクトとして扱い、その上にあるGetLocalString()
を呼び出すことによって、表示すべきメッセージを入手します。(これはBroadcastDeathMessage
のために使われます)。
- KickIdler [PC] -
AccessControl::KickPlayer()
を使用してゲームから指定されたプレイヤーを取り除きます。- PC - 締め出されるプレイヤーの
Controller
です。
- PC - 締め出されるプレイヤーの
- Kick [S] - ゲームから指定されたプレイヤーを取り除きます。
- S - 取り除くプレイヤーを指定する
文字列
です。これは、そのプレイヤーのPlayerName
かPlayerID
でなければなりません。
- S - 取り除くプレイヤーを指定する
- ForceKickPlayer [PC] [KickReason] - admin のステータスにかかわらず、指定されたプレイヤーをゲームから取り除きます。
- PC - 締め出されるプレイヤーの
Controller
です。 - KickReason - プレイヤーが取り除かれた理由を指定する
文字列
です。
- PC - 締め出されるプレイヤーの
- KickBan [S] - 指定されたプレイヤーをゲームから取り除くとともにバンする (接続を禁止する) ことによって、再エントリを拒否します。
- S - 取り除くプレイヤーを指定する
文字列
です。 これは、そのプレイヤーのPlayerName
かPlayerID
である必要があります。
- S - 取り除くプレイヤーを指定する
- InitGameReplicationInfo - ゲームのために
GameReplicationInfo
を初期化します。 - StartOnlineGame -
StartMatch()
によって呼び出され、オンラインシステムにゲームを起動させるとともに、コールバックを待機するように命令します。接続済みの各クライアントに対して、セッションを進行中としてマークするように命令します。 - OnStartOnlineGameComplete [SessionName] [bWasSuccessful] - オンラインシステムがゲームの起動を完了したときに呼び出されます。
- SessionName - セッションの
名前
です。 - bWasSuccessful - TRUE の場合は、オンラインシステムがゲームの起動に成功しました。また、全クライアントが登録されます。
- SessionName - セッションの
- EndOnlineGame -
PerformEndGameHandling()
から呼び出されて、オンラインシステムに対してゲームを終了するように命じます。全クライアントに対しても同様の命令を行います。 - GetNetworkNumber - ホストマシンの IP アドレスを返します。
- RequiresPassword - 参加するためにパスワードをゲームが必要とするか否かを返します。
- ReplicateStreamingStatus [PC] - 現在のレベル ストリーミングのステータスを、指定された
PlayerController
にレプリケートします。- PC - ストリーミングのステータスをレプリケートする、プレイヤーの
PlayerController
です。
- PC - ストリーミングのステータスをレプリケートする、プレイヤーの
- BestNextHostSort [A] [B] - 指定されたホストのうちどれが望ましいかを返します。上位のホストからなるリストをソートするために使用されます。最も多いピア接続をもつクライアントが最上位に来ます。さらに、参加時間に基づいてソートすることによって、最も新しいプレイヤーが望ましいものとなるようにします。
- [A/B] - ソートすべきホストの
PlayerControllers
です。
- [A/B] - ソートすべきホストの
- UpdateBestNextHosts - 現在のサーバー上で次善のホストからなるリストを更新するとともに、全クライアントにこのリストをレプリケートします。
- UpdateNetSpeeds - 新たなスピードでゲーム内の全
PlayerControllers
を更新します。 - CalculatedNetSpeed -
MinDynamicBandwidth
(最小動的帯域幅) とMaxDynamicBandwidth
(最大動的帯域幅) の間にクランプされたネットスピードを計算します。 - WriteOnlineStats - 全クライアントに対して、統計情報を書き出すように命令し、さらに、ローカルの統計情報を処理します。
- WriteOnlinePlayerScores - マッチがアービトレイトされる場合、全クライアントに対して、プレイヤーのスコアのコピーを書き出すように命令します。アービトレイト (仲裁) されない場合は、最初のローカルプレイヤーにのみスコアを書き出させます。
- UpdateGameSettings - ゲームを探索しているプレイヤーに対して発行しなければならないゲーム設定項目の変更を更新するために使用される関数スタブです。サブクラスによってオーバーライドされる必要があります。
- UpdateGameSettingsCounts - プレイヤー数に関するオンライン サブシステムの情報を更新することによって、LAN マッチが正しいプレイヤー数を表示できるようにします。
- ProcessClientRegistrationCompletion [PC] [bWasSuccessful] - プレイヤーがアービトレーション (仲裁) の登録を完了したことを、ゲームに対して通知する関数スタブです。登録の完了を処理するには、サブクラスでこの関数スタブをオーバーライドします。
- PC - 登録を完了したプレイヤーの
PlayerController
です。 - bWasSuccessful - TRUE の場合は、登録が成功しました。
- PC - 登録を完了したプレイヤーの
- StartArbitrationRegistration - 非同期の登録を開始する関数スタブです。サブクラスによってオーバーライドされる必要があります。
- StartArbitratedMatch - アービトレイトされたマッチを開始する関数スタブです。サブクラスによってオーバーライドされる必要があります。
- RegisterServerForArbitration - アービトレーションのためのサーバーを登録する関数スタブです。サブクラスによってオーバーライドされる必要があります。
- ArbitrationRegistrationComplete [SessionName] [bWasSuccessful] - アービトレーションのためのサーバーを登録し終えたときに呼び出される関数スタブです。
- SessionName - セッションの
名前
です。 - bWasSuccessful - TRUE の場合は、登録が成功しました。
- SessionName - セッションの
- NotifyArbitratedMatchEnd - アービトレイトされたマッチが終了したときに呼び出されて、全クライアントに対して接続を切り、メニューに進むように命令します。
- ProcessServerLogin - コマンドライン上で渡されているログインパラメータのチェックをします。存在する場合は、専用サーバーの登録プロセスを開始する前に、非同期ログインを実行します。ログインが進行中の場合は、TRUE を返します。
- ClearAutoLoginDelegates - ログインプロセスが終了 / 失敗すると、ログインデリゲートをクリアします。
- OnLoginFailed [LocalUserNum] [ErrorCode] - サーバーログインが失敗した場合に呼び出されて、
ClearAutoLoginDelegates()
を呼び出します。- LocalUserNumber - 関連づけられているユーザーの Controller 番号です。
- ErrorCode - 発生した
EOnlineServerConnectionStatus
非同期エラーコードです。
- OnLoginChanged [LocalUserNum] - サーバーログインが完了したときに呼び出され、サーバーを登録します。
- LocalUserNumber - 未使用です。
- RegisterServer - オンラインサービスで専用サーバーを登録します。
- OnServerCreateComplete [SessionName] [bWasSuccessful] - 専用サーバーの登録が完了したときに呼び出されます。
- SessionName - セッションの
名前
です。 - bWasSuccessful - TRUE の場合は、登録が成功しました。
- SessionName - セッションの
- TellClientsToReturnToPartyhost - PlayerController をイタレートするとともに、パーティーに復帰するように命令します。
- TellClientsToTravelToSession [SessionName] [SearchClass] [PlatformSpecificInfo] - PlayerController をイタレートし、リモートプレイヤーに対して、指定されたセッションに移動するように命令します。
- SessionName - 登録するセッションの
名前
です。 - SearchClass - セッションが入れられるべき
OnlineGameSearch
クラスです。 - PlatformSpecificInfo - プラットフォーム固有領域に配置すべきバイナリデータです。
- SessionName - 登録するセッションの
- AddInactivePRI [PRI] [PC] - 指定された
PlayerReplicationInfo
を非アクティブなリストに追加するとともに、アクティブなリストから削除します。- PRI - 非アクティブなリストに追加すべきプレイヤーの
PlayerReplicationInfo
です。 - PC -
PRI
と関連づけられているプレイヤーのPlayerController
です。
- PRI - 非アクティブなリストに追加すべきプレイヤーの
- FindInactivePRI [PC] - 再エンターしている指定プレイヤーと関連づけられている PRI を検索して返します。
- PC - プレイヤーの
PlayerController
です。
- PC - プレイヤーの
- OverridePRI [PC] [OldPRI] - 必要に応じて、指定されたプレイヤーの
PlayerReplicationInfo
のプロパティを、ログインプロセス中に割り当てられた古いPlayerReplicationInfo
のプロパティでオーバーライドします。- PC - プレイヤーの
PlayerController
です。 - OldPRI - ログイン時に割り当てられたプロパティを保持している
PlayerReplicationInfo
です。
- PC - プレイヤーの
- CanUnpause - デリゲートです。ゲームがポーズ解除を要求されたときに呼び出されて、そのアクションが許されるか否かを決定します。ゲームのポーズ解除が可能な場合は、TRUE を返します。デフォルトの実装では、すべての要求が成功します。
- SetPause [PC] [CanUnpauseDelegate] - 指定されたプレイヤーがゲームをポーズする権利を持っている場合は、ゲームをポーズするとともに、デリゲートをリストに追加します。デリゲートは、ゲームのポーズを解除してもよい (例 : ゲームがポーズされた理由が除去された場合など) かどうかを調べるために呼び出されます。
- PC - ゲームのポーズ解除を試みているプレイヤーの
PlayerController
です。 - CanUnpauseDelegate - 当該ポーズの解除が許されるか否かを決定するために使用するデリゲートです。(このデリゲートは、
CanUnpause
デリゲートのシグネチャと一致しています)。
- PC - ゲームのポーズ解除を試みているプレイヤーの
- ClearPause - デリゲートのリストをチェックして、当該ポーズの解除が可能か否かを決定します。デリゲートによって解除が可能であるとされた場合は、そのデリゲートをリストから削除し、残りのデリゲートをチェックします。リストが空の場合は、ゲームがポーズ解除されていると見なされる。
- ForceClearUnpauseDelegates [PauseActor] - オブジェクトの
CanUnpause
デリゲートをポーズリストから強制的に削除します。リストの中に オブジェクトのCanUnpause
デリゲート ハンドラがある場合は、ClearPause()
の呼び出しをトリガーします。 PlayerController が破壊されているときに呼び出されることによって、ゲームをポーズした PC がゲームのポーズ解除を行う前に破壊された場合に、ゲームがポーズ状態になって動かなくなるのを防ぎます。- PauseActor - この
Actor
のためにCanUnpause
デリゲートをすべて解除します。
- PauseActor - この
- AllowPausing [PC] - 指定されたプレイヤーがゲームをポーズできるか否かを返します。
- PC - ゲームのポーズを要求しているプレイヤーの
PlayerController
です。
- PC - ゲームのポーズを要求しているプレイヤーの
- SetGameSpeed [T] - ゲームスピードとワールドの
TimeDilation
を指定された値にセットします。ゲームのTimer()
を実行する頻度を制御します。 - AllowCheats [P] - チートがゲームで許されているか否かを返します。デフォルトでは、オフラインのゲームでのみ許されています。
- UpdateGameplayMuteList [PC] - プレイヤーのゲームプレイ固有のミュート情報が更新できることを、ゲームタイプに通知するために使用されます。
プレイヤー
は、更新可能であることをサーバーに通知する必要があります。さもなければ、一意なネット ID が不正なものとなり、ミュート情報が正しく機能しなくなります。- PC - このプレイヤーの
PlayerController
のためにミュート情報を更新します。
- PC - このプレイヤーの
- RecalculateSkillRating - 当該ゲームのための公表スキルを更新するためにゲームタイプによって使用されます。
- MatineeCancelled - 当該 PC がシネマティックスモードにあり、Matinee がユーザーによってキャンセルされた場合に、呼び出されます。
- GetCoverReplicator - 当該ゲームのために、
CoverReplicatorBase
を返します。1 つも存在していない場合は、新たにスポーンして返します。 - NotifyKilled [Killer] [Killed] [KilledPawn] [damageType] - 指定されたプレイヤーに殺されたことを通知します。
Killed()
から呼び出されます。- Killer - 殺した方のプレイヤーの
Controller
です。 - Killed - 殺された方のプレイヤーの
Controller
です。 - KilledPawn - 殺された方のプレイヤーの
Pawn
です。 - DamageType - プレイヤーの死の原因になったダメージの
DamageType
(ダメージのタイプ) です。
- Killer - 殺した方のプレイヤーの
- Killed [Killer] [KilledPlayer] [KilledPawn] [damageType] -
Pawn
によって呼び出され、Pawn
が殺されたことをゲームに通知します。- Killer - 殺した方のプレイヤーの
Controller
です。 - Killed - 殺された方のプレイヤーの
Controller
です。 - KilledPawn - 殺された方のプレイヤーの
Pawn
です。 - DamageType - プレイヤーの死の原因になったダメージの
DamageType
(ダメージのタイプ) です。
- Killer - 殺した方のプレイヤーの
- PreventDeath [KilledPawn] [Killer] [DamageType] [HitLocation] -
Pawn
によって呼び出され、殺されたPawn
をゲームがオーバーライドすることを許可します。- KilledPawn - 殺された方のプレイヤーの
Pawn
です。 - Killer - 殺した方のプレイヤーの
Controller
です。 - DamageType - プレイヤーの死の原因になったダメージの
DamageType
(ダメージのタイプ) です。 - HitLocation - プレイヤーの死の原因となったヒットの位置を指定する
Vector
(ベクター) です。
- KilledPawn - 殺された方のプレイヤーの
- ReduceDamage [Damage] [injured] [instigatedBy] [HitLocation] [Momentum] [DamageType] [DamageCauser] - プレイヤーにダメージが与えられたときに
TakeDamage()
によって呼び出され、ダメージ量を修正することを可能にします。- Damage - 出力パラメータです。与えられたダメージ量を受け取り、出力します。
- injured - ダメージを受けたプレイヤーの
Pawn
です。 - instigatedBy - ダメージを与えたプレイヤーの
Controller
です。 - HitLocation - ダメージの原因となったヒットの位置を指定する
Vector
です。 - Momentum - ダメージに適用されるモメンタムの方向と大きさを指定する
Vector
です。 - DamageType - 与えられたダメージの
DamageType
です。 - DamageCauser - ダメージを実際に引き起こした
Actor
です。
- AddObjectiveScore [Scorer] [Score] - 目標が達成された後に、指定されたプレイヤーのスコアを増加させます。
- Scorer - プレイヤーの
PlayerReplicationInfo
です。 - Score - プレイヤーのスコアに加える値です。
- Scorer - プレイヤーの
- ScoreObjective [Scorer] [Score] - プレイヤーのスコアを増加させるとともに、目標が達成された後に、ゲームを終了すべきか否かをチェックします。
- Scorer - プレイヤーの
PlayerReplicationInfo
です。 - Score - プレイヤーのスコアに加える値です。
- Scorer - プレイヤーの
- CheckScore [Scorer] -
ScoreObjective()
によって呼び出され、指定されたプレイヤーのスコアに基づいて、ゲームを終了させるか否かを決定します。- Scorer - プレイヤーの
PlayerReplicationInfo
です。
- Scorer - プレイヤーの
- ScoreKill [Killer] [Other] - プレイヤーのスコアを増加させるとともに、殺された後に、ゲームを終了すべきか否かをチェックします。
- Killer - プレイヤーの死を引き起こしたプレイヤーの
Controller
です。 - Other - 死んだプレイヤーの
Controller
です。
- Killer - プレイヤーの死を引き起こしたプレイヤーの
- GrabOption [Options] [Result] - オプション文字列から次のキー / 値のペアを抽出します。ペアが見つかった場合は、TRUE を返します。
- Options - 出力パラメータです。現在のオプション文字列を受け取り、パースされたペアを引いたオプション文字列を出力します。
- Result - 出力パラメータです。パースされたペアを出力します。
- GetKeyValue [Pair] [Key] [Value] - キー / 値のペアをキーと値に分解します。
- Pair - キー / 値のペアを受け取ります。
- Key - 出力パラメータです。キーを出力します。
- Value - 出力パラメータです。値を出力します。
- ParseOption [Options] [InKey] - 指定されたキーについて、オプション文字列からキー / 値のペアを抽出します。
文字列
の形式でキー / 値のペアを返します。- Options - 現在のオプション文字列を受け取ります。
- InKey - 検索対象のキーです。
- HasOption [Options] [InKey] - オプション文字列に指定されたキーのキー / 値のペアが存在するか否かを返します。
- Options - 現在のオプション文字列を受け取ります。
- InKey - 検索対象のキーです。
- GetIntOption [Options] [ParseString] [CurrentValue] - オプション文字列から指定されたキーの
Int
値を返します。- Options - 現在のオプション文字列を受け取ります。
- ParseString - 検索対象のキーです。
- CurrentValue - キーが見つからなかった場合に使用する現在の (デフォルトの) 値です。
- AddMutator [mutname] [bUserAdded] - ゲームに指定されたミューテータを追加します。
- mutname - 追加するミューテータクラスを指定する
文字列
です。 - bUserAdded - TRUE の場合は、ゲームのインターフェースを通じてプレイヤーによってミューテータが追加されました。
- mutname - 追加するミューテータクラスを指定する
- RemoveMutator [MutatorToRemove] - 指定されたミューテータをゲームから削除します。
- MutatorToRemove - 削除する
ミューテータ
です。
- MutatorToRemove - 削除する
- AllowMutator [MutatorClassName] - 指定された
Mutator
(ミューテータ) クラスをゲームに追加できるか否かを返します。- MutatorClassName - チェックするミューテータクラスを指定する
文字列
です。
- MutatorClassName - チェックするミューテータクラスを指定する
- Mutate [MutateString] [Sender] - 入力文字列をミューテータリストに渡します。PlayerController.Mutate() によって使用されます。ミューテータが入力された実行関数を持てるのようにします。(ミューテータをキーにバインドします)。
- MutateString - ミューテータリストに渡す
文字列
です。 - Sender - ミューテータ文字列を送っているプレイヤーの
PlayerController
です。
- MutateString - ミューテータリストに渡す
- CheckRelevance [Other] - Actor が当該ゲームに関係があり、破棄されてはならない場合は、TRUE を返します。
Actor::PreBeginPlay()
で呼び出されます。スポーンされている Actor をミューテータが削除または置換できるようにします。- Other - この
Actor
の関係性を調べます。
- Other - この
- ModifyScoreKill [Killer] [Other] - プレイヤーのキルをミューテータリストに渡し、スコアの処理を行います。
- Killer - プレイヤーの死を引き起こしたプレイヤーの
Controller
です。 - Other - 死んだプレイヤーの
Controller
です。
- Killer - プレイヤーの死を引き起こしたプレイヤーの
- DriverEnteredVehicle [V] [P] - ビークル (乗り物) 乗車イベントをミューテータリストに渡します。
- V - 乗車されたビークルです。
- P - ビークルに乗るプレイヤーの
Pawn
です。
- CanLeaveVehicle [V] [P] - 指定された
Pawn
が指定されたVehicle
(ビークル) から出ることができるか否かについて調べます。ミューテータが存在するか否かをミューテータリストが決定できるようにします。- V - 退去される
Vehicle
(ビークル) です。 - P - ビークルから退去しようとしているプレイヤーの
Pawn
です。
- V - 退去される
- DriverLeftVehicle [V] [P] - ビークル退去イベントをミューテータリストに渡します。
- V - 退去される
Vehicle
(ビークル) です。 - P - ビークルから退去しようとしているプレイヤーの
Pawn
です。
- V - 退去される
- EnableStandbyCheatDetection [bIsEnabled] - スタンドバイチート検知機能を有効 / 無効にします。
- bIsEnabled - TRUE の場合は、スタンドバイチート検知機能が有効になります。そうでない場合は、無効になります。
- StandbyCheatDetected [StandbyType] - スタンドバイチートが検知されたことをゲームコードに通知します。
- StandbyType - 検知されたチートの
EStandbyType
です。
- StandbyType - 検知されたチートの
- DoTravelTheWorld - 自動テスティングのためにワールドの移動を開始します。
- IsAutomatedPerfTesting - 自動パフォーマンスのテスティングが有効な場合は、TRUE を返します。
- IsCheckingForFragmentation - フラグメンテーションのチェックが有効な場合は、TRUE を返します。
- IsCheckingForMemLeaks - メモリリークのチェックが有効な場合は、TRUE を返します。
- IsDoingASentinelRun - Sentinel を実行している場合は、TRUE を返します。
- ShouldAutoContinueToNextRound - 次のラウンドに自動継続する場合は、TRUE を返します。
- CheckForSentinelRun - 必要に応じて、
AutoTestManager
に対して Sentinel の実行を要請します。GameInfo のサブクラスによって呼び出されなければなりません。 (GameInfo::StartMatch()
の基本実装において呼び出されるのではなく)。
ゲームのライフサイクル
ゲームタイプのプレフィックス
GameInfo
クラスを自動的に選択してくれる機能が備わっています。 DefaultMapPrefixes
(デフォルト マップ プレフィックス) 配列と CustomMapPrefixes
(カスタム マップ プレフィックス) 配列が、 GameTypePrefix
(ゲームタイプ プレフィックス) 構造体のリストを保持しています。各リストでは、特定のプレフィックス文字列が、(特に) ゲームタイプクラスにマッピングされています。
GameTypePrefix
(ゲームタイプ プレフィックス) 構造体
- Prefix - マッププレフィックスを指定する
文字列
です。マッププレフィックスは、マップ名から始まる文字列であり、ハイフン (-) がそれに続きます。このハイフンは、プレフィックスに含まれません。単に、プレフィックスと残りのマップ名を区別するためのものです。 - bUseCommonPackage - TRUE の場合は、一般的なパッケージがこのゲームタイプのために生成されます。詳細については、 一般的なパッケージ のセクションを参照してください。
- GameType - プレフィックスにマッピングするゲームタイプのクラスを指定する
文字列
です。URL
にゲームタイプが指定されていない場合は、このゲームタイプが、当該プレフィックスをもつマップに使用されます。 - AdditionalGameTypes - URL を通じて当該マッププレフィックスによってサポートされる付加的なゲームタイプクラスを指定する
文字列
の配列です。 - ForcedObjects - 各マップでクックされないようにするために、一般的なパッケージに入るべき強制オブジェクト (およびクラス) です。
ゲームタイプのプレフィックスを追加する
ゲームタイプのプレフィックスのマッピングを追加するには、DefaultGame.ini
config ファイルの [Engine.GameInfo]
セクションで、新たなエントリを作成します。以下はその例です。
[Engine.GameInfo] +DefaultMapPrefixes=(Prefix="DM",bUsesCommonPackage=FALSE,GameType="UTGame.UTDeathmatch")
一般的なパッケージ
TODOポーズ
GameInfo
上の SetPause()
を呼び出します。 SetPause()
は、配列に追加されるパラメータとしてデリゲートを受け入れます。特定の理由でゲームがポーズされた場合、その条件がもう問題ではないことを確認するための特定のデリゲートが、 SetPause()
に渡されます。
たとえば、 PlayerController.uc
において、Controller は、接続されるか接続を解除された場合に、下記のように、 PlayerController
上の SetPause()
を呼び出して、 CanUnpauseControllerConnected
関数を渡します (この関数はさらに GameInfo
の SetPause()
に渡されます)。
// Pause if the controller was removed, otherwise unpause SetPause(!bIsConnected,CanUnpauseControllerConnected);
CanUnpauseControllerConnected
関数は、単にコントローラーがプラグインされているかどうかを返します。
GameInfo
内の SetPause
関数に渡されるデリゲートがない場合は、常に TRUE を返すデフォルトの CanUnpause
関数が使用されます。これが当てはまる場合は、ゲームのポーズ解除をする際にチェックすべき特定の条件がないために、プレイヤーが単にポーズする必要がある場合です。
ゲームのポーズを解除するために ClearPause()
が呼び出されたときに、 Pausers
配列に入っている各デリゲートが実行されます。 このデリゲートは、TRUE を返すと、配列から削除されます。ゲームのポーズが解除されるのは、この配列が空になったときだけです。
ミューテータ
- プレイヤーのログインパラメータを変更する。
- プレイヤーの
Pawn
のプロパティを変更する。 - 一部の (あるいは全部の) Actor を変更、削除、置換する。(ただし、bGameRelevant=TRUE ではない Actor)。
- プレイヤーのスタート位置をオーバーライドする。
- ゲームの終了条件を変更する。
ミューテータを追加する
ミューテータをゲームに追加するには、GameInfo
の AddMutator()
関数を使用します。この関数は、潜在的には他のあらゆる Actor から呼び出され、プレイ中にミューテータを動的に追加することによって、特定の要素をゲームプレイ イベントに応じて変更することができます。デフォルトでは、 InitGame()
から呼び出されて、マップ URL で指定されたミューテータを追加します。
ミューテータをマップ URL で指定するには、 Mutator=
の後に、追加するミューテータのリストをカンマで区切りながら置きます。 例:
MapName?Game=GameName?Mutator=BigHeads,Instagibこのマップ URL によって、
MapName
というマップがロードされます。このマップでは、 GameName
というゲームタイプが使用されます。さらに、 BigHeads
と Instagib
というミューテータが加わります。このようにしてミューテータを加えるためのマップ URL は、通常、使用するミューテータをプレイヤーに選択させるメニューによって動的に生成されます。特定のゲームタイプのために「デフォルト」のミューテータを 1 つ以上ハードコード化することも可能です。そのためには、このゲームタイプのための InitGame()
イベントの中に、これらのミューテータのための明示的な AddMutator()
の呼び出しを追加します。