kinglord34

Aktif üye
7 Ocak 2017
261
30
28
Belirtilmemiş
Selamlar, oyunumda kırmızı ve mavi takım olmak üzere iki adet takım mevcut.
Bu 2 takımdan hangi takım belirlediğim box collisiona ilk giderse o takım oyunu kazanıyor.
Benim başarılı olamadığım nokta ;
Oyunu kaybeden takımın tüm oyuncularının ekranına KAYBETTİN tarzında widget çıkartıp onların tamamını destroy etmek istiyorum.
Bunu nasıl yapabilirim? Her türlü fikre açığım.
 
Game Mode ta, post login veya swap ile tüm oyuncuların player controllerlarını toplamışsındır muhtemelen. Game mode üzerinde Run on server event ile for each loop controllers a run on owning client event ile create widget diyeceksin. karakterleri destroy etmekten ziyade aynı event içinde disable input yapıp tamamının owning pawnına set visibility false gönderirsen senin için daha hayırlı olur. destroy edersen kaybettin widgetı dahil birçok şey hata verecektir.
 
kinglord34' Alıntı:
Selamlar, oyunumda kırmızı ve mavi takım olmak üzere iki adet takım mevcut.
Bu 2 takımdan hangi takım belirlediğim box collisiona ilk giderse o takım oyunu kazanıyor.
Benim başarılı olamadığım nokta ;
Oyunu kaybeden takımın tüm oyuncularının ekranına KAYBETTİN tarzında widget çıkartıp onların tamamını destroy etmek istiyorum.
Bunu nasıl yapabilirim? Her türlü fikre açığım.

Bu problemi tabii ki çok farklı şekillerde çözebiliriz. Ben aşağıda ki videoda ki gibi çözdüm. Videonun sonunda destroy olayı dahil istediğin tüm sistemin çalıştığını görebilirsin. Sormak istediğin bir kısmı olursa yine sorarsın.

 https://drive.google.com/file/d/1QPPJoFenoWHw8CCXpJ0oEt06kOiCOHmK/view?usp=sharing

Not: Ben kazanan takıma "kazandın" yazdırıp destroy etmişim yanlışlıkla (uykusuzluk işte). Şimdi videoyu yeni den çekmeyeyim. Sadece widget ta oraya "Kaybettin" yazısı değişecek ve game mode da eşittir (==) olan yere != eşit değildir gelecek. Yani sadece şu değişecek:


Kolay gelsin.
 
nonlinear' Alıntı:
Game Mode ta, post login veya swap ile tüm oyuncuların player controllerlarını toplamışsındır muhtemelen. Game mode üzerinde Run on server event ile for each loop controllers a run on owning client event ile create widget diyeceksin. karakterleri destroy etmekten ziyade aynı event içinde disable input yapıp tamamının owning pawnına set visibility false gönderirsen senin için daha hayırlı olur. destroy edersen kaybettin widgetı dahil birçok şey hata verecektir.
Hocam teşekkür ederim fikriniz için.
erginegider' Alıntı:
kinglord34' Alıntı:
Selamlar, oyunumda kırmızı ve mavi takım olmak üzere iki adet takım mevcut.
Bu 2 takımdan hangi takım belirlediğim box collisiona ilk giderse o takım oyunu kazanıyor.
Benim başarılı olamadığım nokta ;
Oyunu kaybeden takımın tüm oyuncularının ekranına KAYBETTİN tarzında widget çıkartıp onların tamamını destroy etmek istiyorum.
Bunu nasıl yapabilirim? Her türlü fikre açığım.

Bu problemi tabii ki çok farklı şekillerde çözebiliriz. Ben aşağıda ki videoda ki gibi çözdüm. Videonun sonunda destroy olayı dahil istediğin tüm sistemin çalıştığını görebilirsin. Sormak istediğin bir kısmı olursa yine sorarsın.

 https://drive.google.com/file/d/1QPPJoFenoWHw8CCXpJ0oEt06kOiCOHmK/view?usp=sharing

Not: Ben kazanan takıma "kazandın" yazdırıp destroy etmişim yanlışlıkla (uykusuzluk işte). Şimdi videoyu yeni den çekmeyeyim. Sadece widget ta oraya "Kaybettin" yazısı değişecek ve game mode da eşittir (==) olan yere != eşit değildir gelecek. Yani sadece şu değişecek:


Kolay gelsin.

Benim için en az 20-30 dakikanızı bu video için harcadınız gerçekten size minnettarım çok teşekkür ederim.


Hocam sistemi aynen geçirdim fakat 2 sorum olacak sizlere.

1.Sorum : Player controllera oluşturduğum GameWinState eventinin "Reliable" tikini işaretlemedik. Bunu kasıtlı mı yaptınız yoksa unuttunuz mu?

2.Sorum : Host box triggera ilk ulaşsada oyunu kaybediyor.Kazanmasına rağmen  Her zaman hostun ekranına "YOU LOST" yazısı geliyor. Acaba ben mi yanlış geçirdim


Advanced Locomotion System v4 kullanmaktayım projemde.

ALS_base karaktere TEAMID fonksiyonunu oluşturdum. Team ID integer değeri 1
ALS_base karakterin childi Als_AnimmanCharacterBP'nin Team ID integer değeri 1
Als_AnimmanCharacterBP'yi child ettim. Child ettiğim karakterin Team ID değerini 2 yaptım. Acaba bundan mı kaynaklı sorun?
 
kinglord34' Alıntı:
nonlinear' Alıntı:
Game Mode ta, post login veya swap ile tüm oyuncuların player controllerlarını toplamışsındır muhtemelen. Game mode üzerinde Run on server event ile for each loop controllers a run on owning client event ile create widget diyeceksin. karakterleri destroy etmekten ziyade aynı event içinde disable input yapıp tamamının owning pawnına set visibility false gönderirsen senin için daha hayırlı olur. destroy edersen kaybettin widgetı dahil birçok şey hata verecektir.
Hocam teşekkür ederim fikriniz için.
erginegider' Alıntı:
Bu problemi tabii ki çok farklı şekillerde çözebiliriz. Ben aşağıda ki videoda ki gibi çözdüm. Videonun sonunda destroy olayı dahil istediğin tüm sistemin çalıştığını görebilirsin. Sormak istediğin bir kısmı olursa yine sorarsın.

 https://drive.google.com/file/d/1QPPJoFenoWHw8CCXpJ0oEt06kOiCOHmK/view?usp=sharing

Not: Ben kazanan takıma "kazandın" yazdırıp destroy etmişim yanlışlıkla (uykusuzluk işte). Şimdi videoyu yeni den çekmeyeyim. Sadece widget ta oraya "Kaybettin" yazısı değişecek ve game mode da eşittir (==) olan yere != eşit değildir gelecek. Yani sadece şu değişecek:


Kolay gelsin.

Benim için en az 20-30 dakikanızı bu video için harcadınız gerçekten size minnettarım çok teşekkür ederim.


Hocam sistemi aynen geçirdim fakat 2 sorum olacak sizlere.

1.Sorum : Player controllera oluşturduğum GameWinState eventinin "Reliable" tikini işaretlemedik. Bunu kasıtlı mı yaptınız yoksa unuttunuz mu?

2.Sorum : Host box triggera ilk ulaşsada oyunu kaybediyor.Kazanmasına rağmen  Her zaman hostun ekranına "YOU LOST" yazısı geliyor. Acaba ben mi yanlış geçirdim


Advanced Locomotion System v4 kullanmaktayım projemde.

ALS_base karaktere TEAMID fonksiyonunu oluşturdum. Team ID integer değeri 1
ALS_base karakterin childi Als_AnimmanCharacterBP'nin Team ID integer değeri 1
Als_AnimmanCharacterBP'yi child ettim. Child ettiğim karakterin Team ID değerini 2 yaptım. Acaba bundan mı kaynaklı sorun?




Cevap-1 : Orada zaten kaybeden takımı destroy edelim demiştin. Destroy edeceğimiz için bu actorler için diğer yaptığımız her şey aslında biraz kozmetik veya fazladan. Normalde genel kural olarak "reliable" mümkün olduğunca işaretlememek gerekir . Her yaptığımız reliable internet bandwidt te 100 lerce bağlantı olduğunda büyük daralmalar yapabilir. Bilinç altımda muhtemelen "Zaten actor destroy olacak ve bu da her halükarda kesin gerçekleşecek. Kaçma şansı yok. Dolayısı ile reliable a ne gerek var" düşüncesi hakimdi. Ama "reliable "  da yapılabilir. Sorun değil. Ben gerek olmadığını düşünmüşüm. Bir sorun çıkana kadar da reliable koymazdım yine.

Cevap-2 : Hosttun sürekli kaybetmesini ben burda tekrar kontrol ettim. Aynı durumu oluşturamadım. Yani bende öyle olmuyor.:


Ortada ki host, küçük pencereler client. Host girdiğinde onda yazmıyor. Ben de bir sıkıntı göremedim. Ancak şöyle bir düşündüğümde öyle yapmasının tek bir nedeni olabilir. TeamID nin kaybeden takımla eşit olması. Çünkü şöyle  demişiz:

Yani kimin ID si ulaşan player ınki ile aynı değilse ona bu widget yazılsın demişiz.

ALS TeamID ile ilgili yaptıklarında bence bir sorun yok ama sonuçta TeamID ile ilgili bir sorun var ki öyle oluyor. Ama bende sorun oluşmadığını için şu  an tahmin edemiyorum. Debug yapmak gerekli senin kodunda. TeamID lerin oyun içerisinde istediğin gibi olduğundan emin ol. Kodun neresinde hata oluşuyor tespit etmeye çalış. Mutlaka bir yerde bir sıkıntı oluyordur. Ben burdan tahmin edemedim.

Kolay gelsin.

Not: TeamID ler clientta kontrol edilecekse ve sonradan değişecekse mutlaka replicated yapılmalı.