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 oyun içinden farklı sohbet kanallarına özel renkli notice mesajları gönderebilirsiniz.
Örneğin:
static ServerCommandTable s_commandTable; satırının hemen altına:
COMMAND_HANDLER(CGameServerDlg::HandleClanCommand) {
if (vargs.empty()) return true;
SendNoticeClan(args);
return true;
}
COMMAND_HANDLER(CGameServerDlg::HandleAllyCommand) {
if (vargs.empty()) return true;
SendNoticeAlly(args);
return true;
}
COMMAND_HANDLER(CGameServerDlg::HandleCapCommand) {
if (vargs.empty()) return true;
SendNoticeCommand(args);
return true;
}
COMMAND_HANDLER(CGameServerDlg::HandlePartCommand) {
if (vargs.empty()) return true;
SendNoticePart(args);
return true;
}
COMMAND_HANDLER(CGameServerDlg::HandleAllCommand) {
if (vargs.empty()) return true;
SendNoticeAllChat(args);
return true;
}
COMMAND_HANDLER(CGameServerDlg::HandleShoutCommand) {
if (vargs.empty()) return true;
SendNoticeShout(args);
return true;
}
COMMAND_HANDLER(CGameServerDlg::HandleMerchantCommand) {
if (vargs.empty()) return true;
SendNoticeMerchant(args);
return true;
}
COMMAND_HANDLER(CGameServerDlg::HandleGMCommand) {
if (vargs.empty()) return true;
SendNoticeGMChat(args);
return true;
}
GameServer komut satırına:
Oyuncuların ekranında mor renkte çıkacaktır:
Örneğin:
- /gm ile mor renkte GM mesajı,
- /party ile parti rengiyle notice,
- /clan, /merchant, /shout gibi çeşitli stillerle mesaj paylaşımı mümkün.
1. GameServerDlg.h Dosyasına Aşağıdaki Fonksiyonları Ekleyin
C++:
INLINE void SendNoticeClan(const char *msg, uint8 byNation = Nation::ALL) { SendChat<KNIGHTS_CHAT>(msg, byNation, true); }
INLINE void SendNoticeAlly(const char *msg, uint8 byNation = Nation::ALL) { SendChat<ALLIANCE_CHAT>(msg, byNation, true); }
INLINE void SendNoticeCommand(const char *msg, uint8 byNation = Nation::ALL) { SendChat<COMMAND_CHAT>(msg, byNation, true); }
INLINE void SendNoticePart(const char *msg, uint8 byNation = Nation::ALL) { SendChat<PARTY_CHAT>(msg, byNation, true); }
INLINE void SendNoticeAllChat(const char *msg, uint8 byNation = Nation::ALL) { SendChat<GENERAL_CHAT>(msg, byNation, true); }
INLINE void SendNoticeShout(const char *msg, uint8 byNation = Nation::ALL) { SendChat<SHOUT_CHAT>(msg, byNation, true); }
INLINE void SendNoticeMerchant(const char *msg, uint8 byNation = Nation::ALL) { SendChat<MERCHANT_CHAT>(msg,byNation, true); }
INLINE void SendNoticeGMChat(const char *msg, uint8 byNation = Nation::ALL) { SendChat<GM_CHAT>(msg, byNation, true); }
2. Komut Tablonuza Handler’ları Ekleyin
static ServerCommandTable s_commandTable; satırının hemen altına:
C++:
COMMAND_HANDLER(HandleClanCommand);
COMMAND_HANDLER(HandleAllyCommand);
COMMAND_HANDLER(HandleCapCommand);
COMMAND_HANDLER(HandlePartCommand);
COMMAND_HANDLER(HandleAllCommand);
COMMAND_HANDLER(HandleShoutCommand);
COMMAND_HANDLER(HandleMerchantCommand);
COMMAND_HANDLER(HandleGMCommand);
3. ChatHandler.cpp İçinde Komut Listesine Ekleyin
C++:
{ "clan", &CGameServerDlg::HandleClanCommand, "Sends a server-wide clan notice." },
{ "ally", &CGameServerDlg::HandleAllyCommand, "Sends a server-wide ally notice." },
{ "kaptan", &CGameServerDlg::HandleCapCommand, "Sends a captain notice." },
{ "party", &CGameServerDlg::HandlePartCommand, "Sends a party notice." },
{ "all", &CGameServerDlg::HandleAllCommand, "Sends a general notice." },
{ "shout", &CGameServerDlg::HandleShoutCommand, "Sends a shout message." },
{ "merchant", &CGameServerDlg::HandleMerchantCommand, "Sends a merchant message." },
{ "gm", &CGameServerDlg::HandleGMCommand, "Sends a GM chat message." },
4. Chat Komutlarının Fonksiyonlarını En Alta Ekleyin
COMMAND_HANDLER(CGameServerDlg::HandleClanCommand) {if (vargs.empty()) return true;
SendNoticeClan(args);
return true;
}
COMMAND_HANDLER(CGameServerDlg::HandleAllyCommand) {
if (vargs.empty()) return true;
SendNoticeAlly(args);
return true;
}
COMMAND_HANDLER(CGameServerDlg::HandleCapCommand) {
if (vargs.empty()) return true;
SendNoticeCommand(args);
return true;
}
COMMAND_HANDLER(CGameServerDlg::HandlePartCommand) {
if (vargs.empty()) return true;
SendNoticePart(args);
return true;
}
COMMAND_HANDLER(CGameServerDlg::HandleAllCommand) {
if (vargs.empty()) return true;
SendNoticeAllChat(args);
return true;
}
COMMAND_HANDLER(CGameServerDlg::HandleShoutCommand) {
if (vargs.empty()) return true;
SendNoticeShout(args);
return true;
}
COMMAND_HANDLER(CGameServerDlg::HandleMerchantCommand) {
if (vargs.empty()) return true;
SendNoticeMerchant(args);
return true;
}
COMMAND_HANDLER(CGameServerDlg::HandleGMCommand) {
if (vargs.empty()) return true;
SendNoticeGMChat(args);
return true;
}
Renk/Tip Karşılıkları
Komut | Renk/Tür Açıklaması |
---|---|
/clan | Klan sohbet (mavi-yeşil tonları) |
/ally | İttifak sohbeti |
/kaptan | Komutan mesajı (savaş zamanı) |
/party | Parti sohbeti (yeşil) |
/all | Genel sohbet (beyaz) |
/shout | Shout (bölgeye hitap - sarı) |
/merchant | Pazar modu mesajı |
/gm | GM mesajı (mor renkte çıkar) |
Örnek Kullanım
GameServer komut satırına:
Bash:
/gm Sunucu 5 dakika sonra yeniden başlatılacaktır.
Oyuncuların ekranında mor renkte çıkacaktır:
Markdown (GitHub flavored):
[GM]: Sunucu 5 dakika sonra yeniden başlatılacaktır.