mannaxxx 1
mannaxxx
Agora Metin2 1
Agora Metin2
[DEV]AB 1
[DEV]AB
metin2008 1
metin2008
kaptanmikro1 1
kaptanmikro1
Scarlet 1
Scarlet
emirhanHCL 1
emirhanHCL
R 1
Roksam
farkmt2official 1
farkmt2official
TuZaKK 1
TuZaKK
Hikaye Ekle

MaviAyGames | Tüm Coreler İçin Reload Komutu İşlevi

Türkiye'de ilk Mobil & PC Aynı Anda Metin2 Oyna. Triarchonline kalıcı ve uzun ömürlü yapısı ile 24 Temmuz'da açılıyor. | 1-99 Mobil Metin2 Triarch HEMEN TIKLA!

Relod çekildiği zaman sadece bulunduğu coredekilere işliyordu bu yaptığımız düzenleme ile tüm corelerde işlemektedir.
Service.h ekle:

Kod:
#define ENABLE_RELOAD_COMMAND_ALL_CORES

cmd_gm.cpp

Arat:
Kod:
ACMD(do_reload)
{
    char arg1[256];
    one_argument(argument, arg1, sizeof(arg1));

Altına ekle:

Kod:
#ifdef ENABLE_RELOAD_COMMAND_ALL_CORES
    TPacketGGReloadCommand p2p_packet;
    p2p_packet.header = HEADER_GG_RELOAD_COMMAND;
    strlcpy(p2p_packet.argument, arg1, sizeof(p2p_packet.argument));
    bool bSendP2P = false;
#endif

Arat:
Kod:
        if (ch)
            ch->ChatPacket(CHAT_TYPE_INFO, "Reloading state_user_count.");
        LoadStateUserCount();

Altına ekle:

Kod:
#ifdef ENABLE_RELOAD_COMMAND_ALL_CORES
        strlcpy(p2p_packet.argument, "u", sizeof(p2p_packet.argument));
        bSendP2P = true;
#endif

Arat:
Kod:
        if (ch)
            ch->ChatPacket(CHAT_TYPE_INFO, "Reloading prototype tables,");
        db_clientdesc->DBPacket(HEADER_GD_RELOAD_PROTO, 0, nullptr, 0);
    }

Altına ekle:

Kod:
#ifdef ENABLE_RELOAD_COMMAND_ALL_CORES
    if (ch && bSendP2P)
    {
        P2P_MANAGER::instance().Send(&p2p_packet, sizeof(p2p_packet));
        ch->ChatPacket(CHAT_TYPE_INFO, "Reloading other cores / channels.");
    }
#endif

Packet.h

Arat:
Kod:
enum EPacketGameGameHeaders
{
İçerisine ekle:


Kod:
#ifdef ENABLE_RELOAD_COMMAND_ALL_CORES
    HEADER_GG_RELOAD_COMMAND                 = 24,
#endif

packet_info.cpp

Arat:
Kod:
CPacketInfoGG::CPacketInfoGG()
{

İçerisine ekle:

Kod:
#ifdef ENABLE_RELOAD_COMMAND_ALL_CORES
    Set(HEADER_GG_RELOAD_COMMAND, sizeof(TPacketGGReloadCommand), "ReloadCommand", false);
#endif
 
Son düzenleme:
Service.h ekle:

Kod:
#define ENABLE_RELOAD_COMMAND_ALL_CORES

cmd_gm.cpp

Arat:
Kod:
ACMD(do_reload)
{
    char arg1[256];
    one_argument(argument, arg1, sizeof(arg1));

Altına ekle:

Kod:
#ifdef ENABLE_RELOAD_COMMAND_ALL_CORES
    TPacketGGReloadCommand p2p_packet;
    p2p_packet.header = HEADER_GG_RELOAD_COMMAND;
    strlcpy(p2p_packet.argument, arg1, sizeof(p2p_packet.argument));
    bool bSendP2P = false;
#endif

Arat:
Kod:
        if (ch)
            ch->ChatPacket(CHAT_TYPE_INFO, "Reloading state_user_count.");
        LoadStateUserCount();

Altına ekle:

Kod:
#ifdef ENABLE_RELOAD_COMMAND_ALL_CORES
        strlcpy(p2p_packet.argument, "u", sizeof(p2p_packet.argument));
        bSendP2P = true;
#endif

Arat:
Kod:
        if (ch)
            ch->ChatPacket(CHAT_TYPE_INFO, "Reloading prototype tables,");
        db_clientdesc->DBPacket(HEADER_GD_RELOAD_PROTO, 0, nullptr, 0);
    }

Altına ekle:

Kod:
#ifdef ENABLE_RELOAD_COMMAND_ALL_CORES
    if (ch && bSendP2P)
    {
        P2P_MANAGER::instance().Send(&p2p_packet, sizeof(p2p_packet));
        ch->ChatPacket(CHAT_TYPE_INFO, "Reloading other cores / channels.");
    }
#endif

Packet.h

Arat:
Kod:
enum EPacketGameGameHeaders
{
İçerisine ekle:


Kod:
#ifdef ENABLE_RELOAD_COMMAND_ALL_CORES
    HEADER_GG_RELOAD_COMMAND                 = 24,
#endif

packet_info.cpp

Arat:
Kod:
CPacketInfoGG::CPacketInfoGG()
{

İçerisine ekle:

Kod:
#ifdef ENABLE_RELOAD_COMMAND_ALL_CORES
    Set(HEADER_GG_RELOAD_COMMAND, sizeof(TPacketGGReloadCommand), "ReloadCommand", false);
#endif
Paylaşım için teşekkürler.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst