[ Frozen ] Gm /n Komutunu /b Komutu Gibi Yapma

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 27

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0




game/packet.h aç

Kod:
HEADER_GG_CHECK_AWAKENESS

arat

Kod:
HEADER_GG_BIG_NOTICE

ekle

Kod:
typedefstruct

arat



--------------------------

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



Kod:
ACMD(do_broadcast_big_notice);

arat



Kod:
voidSendNotice(constchar* c_pszBuf)

arat



Kod:
struct notice_packet_func

arat



------------------------------

İ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

 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt