Protocol.OnRecv
Protocol.OnRecv(Dofile, FuncName, PacketID)
函數功能
創建一個指定封包接受到後觸發的函數
參數說明
Dofile:字符串 要加載的腳本文件名,如果爲當前文件,則定義nil即可FuncName:字符串 觸發的Lua函數的名稱,該函數的申明格式請參考[OnRecvCallBack]PacketID:數值型 封包頭定義,請參考附錄的[常量定義]。
返回值
無返回值
語法
OnRecvCallBack(Fd, Head, Packet)參數說明
Fd:數值型 響應事件的對象的網絡套接字ID,該值由Lua引擎傳遞給本函數,可以通過Protocol.GetCharByFd獲取對應的玩家對象。Head:數值型 封包頭定義,請參考[常量定義]。Packet:字符串 封包內容,用”:“間隔封包內容。
返回值
返回0則不攔截該封包,返回1則攔截該封包(服務端將不會進一步處理該封包,等同於中轉封包過濾)。
參考實例
Protocol.OnRecv(nil,”MyProtocolWRecvEvent”,%RECV_W%); – 當gmsv收到W(行走)封包時會觸發
function MyProtocolWRecvEvent( _fd, _head, _packet)
return 0; -- 通過該封包
end
HourGlass