AzerothCore:rate.drop.item.quality是否影响世界掉落及调整咨询
关于魔兽世界服务端世界掉落率配置与修改的问题
问题描述
- 尝试修改世界掉落率,但对
rate.drop.item类配置的作用不明确,测试后效果不符合预期:- 测试了200至10000000的不同数值,普通怪物的世界蓝装掉落未提升,仅原有掉落表内的物品(如蓝图)出现变化
- 副本怪物掉落的是更多副本专属绑定蓝装,而非世界掉落物品
- 宝箱表现符合预期:调高
rate.drop.item.rare后能开出更多世界掉落紫装,但该配置对怪物完全无效
- 测试时使用了GM权限,现咨询:
rate.drop.item类配置的具体作用是什么?- 若该配置不影响世界掉落,是否存在对应配置项?
- 是否必须通过修改数据库表实现需求?
解答
rate.drop.item系列配置的作用
rate.drop.item(包含rate.drop.item.rare等子配置)仅作用于「通用掉落池」的物品——也就是不属于怪物/宝箱专属掉落表的物品,比如世界掉落的灰色垃圾、部分通用材料,以及宝箱的通用掉落池内容。
怪物的专属掉落表(包括世界怪物的绑定/非绑定专属物品、副本怪物的专属掉落)完全不受这类配置影响,这就是你测试时怪物掉落无变化的核心原因。
实现世界掉落率修改的方案
是否有替代配置项?
目前没有服务端配置项能直接全局修改怪物的世界掉落率,因为这类掉落的概率都存储在creature_loot_template、reference_loot_template等数据库表的具体条目里。数据库修改方案
你自行编写的SQL语句已经是可行的解决方案,它通过关联三张表,批量将符合条件的紫装(quality=3)、橙装(quality=4)的掉落概率乘以5,仅针对非参考表、非100%掉落的分组条目生效。格式化后的SQL语句如下:
UPDATE acore_world.creature_loot_template INNER JOIN reference_loot_template ON creature_loot_template.reference = reference_loot_template.entry INNER JOIN item_template ON reference_loot_template.item = item_template.entry SET creature_loot_template.Chance = creature_loot_template.Chance*5 WHERE creature_loot_template.Reference != 0 AND creature_loot_template.Chance < 1 AND (item_template.quality = 3 OR item_template.quality = 4) AND creature_loot_template.GroupId != 0 AND (reference_loot_template.comment NOT LIKE '%ReferenceTable%')
如果需要覆盖更多世界掉落物品(比如蓝装,对应item_template.quality = 2),只需在WHERE子句的quality条件中加入OR item_template.quality = 2即可。
内容的提问来源于stack exchange,提问作者Genkora
相关产品推荐
相关产品推荐

