打ち出した弾のHitからFIrstPersonCharacterをキャストしてHP変動を行うと、打ち出したプレイヤー自身に当たった場合にもHPが減ってしまいます | UE4&5 Forum | Tech Stadium Forum

打ち出した弾のHitからFIrstPe...
 
通知
すべてクリア

打ち出した弾のHitからFIrstPersonCharacterをキャストしてHP変動を行うと、打ち出したプレイヤー自身に当たった場合にもHPが減ってしまいます  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
03/01/2021 4:18 pm  

打ち出した弾のHitからFIrstPersonCharacterをキャストしてHP変動を行うと、打ち出したプレイヤー自身に当たった場合にもHPが減ってしまいます。
キャラクターの判別方法はあるのでしょうか?


引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
03/01/2021 4:18 pm  

ブループリント内でどういった処理を行っているかわからないので何とも言えませんが、

GetplayerController関数 -> GetDisplayName関数で操作しているプレイヤーの名前を取得できます。

それを利用して、キャストしたプレイヤーと自身の取得したプレイヤーの名前を比較して合致していなければダメージ、といったやり方はどうでしょうか。


返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
03/01/2021 4:23 pm  

弾のHP減少の処理が上手くいかずに悩んでおります。

考えとしては教えていただいたGetDisplayNameで取った値をFirstPersonBPの方で関数にセットをし、弾を生成すると同時に弾にその値を乗せて撃ち出し、Hitが呼ばれたら乗っている値と当たった物の値を比べて異なっていた場合ダメージ処理を行う。

という事を行いたかったのですが、ホスト側→クライアント側は正常に動作し、ホスト側は自身が打ち出した弾は感知しなくなったのですが、その逆が上手くいかず弾を当てても当たっても変動が行われませんでした。


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
03/01/2021 4:25 pm  

RunOnServer_Fire関数の詳細ウィンドウにあるインプットで変数を追加して、

追加した変数の左にある▷を開いてリファレンス渡しにチェックを入れれば、

サーバー側でもクライアント側でも値を渡せるようになります。

是非使ってみてください。

This post was modified 4年前 by Teacher

返信引用
共有:
タイトルとURLをコピーしました