.vip on parancs

Indította Dark, 2010 július 25, 10:56:30 DÉLUTÁN

Előző téma - Következő téma

Dark

Sziasztok!

Bocsi az új topic-ért de sehol nem találtam olyan topicot ahol ilyesmi le lenne írva.
Nos és szeretnék egy .vip parancsot létre hozni!
Próbálkoztam azzal is hogy lemásolom a .gm off,on parancsot ésátírom benne a dolgokat de valamiért a c++-om visszadobja.
Itt a forráskódom:

//Enable\Dissable VIP Mode
bool ChatHandler::HandleVIPCommand(const char* args)
{
    if (!*args)
    {
        if (m_session->GetPlayer()->isvip())
            m_session->SendNotification(LANG_vip_ON);
        else
            m_session->SendNotification(LANG_vip_OFF);
        return true;
    }

    std::string argstr = (char*)args;

    if (argstr == "on")
    {
        m_session->GetPlayer()->Setvip(true);
        m_session->SendNotification(LANG_vip_ON);
        m_session->GetPlayer()->UpdateTriggerVisibility();
        #ifdef _DEBUG_VMAPS
        VMAP::IVMapManager *vMapManager = VMAP::VMapFactory::createOrGetVMapManager();
        vMapManager->processCommand("stoplog");
        #endif
        return true;
    }

    if (argstr == "off")
    {
        m_session->GetPlayer()->Setvip(false);
        m_session->SendNotification(LANG_vip_OFF);
        m_session->GetPlayer()->UpdateTriggerVisibility();
        #ifdef _DEBUG_VMAPS
        VMAP::IVMapManager *vMapManager = VMAP::VMapFactory::createOrGetVMapManager();
        vMapManager->processCommand("startlog");
        #endif
        return true;
    }

    SendSysMessage(LANG_USE_BOL);
    SetSentErrorMessage(true);
    return false;
}


chat-nél már megoldottam de csak itt ennél dob vissza sajnos...:S
valaki tudna nekem segíteni??

DoomKiller

Szerintem ilyen fv. nincs, hogy isvip();

Meg egy

Dark

háát igazából azt szerettem volna csinálni hogy a vip tag is tudjon egy módba belépni mint a gm hogy .gm on
csaka vip-nél meg .vip on
vagy ha ezt nem tudom megcsinálni akkor maximum még annyit estleg meg tudnék csinálni hogy belép és akkor a chat.ben tud vip előtaggal írni?? vagy nem tudom csak mert lesznek vendorok amik phase maszkal fognak ott ácsorogni és azokat ugyye bár 1-es szntű jogon lehet látni.Ahhoz meg kell a .gm on.
Csak kicsit rossz hogy a VIP-nek ott van a GM előtag a neve előtt is!

$0undX

#3
szerintem

kagebunshin


Hello!

Ha jól értelmezem a vip-es vendorok egy bizonyos phasemask-al rendelkeznek és hogy a vip-ek is lássák őket egy parancsot szeretnél rá írni.

Ez esetben szerintem elég ha a parancs beírására beállít egy phasemak-ot a játékosra.
Persze ezzel nem árt vigyázni. Mindenképp egyedi phasemask-al lásd el a vendorokat különben csúnyán visszaélnek majd vele.

Feltételezem ha idáig el jutottál elég lenne maga a kód. De hátha más is szeretné használni leírom részletesen.

Először is maga a parancs. Én Level1.cpp-be raktam, de jogosultságtól függően akárhol elhelyezhető.

Idézbool ChatHandler::HandleVIPCommand(const char* args)
{
    m_session->GetPlayer()->SetPhaseMask(FÁZIS, true);
    return true;
}

A 'FÁZIS' helyére természetesen az a szám kerül amit a vip-es vendoroknak is beállítottál.

Chat.h ChatHandler osztály protected részében elhelyezzük ezt:
Idézbool HandleVIPCommand(const char *args);

Majd a Chat.cpp file getCommandTable függvényének vége felé mondjuk a playall parancs után elhelyezzük a következőt:
Idéz{ "vip",     SEC_MODERATOR,  false, &ChatHandler::HandleVIPCommand,          "", NULL },

És kész is.
.vip beírására láthatóvá vállnak a vendorok.

Üdv:
Kagebunshin
"-Egy dolgot viszont elárulhatnál nekem. Ki találta ki, hogy a fák őreinek erejével szálljatok szembe velem, mert nem te ugye? Te nem tudtad!
-Nem... de azért vagyunk többen, hogy valaki tudja."

Bluerák

Ez szép  :)
Köszönöm, ezt lehet én is használni fogom  8)

MacBook Pro 13' 2.26 GHZ, 4 GB RAM - White
iPhone 4S 16GB - Black
iPad 3 - Black

NEW PC:
Asus EAH6670 (1GB 128 bit)
AMD FX AM3+ (4x3.8GHZ)
ASRock 970 EXTREME3
8GB RAM

Powered by EzPortal