ابزار سرور  WoW | World Of WarCraft  | Scirpt

ابزار سرور WoW | World Of WarCraft | Scirpt

ابزار سرور | ابزار WOW | ابزار بازی های انلاین | ابزار گیم سرور ها | رفع مشکلات | رتبه بندی | تبلیغات | اموزش | هک | کتاب های اموزشی | خرید و فروش
ابزار سرور  WoW | World Of WarCraft  | Scirpt

ابزار سرور WoW | World Of WarCraft | Scirpt

ابزار سرور | ابزار WOW | ابزار بازی های انلاین | ابزار گیم سرور ها | رفع مشکلات | رتبه بندی | تبلیغات | اموزش | هک | کتاب های اموزشی | خرید و فروش

Mall. Command With RBAC - Released


در این پست می خوام آموزش بدم چطوری میتونید اسکریپت Mall. رو برای ورژن TrinityCore های Rbac دار اضافه کنید و استفاده کنید.

این آموزش 2 تا مرحله داره:

مرحله اول) اضافه کردن اسکریپت به Source
مرحله دوم) تنظیمات SQL و نحوه Config آن




مرحله اول) ابتدا این اسکریپت رو به Source تون اضافه کنید.

کد PHP:
    /*
    Developer(s): ?? ?? ??
    
    Published: Imorate @ IranCore.Ir
    */
    
    #include "ScriptPCH.h"
    #include "language.h"
     
    
class mall_tele_commandscript : public CommandScript
    
{
    public:
        
mall_tele_commandscript() : CommandScript("mall_tele_commandscript") { }
     
                
ChatCommandGetCommands() const
        {
            static 
ChatCommand mallTeleCommandTable[] =
            {
                            { 
"mall",       rbac::RBAC_PERM_COMMAND_MALL,  false, &HandlemallTeleCommand,             ""NULL },
                { 
NULL,             0,                  falseNULL,                              ""NULL }
            };
                     return 
mallTeleCommandTable;
        }
     
                      static 
bool HandlemallTeleCommand(ChatHandlerhandler, const charargs)
        {
     
            
Playerme handler->GetSession()->GetPlayer();
     
            if (
me->IsInCombat())
            {
                
handler->SendSysMessage(LANG_YOU_IN_COMBAT);
                
handler->SetSentErrorMessage(true);
                return 
false;
            }
     
            
// stop flight if need
            
if (me->IsInFlight())
            {
                
me->GetMotionMaster()->MovementExpired();
                
me->CleanupAfterTaxiFlight();
            }
            
// save only in non-flight case
            
else
                
me->SaveRecallPosition();
     
                    
me->TeleportTo(0,   -1716.653809f, -4228.059082f1.997937f3.675219f); // MapId, X, Y, Z, O, don't remove the "f" after X,Y,Z,O or it won't work.
            
return true;
        }
    };
    
void AddSC_mall_commandscript()
    {
        new 
mall_tele_commandscript();
    }  

توضیحات
1) با توجه به Line شماره 47 بعد از مختصات Map، حرف F رو به هیچ وجه پاک نکنید.
2) این اسکریپت مجهز به سیستم Anti Combat هستش یعنی زمانی که Player در Combat باشه، Command کار نمی کنه.
3) زمانی که Player بر روی Taxi یا Flying Mount باشد این اسکریپت به حالت Dissable در میاد و کار نمی کنه.
4) کامند Mall. به این Script اضافه شده و دیگه لازم نیست به DataBase کامند اضافه کنید.




مرحله دوم) Config های مربوط به Rbac در DataBase
Query رو*به*رو رو به DataBase اضافه کنید

کد PHP:
/*
Published By Imorate @ IranCore.Ir
*/
INSERT INTO `rbac_permissions` (`id`, `name`) VALUES(1007'Command: mall');
INSERT INTO `rbac_linked_permissions` (`id`,`linkedId`) VALUES(1951007);  


Config های مربوط به Source
به آدرس زیر مراجعه کنید:

کد PHP:
~\src\server\game\Accounts\Rbac.h  

سپس Line زیر رو پیدا کنید:

کد PHP:
// custom permissions 1000+  

و زیرش این Line رو اضافه کنید:

کد PHP:
RBAC_PERM_COMMAND_MALL                                   1007,  



تا آموزشی دیگر به درود
منبع : Irancore