调试某游戏副本中的加亮提示信息思路
對(duì)于經(jīng)常玩游戲的人比較容易知道,在副本里面,當(dāng)進(jìn)行到某個(gè)步驟或者當(dāng)隊(duì)員站位觸發(fā)某個(gè)情景時(shí),游戲界面中央會(huì)出現(xiàn)字體提示字符,可能是BOSS跟你的對(duì)話也有可能是游戲給你的下一步提示。讓我們分析下,這個(gè)情景到底是本地觸發(fā)還是服務(wù)器觸發(fā)?
假設(shè)是本地觸發(fā),那么問題來了,是不是我可以利用漏洞來告訴服務(wù)器我副本直接步驟做完了呢,這里補(bǔ)充下,每到一個(gè)步驟告訴服務(wù)器是必然的,因?yàn)榉?wù)器有必要控制副本的獎(jiǎng)勵(lì)。處于游戲安全性考慮,本地觸發(fā)這個(gè)太不可控,風(fēng)險(xiǎn)太大。還個(gè)問題,就是觸發(fā)不一致的問題,譬如,A隊(duì)員站到了點(diǎn)上,B隊(duì)員也站到了點(diǎn)上,但由于網(wǎng)絡(luò)延遲的原因A隊(duì)員本地并沒有發(fā)現(xiàn)B站到點(diǎn)上,B沒有網(wǎng)絡(luò)延遲的原因發(fā)現(xiàn)A隊(duì)員已經(jīng)站到了點(diǎn)上,那么造成的后果是,A隊(duì)員會(huì)無法觸發(fā)副本下一步驟,而B隊(duì)員實(shí)際已經(jīng)觸發(fā)副本下一步驟,那么副本獎(jiǎng)勵(lì)A(yù)隊(duì)員是不是得不到了呢,很傻是不是!~
那么就是服務(wù)器觸發(fā),服務(wù)器根據(jù)什么來觸發(fā)呢,根據(jù)經(jīng)驗(yàn)可以得到,是依據(jù)你隊(duì)友的站位或者某個(gè)步驟的發(fā)包,我只要保證你坐標(biāo)移動(dòng)是正常的(如果一個(gè)坐標(biāo)移動(dòng)到下一個(gè)坐標(biāo)的間隔時(shí)間片正常,那么就是正常),那么站位發(fā)包就不會(huì)有問題。譬如,副本里面要求四個(gè)隊(duì)員站到固定的點(diǎn)上,然后觸發(fā)下一個(gè)關(guān)卡。當(dāng)隊(duì)員都站到固定的點(diǎn)上的時(shí)候,服務(wù)器得到了所有隊(duì)員的坐標(biāo)信息,發(fā)現(xiàn)滿足條件了,好,給每個(gè)隊(duì)員發(fā)個(gè)反饋包,告訴你們下個(gè)場(chǎng)景觸發(fā)了,你們?cè)摳陕锞透陕铩7答伆鞘裁?#xff1f;就是我們的主題加亮提示信息嘛。
那已經(jīng)確認(rèn)了這東西是服務(wù)器回包得到的,那么又有問題了,如何定位是哪個(gè)回包呢,這里比較坑的是,副本我們沒機(jī)會(huì)重復(fù)去測(cè)試,有個(gè)辦法,就是找類似實(shí)現(xiàn)效果的場(chǎng)景去測(cè)試,那就是聊天,當(dāng)聊天時(shí),說話的字會(huì)浮現(xiàn)在你的頭頂上,與加亮提示信息不一樣的只是顯示位置和內(nèi)容不一樣而已。聊天包相對(duì)來說好找很多,定位到聊天包,跟蹤聊天內(nèi)容的訪問,可以最終定位到內(nèi)容顯示用到的API,再根據(jù)API過濾到不相干的調(diào)用函數(shù),最終確認(rèn)到加亮提示包只是時(shí)間問題了。
總結(jié)
以上是生活随笔為你收集整理的调试某游戏副本中的加亮提示信息思路的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HGE引擎适用于MFC的修改
- 下一篇: 滤波器开发之二:基于算数平均的带阻平滑滤