通知
すべてクリア
03/01/2021 4:18 pm
打ち出した弾のHitからFIrstPersonCharacterをキャストしてHP変動を行うと、打ち出したプレイヤー自身に当たった場合にもHPが減ってしまいます。
キャラクターの判別方法はあるのでしょうか?
03/01/2021 4:18 pm
ブループリント内でどういった処理を行っているかわからないので何とも言えませんが、
GetplayerController関数 -> GetDisplayName関数で操作しているプレイヤーの名前を取得できます。
それを利用して、キャストしたプレイヤーと自身の取得したプレイヤーの名前を比較して合致していなければダメージ、といったやり方はどうでしょうか。
03/01/2021 4:23 pm
弾のHP減少の処理が上手くいかずに悩んでおります。
考えとしては教えていただいたGetDisplayNameで取った値をFirstPersonBPの方で関数にセットをし、弾を生成すると同時に弾にその値を乗せて撃ち出し、Hitが呼ばれたら乗っている値と当たった物の値を比べて異なっていた場合ダメージ処理を行う。
という事を行いたかったのですが、ホスト側→クライアント側は正常に動作し、ホスト側は自身が打ち出した弾は感知しなくなったのですが、その逆が上手くいかず弾を当てても当たっても変動が行われませんでした。
03/01/2021 4:25 pm
RunOnServer_Fire関数の詳細ウィンドウにあるインプットで変数を追加して、
追加した変数の左にある▷を開いてリファレンス渡しにチェックを入れれば、
サーバー側でもクライアント側でも値を渡せるようになります。
是非使ってみてください。
This post was modified 4年前 by Teacher