zac

Yeni üye
5 Şub 2021
9
0
0
(6) Ankara
Merhaba,

Online multiplayer oyunda level değiştirmek için server travel kullanıyorum. Lakin yeni mapa geçerken o mapin gamemode una geçiş yapamıyorum. Blueprintte execute console command nodu ile "servertravel mapname?Game=gamemodepath_C" ile yeni mapa geçiyorum. Ancak bu komut bende işe yaramıyor. Neden işe yaramadığına dair bir fikri olan var mı?

Şimdiden teşekkürler.
 
Server travel ile map değiştiriyorsun. Oraya game mode değil gitmek istediğin mapi leveli yazmalısın. Ulaştığın level de hangi game mode atanmışsa zaten o otomatik çalışacaktır.
 
Online multiplayer oyununda iki tane mapim var. İlk map lobby mapi ve lobby game mode u overridelıyo. Lobby game mode'da da servertravel ile kolonYedek mapini açmak istiyorum. Resim ekleyemiyorum şuan maalesef ama Lobby Game Mode'da kullandığım blueprint nodu da execute console command nodu. Commandin içinde de "servertravel kolonYedek" yazıyor.
KolonYedek mapi sorunsuz açılıyor. Lakin kolonYedek mapinin overrideladığı game mode çağırılmıyor. En basitinden even begin playde bastırdığım print stringler çalışmıyor.
 
Editor kısmında o level (hangi levelde hangi gamemode olmasını istiyorsan) açıkken world settings var sahnedeki aktörlerin listesinin(default olarak sağ tarafta sen değiştirmediysen) altında, oradan gamemode override mı ediyorsun? Override ettiğinde o map açılınca o gamemode gelmesi lazım.
 
Servertravel sadece serverdan kullanılabilir. Client ta çalışmaz. Bundan olabilir. Gamemode değiştirmek için de kullanılmaz. Öyle bir maksadı yoktur.
 
emin2045' Alıntı:
Editor kısmında o level (hangi levelde hangi gamemode olmasını istiyorsan) açıkken world settings var sahnedeki aktörlerin listesinin(default olarak sağ tarafta sen değiştirmediysen) altında, oradan gamemode override mı ediyorsun? Override ettiğinde o map açılınca o gamemode gelmesi lazım.


Aynen o şekilde yapıyorum
 
Bu ilk denediğim haliyle server travel komutu. kolonYedek açmak istediğim mapin adı.

vtaoNc.png


Bu da sonrasında forumlarda sorulan benzer sorulardan bulduğum komut. Servertravel ile yeni mapa geçerken gamemode u değiştirmek için bunu kullanın demişler lakin bende bu da işe yaramadı.

RA7R1Z.png


kolonYedek mapinin ayarları da burda:

JtL4dk.png
 
Dostum senin kafan iyice karışmış gibi duruyor. Bu komut tamamen yanlış. Eğer bu komutla diğer level e ulaşabildinse bu çok şaşırtıcı gerçeten. Komutun argumanı sadece ve Map(Level)  adı. Buda Game/ klasörünün altında olmalı en azından. Genelde de mapler Game/Maps/...   diye bir klasöre konur. Senin ki nerede ben bilemiyorum. Vereceğin komut aşağı yukarı şöyle bir şey olmalı:

    Bu arada dikkat etmen gereken diğer bir husus specific player bu resimlerde bağlanmamış ama sen onu playercontroller bağlayacaksın. Bir de tüm bunların server da yapılması lazım. Servertravel client ta verildiğinde çalışmaz. Bir de bu resimlerde koymamışlar ama senin sonlarına "?Listen" koyman lazım. Ben de BP kodu olmadığı için gösteremiyorum ama C++ ta şöyle bir satır olacak. Satır her yerde aynıdır. Değişmez. Bu bende çalışıyor


" ServerTravel /Game/ThirdPersonCPP/Maps/TestB?Listen "

Şuda gamemode lu komut 

"/Game/ThirdPerson/Maps/TestMap?game=/Game/ThirdPerson/OtherGameMode.OtherGameMode_C?listen"

Dikkat serverda olman lazım.

Senin yazacağın satır böyle olacak, yolu doğru yazman gerek. ( Game klasörü Content klasörüne tekabül eder.)

Kolay gelsin.
 
erginegider' Alıntı:
Dostum senin kafan iyice karışmış gibi duruyor. Bu komut tamamen yanlış. Eğer bu komutla diğer level e ulaşabildinse bu çok şaşırtıcı gerçeten. Komutun argumanı sadece ve Map(Level)  adı. Buda Game/ klasörünün altında olmalı en azından. Genelde de mapler Game/Maps/...   diye bir klasöre konur. Senin ki nerede ben bilemiyorum. Vereceğin komut aşağı yukarı şöyle bir şey olmalı:

    Bu arada dikkat etmen gereken diğer bir husus specific player bu resimlerde bağlanmamış ama sen onu playercontroller bağlayacaksın. Bir de tüm bunların server da yapılması lazım. Servertravel client ta verildiğinde çalışmaz. Bir de bu resimlerde koymamışlar ama senin sonlarına "?Listen" koyman lazım. Ben de BP kodu olmadığı için gösteremiyorum ama C++ ta şöyle bir satır olacak. Satır her yerde aynıdır. Değişmez. Bu bende çalışıyor


" ServerTravel /Game/ThirdPersonCPP/Maps/TestB?Listen "

Şuda gamemode lu komut 

"/Game/ThirdPerson/Maps/TestMap?game=/Game/ThirdPerson/OtherGameMode.OtherGameMode_C?listen"

Dikkat serverda olman lazım.

Senin yazacağın satır böyle olacak, yolu doğru yazman gerek. ( Game klasörü Content klasörüne tekabül eder.)

Kolay gelsin.


Cevap için çok teşekkürler. Verdiğin iki komutu da aşağıdaki gibi denedim lakin sonuç yine aynı.

hvQDfA.png


8DGYN5.png


Komutları lobby game modunda çağırıyorum o yüzden serverda olduğumdan eminim. Lakin specific player a tam olarak hangi player controllerı vericeğimi anlamadım. Ben iki tane oyuncunun olduğu bir multiplayer oyunu yapmaya çalışıyorum. O yüzden iki oyuncu da post login olana kadar bekleyip ondan sonra servertravelı çağırıyorum. O yüzden elimde iki tane player controller var. Lobby game modun tamamı şu şekilde:

QAoA2S.png


Multiplayer konusunda oldukça acemiyim o yüzden yanlış birşey yapıyor olabilirim.
 
Çok teşekkür ederim gerçekten çok yardımcı oldu video. Ben dedicated serverda çalıştırdığım için print stringler ekranda değil de logda gözüküyormuş. Game mode ile ilgili bir problem yokmuş daha farklı bir noktadaymış problem. Yani server travel düzgün çalışıyor şu anda tekrardan teşekkür ederim.
 
Evet sendeki problemin daha farklı bir noktada olduğunu anladığımdan video çekmek şart oldu. Ancak bu şekilde bulabilirdin sıkıntıyı. Bir şey değil kolay gelsin.