İçeriğe geç
Türkiye'nin SRO tanıtım & topluluk platformu

Knight Online v1886 / v19xx Oyuna Giriş Sarı Chat Notice

Cevaplar0
Görüntüleme6
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
88
Tepkime puanı
1
Puanları
0
Mevcut Bakiye
2960 ₺
[C++ REHBER] Knight Online v1886 / v19xx Oyuna Giriş Sarı Chat Notice
Karakter Oyuna Girdiğinde Sol Altta Sarı Renkte Hoş Geldiniz & Sunucu Saati Bildirimi Geçme



Merhaba değerli forum sakinleri,

Oyuncularınız oyuna giriş yaptığında (UserInOut / SendMyInfo aşamasında) sol alt sohbet penceresinde hem hoş geldiniz mesajını hem de anlık sunucu saatini **Sarı (Notice/System)** renginde iletmek istiyorsanız bu rehber tam size göre.

Teknik Bilgilendirme' Alıntı:
Standart PUBLIC_CHAT veya GENERAL_CHAT paketleri istemcide beyaz/gri renk çıktısı verir. Sol altta göz alıcı **Sarı** renkli sistem mesajı düşürmek için paket alt tipi olarak WAR_SYSTEM_CHAT kullanılır.



1. ADIM: User.h Fonksiyon Tanıtımı

GameServer / User.h
dosyanızı açın ve uygun bir satıra (örneğin `public:` fonksiyonlarının altına) prototipi ekleyin:

C++:
    // Oyuna giriş sarı bildirim fonksiyonu
    void GirisNotice();



2. ADIM: User.cpp Fonksiyon Gövdesi

GameServer / User.cpp
dosyanızın en altına aşağıdaki optimize edilmiş fonksiyonu ekleyin:

C++:
void CUser::GirisNotice()
{
    // 1. Sistem anlık zamanını çekiyoruz
    DateTime time = DateTime::Get();

    // 2. Gönderilecek metinleri hazırlıyoruz
    std::string strServerName = "Biteko Gaming'e Hoş Geldiniz!";
    std::string strServerTime = string_format("[Sunucu Saati]: %04d-%02d-%02d %02d:%02d:%02d", 
                                              time.GetYear(), time.GetMonth(), time.GetDay(), 
                                              time.GetHour(), time.GetMinute(), time.GetSecond());
    std::string strWelcome    = string_format("Keyifli oyunlar dileriz, sayın %s.", GetName().c_str());

    // -------------------------------------------------------------------
    // SARI RENKLİ BİLDİRİM PAKETLERİ (WAR_SYSTEM_CHAT = Sarı Renk)
    // -------------------------------------------------------------------

    // Paket 1: Hoşgeldiniz Başlığı
    Packet noticeServer(WIZ_CHAT, uint8(WAR_SYSTEM_CHAT));
    noticeServer << GetNation() << GetSocketID() << uint8(0) << strServerName;
    Send(&noticeServer);

    // Paket 2: Oyuncu Özel Karşılama
    Packet noticeUser(WIZ_CHAT, uint8(WAR_SYSTEM_CHAT));
    noticeUser << GetNation() << GetSocketID() << uint8(0) << strWelcome;
    Send(&noticeUser);

    // Paket 3: Anlık Saat Bilgisi
    Packet noticeTime(WIZ_CHAT, uint8(WAR_SYSTEM_CHAT));
    noticeTime << GetNation() << GetSocketID() << uint8(0) << strServerTime;
    Send(&noticeTime);
}



3. ADIM: Fonksiyonu Oyuna Giriş Anında Çağırma

Karakterin dünyaya giriş paketleri tamamlandıktan hemen sonra fonksiyonun tetiklenmesi için:

  1. User.cpp dosyasında void CUser::SendMyInfo() veya void CUser::UserInOut(uint8 bType) fonksiyonunu açın.
  2. Fonksiyonun en alt satırına (tüm veriler istemciye yollandıktan sonra) şu satırı ekleyin:

C++:
    // Karakter oyuna girdiğinde sarı bildirimi gönder
    GirisNotice();



Chat Türü Alternatifleri

Eğer rengi sarıdan farklı bir renge çevirmek isterseniz WAR_SYSTEM_CHAT yerine şu sabitleri kullanabilirsiniz:

Sabit AdıGörünüm RengiAçıklama
WAR_SYSTEM_CHATSarıSol altta dikkat çeken sarı sistem bildirimi (Önerilen)
PUBLIC_CHATBeyaz / GriStandart genel chat satırı
COMMAND_CHATYeşilKomut / notice yeşil bildirim rengi



Derleme ve Test:
Kodları kaydettikten sonra Visual Studio'da GameServer projenizi **Build/Rebuild** edin. Karakterle oyuna giriş yaptığınızda sol alt sohbet kutusunda hoş geldiniz mesajlarının ve sunucu saatinin sarı renkte aktığını göreceksiniz.

İyi forumlar ve keyifli geliştirmeler!
 

Konuyu görüntüleyenler

Yükleniyor...
Yükleniyor...
Şu anda sitemizde 40,333 Aktif Kullanıcı
Çevrimiçi üyeler
Konular 1,311
Mesajlar 4,191
Kullanıcılar 1,624
Son üye mrt
Geri
Üst