leonscottkfm

Unreal MVP
Ekrana 1 yazdığımda hem bende hem de diğerlerinde ekranda 1 yazdığım gözüksün istiyorum bunu nasıl yaparım ?
Yani kabaca mantığı nedir. Widget içerisinden mi bir replication yapacağız yoksa oyuncular üzerinden yapıp widgettan değer mi çekeceğiz ?
 
Benim bildiğim kadarı ile Widget lar hiç bir şekilde replicate edilemezler. Dolayısı ile server da karakter üzerinde o widget ta yazan string değerini replicated olarak tutabilir, ve bunu gerçek zamanlı olarak widget tan güncelleyebilirsin. Bu değişkenin replicated olduğu için client lara gidecektir. Client lar da ise ters işlem yapıp widget ın değerini bu değişken ile güncellemen gerekecek. Bunu da bir rep notify ile halledebilirsin.
 
Merhaba teşekkür ederim bunu izleyerek chat sistemi yaptım. Fakat aklıma başka bir şey takıldı , ben host mesaj atarken başında host yazsın istiyorum bunu denemeye çalıştım ama şöyle oldu , Kurucu mesaj atarsa başında host yazıyor ve bunu client görmüyor. Ayrıca client mesaj atarsada kurucuda clientin mesajı host olarak görünüyor. Ama Clientler normal mesajlar görüyor sadece.
Burada tıkandım sanırım :D
 
Screenshot_1.png
 
Sender ve Message adlı iki Textim var ve bunlar oyuncunun isim ve mesaj değerlerini replicated şekilde alıp chatboxa yerleştiriliyor.

Dediğin olayı tamda o kısımda Sende Ve Message ile birleştirim fakat olmadı. Senin dediğin gibi yapınca yine aynı şekilde Host bu sefer oyuncuyuda host olarak görüyor çünkü Server ise Host olarak görsün diyoruz dolayısıyla kurucuda server olunca oyuncuyu da host olarak görüyor. Oyuncu ise kimseyi host olarak göremiyor...
Mesela 2.düğüme Client girersem dediğin gibi bu sefer clientlerde herkesi client olarak görüyor. Yani kime neyi girersek karşıdakini öyle görüyor. Ama bizim istediğimiz şey o değil . Host kendini host olarak görebilir ve diğer oyuncularda onu öyle görebilir sorun yok. Önemli olan hostun diğer oyuncuları ve diğer oyuncularında birbirini host olarak görememesi.




Ben de zaten senin gibi düşünüp başa host etiketi ekletmeye çalışmıştım bunun öncesinde.




Şu şekilde yapmıştım authority adlı bir text değerini bu şekilde ayrıştırıp alıp başa ekliyordum fakat yine host herkesi host client ise herkesi client olarak görüyordu.
 
o işte bir gariplik var ama host hosttur, client client bu mesaj sistemini game mode üzerinden tüm player controllerlara gönderiyorsun değil mi? yani kimin ne yazdığı önemli değil sonuç olarak game mode üzerinden player controllerlara dağılıyor doğru mudur?
Düzeltiyorum, tüm pc bilgisini game mode üzerinden aktarmışım bende birbirlerine, 
Screenshot_1.png


yani bu mantıkla yine çalışması lazım her pc kendinin ne olduğunu biliyor yani server mı client mı. şu an deneyemiyorum 2. pc yok elimin altında bu unreal içi test ile aynı şey değil. standalone mode ile çalışıyor. ama bu mantıkla çalışması gerekir !
 
Ben bu yaptığım şeyi Widget üzerinden yapıyorum ama o replication kodları mesajı alma falan PlayerController üzerinde LobbyPC yani.
GameMode üzerinden almıyorum direkt LobbyPC leri alıyorum.
Bakın mesela 



Burada LobbyPc içerisinde bu mesajları almaya ve iletmeye dayalı kodlar mevcut.




GetAllActors ile tüm lobbypc ler çağırılıyor burada ve mesaj hepsine ekleniyor.
 
Bu içeriği görmek için üçüncü parti çerezlerine izin vermeniz gerekli.
Daha fazla detay için çerezler sayfasını ziyaret edin.


Şu videodakinin aynısını yaptım eğer öneri verecekseniz şuna hızlıca göz gezdirip ona göre değiştirmem gereken yeri söyleyebilirsiniz. Bunun tamamen aynısını yaptım ben.

Teşekkürler..


Şimdi dediğiniz gibi GameMode üzerinden çektim sonuç yine aynı. Belkide yaptığım yer yanlıştır. Ben bu sistemi LobbyPc içerisine kodladım nereye kodlanması uygun olur ki ?


Sizin ki gibi yapınca böyle oldu :

 
Mesajlar giderken hangi yöntemle gidiyorsa yanına bir de image ekleyip o veriyi de o şekilde gönderip replicate ettim ama bende ne görünüyorsa karşı oyuncuyu da aynı görüyorum çıldıracam :D


Ben sorunun şurada olduğunu düşünüyorum :





Get Owning Player mi yapmalıyız yoksa get player controller (0) mı ? ikisinin farkı nedir.. ikiside her zaman olarak local oyuncuyu almıyor mu ? Sonuçta burada avatar eklenecekse local oyuncunun avatarı eklenip sonrada tüm clientlere gösterilecek.
Ben burayı get owning player yaptığımda arkadaşım chate yazdığında onda da kendi avatarımı gördüm. O da aynı şekilde.