Puan
0
Çözümler
0
- Katılım
- 18 Ocak 2025
- Mesajlar
- 52
- Tepkime puanı
- 2
- Konum
- Bursa
- Web sitesi
- ko-turkey.net
Konu Sahibi
Bu sistem sayesinde oyuncu oyuna giriş yaptığında, ekrana “Hoşgeldiniz”, sunucu saati ve oyuncunun adıyla karşılama mesajı gönderilir.
Bu fonksiyon, oyuncu oyuna giriş yaptıktan sonra karakter bilgilerini gönderir. GirisNotice() fonksiyonunu buraya eklediğinizde, notice mesajları tam o anda çalışır.
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