fabian
-
Posts
66 -
Joined
-
Last visited
-
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Posts posted by fabian
-
-
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);
-
salja it can't work. the patch need a fix since 10156
-
update for 12479?
-
look at my post. I have written since 10156 it doesn't work in 10156 are some changes
-
but since 10156 void Spell::EffectSummonPossessed(SpellEffectIndex eff_idx) in SpellEffects.cpp need a fix?
-
if you extract Continent the extractor will crash the other works fine
-
also you can use the eye, but you can't move the eye. with this patch Oo
-
extract the mmaps takes more than 4 hours Oo
-
Can you make a config option, that I can enable or disable mmaps?
-
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.
-
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
-
no its not blizzlike on trinity^^
-
but trinity eye of acherus is NOT blizzlike
-
I have no problems
-
hmm Debug can be used. yes
-
You can test my vmaps: Download is from my root server:
-
unmount works for me on windows I have test it
-
also better to get rid of things like that when loglevel=0
2623 2A41 -233.319,-117.438,-28.319 | -23.643,117.981, 43.542 | z=-7.0 03755, p_z=-7.003662 VMapManager::getAreaInfo(): x:-8836.264648 y:639.547913 z:94.953362 => x:25902.9 31641 y:16427.119141 z:94.953362 trying to intersect 'Stormwind.wmo' 2623 2A41 -233.319,-117.438,-28.319 | -23.643,117.981, 43.542 | z=-7.0 03755, p_z=-7.003662 VMapManager::getAreaInfo(): x:-8836.264648 y:639.547913 z:94.953362 => x:25902.9 31641 y:16427.119141 z:94.953362 trying to intersect 'Stormwind.wmo' 2623 2A41 -233.319,-117.438,-28.319 | -23.643,117.981, 43.542 | z=-7.0 03755, p_z=-7.003662 VMapManager::getAreaInfo(): x:-8836.264648 y:639.547913 z:94.953362 => x:25902.9 31641 y:16427.119141 z:94.953362 trying to intersect 'Stormwind.wmo' 2623 2A41 -233.319,-117.438,-28.319 | -23.643,117.981, 43.542 | z=-7.0 03755, p_z=-7.003662 VMapManager::getAreaInfo(): x:-8836.264648 y:639.547913 z:94.953362 => x:25902.9 31641 y:16427.119141 z:94.953362 trying to intersect 'Stormwind.wmo' 2623 2A41 -233.319,-117.438,-28.319 | -23.643,117.981, 43.542 | z=-7.0 03755, p_z=-7.003662
and this flood doesn't stop even if i stay at one place.
is there a way to fix Dalaran and Orgrimmar fishing? As i remember it not works in clean mangos because need to read additional VMO data, but now we has this data...
this not works for me, i still can enter in the houses of stormwind but doesn't get dismount
I have no error and unmount in houses works for me
-
no I can't confirm this bug. It works fine, no problem with the vehicle patch
-
you can't unlock all race / class combinations with this. unloack alle combinations need dbc editing / hack patch for wow
-
any news about the vmap_assembler.exe crash?
or can anyone upload the maps from linux extractor
-
I have test clean mangos + ytdb and quests/questgivers are wrkoing.
with the camera system, I get the bug
-
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)
-
and I think you should use my patch, its shorter and correct I think.
.Debug play sound ID
in OldCore modifications
Posted
I have do nit with a config option.
if the config option = 1 play to all if the option = 0 not to all:
Set it to 1 to play the sounds to all