快捷导航
 
查看: 3524|回复: 0

数据库和DBC的中文说明详解

[复制链接]

39

主题

0

回帖

0

积分

8K盟主

Rank: 9Rank: 9Rank: 9

积分
0

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2024-4-21 17:41:17 | 显示全部楼层 |阅读模式 IP:湖南湘西土家族苗族自治州
-
游戏名称:魔兽世界单机技术学习资料.CHM
帖子类型:游戏教程
魔兽版本:巫妖王之怒(80级)
游戏大小:0G
下载地址:点击访问
提取码:登录查看
屏幕截图 2024-04-21 174001.png
[SQL] 纯文本查看 复制代码
以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, 然后代码复制黏贴进去就好....

魔兽世界单机技术学习资料.CHM (448.23 KB, 下载次数: 1)


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

本站微信公众号

关注微信公众号

扫码关注

抵制不良游戏,拒绝盗版游戏。注意自我保护,谨防受骗上当。适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。
| Archiver | 手机版 | 小黑屋 | 道具 | 

Powered by Discuz! X3.4  湘ICP备2024045241号-1   技术支持:DZFUNS

8k联盟网络工作室  湘ICP备2024045241号-1 © 8K联盟