半個月前的那天下班後,黎允兒在休息室找到了孫軼民,將一個U盤交給了他。並吩咐:“自己參考,不能交給任何人。”
孫軼民驚愕:“這是……?”
黎允兒用食指貼近嘴脣。然後點了點頭,神色莊重:“這是我幫你做好的醉風月的解碼功能模塊,可以將接受到的服務器數據解譯成具體的遊戲數值。程序是二進制的dll文件,我附帶了函數調用的說明書,你可以拿去直接用。”
孫軼民雙眼放光,滿臉興奮:“真的?你太厲害了!”對黎允兒舉起了大拇指。
黎允兒報以甜甜的笑。那一刻,孫軼民感覺這前衛又另類的女孩,顯得如此可愛動人。
孫軼民興奮之餘又問了一句:“只是二進制文件,沒有源代碼嗎?”
“源代碼不能給你。”黎允兒一臉鄭重。
“哦……好,”孫軼民怔了一怔,又釋然,說道,“那你……能不能告訴我一點具體思路,比如加密方式,密碼長度等等信息。”
“你需要什麼功能我幫你做就行了。具體細節說起來太麻煩了……”黎允兒似乎是不願意透露技術細節,找藉口婉拒。
孫軼民只好作罷,心想,這或許是因爲這程序畢竟是辛苦的研究成果,或者出於黑客準則什麼的吧。不好勉強。便說道:“好吧,不管怎樣,真的是非常感謝你。”
“不用客氣,你也幫過我很多忙啊?”黎允兒說完又叮囑了一句,“記得,製作輔助軟件,要謹守一個原則:不要採用直接向服務器發送虛假數據包的方式,因爲你無法保證你模擬的數據包跟原裝的一模一樣。萬一出了點紕漏,服務器的反掛系統會非常立即察覺,後果就是封號。最安全的方法就是通過向客戶端發送模擬按鍵信息的方式進行操作。”
當晚回家,孫軼民便開始投入了輔助戰鬥程序的開發工作之中。
要說它的工作原理,其實真並不複雜:通過截獲相應端口IP數據包,利用黎允兒提供的解碼模塊分析數據,獲取當前任務角色即時狀態數據,諸如生命值,能量值,技能冷卻狀態等等。然後根據這些基礎數據做出合適的決策,構造併發送相應的技能的按鍵消息,驅使角色作出相應的戰鬥動作。
要實現這一過程,其他部分都不難,關鍵卻在於對遊戲數據的解讀,解讀的前提是解密。孫軼民儘管是一個資深的程序員,卻不擅長做這種黑客的工作。這一點,多虧了黎允兒幫忙。
而程序的其他部分的實現,得益於他從事的這一份遊戲開發工作,他對解碼之後的數據解讀,有了駕輕就熟的能力,自然很快就把程序編寫出來。他感慨自己選擇了這一份工作沒有錯,藉由工作歷練,讓他在遊戲世界擁有了一份天然的優勢。
程序製作完成後,孫軼民給它起了一個好聽的名字——“演奏家”。並設定了一個獨特進程名稱,這一點也是挺重要的。市面上流傳的一些自動按鍵類的輔助程序,因爲被廣泛使用,進程名被遊戲運營者所熟知因而被輕易屏蔽。而孫軼民的這一款卻是爲自己業量身定製的專用輔助程序,因而也相對安全。
而且就功能而言,這一輔助程序也比市場上那些低劣的外掛高明很多。相對於市面上那些只會傻乎乎的按照預定步驟發送按鍵的拙劣功能而言,“演奏家”實現了對遊戲數據與角色自身狀態的實時解讀,從而能實現自動化決策,半智能化戰鬥操作。這是其一。其二,演奏家是對於特定的遊戲裡面的特定職業角色專門開發的,因此有更高的運行效率,從而能保證角色在戰鬥中佔據優勢。
藉助輔助程序能在戰鬥中獲得優勢的關鍵在於利用計算機程序代替人工“判斷狀態然後發送技能按鍵”這個過程。
對於人工操作而言,這個過程需要消耗一定的時間。比如說,在對慕容施放技能“疾風衝刺”之前,孫軼民需要對襄王的自身狀態做出判斷:是否受到了慕容的控制技能施加的負面作用,比如眩暈狀態。
如果有,那麼需要考慮使用那一個解控技能,然後確定技能按鍵的位置。
當解開了受控狀態之後,還要檢查“疾風衝刺”這個技能是否出於冷卻完成狀態,如果是,那麼就按下相應的按鍵。
所有這個過程,對於人工操作來說,都需要花一定的時間。時間的長短取決於操作者的熟練程度。
但對於計算機來說,這一過程卻幾乎不需要時間——當然,除了幾個計算機指令週期之外。
而這,恰好滿足了何小泉所講的霸王職業要戰勝慕容所需要的極端條件——一種爭分奪秒疾如迅雷風馳電掣的操作速度。
研發成功後,孫軼民找何小泉切磋測試了一下,效果令人滿意。何小泉驚歎於他在短時間內取得了驚人的進步。
當然,孫軼民也不會告訴何小泉他的秘密。同時爲了不影響某種轟動效應以及不引起慕容的警覺,孫軼民當時囑咐何小泉在他發起挑戰之前,不要告訴別人他的操作技術突飛猛進這一事實。
何小泉是個值得信賴的朋友,他答應了孫軼民並且做到了。
當然,這一切他也沒有跟柳榮華分享。他擔心萬一哪天柳榮華說漏嘴將此秘密透露給無心,那麼孫軼民在她心目中辛苦建立起來的光輝形象可能毀於一旦。
不過話說回來,演奏家其實只能算一款半自動的輔助戰鬥程序。它的主要功能在於自動連招。在按下相應的快捷鍵之後,輔助功能啓動,此時程序會通過發送虛擬按鍵信息的方式操控遊戲角色,做出一系列控制技能與攻擊技能天衣無縫的連招動作。而且在連招的過程中還具備了智能判斷能力。比如當角色被控制,那麼程序會自動先調用解控技能解控,然後再施放進攻技能。
但在連招結束之後,仍然需要人工操作。比如戰場上慕容殘血逃跑,這時候需要手動進行追擊並施放技能。
爲何不能實現全自動戰鬥?也就是那種只要按下啓動鍵,那麼玩家就不需要任何參與的功能?這涉及到非常複雜的算法以及非常繁瑣的代碼安排,勢必需要耗費大量的時間去研究。孫軼民在這短短的半個月之內沒有能力開發出這麼牛逼的功能。
其實,孫軼民的得意之處並不僅僅在於開發出了這一款克敵制勝的神器。
相對於這種技術手段上的成功,孫軼民覺得自己這一次實施的“驚天計劃”更加完美,更讓他得意。這計劃於他而言,可以說得上是一箭三雕。
他的計劃是:利用這樣一個“戰鬥神器”嚮慕容發起“世界級”的挑戰,並且最終擊敗他。一雪前恥的同時也爲自己贏得榮譽,塑造自己在遊戲世界光輝形象。從而讓神女無心對他刮目相看。同時也讓慕容因爲這一戰而身敗名裂。這是其一。
其二:孫軼民通過一個賭約巧妙地讓神女無心能自願與他見面,實現他一睹芳容的願望。從而邁出泡她的第一步。
其三是:孫軼民通過借款大量押注,贏取鉅額金幣的賭局回報。
除了贏得慕容秋心那100金幣之外,孫軼民用借來的50萬金幣押注自己,贏回了將近1400萬金幣。如同柳榮華所說的,按照當前市場行情,理論上這些金幣可以換取十幾萬的人民幣。
孫軼民暗想,多年以後當回首往事,這一段傳奇的經歷必將成爲他網遊生涯乃至人生中一個亮點。他用一種特殊的方式在虛擬世界贏得了一次激情澎湃的戰鬥與一場豪賭,這很值得他紀念,回味。而這一場豪賭的結果,也直接決定了後面他將要面臨的更加曲折離奇的人生境遇。
他久久沉浸於那種藉助金手指優勢地位輕鬆勝出的快感,還有那種站在技術的高度扮演上帝俯視一切的快感,都給他帶來了極大的滿足,這種滿足令人上癮。
但滿足過後,他此刻內心泛起一絲空虛的感覺,甚至有一些羞恥感:他感覺靠這樣的方式取勝畢竟屬於一種不光彩行爲,他在心中暗自對慕容抱有歉意。
更重要的是:這樣的行爲違背了他的程序員職業操守,當初他斷然拒絕了柳榮華對他提出幫忙製作木馬程序的要求,正是基於這一點原則。但如今他爲了自己的利益,似乎有點越過了這條底線。
儘管從軟件功能的實現原理來看,“演奏家”只是一款很保守的輔助工具。本質上,它並未涉及黑客行爲。但不管怎樣,製作這樣一種程序始終是一種不道德行爲。
他關掉了輔助程序,步出房間,對柳榮華提起和神女無心賭約見面一事,柳榮華聽完大喜過望。
隨即上線與2位美女聯絡,最終他提議“擇日不如撞日”,愉快決定了明日見面。對方同意了柳榮華的提議。因爲明日是週六,剛好大家都有空。
【請到①⑦К閱讀㊣版】