kinglord34

Aktif üye
7 Ocak 2017
261
30
28
Belirtilmemiş
Arkadaşlar resimde görmüş olduğunuz respawn sisteminde bir sorun yaşıyorum.

Resimdeki sistemde CLİENT respawn olduğu zaman istediğim şekilde çalışıyor, örnek verecek olursam; client mavi takımdaysa respawn olduğunda tekrardan mavi takımda canlanıyor.
 
Fakat HOST öldüğünde bu sistem ters çalışıyor.Detaylı bir örnek vereyim; HOST mavi takımda yer alıyor. HOST'u bir kez öldürdüğümde respawn olduğunda kırmızı takımda canlanıyor, kırmızı takımdayken respawn oluyor bu seferde mavi takımda canlanıyor. Yani HOST her respawn oluşunda takım değiştiriyor. Bunu nasıl düzeltebilirim?

https://www.hizliresim.com/bu8u5n8
 
Spawnladığın karakterin içine takım tanımla, takım listesini oluştururken de game mode üzerinden tüm player controllerlara veya player statelere artık sistemi nasıl kurduysan pawn takımını sordurarak listeyi yenilet.
 
Benim anlatabildiğim kadarı ile senin HOST doğru olanı yapıyor. Çünkü resimde gördüğüm sistemde sen orange team se red team başlat, red team se orange team başlat demişsin. Oda senin anlattığın duruma uyuyor. Bu durumda muhtemelen replication da sorun var ve client lar çalışmıyor.
 
erginegider' Alıntı:
Benim anlatabildiğim kadarı ile senin HOST doğru olanı yapıyor. Çünkü resimde gördüğüm sistemde sen orange team se red team başlat, red team se orange team başlat demişsin. Oda senin anlattığın duruma uyuyor. Bu durumda muhtemelen replication da sorun var ve client lar çalışmıyor.


Evet, diğer türlü olduğu zamanda client tam tersi şekilde çalışıyor. Ben de replication sorunu olduğunu düşünüyordum fakat hazır asset kullandığım için replication hatası olmadığını düşündüm.
nonlinear' Alıntı:
Spawnladığın karakterin içine takım tanımla, takım listesini oluştururken de game mode üzerinden tüm player controllerlara veya player statelere artık sistemi nasıl kurduysan pawn takımını sordurarak listeyi yenilet.

Takım sistemim aşağıdaki resimlerde mevcut.Sizce bu sorunun önüne geçmek için nasıl bir yol izlemeliyim?

https://www.hizliresim.com/30kgn5g
https://www.hizliresim.com/qf1531s

https://www.hizliresim.com/57uu3et
 
Game Mode içindeki request spawn eventını da "run on server" ve "reliable" olarak güncelle ve controller referansını da event ile gönderirken "pass by reference" seçeneğini işaretle. muhtemelen çözülecektir.
 
nonlinear' Alıntı:
Game Mode içindeki request spawn eventını da "run on server" ve "reliable" olarak güncelle ve controller referansını da event ile gönderirken "pass by reference" seçeneğini işaretle. muhtemelen çözülecektir.


Request Spawn'ı dediğiniz şekilde yaptım fakat pass by reference derken neyi kastettiniz anlayamadım kusura bakmayın.
 
Screenshot_1.png
 
kısacası değer pointer değeriyle beraber gelir, yani ram de tutulduğu yeri refere eder, game mode üzerinden player controllerlar da herhangi bir değişiklik yapmana olanak tanır desek yeridir.
 
ben de bir fikir yürütmeye çalıştım ama resimlerden sistemi hiç anlayamadım. Tüm node ları görmemiz lazım. Çünkü multiplayer biraz karmaşık. Örneğin clientten game mode a ulaşmaya çalışyorsan mesela client game modeu çağıramaz. nullptr döndürür. karakterin ölümünden tekrar doğuşuna kadar tüm node ları görmezsem çıkaramayacağım sanırım ben de. Ayrıca bu da yetmez bir de takım seçiminin tüm node ları lazım. 

Çözemezsen bence kendi takım seçimi ve respawn sistemini yap zor değil.