首先來講講武林聊天表情的相關數據。
武林外傳世界發言的內存緩沖區的長度為160字節,也就是最多發出160字節的數據。
聊天表情的結構為:頭部+主體。
表情的頭部統壹為兩個字節:00 AA。
表情的主體:<0><W><數字序號>,其中每個字符占用兩個字節,數字序號為0到57的整數。
武林裏第1個表情(微笑)的主體就是:<0><W><0> ,這個表情總***占字節數為:頭部的2個字節+(主體長度9*2)字節=20字節
依次類推,第壹排的表情都是占用20字節的內存,所以,在世界頻道裏,第壹排的表情可以壹次發出8個,剛好160字節
武林裏第11個表情(吻)的主體就是:<0><W><10> ,這個表情總***占字節數為:頭部的2個字節+(主體長度10*2)字節=22字節
依次類推,不是第壹排的表情都是占22字節的內存,所以在世界頻道只能發出7個,如果強行發出8個會被遊戲截斷,最終展現出來的可能是7個表情+壹串字母符號。
除世界之外的其他頻道的緩沖區要大很多,能發出20+個聊天表情,突破方法稍微復雜壹些,不便公布。
完美限制聊天表情最多輸入為3個,這是因為在輸入時加了判斷。下面教大家壹個簡單的突破3個表情限制的方法:
1、運行“金山遊俠”。
2、在遊戲聊天框裏輸入3個遊戲表情+隨便壹串字母,然後在“金山遊俠”裏搜索數據3; 三表情.jpg (4.29 KB)
2008-3-29 06:28
3、減掉壹個遊戲表情,然後搜索數據2;
4、如此不斷的變換表情數,不斷的搜索,幾次之後就能得到1或2個結果,把這些數據都鎖定為0。(這些結果在重進遊戲或小退之後就會失效)
這樣修改之後可以輸入多個表情了。
第壹排的表情在普通頻道可以輸入8個,而在其他頻道只能輸入7個,這是因為其他頻道前面都帶了壹個頻道標識符號造成的。比如世界頻道的標識符號$就占據了2字節的內存空間。而在實際上這個$符號是不會發往服務器的,只是用來做本地的頻道判斷,懂壹些技術的朋友可以通過“調用遊戲發言CALL”或者“修改內存中的發言數據”成功往世界頻道發出8個第壹排的表情。
最後,突破表情限制所帶來的風險大家自己衡量,想玩的朋友可以開小號體驗壹下。