作者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