VIP npc

Indította Apoldar, 2010 november 01, 03:51:27 DÉLUTÁN

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

Apoldar

Sziasztok!

V.ki nem tud egy 3.3.5a-n is működő vip npc scriptet ami azt tudja hogy ha egy játékos akarná megnyitni az npc-t (vendort) akkor ő azt ne tudja. Csak gmlvl 1től lehessen megnyitni.

Előre is köszi :$

drestor

#1
Idéz#include "ScriptPCH.h"

class vip_npc : public CreatureScript
{
public:
   vip_npc() : CreatureScript("vip_npc") { }

       bool OnGossipHello(Player* pPlayer, Creature* pCreature)
       {

            if(pPlayer->GetSession()->GetSecurity() >= SEC_MODERATOR)
            {
                   pPlayer->SEND_VENDORLIST(pCreature->GetGUID());
            }

            else
            {
                   pCreature->MonsterWhisper("Sajnalom, de te nem vagy VIP!", pPlayer->GetGUID());
            }

       }


       bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 sender, uint32 action)
       {

               if (sender == GOSSIP_SENDER_MAIN)
                       SendDefaultMenu(pPlayer, pCreature, action);
               return true;

       }
};

void AddSC_vip_npc()
{
       new vip_npc();
}

$0undX

szép-szép drestor  :D
1 kis apróság, nem azt mondta hogy csak moderátor hanem ha moderátor és feljebb, így módosítva:

#include "ScriptPCH.h"

class vip_npc : public CreatureScript
{
public:
    vip_npc() : CreatureScript("vip_npc") { }

        bool OnGossipHello(Player* pPlayer, Creature* pCreature)
        {

             if(pPlayer->GetSession()->GetSecurity() >= SEC_MODERATOR)
             {
                    pPlayer->SEND_VENDORLIST(pCreature->GetGUID());
             }

             else
             {
                    pCreature->MonsterWhisper("Sajnalom, de te nem vagy VIP!", pPlayer->GetGUID());
             }

        }


        bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 sender, uint32 action)
        {

                if (sender == GOSSIP_SENDER_MAIN)
                        SendDefaultMenu(pPlayer, pCreature, action);
                return true;

        }
};

void AddSC_vip_npc()
{
        new vip_npc();
}


asszem így jó, nincs tesztelve :)

drestor

Jah, elnézést ;)
Javítva.

$0undX


Apoldar

Idézetet írta: drestor Dátum 2010 november 01, 03:56:45 DÉLUTÁN
Idéz#include "ScriptPCH.h"

class vip_npc : public CreatureScript
{
public:
   vip_npc() : CreatureScript("vip_npc") { }

       bool OnGossipHello(Player* pPlayer, Creature* pCreature)
       {

            if(pPlayer->GetSession()->GetSecurity() >= SEC_MODERATOR)
            {
                   pPlayer->SEND_VENDORLIST(pCreature->GetGUID());
            }

            else
            {
                   pCreature->MonsterWhisper("Sajnalom, de te nem vagy VIP!", pPlayer->GetGUID());
            }

       }


       bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 sender, uint32 action)
       {

               if (sender == GOSSIP_SENDER_MAIN)
                       SendDefaultMenu(pPlayer, pCreature, action);
               return true;

       }
};

void AddSC_vip_npc()
{
       new vip_npc();
}


És akkor ez működni fog ezen? : TrinityCore Rev: 10166+

$0undX

szerintem igen, ki kell próbálni ;)

drestor

Igen, működni fog, csak annyit kell csinálnod, hogy beforgatod az emu-ba, a creature_template táblába létrehozod az NPC-t, és az npc_vendor táblába pedig berakod, hogy miket áruljon az NPC.

Apoldar

ajj nagyon remélem mert már nem lehet elrejteni az npcket :S

Még1 kérdés. Nem tudjátok hogy lehet azt megcsinálni ha mondjuk felszállnak a motorra ketten és a játékos el .appear-ozik akkor ne tudja magával vinni a játékost? :S

$0undX

mondjuk leszáll a motorról ? =)

Apoldar

Idézetet írta: $0undX Dátum 2010 november 02, 09:27:06 DÉLELŐTT
mondjuk leszáll a motorról ? =)

De az a gáz hogy olyan vendikhez viszik el a vipek az játékosokat amikhez nem kéne :D és azért kéne hogy ne tudják :S

$0undX

jaaa, vágom, mag módosítás, chat->level1.cpp-t túrd fel ;)

drestor

"if" függvény ;D
Én körülbelül ezt úgy oldanám meg, hogy mikor használja a parancsot akkor elsőnek dismountolja a motort és csak utána teljesíti csak az .appear parancsot. Mint, ahogy írtam az elejére rakj 1 "if"-et, hogy csak akkor használja ezt a megoldást ha motoron van az adott személy.

ident

Vagy esetleg adsz egy VIP aurát a vipjeidnek, erre kiszemelsz egy spellt és módosítod hogy voltaképp egy üres aura legyen és ne módosítson statokat, aztán conditions-ben vagy smartai-val meghatározod, hogy ahhoz hogy beszélni tudjon az npc-vel, kelljen az az aura. Esetleg megfűszerezheted egy gossip scripttel.
Fhatys, a sors által kirótt, elkerülhetetlen feladat szava.
http://eu.battle.net/wow/en/character/arathor/Ident/advanced

asdface

Van akinek működött 10257+ Reven?
Nekem elég érdekes hibákat ír ki...

Powered by EzPortal