Best Studio 1
Best Studio
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

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

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. 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