作者jacokon (jacokon)
看板CGI-Game
标题Re: [DE] 三阶装备赠送第四轮 低调信箱仓库
时间Fri Jul 29 12:10:30 2011
: → liooi:我是觉得有人来就有东西生成 然後地城一段时间会产一次东西 07/28 18:37
: → liooi:如果刚好箱子塞满就没了 07/28 18:37
关於这一点,我是可以提出反面证据的
首先说明开自家宝箱时,物品产生共有四类:
(1)武器 (2)装备 (3)项链与戒指 (4)药水
(以上排列顺序依照原本产生设计)
以我上次开宝箱的留存纪录来举例, 箱子里共有16样
(A)钱
(B)武器 = 0
(C)装备 = 5
物品编号:
345274 贼甲 (前前次产生没拿出来的)
345275 贼帽 (前前次产生没拿出来的)
347009 鞋子 (前次产生没拿出来的)
347010 鞋子 (前次产生没拿出来的)
349263 鞋子 (此次产生的)
(D)项链戒指 = 3
物品编号:
204596 戒指 (前次产生没拿出来的)
207913 戒指 (此次产生的)
207914 戒指 (此次产生的)
(E)药水 = 7 (以下皆本次产生的)
物品编号:
710769 Mana potion
710770 Mana potion
710771 Mana potion
710772 Mana potion
710773 Mana potion
710774 HP potion
710775 HP potion
可以观察到同一次开箱的同类型物品是有连号的
这些物品编号在整个游戏中绝对不会重复,以资料库程式的写法来看
通常是物件产生时才向DB索取item id (例如商店刷新、开宝箱时)
而DB的id产生多数用法都是递增给予, 可以预期某位在我之後开商店
或是开箱的玩家拿到 710776的药水, 而我下次开箱产生的药水编号
一定大於 710775, 这同时也可藉此估算出这个世界产生药水、武器、
装备的数量和速度
重点在於这连号代表了, 这些物件是在我开箱的瞬间同时产生的, 所以
我才能拿到连号
我认为产生顺序是依据B, C, D, E这样下来的, 假设你的累加值有200
(B)的产生成功, 1绿武消耗值=70, 接着
(C)的产失成功, 1绿装消耗值=50, 接着
(D)的产生失败, 消耗值=0, 剩下的全部产生为药水
(E)每罐消耗10, 所以产生8罐
或是
(B)的产生失败, 接着
(C)的产生成功, 1蓝装消耗值=150, 接着
(D)的产生成功, 1绿装消耗值=40, 剩下的全部产生为药水
(E)每罐消耗10, 所以产生1罐
我推测程式的执行流程大概是这样
不过我毕竟没有server端的原程式码, 所以以上只是推估
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.96.180.33
1F:推 bhc283:请问那些编号是怎麽出来的阿? 好奇 0.0"" 07/29 12:19
2F:→ liooi:这样看来我的想法是错的 07/29 12:21
3F:→ jacokon:其实我弄到了client端的原程式码,不过只是要看物品编号的 07/29 12:22
4F:→ jacokon:话,用封包监听程式就能办到了 07/29 12:22
5F:推 arexne:0.0 07/29 12:23
6F:→ dreamq:宝箱的装备生成 个人觉得颇像一般战斗出宝数量的机率算法 07/29 12:23
7F:→ dreamq:就像是来了五个人宝箱就会给出五个可能会出现装备的格子 07/29 12:24
8F:→ dreamq:可是不是每一个都会出装备 所以说当机率得到紫装时... 07/29 12:25
9F:→ dreamq:只是伺服器端回传没有这个东西 你就什麽都得不到了 07/29 12:25
10F:→ loghost:清新 专业 还我紫装物品值! 07/29 13:06