我正在爲Crysis Wars做我的第一個公共服務器修改,並確保沒有人竊取我的代碼,我儘可能地在基於C++的DLL(替代方案是Lua)中放置。爲此,我必須將命令放入DLL中,其中一些需要額外的變量。 下面是一個例子:從郵件中檢索字符串
禁止[playername] [時間] [原因]
我怎麼會去檢索變量playername,時間及原因,都具有不同的字符長度?原因變量也可能有多個單詞(如'冒犯性消息和欺騙'),需要提取。
在Lua中,這將通過一個簡單的'string.match'來完成;我想我總是可以在Lua中進行消息排序,然後將其發送回C++,但這可能導致整個聊天系統被解散。
它需要從'const char * msg'中提取變量,該變量由系統在發送的每條消息上進行分析。我已經分析過它的命令消息(那些以'!'開頭的消息)。 這樣做的最好方法是什麼?
例子: 禁令精讀5的垃圾郵件 - 這將踢球員的Confl CT!「(我已經有部分掃描代碼來識別部分名稱)五分鐘
! !禁令精讀垃圾 - 這將永久禁止玩家!Confl CT'
「我怎麼會去重處理變量球員名稱,時間和理由「我不明白。請用不同的語言再提問。 –
我該如何使用string :: match或類似的方法從chatmessage中提取這些變量。我會用信息更新原始帖子。 謝謝指出! :) – cybermonkey
如果遊戲使用Lua進行腳本編寫,爲什麼你會在乎任何人試圖'竊取'你的代碼?你正在做的是爲控制檯命令做一個包裝(從我可以看到的)。 – 2013-09-25 17:58:07