Foruma hoş geldin, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

GM Yetkilerini Kısıtlama (Ticaret vb. işlevleri kapatma)

Telif Hakkı Bildirileri için: [email protected]

admin

Administrator
Yönetici
Admin
GM'lerin oyuncu ile ticaret yapmasını engeller.
Test sunucusu için devre dışıdır.
Gm ticarete item koyamaz.
Gm depoyu kullanamaz.
Gm yere item atamaz.

C++:
// Service.h AÇILIR

// Eklenir.


#define ENABLE_GAMEMASTER_RESTRICTION

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

// exchange.cpp AÇILIR

// Aratılır:

if (victim->IsBlockMode(BLOCK_EXCHANGE))


// Eklenir:

#ifdef ENABLE_GAMEMASTER_RESTRICTION
    if (!IsGM())
    {
        if (!test_server && victim->GetGMLevel() != GM_PLAYER)
            {
                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Game Master ile ticaret yapamazsınız."));
                return false;
            }
    }

    if (!test_server && IsGM())
    {
        std::unique_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery("SELECT * FROM gamemaster_restriction"));
        SQLResult * pRes = pMsg->Get();
        if (pRes->uiNumRows)
        {
            MYSQL_ROW row;
            while ((row = mysql_fetch_row(pRes->pSQLResult)))
            {
                DWORD datos = 0;
                str_to_number(datos, row[0]);
                if (GetPlayerID()==datos)
                {
                    ChatPacket(CHAT_TYPE_INFO, "Bunu yapmak için izniniz yok.");
                    return false;
                }
            }
        }
    }

#endif


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


// char_item.cpp AÇILIR

// Aratılır:


bool CHARACTER::DropItem(TItemPos Cell, BYTE bCount)


// Eklenir:



#ifdef ENABLE_GAMEMASTER_RESTRICTION
    if (!test_server && IsGM())
    {
        std::unique_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery("SELECT * FROM gamemaster_restriction"));
        SQLResult * pRes = pMsg->Get();
        if (pRes->uiNumRows)
        {
            MYSQL_ROW row;
            while ((row = mysql_fetch_row(pRes->pSQLResult)))
            {
                DWORD datos = 0;
                str_to_number(datos, row[0]);
                if (GetPlayerID()==datos)
                {
                    ChatPacket(CHAT_TYPE_INFO, "Bunu yapmak için izniniz yok");
                    return false;
                }
            }
        }
    }
#endif




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


// cmd_general.cpp AÇILIR

// Aratılır


ACMD(do_click_safebox)


// Eklenir:



#ifdef ENABLE_GAMEMASTER_RESTRICTION
    if (!test_server && ch->IsGM())
    {
        std::unique_ptr<SQLMsg> pMsg(DBManager::instance().DirectQuery("SELECT * FROM gamemaster_restriction"));
        SQLResult * pRes = pMsg->Get();
        if (pRes->uiNumRows)
        {
            MYSQL_ROW row;
            while ((row = mysql_fetch_row(pRes->pSQLResult)))
            {
                DWORD datos = 0;
                str_to_number(datos, row[0]);
                if (ch->GetPlayerID()==datos)
                {
                    ch->ChatPacket(CHAT_TYPE_INFO, "Bunu yapmak için izniniz yok");
                    return;
                }
            }
        }
    }
#endif


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


// Player.sql'e eklenir:


SET NAMES utf8mb4;

SET FOREIGN_KEY_CHECKS = 0;

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

-- Table structure for gamemaster_restriction

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

DROP TABLE IF EXISTS `gamemaster_restriction`;

CREATE TABLE `gamemaster_restriction` (

`gamemaster` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',

PRIMARY KEY (`gamemaster`) USING BTREE

) ENGINE = MyISAM CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

SET FOREIGN_KEY_CHECKS = 1;
 
Moderatör tarafında düzenlendi:

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap