D 1
delimuratt
melankolıa18 1
melankolıa18
shrpnl 1
shrpnl
Fethi Polat 1
Fethi Polat
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Best Studio 1
Best Studio
Agora Metin2 1
Agora Metin2
raderde 1
raderde
Cannn6161 1
Cannn6161
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Cevaplandı Global chat

  • Konuyu başlatan Konuyu başlatan BGLT
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 3
  • Görüntüleme Görüntüleme 89

BGLT

Level 1
Üye
Katılım
20 Ara 2025
Konular
13
Mesajlar
44
Çözüm
1
Online süresi
2d 22h
Reaksiyon Skoru
20
Altın Konu
0
TM Yaşı
5 Ay 17 Gün
Başarım Puanı
28
MmoLira
1,376
DevLira
0
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Merhabalar , sadece bayraklar arası konuşma mevcut bunu tüm bayraklar için ortak konuşma chati nasıl yapabilirim ?
 
Çözüm
Ticaret - 0%
0   0   0
Bu tamamen server tarafında bilinçli olarak konmuş bir kısıtlama. Yani client’la alakası yok, ayar da değil. Şu anki durumda normal sohbet mesajları bayrak filtresinden geçiyor, o yüzden sadece kendi bayrağın görüyor.

Oyun sohbeti çalışırken server şuna bakıyor:
“Mesajı atan oyuncunun bayrağı ile mesajı görecek oyuncunun bayrağı aynı mı?”
Eğer değilse, mesajı göndermiyor. Senin yaşadığın durum tam olarak bu.

Bunu tüm bayraklara açık hale getirmenin iki yolu var.

Eğer source erişimin varsa, en temiz çözüm buradan yapılır. Sohbet mesajını dağıtan kısımda bayrak kontrolü vardır. Bu kontrol kaldırıldığında ya da bypass edildiğinde, normal chat otomatik olarak tüm bayraklara gider. Oyuncu bir şey yazdığında, kim hangi bayrakta...
Bu tamamen server tarafında bilinçli olarak konmuş bir kısıtlama. Yani client’la alakası yok, ayar da değil. Şu anki durumda normal sohbet mesajları bayrak filtresinden geçiyor, o yüzden sadece kendi bayrağın görüyor.

Oyun sohbeti çalışırken server şuna bakıyor:
“Mesajı atan oyuncunun bayrağı ile mesajı görecek oyuncunun bayrağı aynı mı?”
Eğer değilse, mesajı göndermiyor. Senin yaşadığın durum tam olarak bu.

Bunu tüm bayraklara açık hale getirmenin iki yolu var.

Eğer source erişimin varsa, en temiz çözüm buradan yapılır. Sohbet mesajını dağıtan kısımda bayrak kontrolü vardır. Bu kontrol kaldırıldığında ya da bypass edildiğinde, normal chat otomatik olarak tüm bayraklara gider. Oyuncu bir şey yazdığında, kim hangi bayrakta olursa olsun mesajı görür. Bu yöntem kalıcıdır ve düzgün çalışır. Çoğu “global chat” olan server bu şekilde yapar.

Source yoksa, quest ile birebir aynı hissi veremezsin ama geçici bir çözüm üretirsin. Oyuncuya özel bir komut verilir, yazdığı mesaj quest üzerinden alınır ve notice_all benzeri bir yöntemle herkese gönderilir. Çalışır ama normal chat gibi akmaz, renk ve filtre farklı olur. O yüzden idareliktir.

Şunu da ekleyeyim: Bu sistem genelde bilerek kapalı olur. Çünkü tüm bayrak chat açıldığında spam ve küfür çok hızlı artar. O yüzden flood kontrolü ya da mute sistemi yoksa dikkatli olmak gerekir.

Özetle:
– Sorun client değil
– Ayarla açılan bir şey değil
– Server chat mantığında bayrak filtresi var
– Asıl çözüm source tarafında
– Source yoksa quest ile geçici yol var
 
Çözüm
Bu tamamen server tarafında bilinçli olarak konmuş bir kısıtlama. Yani client’la alakası yok, ayar da değil. Şu anki durumda normal sohbet mesajları bayrak filtresinden geçiyor, o yüzden sadece kendi bayrağın görüyor.

Oyun sohbeti çalışırken server şuna bakıyor:
“Mesajı atan oyuncunun bayrağı ile mesajı görecek oyuncunun bayrağı aynı mı?”
Eğer değilse, mesajı göndermiyor. Senin yaşadığın durum tam olarak bu.

Bunu tüm bayraklara açık hale getirmenin iki yolu var.

Eğer source erişimin varsa, en temiz çözüm buradan yapılır. Sohbet mesajını dağıtan kısımda bayrak kontrolü vardır. Bu kontrol kaldırıldığında ya da bypass edildiğinde, normal chat otomatik olarak tüm bayraklara gider. Oyuncu bir şey yazdığında, kim hangi bayrakta olursa olsun mesajı görür. Bu yöntem kalıcıdır ve düzgün çalışır. Çoğu “global chat” olan server bu şekilde yapar.

Source yoksa, quest ile birebir aynı hissi veremezsin ama geçici bir çözüm üretirsin. Oyuncuya özel bir komut verilir, yazdığı mesaj quest üzerinden alınır ve notice_all benzeri bir yöntemle herkese gönderilir. Çalışır ama normal chat gibi akmaz, renk ve filtre farklı olur. O yüzden idareliktir.

Şunu da ekleyeyim: Bu sistem genelde bilerek kapalı olur. Çünkü tüm bayrak chat açıldığında spam ve küfür çok hızlı artar. O yüzden flood kontrolü ya da mute sistemi yoksa dikkatli olmak gerekir.

Özetle:
– Sorun client değil
– Ayarla açılan bir şey değil
– Server chat mantığında bayrak filtresi var
– Asıl çözüm source tarafında
– Source yoksa quest ile geçici yol var
Böyle detaylı ve temiz anlatım için şahsınıza teşekkür ederim sayın yetkilim.Src elimde mevcut bunu kaldırmanın bypass etmenin yolunu bana anlatırmısınız.
 
Böyle detaylı ve temiz anlatım için şahsınıza teşekkür ederim sayın yetkilim.Src elimde mevcut bunu kaldırmanın bypass etmenin yolunu bana anlatırmısınız.
Bu noktada açık konuşmak lazım, çünkü etrafta çok yanlış bilgi dönüyor. Granny sürüm uyumsuzluğunu “bypass edeyim, client yine çizsin” diye bir yol yok. Source elinde olsa bile bu iş öyle if kapatmakla çözülmüyor.

Sebebi şu: Granny’de olay sadece sürüm kontrolü değil. Model dosyasının iç yapısı, kullanılan struct’lar, offset’ler sürüme göre değişiyor. Client dosyayı okurken “bu sürüm değil, geçiyorum” demiyor; zaten okuyamıyor. Okuyamayınca da ne hata basıyor ne crash atıyor, objeyi tamamen yok sayıyor. Senin yaşadığın durum tam olarak bu.

O yüzden source tarafında kapatabileceğin bir “granny check” satırı yok. #define GrannyProduction kısmı da görsel bir tanım, asıl mesele linklenen G#defineütüphanesi.

Source varken yapılabilecek iki mantıklı yol var:

Birincisi, client’i objelerin geldiği Granny sürümüne göre yeniden derlemek. Bu teknik olarak mümkün ama zahmetlidir. Doğru Granny SDK elinde yoksa zaten yapılamaz. Ayrıca animasyon, skeleton ve render tarafı komple o sürüme bağlanır. Yani küçük bir düzenleme değil.

İkincisi (ki piyasada herkesin yaptığı yol budur), objeleri senin client’in kullandığı Granny sürümüne göre yeniden export etmek. Bu bypass değil ama en sağlıklı çözümdür. WorldEditor’da görünen ama oyunda görünmeyen map’lerin neredeyse tamamı bu şekilde düzeltilir.

“Granny’yi devre dışı bırakayım, objeyi başka türlü çizdireyim” gibi bir şey de pratikte yok. Bu, Metin2 client’inin render mantığını baştan yazmak anlamına gelir ki kimse bununla uğraşmaz.

Özetle:

– Granny sürüm uyuşmazlığı atlanamaz


– Source olsa bile zorla yükletme yok


– Ya client’i objelere uyduracaksın


– Ya objeleri client’e uyduracaksın

Bunun dışındaki her yol zaman kaybı.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst