yyjjlove 发表于 2012-2-16 14:04:13

魔兽世界大芒果T端掉率修改(完全篇)

贴在贴吧和藏宝湾:

本文需要工具Navicat 8 (N8); 用的是mysql语言;

自己研究所得, 基于前人的贡献.

感谢baidu.
欢迎转载, 请保留作者名字.

另外,

dedication

小胖, 你是我研究数据库从而搭建更好的二人服务器的动力.

大胖


下面是正文:

大芒果T端的数据库修复的一般, 装备很多掉率都是0, 也就是你要是不修改, 打一辈子也掉不出来. 所以肯定是要修改的.

准备:

以creature_loot_template表也就是怪物掉率的表格为例简单说一下。
entry 怪物的编号 对应于creature_template
item 物品的编号 对应于item_template
Chanceorquestchance 掉落几率 负值为任务物品
lootmode 全部都是1
groupid 同一怪物下有几个group就最多掉几个物品,同一group各物品掉落率总和不得超过100 否则红字~~掉落率为0的物品必须在一个group中,否则红字~group为0则各物品间掉落无关,独立计算。
mincountorref 正值 掉落的最小数量 负值参照reference_loot_template表
maxcount 掉落的最大值此外 reference_loot_template中有的物品编号在其余的loot表中如有此物品 mincountorref 必为物品编号的负值,否则~红字~



有很多办法的结果又不太尽如人意

1. 第一种是比较常见的, 即在conf文件里提高掉率, 很容易出现小怪身上的东西狂暴; 看的烦心; 同时解决不了0概率的问题.
2. 第二种即是大芒果论坛的一个同志写的, 首先把所有groupid改为0, 然后在conf里提高掉率;下面是引用, 这是前人的贡献:
"
首先update creature_loot_template set groupid=0;
接着update creature_loot_template set Chanceorquestchance=1 where Chanceorquestchance=0;
然后修改所有蓝色紫色橙色物品的爆率
update creature_loot_template set ChanceOrQuestChance=30 where ChanceOrQuestChance<30 and ((select Quality from item_template where entry=item)=3 or (select Quality from item_template where entry=item)=4 or (select Quality from item_template where entry=item)=5);
这样就大功告成,其余的表的修改类似。当然自己也可以根据这些规则然后参照item_template修改成自己喜欢的各种模式。
"
说明: item的quality=3 是蓝色, =4是紫色, =5是橙色.

这样对一多半副本就ok了, 虽然是, 一下子老板身上有啥就掉啥了. 基本全掉出来. 但是也有些问题, 比如, 一般游戏里是有潜在设定, 这个boss一共掉多少件. 如果满了,在表里的掉落即使掉率再高也出现不了. 这种方法一般导致了, 平常打怪和下副本可能需要不同的conf才能解决问题.

下面是我的研究所得. 我的方法基本上是仿照官服的设定 (但不是完全一样, 因为要完全一样,基本是要自己手动修改所有的boss掉落, 毕竟大芒果数据库是有缺失的, 比如一些boss的掉落干脆没有, (太阳井蓝龙))

为了便于理解, 这里要对完整groupid做个说明. 每个groupid独立计算掉率. 如果一个boss掉落4个group, 就是说, 除了groupid=0 之外, 还最多能掉4样东西.

为啥是最多? 要看在同一个groupid内, 所有东西的掉率加起来是不是100%; 如果是100%,就是说这个groupid内的东西必掉一样; 如果是90%, 那么就是有90%的概率这个groupid内的东西掉一样;

大家平常看到的boss掉落套装其实都是通过groupid来控制的.

好了, 这样就容易了, 我们就是要按照groupid来修改, 让每个groupid总共都是100%概率.(也可以设成其他, 但是因为懒得一个个看, 就统统设成100%好了)

接下来就是要解决一个问题, 每个boss的每个group里的东西不一定一样多, 所以要分别计算每个boss每个group的东西有几样. 我是通过生成中间的暂时性数据库实现. (可以有很多办法, 我写的是最简单易懂的)

修改过程:

1. 首先 改groupid=0的; 要记得, groupid=0, 就是说每样东西都是独立计算掉率, 比如死亡军马的缰绳就是这种, 还有风头, 蛋刀等等.

蓝的原来是0的都改成5%, 大于5%的不变;

update creature_loot_template set Chanceorquestchance=5 where (Chanceorquestchance<5) and (groupid=0) and ((select Quality from item_template where entry=item)=3);

紫的原来是0的变为5%; 大于5%的不变;

update creature_loot_template set Chanceorquestchance=5 where (Chanceorquestchance<5) and (groupid=0) and ((select Quality from item_template where entry=item)=4);

2. 再继续改groupid不是0的;
整个数据库内, groupid最大就是8; 以groupid=1来说明, 其他的分别跑1次下面程序即可:

生成temp1, 就保存creature_loot_template中的需要的信息, 包括对应的boss, 掉率, groupid;

create table temp1
SELECT a.entry, a.Chanceorquestchance, a.groupid from creature_loot_template as a where ((a.groupid=1) and ((select Quality from item_template where entry=item)=4));

再生成temp2, 数每个boss的属于第一个group的掉落有几样:

create table temp2
select entry, count(1) as numitem from temp1
group by entry;

再合并temp1,temp2到temp
create table temp
select temp1.entry, temp1.Chanceorquestchance, temp1.groupid,temp2.numitem from temp1, temp2
where temp1.entry=temp2.entry;

修改temp中的掉率, 就是用100/每个boss的group1的掉落总数:
update temp set Chanceorquestchance=100/numitem;

最后按照temp中修改好的概率修改creature_loot_template:

update creature_loot_template, temp
set creature_loot_template.Chanceorquestchance=temp.Chanceorquestchance
where ((creature_loot_template.entry=temp.entry) and (creature_loot_template.groupid=temp.groupid));


每次跑完之后, 手动到N8的数据区把temp, temp1, temp2删除;

然后修改第一段程序的groupid=1改为groupid=2, 3......8;

注意, 我这段程序只修改了掉落为紫色的; 如果修改第一段程序中的
((select Quality from item_template where entry=item)=4)


((select Quality from item_template where entry=item)=3)

就能修改蓝色装备的掉率.

打完收工.

额,说明下, 针对不会用mysql语言的同志们,

请使用Navicat 8 (N8)链接本地数据库, 链接world库, 在world库右键 进入console, 然后代码复制黏贴进去就好....

﹃_﹃ 发表于 2012-2-16 17:57:50

辛苦了,支持一下

nic22316 发表于 2012-2-16 17:46:04

太深奥了不懂

quyan123456789 发表于 2012-2-16 14:40:16

楼主能不能把文件导出共享一下

ヾωǒ潴潴ツ 发表于 2012-2-16 14:17:20

传说中的沙发?学习了谢谢楼主~~~~:

344398197 发表于 2012-2-16 18:03:36

学习了

cgndxmg 发表于 2012-2-16 19:17:43

学习一下。

jacangxn 发表于 2012-2-16 19:42:52

::::学习一下

lookcary 发表于 2012-2-16 21:03:15

太深奥了不懂

chc0n9 发表于 2012-2-16 21:07:38

感觉有点晕~~~不知所云:

言不由衷 发表于 2012-2-16 21:31:04

地址都没 :

lanbowc 发表于 2012-2-16 21:34:27

谢谢了支持下

198799 发表于 2012-2-16 22:02:29

犀利的好帖!!!!顶一个,感谢分享

cxx 发表于 2012-2-17 09:35:01

很好恨强大

goldstar8209 发表于 2012-2-17 18:55:07

hehe 支持技术帖子

百鬼夜 发表于 2012-2-17 19:55:47

{:soso_e123:}

琴Rita 发表于 2012-2-26 11:09:07

请问怎么样才能联机呀

rockyxu 发表于 2012-4-22 11:16:45

楼主,这样有个问题,有些groupid不等于0的字段Chanceorquestchance为100,是不是打有掉落这件物品的BOSS时,这件物品必定掉落??:

Lebron.James.Ca 发表于 2012-4-22 12:02:16

感谢分享!

Grom 发表于 2012-6-28 10:57:26

好高级啊,学习学习
页: [1] 2
查看完整版本: 魔兽世界大芒果T端掉率修改(完全篇)

本站内容如若侵犯到您的权益,请来电来函告知,我们会尽快处理!
联系QQ:1953150286,2251387361,123784736,免责申明