Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
game/packet.h aç
Kod:
HEADER_GG_CHECK_AWAKENESS
arat
Kod:
HEADER_GG_BIG_NOTICE
ekle
Kod:
typedefstruct
arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
--------------------------
Game/cmd.cpp aç
Kod:
ACMD(do_big_notice)
arat
Kod:
voidBroadcastNotice(constchar* c_pszBuf
ekle
Kod:
"big_notice" do_big_notice,POS_DEAD]
arat
Kod:
"bbig_notice", do_broadcast_big_notice POS_DEAD
ekle
----------------------------
Game/cmd_gm.cpp aç
Kod:
ACMD(do_big_notice)
arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
ACMD(do_broadcast_big_notice);
arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
voidSendNotice(constchar* c_pszBuf)
arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
Kod:
struct notice_packet_func
arat
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
------------------------------
İyi Forumlar.
Metin2 Sunucularında GM /n Komutunu /b Komutu Gibi Kullanma Rehberi
Metin2 özel sunucularında geliştirme yaparken, yetkililerin (GM) oyuncularla etkileşim kurmasını kolaylaştıran bazı komutları özelleştirmek oldukça faydalıdır. Bu rehberde, /n komutunun davranışını /b komutuna benzeterek nasıl özelleştireceğimizi anlatacağız. Bu işlem, hem yetkili deneyimini artırır hem de sunucu içi iletişimi daha verimli hale getirir.
Neden /n Komutunu /b Gibi Yapalım?
Varsayılan olarak Metin2 sunucularında /b komutu genellikle global mesaj olarak bilinir ve tüm oyunculara mesaj gönderir. Ancak /n komutu farklı bir işlev görebilir veya kullanılmıyorsa, bu komutu daha faydalı bir şekilde yeniden tanımlamak mantıklıdır. Örneğin, yetkililerin hızlıca tüm oyunculara duyuru yapabilmesi için /n komutunu da global mesaj komutu gibi çalıştırabilirsiniz.
C++ Sunucu Tarafında /n Komutunu /b Gibi Yapmak
Metin2 sunucu tarafı genellikle C++ ile yazılmıştır. Bu nedenle, /n komutunun davranışını değiştirmek için öncelikle game_src kısmında bulunan komut işleme dosyalarını incelemek gerekir. Tipik olarak input_main.cpp veya command.cpp gibi dosyalarda komut tanımlamaları yapılır.
Adım 1: Komut Tanımı Kontrolü
Öncelikle /n komutunun tanımının yapıldığı yeri bulun. Bu genellikle bir switch-case bloğunda ya da komut listesi içinde yer alır. Eğer tanımlı değilse, yeni bir komut olarak ekleyebilirsiniz.
Adım 2: /n Komutunu /b Gibi Davranacak Şekilde Ayarlama
/n komutu geldiğinde, /b komutunun çalıştığı fonksiyonu çağırmak yeterlidir. Örneğin:
Kod:
case 'n':[BR][/BR] ChatPacket(ch, CHAT_TYPE_NOTICE, arg);[BR][/BR] break;
Bu şekilde, /n komutu geldiğinde, sistem /b komutundaki gibi CHAT_TYPE_NOTICE paketini tüm oyunculara gönderir.
Olası Hatalar ve Çözümler
Bazı durumlarda /n komutu zaten başka bir amaç için tanımlanmış olabilir. Bu durumda, çakışmaları önlemek için komutu devre dışı bırakmanız veya başka bir adla tanımlamanız gerekir. Ayrıca, komutun yetki kontrolü eksikse, herkesin kullanabilmesi mümkün olabilir. Bu yüzden, komutun sadece GM seviyesindeki kullanıcılar tarafından kullanılmasını sağlamak önemlidir.
Python Client Tarafında Komut Eklentisi
