VoiclessCry

Yeni üye
8 Şub 2021
135
2
0
(16) Bursa
https://pasteboard.co/2SzO2dJKFrwQ.png

Landaki oyunumda oyunculardan birisi ekrandaki widget ın bir tuşuna bastığında kullanıcının karakterinde işlemler yaptırmam gerekiyor ancak Player Index gibi bir sıkıntı var hangi oyuncunun o tuşa bastığını veya o işlemin hangi oyuncunun clientinde olduğunu nasıl buldurabilirm?
Aslında burada hiçbirşey internette gitmeyecek fakat her türlü bir index istiyor ve 0 da bırakamıyorum bu sefer yanlızca sunucuda çalışıyor
 
get player character yerine "Get player pawn" kullan. Diyeceksin bu online, pawn index "0" buna ne gireceğim, eğer oyun yapısı aynı ekranda çok oyuncu oynatma şeklinde değilse(tekken,mortal kombat...gibi) client içinde sana ait olan pawn her zaman index "0" dır. Yani sıfır kalmasında bir sakınca yok. Yine sorun yaşarsan bir custom event oluşturup "Run on owning Client" olarak replicate et ve bu event üzerinden istediğin değerleri çek.
 
Peki bu 0 olmasının önemli olmadığı durum get player controller node u için de geçerli mi?  farklı bir yerde bir hata alıyorum bazen ama ondanmıdır anlayamadım.
 
single player modunda evet get pc 0 kullanabilirsin ama multiplayer için her PC ayrı çalışır ve server game mode bunları ayırt etmek zorundadır. get pc 0 dersen her zaman server PC yi kullanır. GM üzerinde "Event Post Login" ile her bir PC yi belirleyebilir ve bunlar için referans alabilirsin.
 
Bu işlemi mantıken her bir karaktere player state inde event begin e get player index setleyerek sonrada bu indexi istediğimiz yerde controller'a, controller indexinden bağlayarak da yapamazmıyız?

Ben bunu denedim fakat sanki index doğru gelmesine rağmen sanki sistemde öyle bir controller yokmuş gibi hata veriyor yani sonradan gelen oyuncuların indexini controller a verince player controller-larını bulamıyor. Acaba engine bu eklenen oyuncuların controllerlarını kendisi depolamıyormu diyeceğim ama o zaman get player controller da neden index pini olsun.   :huh: :huh: :huh:

Not: Sadece gamemode üzerinde indexleri kontrol ettirip controller lar için "valid" sonucu alabiliyorum.
 
Sanırım burda iki şeyi bir birine karıştırıyorsun. Online daki PlayerID tamamen başka bir konu, oradaki index tamamen başka bir konu. Index in önemli olacağı ve sıfırdan başka bir değer alacağı tek yer var. İki kumanda ile oynanabilen Fifa PES gibi ya da daha önce söylendiği gibi Tekken gibi oyunlar. Yani index aslında oyunu o makinada oynayan kişilerle ilgili ve %99 oyunlarda böyle bir fonksiyon olmadığı için her zaman 0 dır. Yani özetle eğer bir fifa tekken falan yapmıyorsanız index her zaman 0.
PlayerUniqueID ise tamamen farklı bir şey. Multiplayer oyunlarda bağlanan her oyuncuya verilen bir kimlik rakamı. Buna PlayerController dan ulaşabilirsin.
 
Benim baya kafam karıştı yukarıda bana indexi landaki oyuncuların her birine farklı olarak çıkar dendi ve test ettiğimde de player character için de controller içinde bunun doğru çıktığını gördüm, ama siz şimdi index her zaman sıfır diyorsunuz. ((bir pc de iki oyuncu kullanmıyorum, testleri de listen serverle 2 oyuncu açarak))  şimdi ne yapmalıyım ben cast characteri get player pawn a bağlayarak çözdüm sorun yok ama controller için 0 indexi bıraktığımda lan da açtığım 2.oyuncu clientinde hiçbirşey çalışmıyorki??  acaba hata başka bir yerdede ben mi bulamıyorum :huh: :huh: :huh:
Bu arada ID leri hiçbir yerde kullanmadım henüz

Düzeltiyorum sizin söylediğiniz şekilde çalıştı ancak hala aklım almıyor bu benim ilk başta kullandığım yöntemdi çünkü herşeyi tek oyunculuya göre hazırlamıştım başta ama çalışmışyordu şuan aynı şeyi yapmama rağmen nasıl çalışıyor.. Neyse düzeldi sonuçta teşekkürler.