對於經常玩遊戲的人比較容易知道,在副本裡面,當進行到某個步驟或者當隊員站位觸發某個情景時,遊戲介面**會出現字型提示字元,可能是boss跟你的對話也有可能是遊戲給你的下一步提示。讓我們分析下,這個情景到底是本地觸發還是伺服器觸發?
假設是本地觸發,那麼問題來了,是不是我可以利用漏洞來告訴伺服器我副本直接步驟做完了呢,這裡補充下,每到乙個步驟告訴伺服器是必然的,因為伺服器有必要控制副本的獎勵。處於遊戲安全性考慮,本地觸發這個太不可控,風險太大。還個問題,就是觸發不一致的問題,譬如,a隊員站到了點上,b隊員也站到了點上,但由於網路延遲的原因a隊員本地並沒有發現b站到點上,b沒有網路延遲的原因發現a隊員已經站到了點上,那麼造成的後果是,a隊員會無法觸發副本下一步驟,而b隊員實際已經觸發副本下一步驟,那麼副本獎勵a隊員是不是得不到了呢,很傻是不是!~
那麼就是伺服器觸發,伺服器根據什麼來觸發呢,根據經驗可以得到,是依據你隊友的站位或者某個步驟的發包,我只要保證你座標移動是正常的(如果乙個座標移動到下乙個座標的間隔時間片正常,那麼就是正常),那麼站位發包就不會有問題。譬如,副本裡面要求四個隊員站到固定的點上,然後觸發下乙個關卡。當隊員都站到固定的點上的時候,伺服器得到了所有隊員的座標資訊,發現滿足條件了,好,給每個隊員發個反饋包,告訴你們下個場景觸發了,你們該幹嘛就幹嘛。反饋包是什麼?就是我們的主題加亮提示資訊嘛。
那已經確認了這東西是伺服器回包得到的,那麼又有問題了,如何定位是哪個回包呢,這裡比較坑的是,副本我們沒機會重複去測試,有個辦法,就是找類似實現效果的場景去測試,那就是聊天,當聊天時,說話的字會浮現在你的頭頂上,與加亮提示資訊不一樣的只是顯示位置和內容不一樣而已。聊天包相對來說好找很多,定位到聊天包,跟蹤聊天內容的訪問,可以最終定位到內容顯示用到的api,再根據api過濾到不相干的呼叫函式,最終確認到加亮提示包只是時間問題了。
論壇中展示某模組的帖子資訊
use webe go 物件 storedprocedure dbo p fposts modulepostsoutput 指令碼日期 07 29 2010 20 43 47 set ansi nulls ongo setquoted identifier ongo 某模組的帖子主題 create ...
論壇中展示某模組的帖子資訊
use webe go 物件 storedprocedure dbo p fposts modulepostsoutput 指令碼日期 07 29 2010 20 43 47 set ansi nulls ongo setquoted identifier ongo 某模組的帖子主題 create ...
微信支付中的jsapi返回提示資訊
改方法中的返回結果msg提示資訊如下 err msg get brand wcpay request ok 支付成功 get brand wcpay request cancel 支付過程中使用者取消 get brand wcpay request fail 支付失敗 js api的返回結果 get...