[Pedido] Guild House

Buenas, queria saber como poner las guild house, si habra una guia o me pueden explicar… si me dieran una mano se los agradeceria…

tambien necesitaria un npc.

Saludos.


#include "ScriptPCH.h"
#include <cstring>
#include "GuildMgr.h"
#include "ObjectMgr.h"
 
const uint32 GUILD_TOKEN = 37711;
bool requiresGUpdate = true;
std::vector<uint64> GuildHouses;
char string[200];
 
enum Objects
{
        OBJECT_TABLE        = 180698,
        OBJECT_TORCH        = 187988,
        OBJECT_MAILBOX      = 142094,
        OBJECT_CRATE        = 183992,
        OBJECT_A_FLAG       = 187342,
        OBJECT_H_FLAG       = 192688,
        OBJECT_CHAIR        = 10201,
        OBJECT_FIREPIT      = 1967,
        OBJECT_GUILDVAULT   = 187390,
        OBJECT_BARBER_CHAIR = 191817,
        OBJECT_CRANBERRY_BUSH = 195199,
};
 
void SpawnObject(Player * pPlayer, uint32 objectId)
{
        const GameObjectTemplate* objectInfo = sObjectMgr->GetGameObjectTemplate(objectId);
       
        float x = float(pPlayer->GetPositionX());
        float y = float(pPlayer->GetPositionY());
        float z = float(pPlayer->GetPositionZ());
        float o = float(pPlayer->GetOrientation());
        Map* map = pPlayer->GetMap();
 
        GameObject* object = new GameObject;
        uint32 guidLow = sObjectMgr->GenerateLowGuid(HIGHGUID_GAMEOBJECT);
       
        if (!object->Create(guidLow, objectInfo->entry, map, pPlayer->GetPhaseMaskForSpawn(), x, y, z, o, 0.0f, 0.0f, 0.0f, 0.0f, 0, GO_STATE_READY))
        {
                delete object;
                return;
        }
       
        object->SetRespawnTime(1);
        object->SaveToDB(map->GetId(), (1 << map->GetSpawnMode()), pPlayer->GetPhaseMaskForSpawn());
       
        if (!object->LoadGameObjectFromDB(guidLow, map))
        {
                delete object;
                return;
        }
       
        sObjectMgr->AddGameobjectToGrid(guidLow, sObjectMgr->GetGOData(guidLow));
        WorldDatabase.PExecute("INSERT INTO guildhouse_objects VALUES('%u', '%u')", pPlayer->GetGuildId(), guidLow);
}
 
uint32 getGuildAreaId(Player * pPlayer)
{
        QueryResult Result = WorldDatabase.PQuery("SELECT area FROM guildhouses WHERE guildId='%u'", pPlayer->GetGuildId());
        if(Result)
        {
                Field * pField = Result->Fetch();
                return pField[0].GetUInt32();
        }
 
        return -1;
 
}
 
bool isInGuildArea(Player * pPlayer)
{
        for(int i = 0; i < 21; i++)
        {
                if(pPlayer->GetAreaId() == getGuildAreaId(pPlayer))
                        return true;
        }
        return false;
}
 
bool isGuildHouseOwner(Player * pPlayer)
{
        if(GuildHouses.empty() || requiresGUpdate == true)
        {
                if(requiresGUpdate == true)
                {
                        GuildHouses.clear();
                        requiresGUpdate = false;
                }
                QueryResult Result = WorldDatabase.PQuery("SELECT guildId FROM guildhouses WHERE guildId != '0'");
                if(Result)
                {
                        Field * pFields = Result->Fetch();
                        int i = 0;
                        do
                        {
                                GuildHouses.push_back(pFields[0].GetUInt64());
                                i++;
                        }while(Result->NextRow());
                       
                        return isGuildHouseOwner(pPlayer);
                }
                else
                {
                        return false;
                }
        }
        else
        {
                for(std::vector<uint64>::iterator itr = GuildHouses.begin(); itr != GuildHouses.end(); itr++)
                {
                        if(*itr != pPlayer->GetGuildId())
                                continue;
                        else
                                return true;
                }
                return false;
        }
}
 
bool isPlayerGuildLeader(Player *player)
{
        return (player->GetRank() == 0) && (player->GetGuildId() != 0);
}
 
bool GuildOwnsHouse(Player * pPlayer)
{
        QueryResult pResult = WorldDatabase.PQuery("SELECT * FROM guildhouses WHERE guildId='%u'", pPlayer->GetGuildId());
        if(!pResult)
                return false;
        else
                return true;
}
 
void CleanUpObjects(Player * pPlayer, uint32 guildId)
{
        QueryResult ObjectSpawns = WorldDatabase.PQuery("SELECT `guid` FROM `guildhouse_objects` WHERE `guildId` = '%u'", guildId);
        if(ObjectSpawns)
        {
                do
                {
                        Field * pField = ObjectSpawns->Fetch();
                        uint32 Object_GUID = pField[0].GetUInt32();
                        GameObject* object = NULL;
            ChatHandler handler = ChatHandler(pPlayer->GetSession());
 
                        if (GameObjectData const* gameObjectData = sObjectMgr->GetGOData(Object_GUID))
                                object = handler.GetObjectGlobalyWithGuidOrNearWithDbGuid(Object_GUID, gameObjectData->id);
 
                        if (!object)
                                continue;
 
                        object->SetRespawnTime(0);
                        object->Delete();
                        object->DeleteFromDB();
                        WorldDatabase.PExecute("DELETE FROM `guildhouse_objects` WHERE guid='%u'", Object_GUID);
                }while(ObjectSpawns->NextRow());
        }
}
 
void SellGuildHouse(Player * pPlayer, Creature * pCreature)
{
        if(isInGuildArea(pPlayer))
        {
                WorldDatabase.PExecute("UPDATE `guildhouses` SET `guildId`='0' WHERE `guildId`='%u'", pPlayer->GetGuildId());
                CleanUpObjects(pPlayer, pPlayer->GetGuildId());
                pCreature->MonsterSay("You have successfully sold your guild house!", LANG_UNIVERSAL, pPlayer->GetGUID());
                pPlayer->PlayerTalkClass->SendCloseGossip();
                requiresGUpdate = true;
                pPlayer->TeleportTo(530, -1861.239990f, 5437.810059f, -10.463400f, 1.353830f); // generally the mall
        }
        else
        {
                pPlayer->GetSession()->SendNotification("You must be in your guild house to sell it!");
        }
}
 
void PurchaseGuildHouse(Player * pPlayer, Creature * pCreature, uint32 &Id)
{
        if(pPlayer->HasItemCount(GUILD_TOKEN, 1))
        {
                WorldDatabase.PExecute("UPDATE `guildhouses` SET `guildId`='%u' WHERE `id`='%u'", pPlayer->GetGuildId(), Id);
                pCreature->MonsterSay("Congratulations on the purchase of your new guild house!", LANG_UNIVERSAL, pPlayer->GetGUID());
                pPlayer->DestroyItemCount(GUILD_TOKEN, 1, true);
                requiresGUpdate = true;
        }
        else
        {
                pCreature->MonsterSay("You need a guild token to purchase a guild house!", LANG_UNIVERSAL, pPlayer->GetGUID());
        }
                pPlayer->PlayerTalkClass->SendCloseGossip();
}
 
void TeleportToHouse(Player * pPlayer)
{
        if (pPlayer->IsInCombat());
 
        QueryResult result = WorldDatabase.PQuery("SELECT `x`, `y`, `z`, `map` FROM `guildhouses` WHERE `guildId` = '%u'", pPlayer->GetGuildId());
        if (result)
        {
                Field *fields = result->Fetch();
                float x = fields[0].GetFloat();
                float y = fields[1].GetFloat();
                float z = fields[2].GetFloat();
                uint32 map = fields[3].GetUInt32();
                pPlayer->TeleportTo(map, x, y, z, pPlayer->GetOrientation());
        }
}
 
class GuildHouse_NPC : public CreatureScript
{
        public:
                GuildHouse_NPC() : CreatureScript("GuildHouse"){}
 
 
                void ShowHouseListings(Player * pPlayer, Creature * pCreature, unsigned int start = 0)
                {
                        pPlayer->PlayerTalkClass->ClearMenus();
 
                        QueryResult pResult = WorldDatabase.PQuery("SELECT id, comment FROM guildhouses WHERE guildId='0'");
                        uint32 houses = pResult->GetRowCount();
                        int offset = 0;
                        Field * pField = pResult->Fetch();
                        bool ranOnce = false;
                        for(unsigned int i = start; i < houses; i++)
                        {
                                if(start != 0 && ranOnce == false)
                                {
                                        for(int x = 0; x < start; x++)
                                        {
                                                pResult->NextRow();
                                        }
                                        ranOnce = true;
                                }
 
                                if(offset != 10)
                                {
                                        pPlayer->ADD_GOSSIP_ITEM(6, pField[1].GetString(), GOSSIP_SENDER_MAIN, pField[0].GetUInt32());
                                        offset++;
                                        pResult->NextRow();
                                }
                                else
                                {
                                        if((startid + 12) > houses)
                                        {
                                                pPlayer->ADD_GOSSIP_ITEM(7, "-------------END--------------", GOSSIP_SENDER_MAIN, 41);
                                        }
                                        else
                                        {
                                                pPlayer->ADD_GOSSIP_ITEM(7, "Next Page", GOSSIP_SENDER_MAIN, 4353);
                                                startid = start + offset;
                                                i = houses +10;
                                        }
                                }
                        }
                        pPlayer->PlayerTalkClass->SendGossipMenu(2, pCreature->GetGUID());
                }
               
                bool OnGossipHello(Player * pPlayer, Creature * pCreature)
                {
                        startid = 0;
 
                        if(pPlayer->GetGuildId() == 0)
                        {
                                pPlayer->GetSession()->SendNotification("You must be in a guild!");
                                return false;
                        }
                        else if (!GuildOwnsHouse(pPlayer) && !isPlayerGuildLeader(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("Your guild does not own a house!");
                                return false;
                        }
                        pPlayer->ADD_GOSSIP_ITEM(4, "Guild Housing System:", GOSSIP_SENDER_MAIN, 41);
                        pPlayer->ADD_GOSSIP_ITEM(4, "----------------------------------------------", GOSSIP_SENDER_MAIN, 41);
                        if(isPlayerGuildLeader(pPlayer))
                        {
                                if(!GuildOwnsHouse(pPlayer))
                                        pPlayer->ADD_GOSSIP_ITEM(6, "Buy a Guild House", GOSSIP_SENDER_MAIN, 38);
                                else
                                        pPlayer->ADD_GOSSIP_ITEM_EXTENDED(6, "Sell Guild House", GOSSIP_SENDER_MAIN, 39, "Are you sure you want to sell your guild house?", 0, false);
                        }
                        if(GuildOwnsHouse(pPlayer))
                                pPlayer->ADD_GOSSIP_ITEM(7, "Teleport to Guild House", GOSSIP_SENDER_MAIN, 40);
                        pPlayer->PlayerTalkClass->SendGossipMenu(2, pCreature->GetGUID());
                        return true;
                }
 
                bool OnGossipSelect(Player * pPlayer, Creature * pCreature, uint32 /*uiSender*/, uint32 uiAction)
                {
                        pPlayer->PlayerTalkClass->ClearMenus();
 
                        switch(uiAction)
                        {
                                case 38:
                                        ShowHouseListings(pPlayer, pCreature);
                                        break;
                                case 39:
                                        SellGuildHouse(pPlayer, pCreature);
                                        pPlayer->PlayerTalkClass->SendCloseGossip();
                                        break;
                                case 40:
                                        TeleportToHouse(pPlayer);
                                        break;
                                case 41:
                                        OnGossipHello(pPlayer, pCreature);
                                        break;
                                case 4353:
                                        ShowHouseListings(pPlayer, pCreature, startid);
                                        break;
                                default:
                                        if(uiAction < 38 && uiAction > 0)
                                                PurchaseGuildHouse(pPlayer, pCreature, uiAction);
                                        break;
                        }
                        return true;
                }
 
                private:
                        uint32 startid;
};
 
 
class Table_Token : public ItemScript
{
        public:
                Table_Token() : ItemScript("Table Token"){}
 
                bool OnUse(Player* pPlayer, Item* pItem, SpellCastTargets const& /*targets*/)
                {
                        if(!pPlayer)
                                return false;
 
                        if(!pItem)
                                return false;
 
                        if(!isPlayerGuildLeader(pPlayer) || !isGuildHouseOwner(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You must own a guild house to use this item!");
                                return false;
                        }
 
                        if(!isInGuildArea(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You are not in your guild area!");
                                return false;
                        }
 
                        SpawnObject(pPlayer, OBJECT_TABLE);
                        pPlayer->DestroyItemCount(pItem->GetEntry(), 1, true);
                        return true;
                }
};
 
class Torch_Token : public ItemScript
{
        public:
                Torch_Token() : ItemScript("Torch Token"){}
 
                bool OnUse(Player* pPlayer, Item* pItem, SpellCastTargets const& /*targets*/)
                {
                        if(!pPlayer)
                                return false;
                       
                        if(!pItem)
                                return false;
 
                        if(!isPlayerGuildLeader(pPlayer) || !isGuildHouseOwner(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You must own a guild house to use this item!");
                                return false;
                        }
 
                        if(!isInGuildArea(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You are not in your guild area!");
                                return false;
                        }
 
                        SpawnObject(pPlayer, OBJECT_TORCH);
                        pPlayer->DestroyItemCount(pItem->GetEntry(), 1, true);
                       
                        return true;
                }
};
 
class Mailbox_Token : public ItemScript
{
        public:
                Mailbox_Token() : ItemScript("Mailbox Token"){}
 
                bool OnUse(Player* pPlayer, Item* pItem, SpellCastTargets const& /*targets*/)
                {
                        if(!pPlayer)
                                return false;
 
                        if(!pItem)
                                return false;
 
                        if(!isPlayerGuildLeader(pPlayer) || !isGuildHouseOwner(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You must own a guild house to use this item!");
                                return false;
                        }
 
                        if(!isInGuildArea(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You are not in your guild area!");
                                return false;
                        }
 
                        SpawnObject(pPlayer, OBJECT_MAILBOX);
                        pPlayer->DestroyItemCount(pItem->GetEntry(), 1, true);
 
                        return true;
                }
};
 
class Crate_Token : public ItemScript
{
        public:
                Crate_Token() : ItemScript("Crate Token"){}
 
                bool OnUse(Player* pPlayer, Item* pItem, SpellCastTargets const& /*targets*/)
                {
                        if(!pPlayer)
                                return false;
 
                        if(!pItem)
                                return false;
 
                        if(!isPlayerGuildLeader(pPlayer) || !isGuildHouseOwner(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You must own a guild house to use this item!");
                                return false;
                        }
 
                        if(!isInGuildArea(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You are not in your guild area!");
                                return false;
                        }
 
                        SpawnObject(pPlayer, OBJECT_CRATE);
                        pPlayer->DestroyItemCount(pItem->GetEntry(), 1, true);
 
                        return true;
                }
};
 
class A_Flag_Token : public ItemScript
{
        public:
                A_Flag_Token() : ItemScript("A_Flag Token"){}
 
                bool OnUse(Player* pPlayer, Item* pItem, SpellCastTargets const& /*targets*/)
                {
                        if(!pPlayer)
                                return false;
 
                        if(!pItem)
                                return false;
 
                        if(!isPlayerGuildLeader(pPlayer) || !isGuildHouseOwner(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You must own a guild house to use this item!");
                                return false;
                        }
 
                        if(!isInGuildArea(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You are not in your guild area!");
                                return false;
                        }
 
                        SpawnObject(pPlayer, OBJECT_A_FLAG);
                        pPlayer->DestroyItemCount(pItem->GetEntry(), 1, true);
 
                        return true;
                }
};
 
class H_Flag_Token : public ItemScript
{
        public:
                H_Flag_Token() : ItemScript("H_Flag Token"){}
 
                bool OnUse(Player* pPlayer, Item* pItem, SpellCastTargets const& /*targets*/)
                {
                        if(!pPlayer)
                                return false;
 
                        if(!pItem)
                                return false;
 
                        if(!isPlayerGuildLeader(pPlayer) || !isGuildHouseOwner(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You must own a guild house to use this item!");
                                return false;
                        }
 
                        if(!isInGuildArea(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You are not in your guild area!");
                                return false;
                        }
 
 
                        SpawnObject(pPlayer, OBJECT_H_FLAG);
                        pPlayer->DestroyItemCount(pItem->GetEntry(), 1, true);
 
                        return true;
                }
};
 
class Chair_Token : public ItemScript
{
        public:
                Chair_Token() : ItemScript("Chair Token"){}
 
                bool OnUse(Player* pPlayer, Item* pItem, SpellCastTargets const& /*targets*/)
                {
                        if(!pPlayer)
                                return false;
 
                        if(!pItem)
                                return false;
 
                        if(!isPlayerGuildLeader(pPlayer) || !isGuildHouseOwner(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You must own a guild house to use this item!");
                                return false;
                        }
 
                        if(!isInGuildArea(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You are not in your guild area!");
                                return false;
                        }
 
                        SpawnObject(pPlayer, OBJECT_CHAIR);
                        pPlayer->DestroyItemCount(pItem->GetEntry(), 1, true);
 
                        return true;
                }
};
 
class Firepit_Token : public ItemScript
{
        public:
                Firepit_Token() : ItemScript("Firepit Token"){}
 
                bool OnUse(Player* pPlayer, Item* pItem, SpellCastTargets const& /*targets*/)
                {
                        if(!pPlayer)
                                return false;
 
                        if(!pItem)
                                return false;
 
                        if(!isPlayerGuildLeader(pPlayer) || !isGuildHouseOwner(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You must own a guild house to use this item!");
                                return false;
                        }
 
                        if(!isInGuildArea(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You are not in your guild area!");
                                return false;
                        }
 
                        SpawnObject(pPlayer, OBJECT_FIREPIT);
                        pPlayer->DestroyItemCount(pItem->GetEntry(), 1, true);
 
                        return true;
                }
};
 
class Vault_Token : public ItemScript
{
        public:
                Vault_Token() : ItemScript("Vault Token"){}
 
                bool OnUse(Player* pPlayer, Item* pItem, SpellCastTargets const& /*targets*/)
                {
                        if(!pPlayer)
                                return false;
 
                        if(!pItem)
                                return false;
 
                        if(!isPlayerGuildLeader(pPlayer) || !isGuildHouseOwner(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You must own a guild house to use this item!");
                                return false;
                        }
 
                        if(!isInGuildArea(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You are not in your guild area!");
                                return false;
                        }
 
                        SpawnObject(pPlayer, OBJECT_GUILDVAULT);
                        pPlayer->DestroyItemCount(pItem->GetEntry(), 1, true);
 
                        return true;
                }
};
 
class Barber_Token : public ItemScript
{
        public:
                Barber_Token() : ItemScript("Barber Token"){}
 
                bool OnUse(Player* pPlayer, Item* pItem, SpellCastTargets const& /*targets*/)
                {
                        if(!pPlayer)
                                return false;
 
                        if(!pItem)
                                return false;
 
                        if(!isPlayerGuildLeader(pPlayer) || !isGuildHouseOwner(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You must own a guild house to use this item!");
                                return false;
                        }
 
                        if(!isInGuildArea(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You are not in your guild area!");
                                return false;
                        }
 
                        SpawnObject(pPlayer, OBJECT_BARBER_CHAIR);
                        pPlayer->DestroyItemCount(pItem->GetEntry(), 1, true);
                       
                        return true;
                }
};
 
class Cranberry_Token : public ItemScript
{
        public:
                Cranberry_Token() : ItemScript("Cranberry Token"){}
 
                bool OnUse(Player* pPlayer, Item* pItem, SpellCastTargets const& /*targets*/)
                {
                        if(!pPlayer)
                                return false;
 
                        if(!pItem)
                                return false;
 
                        if(!isPlayerGuildLeader(pPlayer) || !isGuildHouseOwner(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You must own a guild house to use this item!");
                                return false;
                        };
 
                        if(!isInGuildArea(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You are not in your guild area!");
                                return false;
                        }
 
                        SpawnObject(pPlayer, OBJECT_CRANBERRY_BUSH);
                        pPlayer->DestroyItemCount(pItem->GetEntry(), 1, true);
 
                        return true;
                }
};
 
//token vendor
 
class Guild_Token_Vendor : public CreatureScript
{
        public:
                Guild_Token_Vendor() : CreatureScript("Token Vendor"){}
 
                bool OnGossipHello(Player * pPlayer, Creature * pCreature)
                {
                        if(!isPlayerGuildLeader(pPlayer))
                        {
                                pPlayer->GetSession()->SendNotification("You must be a guildmaster!");
                                pPlayer->PlayerTalkClass->SendCloseGossip();
                                return false;
                        }
                        if(isGuildHouseOwner(pPlayer))
                        {
                                pPlayer->PlayerTalkClass->ClearMenus();
                                pPlayer->ADD_GOSSIP_ITEM(4, "I would like to purchase Object Tokens!", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE);
                                pPlayer->ADD_GOSSIP_ITEM(3, "Nevermind.", GOSSIP_SENDER_MAIN, 2);
                                pPlayer->PlayerTalkClass->SendGossipMenu(2, pCreature->GetGUID());
                                //return true;
                        }
                        else
                        {
                                pPlayer->GetSession()->SendNotification("You must own a guild house!");
                                return false;
                        }
                        return true;
                }
 
                bool OnGossipSelect(Player * pPlayer, Creature * pCreature, uint32 /*uiSender*/, uint32 uiAction)
                {
                        switch(uiAction)
                        {
                                case GOSSIP_ACTION_TRADE:
                                        pPlayer->GetSession()->SendListInventory(pCreature->GetGUID());
                                        break;
                                case 2:
                                        pPlayer->PlayerTalkClass->SendCloseGossip();
                                        break;
                        }
                        return true;
                }
};
 
 
void AddSC_GuildHouse()
{
        new GuildHouse_NPC();
        new Table_Token();
        new Torch_Token();
        new Mailbox_Token();
        new Crate_Token();
        new A_Flag_Token();
        new H_Flag_Token();
        new Chair_Token();
        new Firepit_Token();
        new Vault_Token();
        new Barber_Token();
        new Guild_Token_Vendor();
        new Cranberry_Token();
}
INSERT INTO `creature_template` (`entry`, `difficulty_entry_1`, `difficulty_entry_2`, `difficulty_entry_3`, `KillCredit1`, `KillCredit2`, `modelid1`, `modelid2`, `modelid3`, `modelid4`, `name`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `exp`, `faction_A`, `faction_H`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `dmg_multiplier`, `baseattacktime`, `rangeattacktime`, `unit_class`, `unit_flags`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `trainer_class`, `trainer_race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `spell5`, `spell6`, `spell7`, `spell8`, `PetSpellDataId`, `VehicleId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `HoverHeight`, `Health_mod`, `Mana_mod`, `Armor_mod`, `RacialLeader`, `questItem1`, `questItem2`, `questItem3`, `questItem4`, `questItem5`, `questItem6`, `movementId`, `RegenHealth`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`, `WDBVerified`) values('7777789','0','0','0','0','0','19409','0','0','0','Object vendor','Guild house system','','0','1','1','0','35','35','129','1','1.14286','1','2','0','0','0','0','1','0','0','0','38','0','0','0','0','0','0','0','0','0','7','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','','0','3','1','1','1','1','0','0','0','0','0','0','0','0','1', '0','0','Token Vendor','1');


INSERT INTO `creature_template` (`entry`, `difficulty_entry_1`, `difficulty_entry_2`, `difficulty_entry_3`, `KillCredit1`, `KillCredit2`, `modelid1`, `modelid2`, `modelid3`, `modelid4`, `name`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `exp`, `faction_A`, `faction_H`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `dmg_multiplier`, `baseattacktime`, `rangeattacktime`, `unit_class`, `unit_flags`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `trainer_class`, `trainer_race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `spell5`, `spell6`, `spell7`, `spell8`, `PetSpellDataId`, `VehicleId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `HoverHeight`, `Health_mod`, `Mana_mod`, `Armor_mod`, `RacialLeader`, `questItem1`, `questItem2`, `questItem3`, `questItem4`, `questItem5`, `questItem6`, `movementId`, `RegenHealth`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`, `WDBVerified`) values('13','0','0','0','0','0','25010','0','0','0','Rupen Garbowsky','Guildhouse Keeper','','0','80','80','0','35','35','1','1.48','1.14286','0.75','0','181','189','0','158','1','1400','1900','1','0','0','0','0','0','0','0','0','0','100','7','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','','1','3','1','1','1','0','0','0','0','0','0','0','0','1','0','0','0','GuildHouse','0');


INSERT INTO `item_template` (`entry`, `class`, `subclass`, `SoundOverrideSubclass`, `name`, `displayid`, `Quality`, `Flags`, `FlagsExtra`, `BuyCount`, `BuyPrice`, `SellPrice`, `InventoryType`, `AllowableClass`, `AllowableRace`, `ItemLevel`, `RequiredLevel`, `RequiredSkill`, `RequiredSkillRank`, `requiredspell`, `requiredhonorrank`, `RequiredCityRank`, `RequiredReputationFaction`, `RequiredReputationRank`, `maxcount`, `stackable`, `ContainerSlots`, `StatsCount`, `stat_type1`, `stat_value1`, `stat_type2`, `stat_value2`, `stat_type3`, `stat_value3`, `stat_type4`, `stat_value4`, `stat_type5`, `stat_value5`, `stat_type6`, `stat_value6`, `stat_type7`, `stat_value7`, `stat_type8`, `stat_value8`, `stat_type9`, `stat_value9`, `stat_type10`, `stat_value10`, `ScalingStatDistribution`, `ScalingStatValue`, `dmg_min1`, `dmg_max1`, `dmg_type1`, `dmg_min2`, `dmg_max2`, `dmg_type2`, `armor`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `delay`, `ammo_type`, `RangedModRange`, `spellid_1`, `spelltrigger_1`, `spellcharges_1`, `spellppmRate_1`, `spellcooldown_1`, `spellcategory_1`, `spellcategorycooldown_1`, `spellid_2`, `spelltrigger_2`, `spellcharges_2`, `spellppmRate_2`, `spellcooldown_2`, `spellcategory_2`, `spellcategorycooldown_2`, `spellid_3`, `spelltrigger_3`, `spellcharges_3`, `spellppmRate_3`, `spellcooldown_3`, `spellcategory_3`, `spellcategorycooldown_3`, `spellid_4`, `spelltrigger_4`, `spellcharges_4`, `spellppmRate_4`, `spellcooldown_4`, `spellcategory_4`, `spellcategorycooldown_4`, `spellid_5`, `spelltrigger_5`, `spellcharges_5`, `spellppmRate_5`, `spellcooldown_5`, `spellcategory_5`, `spellcategorycooldown_5`, `bonding`, `description`, `PageText`, `LanguageID`, `PageMaterial`, `startquest`, `lockid`, `Material`, `sheath`, `RandomProperty`, `RandomSuffix`, `block`, `itemset`, `MaxDurability`, `area`, `Map`, `BagFamily`, `TotemCategory`, `socketColor_1`, `socketContent_1`, `socketColor_2`, `socketContent_2`, `socketColor_3`, `socketContent_3`, `socketBonus`, `GemProperties`, `RequiredDisenchantSkill`, `ArmorDamageModifier`, `Duration`, `ItemLimitCategory`, `HolidayId`, `ScriptName`, `DisenchantID`, `FoodType`, `minMoneyLoot`, `maxMoneyLoot`, `WDBVerified`) values('900901','0','8','-1','Table','5563','6','64','0','1','0','0','0','-1','-1','290','80','0','0','0','0','0','0','0','0','1','0','10','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','31726','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','1','Token','0','0','0','0','0','-1','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','Table Token','0','0','0','0','1');
INSERT INTO `item_template` (`entry`, `class`, `subclass`, `SoundOverrideSubclass`, `name`, `displayid`, `Quality`, `Flags`, `FlagsExtra`, `BuyCount`, `BuyPrice`, `SellPrice`, `InventoryType`, `AllowableClass`, `AllowableRace`, `ItemLevel`, `RequiredLevel`, `RequiredSkill`, `RequiredSkillRank`, `requiredspell`, `requiredhonorrank`, `RequiredCityRank`, `RequiredReputationFaction`, `RequiredReputationRank`, `maxcount`, `stackable`, `ContainerSlots`, `StatsCount`, `stat_type1`, `stat_value1`, `stat_type2`, `stat_value2`, `stat_type3`, `stat_value3`, `stat_type4`, `stat_value4`, `stat_type5`, `stat_value5`, `stat_type6`, `stat_value6`, `stat_type7`, `stat_value7`, `stat_type8`, `stat_value8`, `stat_type9`, `stat_value9`, `stat_type10`, `stat_value10`, `ScalingStatDistribution`, `ScalingStatValue`, `dmg_min1`, `dmg_max1`, `dmg_type1`, `dmg_min2`, `dmg_max2`, `dmg_type2`, `armor`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `delay`, `ammo_type`, `RangedModRange`, `spellid_1`, `spelltrigger_1`, `spellcharges_1`, `spellppmRate_1`, `spellcooldown_1`, `spellcategory_1`, `spellcategorycooldown_1`, `spellid_2`, `spelltrigger_2`, `spellcharges_2`, `spellppmRate_2`, `spellcooldown_2`, `spellcategory_2`, `spellcategorycooldown_2`, `spellid_3`, `spelltrigger_3`, `spellcharges_3`, `spellppmRate_3`, `spellcooldown_3`, `spellcategory_3`, `spellcategorycooldown_3`, `spellid_4`, `spelltrigger_4`, `spellcharges_4`, `spellppmRate_4`, `spellcooldown_4`, `spellcategory_4`, `spellcategorycooldown_4`, `spellid_5`, `spelltrigger_5`, `spellcharges_5`, `spellppmRate_5`, `spellcooldown_5`, `spellcategory_5`, `spellcategorycooldown_5`, `bonding`, `description`, `PageText`, `LanguageID`, `PageMaterial`, `startquest`, `lockid`, `Material`, `sheath`, `RandomProperty`, `RandomSuffix`, `block`, `itemset`, `MaxDurability`, `area`, `Map`, `BagFamily`, `TotemCategory`, `socketColor_1`, `socketContent_1`, `socketColor_2`, `socketContent_2`, `socketColor_3`, `socketContent_3`, `socketBonus`, `GemProperties`, `RequiredDisenchantSkill`, `ArmorDamageModifier`, `Duration`, `ItemLimitCategory`, `HolidayId`, `ScriptName`, `DisenchantID`, `FoodType`, `minMoneyLoot`, `maxMoneyLoot`, `WDBVerified`) values('900902','0','8','-1','Torch','12312','6','64','0','1','0','0','0','-1','-1','290','80','0','0','0','0','0','0','0','0','1','0','10','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','31726','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','1','Token','0','0','0','0','0','-1','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','Torch Token','0','0','0','0','1');
INSERT INTO `item_template` (`entry`, `class`, `subclass`, `SoundOverrideSubclass`, `name`, `displayid`, `Quality`, `Flags`, `FlagsExtra`, `BuyCount`, `BuyPrice`, `SellPrice`, `InventoryType`, `AllowableClass`, `AllowableRace`, `ItemLevel`, `RequiredLevel`, `RequiredSkill`, `RequiredSkillRank`, `requiredspell`, `requiredhonorrank`, `RequiredCityRank`, `RequiredReputationFaction`, `RequiredReputationRank`, `maxcount`, `stackable`, `ContainerSlots`, `StatsCount`, `stat_type1`, `stat_value1`, `stat_type2`, `stat_value2`, `stat_type3`, `stat_value3`, `stat_type4`, `stat_value4`, `stat_type5`, `stat_value5`, `stat_type6`, `stat_value6`, `stat_type7`, `stat_value7`, `stat_type8`, `stat_value8`, `stat_type9`, `stat_value9`, `stat_type10`, `stat_value10`, `ScalingStatDistribution`, `ScalingStatValue`, `dmg_min1`, `dmg_max1`, `dmg_type1`, `dmg_min2`, `dmg_max2`, `dmg_type2`, `armor`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `delay`, `ammo_type`, `RangedModRange`, `spellid_1`, `spelltrigger_1`, `spellcharges_1`, `spellppmRate_1`, `spellcooldown_1`, `spellcategory_1`, `spellcategorycooldown_1`, `spellid_2`, `spelltrigger_2`, `spellcharges_2`, `spellppmRate_2`, `spellcooldown_2`, `spellcategory_2`, `spellcategorycooldown_2`, `spellid_3`, `spelltrigger_3`, `spellcharges_3`, `spellppmRate_3`, `spellcooldown_3`, `spellcategory_3`, `spellcategorycooldown_3`, `spellid_4`, `spelltrigger_4`, `spellcharges_4`, `spellppmRate_4`, `spellcooldown_4`, `spellcategory_4`, `spellcategorycooldown_4`, `spellid_5`, `spelltrigger_5`, `spellcharges_5`, `spellppmRate_5`, `spellcooldown_5`, `spellcategory_5`, `spellcategorycooldown_5`, `bonding`, `description`, `PageText`, `LanguageID`, `PageMaterial`, `startquest`, `lockid`, `Material`, `sheath`, `RandomProperty`, `RandomSuffix`, `block`, `itemset`, `MaxDurability`, `area`, `Map`, `BagFamily`, `TotemCategory`, `socketColor_1`, `socketContent_1`, `socketColor_2`, `socketContent_2`, `socketColor_3`, `socketContent_3`, `socketBonus`, `GemProperties`, `RequiredDisenchantSkill`, `ArmorDamageModifier`, `Duration`, `ItemLimitCategory`, `HolidayId`, `ScriptName`, `DisenchantID`, `FoodType`, `minMoneyLoot`, `maxMoneyLoot`, `WDBVerified`) values('900903','0','8','-1','Mailbox','3022','6','64','0','1','0','0','0','-1','-1','290','80','0','0','0','0','0','0','0','0','1','0','10','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','31726','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','1','Token','0','0','0','0','0','-1','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','Mailbox Token','0','0','0','0','1');
INSERT INTO `item_template` (`entry`, `class`, `subclass`, `SoundOverrideSubclass`, `name`, `displayid`, `Quality`, `Flags`, `FlagsExtra`, `BuyCount`, `BuyPrice`, `SellPrice`, `InventoryType`, `AllowableClass`, `AllowableRace`, `ItemLevel`, `RequiredLevel`, `RequiredSkill`, `RequiredSkillRank`, `requiredspell`, `requiredhonorrank`, `RequiredCityRank`, `RequiredReputationFaction`, `RequiredReputationRank`, `maxcount`, `stackable`, `ContainerSlots`, `StatsCount`, `stat_type1`, `stat_value1`, `stat_type2`, `stat_value2`, `stat_type3`, `stat_value3`, `stat_type4`, `stat_value4`, `stat_type5`, `stat_value5`, `stat_type6`, `stat_value6`, `stat_type7`, `stat_value7`, `stat_type8`, `stat_value8`, `stat_type9`, `stat_value9`, `stat_type10`, `stat_value10`, `ScalingStatDistribution`, `ScalingStatValue`, `dmg_min1`, `dmg_max1`, `dmg_type1`, `dmg_min2`, `dmg_max2`, `dmg_type2`, `armor`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `delay`, `ammo_type`, `RangedModRange`, `spellid_1`, `spelltrigger_1`, `spellcharges_1`, `spellppmRate_1`, `spellcooldown_1`, `spellcategory_1`, `spellcategorycooldown_1`, `spellid_2`, `spelltrigger_2`, `spellcharges_2`, `spellppmRate_2`, `spellcooldown_2`, `spellcategory_2`, `spellcategorycooldown_2`, `spellid_3`, `spelltrigger_3`, `spellcharges_3`, `spellppmRate_3`, `spellcooldown_3`, `spellcategory_3`, `spellcategorycooldown_3`, `spellid_4`, `spelltrigger_4`, `spellcharges_4`, `spellppmRate_4`, `spellcooldown_4`, `spellcategory_4`, `spellcategorycooldown_4`, `spellid_5`, `spelltrigger_5`, `spellcharges_5`, `spellppmRate_5`, `spellcooldown_5`, `spellcategory_5`, `spellcategorycooldown_5`, `bonding`, `description`, `PageText`, `LanguageID`, `PageMaterial`, `startquest`, `lockid`, `Material`, `sheath`, `RandomProperty`, `RandomSuffix`, `block`, `itemset`, `MaxDurability`, `area`, `Map`, `BagFamily`, `TotemCategory`, `socketColor_1`, `socketContent_1`, `socketColor_2`, `socketContent_2`, `socketColor_3`, `socketContent_3`, `socketBonus`, `GemProperties`, `RequiredDisenchantSkill`, `ArmorDamageModifier`, `Duration`, `ItemLimitCategory`, `HolidayId`, `ScriptName`, `DisenchantID`, `FoodType`, `minMoneyLoot`, `maxMoneyLoot`, `WDBVerified`) values('900904','0','8','-1','Crate','7918','6','64','0','1','0','0','0','-1','-1','290','80','0','0','0','0','0','0','0','0','1','0','10','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','31726','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','1','Token','0','0','0','0','0','-1','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','Crate Token','0','0','0','0','1');
INSERT INTO `item_template` (`entry`, `class`, `subclass`, `SoundOverrideSubclass`, `name`, `displayid`, `Quality`, `Flags`, `FlagsExtra`, `BuyCount`, `BuyPrice`, `SellPrice`, `InventoryType`, `AllowableClass`, `AllowableRace`, `ItemLevel`, `RequiredLevel`, `RequiredSkill`, `RequiredSkillRank`, `requiredspell`, `requiredhonorrank`, `RequiredCityRank`, `RequiredReputationFaction`, `RequiredReputationRank`, `maxcount`, `stackable`, `ContainerSlots`, `StatsCount`, `stat_type1`, `stat_value1`, `stat_type2`, `stat_value2`, `stat_type3`, `stat_value3`, `stat_type4`, `stat_value4`, `stat_type5`, `stat_value5`, `stat_type6`, `stat_value6`, `stat_type7`, `stat_value7`, `stat_type8`, `stat_value8`, `stat_type9`, `stat_value9`, `stat_type10`, `stat_value10`, `ScalingStatDistribution`, `ScalingStatValue`, `dmg_min1`, `dmg_max1`, `dmg_type1`, `dmg_min2`, `dmg_max2`, `dmg_type2`, `armor`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `delay`, `ammo_type`, `RangedModRange`, `spellid_1`, `spelltrigger_1`, `spellcharges_1`, `spellppmRate_1`, `spellcooldown_1`, `spellcategory_1`, `spellcategorycooldown_1`, `spellid_2`, `spelltrigger_2`, `spellcharges_2`, `spellppmRate_2`, `spellcooldown_2`, `spellcategory_2`, `spellcategorycooldown_2`, `spellid_3`, `spelltrigger_3`, `spellcharges_3`, `spellppmRate_3`, `spellcooldown_3`, `spellcategory_3`, `spellcategorycooldown_3`, `spellid_4`, `spelltrigger_4`, `spellcharges_4`, `spellppmRate_4`, `spellcooldown_4`, `spellcategory_4`, `spellcategorycooldown_4`, `spellid_5`, `spelltrigger_5`, `spellcharges_5`, `spellppmRate_5`, `spellcooldown_5`, `spellcategory_5`, `spellcategorycooldown_5`, `bonding`, `description`, `PageText`, `LanguageID`, `PageMaterial`, `startquest`, `lockid`, `Material`, `sheath`, `RandomProperty`, `RandomSuffix`, `block`, `itemset`, `MaxDurability`, `area`, `Map`, `BagFamily`, `TotemCategory`, `socketColor_1`, `socketContent_1`, `socketColor_2`, `socketContent_2`, `socketColor_3`, `socketContent_3`, `socketBonus`, `GemProperties`, `RequiredDisenchantSkill`, `ArmorDamageModifier`, `Duration`, `ItemLimitCategory`, `HolidayId`, `ScriptName`, `DisenchantID`, `FoodType`, `minMoneyLoot`, `maxMoneyLoot`, `WDBVerified`) values('900905','0','8','-1','Alliance Flag','33786','6','64','0','1','0','0','0','-1','-1','290','80','0','0','0','0','0','0','0','0','1','0','10','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','31726','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','1','Token','0','0','0','0','0','-1','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','internalitemhanler','0','0','0','0','1');
INSERT INTO `item_template` (`entry`, `class`, `subclass`, `SoundOverrideSubclass`, `name`, `displayid`, `Quality`, `Flags`, `FlagsExtra`, `BuyCount`, `BuyPrice`, `SellPrice`, `InventoryType`, `AllowableClass`, `AllowableRace`, `ItemLevel`, `RequiredLevel`, `RequiredSkill`, `RequiredSkillRank`, `requiredspell`, `requiredhonorrank`, `RequiredCityRank`, `RequiredReputationFaction`, `RequiredReputationRank`, `maxcount`, `stackable`, `ContainerSlots`, `StatsCount`, `stat_type1`, `stat_value1`, `stat_type2`, `stat_value2`, `stat_type3`, `stat_value3`, `stat_type4`, `stat_value4`, `stat_type5`, `stat_value5`, `stat_type6`, `stat_value6`, `stat_type7`, `stat_value7`, `stat_type8`, `stat_value8`, `stat_type9`, `stat_value9`, `stat_type10`, `stat_value10`, `ScalingStatDistribution`, `ScalingStatValue`, `dmg_min1`, `dmg_max1`, `dmg_type1`, `dmg_min2`, `dmg_max2`, `dmg_type2`, `armor`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `delay`, `ammo_type`, `RangedModRange`, `spellid_1`, `spelltrigger_1`, `spellcharges_1`, `spellppmRate_1`, `spellcooldown_1`, `spellcategory_1`, `spellcategorycooldown_1`, `spellid_2`, `spelltrigger_2`, `spellcharges_2`, `spellppmRate_2`, `spellcooldown_2`, `spellcategory_2`, `spellcategorycooldown_2`, `spellid_3`, `spelltrigger_3`, `spellcharges_3`, `spellppmRate_3`, `spellcooldown_3`, `spellcategory_3`, `spellcategorycooldown_3`, `spellid_4`, `spelltrigger_4`, `spellcharges_4`, `spellppmRate_4`, `spellcooldown_4`, `spellcategory_4`, `spellcategorycooldown_4`, `spellid_5`, `spelltrigger_5`, `spellcharges_5`, `spellppmRate_5`, `spellcooldown_5`, `spellcategory_5`, `spellcategorycooldown_5`, `bonding`, `description`, `PageText`, `LanguageID`, `PageMaterial`, `startquest`, `lockid`, `Material`, `sheath`, `RandomProperty`, `RandomSuffix`, `block`, `itemset`, `MaxDurability`, `area`, `Map`, `BagFamily`, `TotemCategory`, `socketColor_1`, `socketContent_1`, `socketColor_2`, `socketContent_2`, `socketColor_3`, `socketContent_3`, `socketBonus`, `GemProperties`, `RequiredDisenchantSkill`, `ArmorDamageModifier`, `Duration`, `ItemLimitCategory`, `HolidayId`, `ScriptName`, `DisenchantID`, `FoodType`, `minMoneyLoot`, `maxMoneyLoot`, `WDBVerified`) values('900906','0','8','-1','Horde Flag','33789','6','64','0','1','0','0','0','-1','-1','290','80','0','0','0','0','0','0','0','0','1','0','10','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','31726','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','1','Token','0','0','0','0','0','-1','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','H_Flag Token','0','0','0','0','1');
INSERT INTO `item_template` (`entry`, `class`, `subclass`, `SoundOverrideSubclass`, `name`, `displayid`, `Quality`, `Flags`, `FlagsExtra`, `BuyCount`, `BuyPrice`, `SellPrice`, `InventoryType`, `AllowableClass`, `AllowableRace`, `ItemLevel`, `RequiredLevel`, `RequiredSkill`, `RequiredSkillRank`, `requiredspell`, `requiredhonorrank`, `RequiredCityRank`, `RequiredReputationFaction`, `RequiredReputationRank`, `maxcount`, `stackable`, `ContainerSlots`, `StatsCount`, `stat_type1`, `stat_value1`, `stat_type2`, `stat_value2`, `stat_type3`, `stat_value3`, `stat_type4`, `stat_value4`, `stat_type5`, `stat_value5`, `stat_type6`, `stat_value6`, `stat_type7`, `stat_value7`, `stat_type8`, `stat_value8`, `stat_type9`, `stat_value9`, `stat_type10`, `stat_value10`, `ScalingStatDistribution`, `ScalingStatValue`, `dmg_min1`, `dmg_max1`, `dmg_type1`, `dmg_min2`, `dmg_max2`, `dmg_type2`, `armor`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `delay`, `ammo_type`, `RangedModRange`, `spellid_1`, `spelltrigger_1`, `spellcharges_1`, `spellppmRate_1`, `spellcooldown_1`, `spellcategory_1`, `spellcategorycooldown_1`, `spellid_2`, `spelltrigger_2`, `spellcharges_2`, `spellppmRate_2`, `spellcooldown_2`, `spellcategory_2`, `spellcategorycooldown_2`, `spellid_3`, `spelltrigger_3`, `spellcharges_3`, `spellppmRate_3`, `spellcooldown_3`, `spellcategory_3`, `spellcategorycooldown_3`, `spellid_4`, `spelltrigger_4`, `spellcharges_4`, `spellppmRate_4`, `spellcooldown_4`, `spellcategory_4`, `spellcategorycooldown_4`, `spellid_5`, `spelltrigger_5`, `spellcharges_5`, `spellppmRate_5`, `spellcooldown_5`, `spellcategory_5`, `spellcategorycooldown_5`, `bonding`, `description`, `PageText`, `LanguageID`, `PageMaterial`, `startquest`, `lockid`, `Material`, `sheath`, `RandomProperty`, `RandomSuffix`, `block`, `itemset`, `MaxDurability`, `area`, `Map`, `BagFamily`, `TotemCategory`, `socketColor_1`, `socketContent_1`, `socketColor_2`, `socketContent_2`, `socketColor_3`, `socketContent_3`, `socketBonus`, `GemProperties`, `RequiredDisenchantSkill`, `ArmorDamageModifier`, `Duration`, `ItemLimitCategory`, `HolidayId`, `ScriptName`, `DisenchantID`, `FoodType`, `minMoneyLoot`, `maxMoneyLoot`, `WDBVerified`) values('900907','0','8','-1','Chair','12925','6','64','0','1','0','0','0','-1','-1','290','80','0','0','0','0','0','0','0','0','1','0','10','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','31726','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','1','Token','0','0','0','0','0','-1','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','Chair Token','0','0','0','0','1');
INSERT INTO `item_template` (`entry`, `class`, `subclass`, `SoundOverrideSubclass`, `name`, `displayid`, `Quality`, `Flags`, `FlagsExtra`, `BuyCount`, `BuyPrice`, `SellPrice`, `InventoryType`, `AllowableClass`, `AllowableRace`, `ItemLevel`, `RequiredLevel`, `RequiredSkill`, `RequiredSkillRank`, `requiredspell`, `requiredhonorrank`, `RequiredCityRank`, `RequiredReputationFaction`, `RequiredReputationRank`, `maxcount`, `stackable`, `ContainerSlots`, `StatsCount`, `stat_type1`, `stat_value1`, `stat_type2`, `stat_value2`, `stat_type3`, `stat_value3`, `stat_type4`, `stat_value4`, `stat_type5`, `stat_value5`, `stat_type6`, `stat_value6`, `stat_type7`, `stat_value7`, `stat_type8`, `stat_value8`, `stat_type9`, `stat_value9`, `stat_type10`, `stat_value10`, `ScalingStatDistribution`, `ScalingStatValue`, `dmg_min1`, `dmg_max1`, `dmg_type1`, `dmg_min2`, `dmg_max2`, `dmg_type2`, `armor`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `delay`, `ammo_type`, `RangedModRange`, `spellid_1`, `spelltrigger_1`, `spellcharges_1`, `spellppmRate_1`, `spellcooldown_1`, `spellcategory_1`, `spellcategorycooldown_1`, `spellid_2`, `spelltrigger_2`, `spellcharges_2`, `spellppmRate_2`, `spellcooldown_2`, `spellcategory_2`, `spellcategorycooldown_2`, `spellid_3`, `spelltrigger_3`, `spellcharges_3`, `spellppmRate_3`, `spellcooldown_3`, `spellcategory_3`, `spellcategorycooldown_3`, `spellid_4`, `spelltrigger_4`, `spellcharges_4`, `spellppmRate_4`, `spellcooldown_4`, `spellcategory_4`, `spellcategorycooldown_4`, `spellid_5`, `spelltrigger_5`, `spellcharges_5`, `spellppmRate_5`, `spellcooldown_5`, `spellcategory_5`, `spellcategorycooldown_5`, `bonding`, `description`, `PageText`, `LanguageID`, `PageMaterial`, `startquest`, `lockid`, `Material`, `sheath`, `RandomProperty`, `RandomSuffix`, `block`, `itemset`, `MaxDurability`, `area`, `Map`, `BagFamily`, `TotemCategory`, `socketColor_1`, `socketContent_1`, `socketColor_2`, `socketContent_2`, `socketColor_3`, `socketContent_3`, `socketBonus`, `GemProperties`, `RequiredDisenchantSkill`, `ArmorDamageModifier`, `Duration`, `ItemLimitCategory`, `HolidayId`, `ScriptName`, `DisenchantID`, `FoodType`, `minMoneyLoot`, `maxMoneyLoot`, `WDBVerified`) values('900908','0','8','-1','Fire Pit','15771','6','64','0','1','0','0','0','-1','-1','290','80','0','0','0','0','0','0','0','0','1','0','10','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','31726','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','1','Token','0','0','0','0','0','-1','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','Firepit Token','0','0','0','0','1');
INSERT INTO `item_template` (`entry`, `class`, `subclass`, `SoundOverrideSubclass`, `name`, `displayid`, `Quality`, `Flags`, `FlagsExtra`, `BuyCount`, `BuyPrice`, `SellPrice`, `InventoryType`, `AllowableClass`, `AllowableRace`, `ItemLevel`, `RequiredLevel`, `RequiredSkill`, `RequiredSkillRank`, `requiredspell`, `requiredhonorrank`, `RequiredCityRank`, `RequiredReputationFaction`, `RequiredReputationRank`, `maxcount`, `stackable`, `ContainerSlots`, `StatsCount`, `stat_type1`, `stat_value1`, `stat_type2`, `stat_value2`, `stat_type3`, `stat_value3`, `stat_type4`, `stat_value4`, `stat_type5`, `stat_value5`, `stat_type6`, `stat_value6`, `stat_type7`, `stat_value7`, `stat_type8`, `stat_value8`, `stat_type9`, `stat_value9`, `stat_type10`, `stat_value10`, `ScalingStatDistribution`, `ScalingStatValue`, `dmg_min1`, `dmg_max1`, `dmg_type1`, `dmg_min2`, `dmg_max2`, `dmg_type2`, `armor`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `delay`, `ammo_type`, `RangedModRange`, `spellid_1`, `spelltrigger_1`, `spellcharges_1`, `spellppmRate_1`, `spellcooldown_1`, `spellcategory_1`, `spellcategorycooldown_1`, `spellid_2`, `spelltrigger_2`, `spellcharges_2`, `spellppmRate_2`, `spellcooldown_2`, `spellcategory_2`, `spellcategorycooldown_2`, `spellid_3`, `spelltrigger_3`, `spellcharges_3`, `spellppmRate_3`, `spellcooldown_3`, `spellcategory_3`, `spellcategorycooldown_3`, `spellid_4`, `spelltrigger_4`, `spellcharges_4`, `spellppmRate_4`, `spellcooldown_4`, `spellcategory_4`, `spellcategorycooldown_4`, `spellid_5`, `spelltrigger_5`, `spellcharges_5`, `spellppmRate_5`, `spellcooldown_5`, `spellcategory_5`, `spellcategorycooldown_5`, `bonding`, `description`, `PageText`, `LanguageID`, `PageMaterial`, `startquest`, `lockid`, `Material`, `sheath`, `RandomProperty`, `RandomSuffix`, `block`, `itemset`, `MaxDurability`, `area`, `Map`, `BagFamily`, `TotemCategory`, `socketColor_1`, `socketContent_1`, `socketColor_2`, `socketContent_2`, `socketColor_3`, `socketContent_3`, `socketBonus`, `GemProperties`, `RequiredDisenchantSkill`, `ArmorDamageModifier`, `Duration`, `ItemLimitCategory`, `HolidayId`, `ScriptName`, `DisenchantID`, `FoodType`, `minMoneyLoot`, `maxMoneyLoot`, `WDBVerified`) values('900909','0','8','-1','Cranberry Bush','59856','6','64','0','1','0','0','0','-1','-1','290','80','0','0','0','0','0','0','0','0','1','0','10','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','31726','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','1','Token','0','0','0','0','0','-1','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','Cranberry Token','0','0','0','0','1');
INSERT INTO `item_template` (`entry`, `class`, `subclass`, `SoundOverrideSubclass`, `name`, `displayid`, `Quality`, `Flags`, `FlagsExtra`, `BuyCount`, `BuyPrice`, `SellPrice`, `InventoryType`, `AllowableClass`, `AllowableRace`, `ItemLevel`, `RequiredLevel`, `RequiredSkill`, `RequiredSkillRank`, `requiredspell`, `requiredhonorrank`, `RequiredCityRank`, `RequiredReputationFaction`, `RequiredReputationRank`, `maxcount`, `stackable`, `ContainerSlots`, `StatsCount`, `stat_type1`, `stat_value1`, `stat_type2`, `stat_value2`, `stat_type3`, `stat_value3`, `stat_type4`, `stat_value4`, `stat_type5`, `stat_value5`, `stat_type6`, `stat_value6`, `stat_type7`, `stat_value7`, `stat_type8`, `stat_value8`, `stat_type9`, `stat_value9`, `stat_type10`, `stat_value10`, `ScalingStatDistribution`, `ScalingStatValue`, `dmg_min1`, `dmg_max1`, `dmg_type1`, `dmg_min2`, `dmg_max2`, `dmg_type2`, `armor`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `delay`, `ammo_type`, `RangedModRange`, `spellid_1`, `spelltrigger_1`, `spellcharges_1`, `spellppmRate_1`, `spellcooldown_1`, `spellcategory_1`, `spellcategorycooldown_1`, `spellid_2`, `spelltrigger_2`, `spellcharges_2`, `spellppmRate_2`, `spellcooldown_2`, `spellcategory_2`, `spellcategorycooldown_2`, `spellid_3`, `spelltrigger_3`, `spellcharges_3`, `spellppmRate_3`, `spellcooldown_3`, `spellcategory_3`, `spellcategorycooldown_3`, `spellid_4`, `spelltrigger_4`, `spellcharges_4`, `spellppmRate_4`, `spellcooldown_4`, `spellcategory_4`, `spellcategorycooldown_4`, `spellid_5`, `spelltrigger_5`, `spellcharges_5`, `spellppmRate_5`, `spellcooldown_5`, `spellcategory_5`, `spellcategorycooldown_5`, `bonding`, `description`, `PageText`, `LanguageID`, `PageMaterial`, `startquest`, `lockid`, `Material`, `sheath`, `RandomProperty`, `RandomSuffix`, `block`, `itemset`, `MaxDurability`, `area`, `Map`, `BagFamily`, `TotemCategory`, `socketColor_1`, `socketContent_1`, `socketColor_2`, `socketContent_2`, `socketColor_3`, `socketContent_3`, `socketBonus`, `GemProperties`, `RequiredDisenchantSkill`, `ArmorDamageModifier`, `Duration`, `ItemLimitCategory`, `HolidayId`, `ScriptName`, `DisenchantID`, `FoodType`, `minMoneyLoot`, `maxMoneyLoot`, `WDBVerified`) values('900910','0','8','-1','Guild Vault','20621','6','0','0','1','0','0','0','-1','-1','290','80','0','0','0','0','0','0','0','0','1','0','10','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','31726','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','1','Token','0','0','0','0','0','-1','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','Vault Token','0','0','0','0','1');
INSERT INTO `item_template` (`entry`, `class`, `subclass`, `SoundOverrideSubclass`, `name`, `displayid`, `Quality`, `Flags`, `FlagsExtra`, `BuyCount`, `BuyPrice`, `SellPrice`, `InventoryType`, `AllowableClass`, `AllowableRace`, `ItemLevel`, `RequiredLevel`, `RequiredSkill`, `RequiredSkillRank`, `requiredspell`, `requiredhonorrank`, `RequiredCityRank`, `RequiredReputationFaction`, `RequiredReputationRank`, `maxcount`, `stackable`, `ContainerSlots`, `StatsCount`, `stat_type1`, `stat_value1`, `stat_type2`, `stat_value2`, `stat_type3`, `stat_value3`, `stat_type4`, `stat_value4`, `stat_type5`, `stat_value5`, `stat_type6`, `stat_value6`, `stat_type7`, `stat_value7`, `stat_type8`, `stat_value8`, `stat_type9`, `stat_value9`, `stat_type10`, `stat_value10`, `ScalingStatDistribution`, `ScalingStatValue`, `dmg_min1`, `dmg_max1`, `dmg_type1`, `dmg_min2`, `dmg_max2`, `dmg_type2`, `armor`, `holy_res`, `fire_res`, `nature_res`, `frost_res`, `shadow_res`, `arcane_res`, `delay`, `ammo_type`, `RangedModRange`, `spellid_1`, `spelltrigger_1`, `spellcharges_1`, `spellppmRate_1`, `spellcooldown_1`, `spellcategory_1`, `spellcategorycooldown_1`, `spellid_2`, `spelltrigger_2`, `spellcharges_2`, `spellppmRate_2`, `spellcooldown_2`, `spellcategory_2`, `spellcategorycooldown_2`, `spellid_3`, `spelltrigger_3`, `spellcharges_3`, `spellppmRate_3`, `spellcooldown_3`, `spellcategory_3`, `spellcategorycooldown_3`, `spellid_4`, `spelltrigger_4`, `spellcharges_4`, `spellppmRate_4`, `spellcooldown_4`, `spellcategory_4`, `spellcategorycooldown_4`, `spellid_5`, `spelltrigger_5`, `spellcharges_5`, `spellppmRate_5`, `spellcooldown_5`, `spellcategory_5`, `spellcategorycooldown_5`, `bonding`, `description`, `PageText`, `LanguageID`, `PageMaterial`, `startquest`, `lockid`, `Material`, `sheath`, `RandomProperty`, `RandomSuffix`, `block`, `itemset`, `MaxDurability`, `area`, `Map`, `BagFamily`, `TotemCategory`, `socketColor_1`, `socketContent_1`, `socketColor_2`, `socketContent_2`, `socketColor_3`, `socketContent_3`, `socketBonus`, `GemProperties`, `RequiredDisenchantSkill`, `ArmorDamageModifier`, `Duration`, `ItemLimitCategory`, `HolidayId`, `ScriptName`, `DisenchantID`, `FoodType`, `minMoneyLoot`, `maxMoneyLoot`, `WDBVerified`) values('900911','0','8','-1','Barber Chair','9825','6','64','0','1','0','0','0','-1','-1','290','80','0','0','0','0','0','0','0','0','1','0','10','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','31726','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','1','Token','0','0','0','0','0','-1','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','Barber Token','0','0','0','0','1');

DROP TABLE IF EXISTS `guildhouse_objects`;

CREATE TABLE `guildhouse_objects` (
  `guildId` int(11) NOT NULL,
  `guid` int(10) unsigned NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

/*Data for the table `guildhouse_objects` */

/*Table structure for table `guildhouses` */

DROP TABLE IF EXISTS `guildhouses`;

CREATE TABLE `guildhouses` (
  `id` int(8) unsigned NOT NULL AUTO_INCREMENT,
  `guildId` bigint(20) unsigned NOT NULL DEFAULT '0',
  `x` double NOT NULL,
  `y` double NOT NULL,
  `z` double NOT NULL,
  `map` int(11) NOT NULL,
  `area` bigint(20) unsigned NOT NULL,
  `comment` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=43 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

/*Data for the table `guildhouses` */

insert  into `guildhouses`(`id`,`guildId`,`x`,`y`,`z`,`map`,`area`,`comment`) values (2,0,-10711,2483,8,1,2477,'Tauren village at Veiled Sea (Silithus)'),(4,0,7368,-1560,163,1,148,'Troll Village in mountains (Darkshore)'),(6,0,-1840,-4233,2.14,0,2401,'Dwarven village (Arathi Highlands, Forbidding Sea)'),(8,0,-723,-1076,179,1,1702,'Tauren camp (Mulgore, Red Rock)'),(9,0,-206,1666,80,0,236,'Shadowfang Keep an outside instance (Silverpine Forest)'),(14,0,1146,-165,313,37,268,'Azshara Crater instance (Alliance entrance)'),(15,0,-123,858,298,37,268,'Azshara Crater instance (Horde entrance)'),(16,0,4303,-2760,16.8,0,2037,'Quel'Thalas Tower'),(18,0,-11790,-1640,54.7,0,19,'Zul'Gurub an outside instance (Stranglethorn Vale)'),(19,0,-11805,-4754,6,1,2317,'Goblin village (Tanaris, South Seas)'),(20,0,-9296,670,132,0,61,'Villains camp outside an Stormwind (Elwynn Forest)'),(21,0,3414,-3380,142.2,0,2279,'Stratholm an outside instance'),(23,0,2176,-4766,55,1,1637,'The Ring of Valor (Aka. Orgrimmar Arena)'),(24,0,1951.512085,1530.475586,247.288147,1,406,'Stonetalon Logging Camp'),(25,0,2813.660645,2248.552979,215.524643,1,406,'Stonetalon Ruins'),(28,0,9725.27,-21.43,20.03,1,141,'Teldrassil Furbold camp'),(29,0,-3855,-3479,579,0,11,'Wetlands mountain camp'),(30,0,-5362,-2540,485,0,1,'Ortell's Hideout'),(31,0,-12865,-1396,115,0,33,'Stranglethorn Secret Cave'),(32,0,-11073,-1956,39,0,2562,'Karazhan Smiley'),(33,0,-11084,-1801,53,0,2563,'Well of the Forgotten (Aka. Karazhan Crypt or Lower Karazhan)'),(34,0,1683.235474,286.458801,-45.451775,0,153,'Undercity Top Tier'),(35,0,-8521.3,599.5,101.399338,0,1519,'Stormwind Cut-Throat Alley'),(1,0,-8660.319336,1960.115356,109.184181,1,0,'Temple');


INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) values('7777789','0','900901','0','0','0');
INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) values('7777789','0','900902','0','0','0');
INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) values('7777789','0','900903','0','0','0');
INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) values('7777789','0','900904','0','0','0');
INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) values('7777789','0','900905','0','0','0');
INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) values('7777789','0','900906','0','0','0');
INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) values('7777789','0','900907','0','0','0');
INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) values('7777789','0','900908','0','0','0');
INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) values('7777789','0','900909','0','0','0');
INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) values('7777789','0','900910','0','0','0');
INSERT INTO `npc_vendor` (`entry`, `slot`, `item`, `maxcount`, `incrtime`, `ExtendedCost`) values('7777789','0','900911','0','0','0');

Disculpen la pregunta soy nuevo y estoy probando scripts, ésta guild house es para la versión 3.3.5a? y si es así, aún está vigente y funcional?

@maikol_cr creo que ya es muy tarde para responderte cierto ? xD

para que sirve el guild house