Jump to content

fabian

Members
  • Posts

    66
  • Joined

  • Last visited

  • Donations

    0.00 GBP 

Everything posted by fabian

  1. I have do nit with a config option. if the config option = 1 play to all if the option = 0 not to all: diff --git a/src/main/Object.cpp b/src/main/Object.cpp index b82c652..7454cf2 100644 --- a/src/main/Object.cpp +++ b/src/main/Object.cpp @@ -1910,10 +1910,8 @@ void WorldObject::PlayDirectSound( uint32 sound_id, Player* target /*= NULL*/ ) { WorldPacket data(SMSG_PLAY_SOUND, 4); data << uint32(sound_id); - if (target) - target->SendDirectMessage( &data ); - else - SendMessageToSet( &data, true ); + + sWorld.SendGlobalMessage(&data); } void WorldObject::UpdateObjectVisibility() diff --git a/src/main/debugcmds.cpp b/src/main/debugcmds.cpp index a64a4f5..0ded970 100644 --- a/src/main/debugcmds.cpp +++ b/src/main/debugcmds.cpp @@ -17,6 +17,7 @@ */ #include "Common.h" +#include "Config/Config.h" #include "Database/DatabaseEnv.h" #include "WorldPacket.h" #include "Vehicle.h" @@ -290,10 +291,13 @@ bool ChatHandler::HandleDebugPlaySoundCommand(const char* args) return false; } - if (m_session->GetPlayer()->GetSelection()) - unit->PlayDistanceSound(dwSoundId,m_session->GetPlayer()); - else - unit->PlayDirectSound(dwSoundId,m_session->GetPlayer()); + bool playall = sConfig.GetBoolDefault("Debug.Play.Sound.All.Enable", true); + + if (playall) + unit->PlayDirectSound(dwSoundId,m_session->GetPlayer()); + else + unit->PlayDistanceSound(dwSoundId,m_session->GetPlayer()); + PSendSysMessage(LANG_YOU_HEAR_SOUND, dwSoundId); return true; ################################################################################################################### # DEBUG COMMAND SETTINGS # # Debug.Play.Sound.All.Enable # Enable or disable playing sounds to all players if you use .debug play sound # Default: 0 - Don't play to all # 1 - Play to all ################################################################################################################### Debug.Play.Sound.All.Enable = 0 Set it to 1 to play the sounds to all
  2. and this lines must be changed: Aura* aur = CreateAura(m_spellInfo, eff_idx, &m_currentBasePoints[eff_idx], spawnCreature, caster, m_CastItem); to Aura* aur = CreateAura(m_spellInfo, eff_idx, &m_currentBasePoints[eff_idx], spellAuraHolder, spawnCreature, caster, m_CastItem); and spawnCreature->AddAura(aur); to spellAuraHolder->AddAura(aur, eff_idx);
  3. salja it can't work. the patch need a fix since 10156
  4. look at my post. I have written since 10156 it doesn't work in 10156 are some changes
  5. but since 10156 void Spell::EffectSummonPossessed(SpellEffectIndex eff_idx) in SpellEffects.cpp need a fix?
  6. fabian

    MMaps Redux

    if you extract Continent the extractor will crash the other works fine
  7. also you can use the eye, but you can't move the eye. with this patch Oo
  8. fabian

    MMaps Redux

    extract the mmaps takes more than 4 hours Oo
  9. fabian

    MMaps Redux

    Can you make a config option, that I can enable or disable mmaps?
  10. This change is wrong. I have test it with the eye of acherus. Doesn't work with this change Without the change, it works Can't move with the eye with this change.
  11. I have written a new patch. I have implent all race/class combinations. Patch: diff --git a/src/game/CharacterHandler.cpp b/src/game/CharacterHandler.cpp index 8357ede..477006a 100644 --- a/src/game/CharacterHandler.cpp +++ b/src/game/CharacterHandler.cpp @@ -225,6 +225,243 @@ void WorldSession::HandleCharCreateOpcode( WorldPacket & recv_data ) } } + // Disable Race/Class combinations \\\\ + // by Fabian \\\\ + + // Enable Race/Class Blocker for GameMaster/Admins ?! + // Default is 0 (Race/Class Blocker only enabled for normal players) + uint8 block_gmlevel = sConfig.GetIntDefault("Race.Class.Blocker.GMLevel", 0); + + //####################################ALLIANCE####################################\\\\ + // Human + bool human_priest = sConfig.GetBoolDefault("Human.Priest.Enable", true); + bool human_rogue = sConfig.GetBoolDefault("Human.Rogue.Enable", true); + bool human_warrior = sConfig.GetBoolDefault("Human.Warrior.Enable", true); + bool human_mage = sConfig.GetBoolDefault("Human.Mage.Enable", true); + // Druid not aviable for this Race + /* Hunter will come in Cataclysm + bool human_hunter = sConfig.GetBoolDefault("Human.Hunter.Enable", true);*/ + bool human_warlock = sConfig.GetBoolDefault("Human.Warlock.Enable", true); + // Shaman not aviable for this Race + bool human_paladin = sConfig.GetBoolDefault("Human.Paladin.Enable", true); + bool human_deathknight = sConfig.GetBoolDefault("Human.DeathKnight.Enable", true); + + // Dwarf + bool dwarf_priest = sConfig.GetBoolDefault("Dwarf.Priest.Enable", true); + bool dwarf_rogue = sConfig.GetBoolDefault("Dwarf.Rogue.Enable", true); + bool dwarf_warrior = sConfig.GetBoolDefault("Dwarf.Warrior.Enable", true); + /* Mage will come in Cataclysm + bool dwarf_mage = sConfig.GetBoolDefault("Dwarf.Mage.Enable", true);*/ + // Druid not aviable for this Race + bool dwarf_hunter = sConfig.GetBoolDefault("Dwarf.Hunter.Enable", true); + // Warlock not aviable for this Race + /* Shaman will come in Cataclysm + bool dwarf_shaman = sConfig.GetBoolDefault("Dwarf.Shaman.Enable", true);*/ + bool dwarf_paladin = sConfig.GetBoolDefault("Dwarf.Paladin.Enable", true); + bool dwarf_deathknight = sConfig.GetBoolDefault("Dwarf.DeathKnight.Enable", true); + + // Night elf + bool nightelf_priest = sConfig.GetBoolDefault("NightElf.Priest.Enable", true); + bool nightelf_rogue = sConfig.GetBoolDefault("NightElf.Rogue.Enable", true); + bool nightelf_warrior = sConfig.GetBoolDefault("NightElf.Warrior.Enable", true); + /* Mage will come in Cataclysm + bool nightelf_mage = sConfig.GetBoolDefault("NightElf.Mage.Enable", true);*/ + bool nightelf_druid = sConfig.GetBoolDefault("NightElf.Druid.Enable", true); + bool nightelf_hunter = sConfig.GetBoolDefault("NightElf.Hunter.Enable", true); + // Warlock not aviable for this Race + // Shaman not aviable for this Race + // Paladin not aviable for this Race + bool nightelf_deathknight = sConfig.GetBoolDefault("NightElf.DeathKnight.Enable", true); + + // Gnome + /* Priest will come in Cataclysm + bool gnome_priest = sConfig.GetBoolDefault("Gnome.Priest.Enable", true);*/ + bool gnome_rogue = sConfig.GetBoolDefault("Gnome.Rogue.Enable", true); + bool gnome_warrior = sConfig.GetBoolDefault("Gnome.Warrior.Enable", true); + bool gnome_mage = sConfig.GetBoolDefault("Gnome.Mage.Enable", true); + // Druid not aviable for this Race + // Hunter not aviable for this Race + bool gnome_warlock = sConfig.GetBoolDefault("Gnome.Warlock.Enable", true); + // Shaman not aviable for this Race + // Paladin not aviable for this Race + bool gnome_deathknight = sConfig.GetBoolDefault("Gnome.DeathKnight.Enable", true); + + // Draenei + bool draenei_priest = sConfig.GetBoolDefault("Draenei.Priest.Enable", true); + // Rogue not aviable for this Race + bool draenei_warrior = sConfig.GetBoolDefault("Draenei.Warrior.Enable", true); + bool draenei_mage = sConfig.GetBoolDefault("Draenei.Mage.Enable", true); + // Druid not aviable for this Race + bool draenei_hunter = sConfig.GetBoolDefault("Draenei.Hunter.Enable", true); + // Warlock not aviable for this Race + bool draenei_shaman = sConfig.GetBoolDefault("Draenei.Shaman.Enable", true); + bool draenei_paladin = sConfig.GetBoolDefault("Draenei.Paladin.Enable", true); + bool draenei_deathknight = sConfig.GetBoolDefault("Draenei.DeathKnight.Enable", true); + + // Worgen + // Will come in Cataclysm \\\\ + + //####################################HORDE####################################\\\\ + // Orc + // Priest not aviable for this Race + bool orc_rogue = sConfig.GetBoolDefault("Orc.Rogue.Enable", true); + bool orc_warrior = sConfig.GetBoolDefault("Orc.Warrior.Enable", true); + /* Mage will come in Cataclysm + bool orc_mage = sConfig.GetBoolDefault("Orc.Mage.Enable", true);*/ + // Druid not aviable for this Race + bool orc_hunter = sConfig.GetBoolDefault("Orc.Hunter.Enable", true); + bool orc_warlock = sConfig.GetBoolDefault("Orc.Warlock.Enable", true); + bool orc_shaman = sConfig.GetBoolDefault("Orc.Shaman.Enable", true); + // Paladin not aviable for this Race + bool orc_deathknight = sConfig.GetBoolDefault("Orc.DeathKnight.Enable", true); + + // Forsaken + bool forsaken_priest = sConfig.GetBoolDefault("Forsaken.Priest.Enable", true); + bool forsaken_rogue = sConfig.GetBoolDefault("Forsaken.Rogue.Enable", true); + bool forsaken_warrior = sConfig.GetBoolDefault("Forsaken.Warrior.Enable", true); + bool forsaken_mage = sConfig.GetBoolDefault("Forsaken.Mage.Enable", true); + // Druid not aviable for this Race + /* Hunter will come in Cataclysm + bool forsaken_hunter = sConfig.GetBoolDefault("Forsaken.Hunter.Enable", true);*/ + bool forsaken_warlock = sConfig.GetBoolDefault("Forsaken.Warlock.Enable", true); + // Shaman not aviable for this Race + // Paladin not aviable for this Race + bool forsaken_deathknight = sConfig.GetBoolDefault("Forsaken.DeathKnight.Enable", true); + + // Tauren + /* Priest will come in Cataclysm + bool tauren_priest = sConfig.GetBoolDefault("Tauren.Priest.Enable", true);*/ + // Rogue not aviable for this Race + bool tauren_warrior = sConfig.GetBoolDefault("Tauren.Warrior.Enable", true); + // Mage not aviable for this Race + bool tauren_druid = sConfig.GetBoolDefault("Tauren.Druid.Enable", true); + bool tauren_hunter = sConfig.GetBoolDefault("Tauren.Hunter.Enable", true); + // Warlock not aviable for this Race + bool tauren_shaman = sConfig.GetBoolDefault("Tauren.Shaman.Enable", true); + /* Paladin will come in Cataclysm + bool tauren_paladin = sConfig.GetBoolDefault("Tauren.Paladin.Enable", true);*/ + bool tauren_deathknight = sConfig.GetBoolDefault("Tauren.DeathKnight.Enable", true); + + // Troll + bool troll_priest = sConfig.GetBoolDefault("Troll.Priest.Enable", true); + bool troll_rogue = sConfig.GetBoolDefault("Troll.Rogue.Enable", true); + bool troll_warrior = sConfig.GetBoolDefault("Troll.Warrior.Enable", true); + bool troll_mage = sConfig.GetBoolDefault("Troll.Mage.Enable", true); + /* Druid will come in Cataclysm + bool troll_druid = sConfig.GetBoolDefault("Troll.Druid.Enable", true);*/ + bool troll_hunter = sConfig.GetBoolDefault("Troll.Hunter.Enable", true); + // Warlock not aviable for this Race + bool troll_shaman = sConfig.GetBoolDefault("Troll.Shaman.Enable", true); + // Paladin not aviable for this Race + bool troll_deathknight = sConfig.GetBoolDefault("Troll.DeathKnight.Enable", true); + + // Blood elf + bool bloodelf_priest = sConfig.GetBoolDefault("BloodElf.Priest.Enable", true); + bool bloodelf_rogue = sConfig.GetBoolDefault("BloodElf.Rogue.Enable", true); + /* Warrior will come in Cataclysm + bool bloodelf_warrior = sConfig.GetBoolDefault("BloodElf.Warrior.Enable", true);*/ + bool bloodelf_mage = sConfig.GetBoolDefault("BloodElf.Mage.Enable", true); + // Druid not aviable for this Race + bool bloodelf_hunter = sConfig.GetBoolDefault("BloodElf.Hunter.Enable", true); + bool bloodelf_warlock = sConfig.GetBoolDefault("BloodElf.Warlock.Enable", true); + // Shaman not aviable for this Race + bool bloodelf_paladin = sConfig.GetBoolDefault("BloodElf.Paladin.Enable", true); + bool bloodelf_deathknight = sConfig.GetBoolDefault("BloodElf.DeathKnight.Enable", true); + + // Goblin + // Will come in Cataclysm \\\\ + + if(GetSecurity() <= block_gmlevel) + { + + // Function for Human + if (!human_priest && class_ == CLASS_PRIEST && race_ == RACE_HUMAN || !human_rogue && class_ == CLASS_ROGUE && race_ == RACE_HUMAN || !human_warrior && class_ == CLASS_WARRIOR && race_ == RACE_HUMAN + || !human_mage && class_ == CLASS_MAGE && race_ == RACE_HUMAN || !human_warlock && class_ == CLASS_WARLOCK && race_ == RACE_HUMAN || !human_paladin && class_ == CLASS_PALADIN && race_ == RACE_HUMAN + || !human_deathknight && class_ == CLASS_DEATH_KNIGHT && race_ == RACE_HUMAN) + { + data << uint8(CHAR_LOGIN_DISABLED); + SendPacket(&data); + return; + } + // Function for Dwarf + else if (!dwarf_priest && class_ == CLASS_PRIEST && race_ == RACE_DWARF || !dwarf_rogue && class_ == CLASS_ROGUE && race_ == RACE_DWARF || !dwarf_warrior && class_ == CLASS_WARRIOR && race_ == RACE_DWARF + || !dwarf_hunter && class_ == CLASS_HUNTER && race_ == RACE_DWARF || !dwarf_paladin && class_ == CLASS_PALADIN && race_ == RACE_DWARF || !dwarf_deathknight && class_ == CLASS_DEATH_KNIGHT && race_ == RACE_DWARF) + { + data << uint8(CHAR_LOGIN_DISABLED); + SendPacket(&data); + return; + } + // Function for Nightelf + else if (!nightelf_priest && class_ == CLASS_PRIEST && race_ == RACE_NIGHTELF || !nightelf_rogue && class_ == CLASS_ROGUE && race_ == RACE_NIGHTELF || !nightelf_warrior && class_ == CLASS_WARRIOR && race_ == RACE_NIGHTELF + || !nightelf_druid && class_ == CLASS_DRUID && race_ == RACE_NIGHTELF || !nightelf_hunter && class_ == CLASS_HUNTER && race_ == RACE_NIGHTELF + || !nightelf_deathknight && class_ == CLASS_DEATH_KNIGHT && race_ == RACE_NIGHTELF) + { + data << uint8(CHAR_LOGIN_DISABLED); + SendPacket(&data); + return; + } + // Function for Gnome + else if (!gnome_rogue && class_ == CLASS_ROGUE && race_ == RACE_GNOME || !gnome_warrior && class_ == CLASS_WARRIOR && race_ == RACE_GNOME || !gnome_mage && class_ == CLASS_MAGE && race_ == RACE_GNOME + || !gnome_warlock && class_ == CLASS_WARLOCK && race_ == RACE_GNOME || !gnome_deathknight && class_ == CLASS_DEATH_KNIGHT && race_ == RACE_GNOME) + { + data << uint8(CHAR_LOGIN_DISABLED); + SendPacket(&data); + return; + } + // Function for Draenei + else if (!draenei_priest && class_ == CLASS_PRIEST && race_ == RACE_DRAENEI|| !draenei_warrior && class_ == CLASS_WARRIOR && race_ == RACE_DRAENEI || !draenei_mage && class_ == CLASS_MAGE && race_ == RACE_DRAENEI + || !draenei_hunter && class_ == CLASS_HUNTER && race_ == RACE_DRAENEI || !draenei_shaman && class_ == CLASS_SHAMAN && race_ == RACE_DRAENEI || !draenei_paladin && class_ == CLASS_PALADIN && race_ == RACE_DRAENEI + || !draenei_deathknight && class_ == CLASS_DEATH_KNIGHT && race_ == RACE_DRAENEI) + { + data << uint8(CHAR_LOGIN_DISABLED); + SendPacket(&data); + return; + } + + // Function for Orc + else if (!orc_rogue && class_ == CLASS_ROGUE && race_ == RACE_ORC || !orc_warrior && class_ == CLASS_WARRIOR && race_ == RACE_ORC || !orc_hunter && class_ == CLASS_HUNTER && race_ == RACE_ORC + || !orc_warlock && class_ == CLASS_WARLOCK && race_ == RACE_ORC || !orc_shaman && class_ == CLASS_SHAMAN && race_ == RACE_ORC || !orc_deathknight && class_ == CLASS_DEATH_KNIGHT && race_ == RACE_ORC) + { + data << uint8(CHAR_LOGIN_DISABLED); + SendPacket(&data); + return; + } + // Function for Forsaken + else if (!forsaken_priest && class_ == CLASS_PRIEST && race_ == RACE_UNDEAD_PLAYER || !forsaken_rogue && class_ == CLASS_ROGUE && race_ == RACE_UNDEAD_PLAYER || !forsaken_mage && class_ == CLASS_MAGE && race_ == RACE_UNDEAD_PLAYER + || !forsaken_warlock && class_ == CLASS_WARLOCK && race_ == RACE_UNDEAD_PLAYER || !forsaken_deathknight && class_ == CLASS_DEATH_KNIGHT && race_ == RACE_UNDEAD_PLAYER) + { + data << uint8(CHAR_LOGIN_DISABLED); + SendPacket(&data); + return; + } + // Function for Tauren + else if (!tauren_warrior && class_ == CLASS_WARRIOR && race_ == RACE_TAUREN || !tauren_druid && class_ == CLASS_DRUID && race_ == RACE_TAUREN || !tauren_hunter && class_ == CLASS_HUNTER && race_ == RACE_TAUREN + || !tauren_shaman && class_ == CLASS_SHAMAN && race_ == RACE_TAUREN || !tauren_deathknight && class_ == CLASS_DEATH_KNIGHT && race_ == RACE_TAUREN) + { + data << uint8(CHAR_LOGIN_DISABLED); + SendPacket(&data); + return; + } + // Function for Troll + else if (!troll_priest && class_ == CLASS_PRIEST && race_ == RACE_TROLL || !troll_rogue && class_ == CLASS_ROGUE && race_ == RACE_TROLL || !troll_warrior && class_ == CLASS_WARRIOR && race_ == RACE_TROLL + || !troll_mage && class_ == CLASS_MAGE && race_ == RACE_TROLL || !troll_hunter && class_ == CLASS_HUNTER && race_ == RACE_TROLL || !troll_shaman && class_ == CLASS_SHAMAN && race_ == RACE_TROLL + || !troll_deathknight && class_ == CLASS_DEATH_KNIGHT && race_ == RACE_TROLL) + { + data << uint8(CHAR_LOGIN_DISABLED); + SendPacket(&data); + return; + } + // Function for BloodElf + else if (!bloodelf_priest && class_ == CLASS_PRIEST && race_ == RACE_BLOODELF || !bloodelf_rogue && class_ == CLASS_ROGUE && race_ == RACE_BLOODELF || !bloodelf_mage && class_ == CLASS_MAGE && race_ == RACE_BLOODELF + || !bloodelf_hunter && class_ == CLASS_HUNTER && race_ == RACE_BLOODELF || !bloodelf_warlock && class_ == CLASS_WARLOCK && race_ == RACE_BLOODELF || !bloodelf_paladin && class_ == CLASS_PALADIN && race_ == RACE_BLOODELF + || !bloodelf_deathknight && class_ == CLASS_DEATH_KNIGHT && race_ == RACE_BLOODELF) + { + data << uint8(CHAR_LOGIN_DISABLED); + SendPacket(&data); + return; + } + } + ChrClassesEntry const* classEntry = sChrClassesStore.LookupEntry(class_); ChrRacesEntry const* raceEntry = sChrRacesStore.LookupEntry(race_); diff --git a/src/mangosd/mangosd.conf.dist.in b/src/mangosd/mangosd.conf.dist.in index f5ba807..26f0bf2 100644 --- a/src/mangosd/mangosd.conf.dist.in +++ b/src/mangosd/mangosd.conf.dist.in @@ -1,4 +1,4 @@ -##################################### +##################################### # MaNGOS Configuration file # ##################################### ConfVersion=2010051901 @@ -1519,3 +1519,89 @@ SOAP.Port = 7878 CharDelete.Method = 0 CharDelete.MinLevel = 0 CharDelete.KeepDays = 30 + +################################################################################################################### +# RACE / CLASS BLOCKER +# +# Race.Class.Blocker.GMLevel +# Enable the race/class blocker for accounts with this gm level +# Default: 0 - Only for normal players +# +# Race.Class.Enable +# Allow to disable character creation for race/class combis +# Default: 1 - All Race/Class combis enabled +# +################################################################################################################### + +Race.Class.Blocker.GMLevel = 0 + +Human.Priest.Enable = 1 +Human.Rogue.Enable = 1 +Human.Warrior.Enable = 1 +Human.Mage.Enable = 1 +Human.Warlock.Enable = 1 +Human.Paladin.Enable = 1 +Human.DeathKnight.Enable = 1 + +Dwarf.Priest.Enable = 1 +Dwarf.Rogue.Enable = 1 +Dwarf.Warrior.Enable = 1 +Dwarf.Hunter.Enable = 1 +Dwarf.Paladin.Enable = 1 +Dwarf.DeathKnight.Enable = 1 + +NightElf.Priest.Enable = 1 +NightElf.Rogue.Enable = 1 +NightElf.Warrior.Enable = 1 +NightElf.Druid.Enable = 1 +NightElf.Hunter.Enable = 1 +NightElf.DeathKnight.Enable = 1 + +Gnome.Rogue.Enable = 1 +Gnome.Warrior.Enable = 1 +Gnome.Mage.Enable = 1 +Gnome.Warlock.Enable = 1 +Gnome.DeathKnight.Enable = 1 + +Draenei.Priest.Enable = 1 +Draenei.Warrior.Enable = 1 +Draenei.Mage.Enable = 1 +Draenei.Hunter.Enable = 1 +Draenei.Shaman.Enable = 1 +Draenei.Paladin.Enable = 1 +Draenei.DeathKnight.Enable = 1 + +Orc.Rogue.Enable = 1 +Orc.Warrior.Enable = 1 +Orc.Hunter.Enable = 1 +Orc.Warlock.Enable = 1 +Orc.Shaman.Enable = 1 +Orc.DeathKnight.Enable = 1 + +Forsaken.Priest.Enable = 1 +Forsaken.Rogue.Enable = 1 +Forsaken.Mage.Enable = 1 +Forsaken.Warlock.Enable = 1 +Forsaken.DeathKnight.Enable = 1 + +Tauren.Warrior.Enable = 1 +Tauren.Druid.Enable = 1 +Tauren.Hunter.Enable = 1 +Tauren.Shaman.Enable = 1 +Tauren.DeathKnight.Enable = 1 + +Troll.Priest.Enable = 1 +Troll.Rogue.Enable = 1 +Troll.Warrior.Enable = 1 +Troll.Mage.Enable = 1 +Troll.Hunter.Enable = 1 +Troll.Shaman.Enable = 1 +Troll.DeathKnight.Enable = 1 + +BloodElf.Priest.Enable = 1 +BloodElf.Rogue.Enable = 1 +BloodElf.Mage.Enable = 1 +BloodElf.Hunter.Enable = 1 +BloodElf.Warlock.Enable = 1 +BloodElf.Paladin.Enable = 1 +BloodElf.DeathKnight.Enable = 1
  12. no its not blizzlike on trinity^^
  13. but trinity eye of acherus is NOT blizzlike
  14. You can test my vmaps: Download is from my root server: http://www.easy-emu.de/forum/downloads/vmaps.7z
  15. unmount works for me on windows I have test it
  16. I have no error and unmount in houses works for me
  17. no I can't confirm this bug. It works fine, no problem with the vehicle patch
  18. you can't unlock all race / class combinations with this. unloack alle combinations need dbc editing / hack patch for wow
  19. any news about the vmap_assembler.exe crash? or can anyone upload the maps from linux extractor
  20. I have test clean mangos + ytdb and quests/questgivers are wrkoing. with the camera system, I get the bug
  21. I have found a bug with quests: questgivers haven't the questgiver icon, if you are a normal player. And you can't accept some quests from questgivers, for example first deathknight quest. with gm on, quests are working. an error with this patch: 2010-04-25 19:52:04 ERROR:SESSION: received not allowed opcode CMSG_LFD_PLAYER_LOCK_INFO_REQUEST (0x036E)
  22. and I think you should use my patch, its shorter and correct I think.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use