KAYNAK KOD Server'a Girişte Hoşgeldiniz Mesajı (Notice) Gösterme Sistemi

  • Konuyu Başlatan Konuyu Başlatan Prepective
  • Başlangıç tarihi Başlangıç tarihi
  • Okuma süresi: 0:48

Prepective

Admin
Admin
Moderatör
Puan 0
Çözümler 0
Katılım
18 Ocak 2025
Mesajlar
52
Tepkime puanı
2
Konum
Bursa
Web sitesi
ko-turkey.net
@Prepective
Konu Sahibi
Bu sistem sayesinde oyuncu oyuna giriş yaptığında, ekrana “Hoşgeldiniz”, sunucu saati ve oyuncunun adıyla karşılama mesajı gönderilir.




🎯 Amaç​


  • Oyuncuya giriş yaptığı anı hatırlatmak
  • Sunucu saatini göstermek
  • İsimli hoşgeldin mesajı vermek

    Bu sistem, hem RP etkisi yaratır hem de giriş takibini kolaylaştırır.



🧩 1. User.h dosyasına fonksiyon bildirimi ekleyin​

C++:
void GirisNotice();


📁 2. WellComeNotice.cpp adında yeni bir kaynak dosyası oluşturun ve içine şunları ekleyin:​

C++:
#include "stdafx.h"

void CUser::GirisNotice()
{
    DateTime time;
    std::string GirisNotice;
    std::string ServerDuyuru;
    std::string Welcome;

    GirisNotice = "Hoşgeldiniz";
    ServerDuyuru = string_format("Server Time : %04d-%02d-%02d %02d:%02d",
        time.GetYear(), time.GetMonth(), time.GetDay(),
        time.GetHour(), time.GetMinute());

    Welcome = string_format("Hello %s", GetName().c_str());

    // Genel chat (güvenlik mesajı)
    Packet SecurityNotice(WIZ_CHAT, uint8(GENERAL_CHAT));
    SecurityNotice << GetNation() << GetSocketID() << uint8(0) << GirisNotice;
    Send(&SecurityNotice);

    // Herkese açık duyuru (Sunucu saati)
    Packet DuyuruNotice(WIZ_CHAT, uint8(PUBLIC_CHAT));
    DuyuruNotice << GetNation() << GetSocketID() << uint8(0) << ServerDuyuru;
    Send(&DuyuruNotice);

    // Oyuncuya özel karşılama
    Packet WelcomeNotice(WIZ_CHAT, uint8(PUBLIC_CHAT));
    WelcomeNotice << GetNation() << GetSocketID() << uint8(0) << Welcome;
    Send(&WelcomeNotice);
}



⚙️ 3. SendMyInfo() fonksiyonu içerisine şu satırı ekleyin:​


C++:
GirisNotice();

Bu fonksiyon, oyuncu oyuna giriş yaptıktan sonra karakter bilgilerini gönderir. GirisNotice() fonksiyonunu buraya eklediğinizde, notice mesajları tam o anda çalışır.



📝 Notlar​


  • WIZ_CHAT → Chat tipi; GENERAL_CHAT, PUBLIC_CHAT gibi alt türlerle ayrılır.
  • string_format(...) → Metinleri biçimlendirmeye yarar (C++’ta sprintf alternatifi).
  • Bu fonksiyon sadece giriş yapan kullanıcıya özel mesaj gönderir, global notice değildir.



🧪 Örnek Çıktı (Oyuncu “Nightly” giriş yaptıysa)​

YAML:
Hoşgeldiniz
Server Time : 2025-07-17 22:41
Hello Nightly
 
Geri
Üst