Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Otomatik Host Sınıfı ve Join Sınıfı
#1
Uzun bir aradan sonra tekrardan herkese merhabalar, 
Geliştirdiğim multiplayer oyunumda bir haritada iki farklı karakter sınıfı bulunmakta. Bunlar katil ve insanlar.

Katilin otomatik olarak host olmasını istiyorum.Yani host odayı kurduğunda otomatik katil olacak.Sunucuya katılanların ise otomatik insan olmasını istiyorum.

Widgeta butonlar koyulup possess yaptığımızda bu iş çözülüyor aslında fakat ben yukarıda anlattığım gibi olmasını istiyorum.

Fikirlerinizi, önerilerinizi ve yardımlarınızı bekliyorum. İyi çalışmalar...
Ara
Cevapla
#2
Biliyorsun, Possess fonksiyonu sadece Server kısmında gerçekleşiyor. Tabii Listen Server metodu üzerinden ilerliyorsan şöyle bir fonksiyon var;

1.
https://docs.unrealengine.com/4.27/en-US.../IsServer/

2.
Sana şimdi bunu yapman için daha zor ama en doğru yolu da söylüyorum.

Öncelikle lobiye girdiğinde Seamless Travel yapacaksın. Seamless travel yaptığında playercontroller sınıfları da aynı şekilde geçiyor ama sadece SUNUCUDA veya GetSeamlessActorList fonksiyonundaki aktörleri de ekleyebiliyorsun. Bu eklenenler yine GameMode sınıfın üzerinden işlem görüyor. 

Playercontroller üzerinden bir değişken oluşturabilirsin lobiyi kuran kişi gibisinden, daha sonra ise yine aynı GameMode üzerinden şunu uygulayabilirsin,

GameMode sıfınının OnPostLogin() metodunu override etmek mantıklı olacaktır. Çünkü sadece sunucuda seamless travel sonrası playercontroller aynı şekilde geçiş yapabiliyor. Biliyorsun ki GameMode sadece sunucu kısmında var olan bir sınıf.

https://docs.unrealengine.com/4.27/en-US...PostLogin/

virtual void PostLogin (APlayerController * NewPlayer);

Bu method sana oyuna gelen yeni oyuncunun Seamless Travel sonrası, Player Controller örneğini parametre olarak veriyor(host olan dahil bu durumda çünkü Listen Server).

Sana kalmış bir şey bu.
- Ali Kubur, İletişim: alikubur35@gmail.com
Cevapla
#3
(24-07-2022, Saat: 01:03)Khubur Adlı Kullanıcıdan Alıntı:  Biliyorsun, Possess fonksiyonu sadece Server kısmında gerçekleşiyor. Tabii Listen Server metodu üzerinden ilerliyorsan şöyle bir fonksiyon var;

1.
https://docs.unrealengine.com/4.27/en-US.../IsServer/

2.
Sana şimdi bunu yapman için daha zor ama en doğru yolu da söylüyorum.

Öncelikle lobiye girdiğinde Seamless Travel yapacaksın. Seamless travel yaptığında playercontroller sınıfları da aynı şekilde geçiyor ama sadece SUNUCUDA veya GetSeamlessActorList fonksiyonundaki aktörleri de ekleyebiliyorsun. Bu eklenenler yine GameMode sınıfın üzerinden işlem görüyor. 

Playercontroller üzerinden bir değişken oluşturabilirsin lobiyi kuran kişi gibisinden, daha sonra ise yine aynı GameMode üzerinden şunu uygulayabilirsin,

GameMode sıfınının OnPostLogin() metodunu override etmek mantıklı olacaktır. Çünkü sadece sunucuda seamless travel sonrası playercontroller aynı şekilde geçiş yapabiliyor. Biliyorsun ki GameMode sadece sunucu kısmında var olan bir sınıf.

https://docs.unrealengine.com/4.27/en-US...PostLogin/

virtual void PostLogin (APlayerController * NewPlayer);

Bu method sana oyuna gelen yeni oyuncunun Seamless Travel sonrası, Player Controller örneğini parametre olarak veriyor(host olan dahil bu durumda çünkü Listen Server).

Sana kalmış bir şey bu.


Hocam anladığım kadarıyla anlattıklarınız c++ için. C++ bilgim ne yazık ki yok. Blueprint üzerinden yapabilir miyim bu sistemi?
Ara
Cevapla
 


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Otomatik Host Devretme kinglord34 0 178 15-01-2022, Saat: 23:30
Son Yorum: kinglord34
  Otomatik Kayıt omer.hatay 2 1,029 29-05-2019, Saat: 23:09
Son Yorum: omer.hatay

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi

Unreal Engine Türkiye

This forum is community driven and supported by voluntary community members. It has nothing to do with Epic Games.

Bu site sadece destek amaçlıdır. Epic Games ile bir ilgisi yoktur.