• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            socketref,再見!高德

            https://github.com/adoggie

              C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              246 Posts :: 4 Stories :: 312 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(54)

            我參與的團隊

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            跟逆向的協(xié)同是制定標準交互接口

            gtr_api.h
              1 /*
              2 gtr_api.h
              3 ========================
              4 定義與游戲邏輯交互的接口
              5 2009.12.12 zhangbin  created
              6     1. 修改二進制圖片的傳輸方式,通過context完成
              7     2. 定義輸出接口 init()/cleanup(),其他函數(shù)通過內部登記來實現(xiàn)
              8 2009.12.13 zhangbin
              9     1.添加日志回調
             10 
             11 2010.3.25 zhangbin 
             12     1.添加 auth() 密保認證回調;captureImage()抓屏幕回調
             13     3.添加 Gt_CallContext.id字段
             14 2010.3.29 zhangbin
             15 1.修正部分聲明的錯誤
             16 
             17 */
             18 #ifndef _GT_API_H
             19 #define _GT_API_H
             20 #include <windows.h>
             21 
             22 
             23 enum Gt_ReturnValueT{    
             24     GT_FALSE=0,                                        //
             25     GT_TRUE,                                            //
             26     GT_UNABLECONNECT,                            //無法連接
             27     GT_PASSWORDERROR,                            //賬號密碼錯誤
             28     GT_PLAYERINLINE,                            //玩家在線
             29     GT_VERSIONERROR,                            //版本錯誤
             30     GT_UNABLEGETINFO,                            //無法獲得
             31     GT_VERIFYCODEERROR,                        //驗證碼錯誤
             32     GT_ROLELOCK,                                    //角色被封
             33     GT_MBERROR,                                        //密保卡錯誤
             34     GT_ROLENEEDCHANGENAME,                //角色需要修改名字(DNF合服)
             35     GT_ROLEKICK,                                    //角色被踢下線
             36     //GT_NOROLE,                                        //角色名不存在
             37     //GT_NOBUYERROLE,                                //買家不存在
             38     GT_SECONDPWDERROR,                        //二級密碼或者倉庫密碼錯誤
             39     GT_UNABLEMOVETO,                            //無法到達
             40     GT_UNABLETALKTO,                            //無法對話
             41     GT_TIMEOUT,                                        //超時
             42     GT_PlAYERNOFEE,                                //賣家游戲點卡不足
             43     GT_CONNECTBREAK,                            //連接中斷
             44     GT_NOTEXISTED,                                //訪問對象不存在 2010.3.27
             45     GT_SKIP_PASS,                                    //此調用無需判斷,直接忽略
             46     GT_OK = GT_TRUE,              //成功    
             47     GT_UNKNOWN=0xffff
             48 };
             49 
             50 typedef int        GT_BOOL;
             51 #define POUT
             52 #define PIN
             53 #define PINOUT
             54 
             55 typedef Gt_ReturnValueT GT_RESULT;
             56 typedef int Gt_NPCID;
             57 
             58 enum Gt_ImageTypeT{
             59     GT_IMAGEJPEG =1,
             60     GT_IMAGEPNG,
             61     GT_IMAGEBMP
             62 };
             63 
             64 enum Gt_GameItemT{
             65     GT_ITEM_1,        //金幣
             66     GT_ITEM_2,        //金磚
             67     GT_ITEM_MAX
             68 };
             69 
             70 struct Gt_ApiList;
             71 
             72 typedef struct Gt_CallContext{
             73     int            timeout    ;            // msec 調用超時
             74     void*        cookie;                // 外部使用
             75     void*        cookie2;            // 游戲內部使用,可用于保持狀態(tài)
             76     char*        xdata;                // 數(shù)據(jù)交換地址,數(shù)據(jù)必須立刻復制
             77     int            xsize;                // 數(shù)據(jù)交換大小
             78     int            xtype;                // 交換數(shù)據(jù)類型
             79     Gt_ApiList*        apilist;    //函數(shù)入口表 游戲dll內部維持接口表,在初始化時賦值給此變量
             80     void    (*log)(Gt_CallContext* ctx,char* msg);                        //游戲邏輯運行時日志輸出
             81     void  (*log2)(Gt_CallContext* ctx,char* data,int size); //游戲邏輯運行時日志輸出    
             82     char* (*auth_coords)(Gt_CallContext* ctx,char* coords); //坐標認證
             83     char* (*auth_image)(Gt_CallContext* ctx,Gt_ImageTypeT imagetype,char* imagedata,int size,int width,int height);
             84     void     (*capture_image)(Gt_CallContext* ctx,char* excName,char* imagedata,int size,int width,int height);
             85     int        id;        //游戲邏輯使用
             86 }CALLCTX;
             87 
             88 
             89 struct Gt_ApiList{    
             90     GT_RESULT (*SelectServer)(char *,CALLCTX*);                        //選大區(qū)    訂單中大區(qū)信息    OK    無法連接                    SelectServer        char*
             91     GT_RESULT (*SelectArea)(char*,CALLCTX*);                            //選小區(qū)    訂單中小區(qū)信息    OK    無法連接                    SelectArea        char*
             92     // null 自動選擇線路
             93     GT_RESULT (*SelectLineByName)(char* line,CALLCTX*);        //         選線路    Ping值較低    OK    無法連接                    SelectLine        void
             94     // -1 自動選擇線路
             95     GT_RESULT (*SelectLineByIndex)(int line,CALLCTX*);        //         選線路    Ping值較低    OK    無法連接                    SelectLine        void    
             96     GT_RESULT (*Login)(char* usr,char* passwd,CALLCTX*);    //         賬號密碼輸入    訂單中賬號密碼信息    OK    賬號密碼錯誤    玩家在線        版本錯誤        Login        char* account, char* pwd
             97     GT_RESULT (*IsExistDynMB)(CALLCTX*);                                    //         查詢動態(tài)密保        有    無                    IsExistDynMB        void    
             98     GT_RESULT (*IsRightClass)(int,CALLCTX* );                            //         查詢角色陣營    訂單中賣家陣營    是    否                    IsRightClass        int    
             99     GT_RESULT (*IsExistBackHomeSkill)(CALLCTX*);                    //         查詢回城技能        是    否                    IsExistBackHomeSkill        void
            100     GT_RESULT (*UseBackHomeSkill)(CALLCTX*);                            //         使用回城技能        OK    失敗                    UseBackHomeSkill        void
            101     GT_RESULT (*IsExistBackHomeItem)(CALLCTX*);                    //         查詢是否存在回城物品        是    否                    
            102     GT_RESULT (*UseBackHomeItem)(CALLCTX*);                            //         使用回城物品        OK    失敗                        
            103     GT_RESULT (*QueryRoleLevel)(char* ,POUT int *,CALLCTX*); //         查詢賣家角色等級        OK    失敗                    QuerySellerLevel        char*, int*
            104     GT_RESULT (*SelectRoleByName)(char*,CALLCTX*);                //         角色選擇    訂單中的角色名信息    OK    角色名不存在    角色需要修改名字(DNF合服)                SelectRoleByName        char*
            105     GT_RESULT (*SelectRoleByIndex)(int,CALLCTX*);                    //         序號選擇    訂單中的角色序號信息    OK    無法登陸該序號角色                    SelectRoleByIndex        int
            106     GT_RESULT (*IsExistRoleByName)(char* ,CALLCTX*);            //         查詢買家角色名    訂單中買家角色名信息    有    無                    IsExistBuyerByName        char*
            107     GT_RESULT (*AddRoleToFriend)(char*,CALLCTX*);                //         加買家為好友    訂單中買家角色名信息    OK    無該玩家                    AddBuyerToFriend        char*        
            108     GT_RESULT (*QuerySafeTime)(POUT int* ,CALLCTX*);                        //         獲取安全時間            安全時間                    QuerySafeTime        int*        
            109     GT_RESULT (*IsExistNPC)(Gt_NPCID ,CALLCTX*);                                //         判定指定NPC是否在附近    NPCID    是    否                    IsExistNPC        int    
            110     GT_RESULT (*OpenWarehouse)(char* passwd,CALLCTX*);                        //         打開倉庫    訂單中的倉庫密碼信息    OK    密碼錯誤                    OpenWarehouse        char*
            111     GT_RESULT (*OpenMailBox)(char* passwd,CALLCTX*);                        //郵箱  二級密碼
            112     GT_RESULT (*OpenBank)(char* passwd,CALLCTX*);                            //銀行 二級密碼
            113     GT_RESULT (*OpenExchange)(char* passwd,CALLCTX*);                     //交易所 二級密碼    
            114     GT_RESULT (*OpenGrocer)(char* passwd,CALLCTX*);                     //雜貨商 二級密碼
            115     
            116     GT_RESULT (*MoveToByNpcID)(Gt_NPCID,CALLCTX*);                            //         跑地圖    NPCID    OK    無法到達                    MoveToByNpcID        int NPCID
            117     GT_RESULT (*Talk)(Gt_NPCID,CALLCTX*);                                            //         與郵箱NPC對話    NPCID    OK    無法對話                    Talk        int NPCID
            118     //查詢物品數(shù)量 ,  item - 具體的游戲可交易的對象(金幣、元寶、金磚。。。)
            119     GT_RESULT (*QueryItemsInBag)(Gt_GameItemT item,POUT INT64*,CALLCTX*);                //背包
            120     GT_RESULT (*QueryItemsInWarehouse)(Gt_GameItemT item,POUT INT64*,CALLCTX*);    //倉庫
            121     GT_RESULT (*QueryItemsInBank)(Gt_GameItemT item,POUT INT64*,CALLCTX*);                // 銀行
            122     GT_RESULT (*QueryItemsInExchange)(Gt_GameItemT item,POUT INT64*,CALLCTX*);        //交易所
            123     //郵件特例處理
            124     GT_RESULT (*IsEnoughItemsInMailbox)(Gt_GameItemT item,PINOUT INT64*,CALLCTX*);        // 郵箱金幣是否滿足差額
            125     //獲得指定物品數(shù)量 
            126     GT_RESULT (*WithdrawItemsInWarehouse)(Gt_GameItemT item,PINOUT INT64*,CALLCTX*);    //         獲取倉庫金幣信息            返回倉庫中金幣數(shù)額    無法獲取                QueryGoldsInWarehouse        int64*
            127     GT_RESULT (*WithdrawItemsInBank)(Gt_GameItemT item,PINOUT INT64*,CALLCTX*);                //         獲取倉庫金幣信息            返回倉庫中金幣數(shù)額    無法獲取                QueryGoldsInWarehouse        int64*
            128     GT_RESULT (*WithdrawItemsInExchange)(Gt_GameItemT item,PINOUT INT64*,CALLCTX*);        //         獲取倉庫金幣信息            返回倉庫中金幣數(shù)額    無法獲取                QueryGoldsInWarehouse        int64*
            129     GT_RESULT (*WithdrawItemsInMailbox)(Gt_GameItemT item,PINOUT  INT64*,CALLCTX*);        //         郵箱金幣是否滿足差額
            130     //發(fā)送郵件
            131     GT_RESULT (*SendMail)(char* reciever,char* title,char* content,INT64,CALLCTX*);    
            132     //兌換給Npc
            133     GT_RESULT (*SellItem)(int item,int itemNum,CALLCTX*);                            //         兌換銀票,金磚    金幣數(shù)額        返回兌換后金幣數(shù)額    無法獲取                SellItem        int64
            134     
            135     
            136     GT_RESULT (*Begin)(CALLCTX*);                //開單
            137     GT_RESULT (*End)(CALLCTX*);                    //結單
            138 
            139     //GT_RESULT (*QueryBuyerLevel)(char*,POUT int * ,CALLCTX*);                    //         查詢買家等級    訂單中買家角色名信息        買家角色等級                    QueryBuyerLevel        char*    
            140     //GT_RESULT (*IsExistSecondPwd)(CALLCTX*);                            //         查詢二級碼        是    否                    IsExistSecondPwd        void
            141     //GT_RESULT (*InputSecondPwd)(char* ,CALLCTX*);                //         輸入二級碼    訂單中的二級碼信息    OK    密碼錯誤                    InputeSecondPwd        char*
            142     //GT_RESULT    (*IsExistVerifyCode)(CALLCTX*);                            //         是否有驗證碼        是    否                    IsExistVerifyCode        void
            143     //GT_RESULT (*GetVerifyCode)(CALLCTX*);                                    //         獲取驗證碼            驗證碼圖片    無法獲得                GetVerifyCode        char** buf, int*                                                                                                                //        通過ctx::xdata,xsize進行數(shù)據(jù)交換
            144     //GT_RESULT (*InputeVerifyCode)(char* ,CALLCTX*);                //         驗證碼輸入    答題器中的驗證碼信息    OK    驗證碼錯誤                    InputeVerifyCode        char*    
            145     //GT_RESULT    (*IsExistMB)(CALLCTX*);                                            //         是否有密保卡        是    否                    IsExistMB        void
            146     //GT_RESULT (*GetMBCord)(CALLCTX*);                                            //         獲取密保坐標            OK    無法獲得                GetMBCord        char** buf, int*                                                                                                                //        通過ctx::xdata,xsize進行數(shù)據(jù)交換 
            147     //GT_RESULT (*InputMBInfo)(char* ,CALLCTX*);                        //         密保卡輸入    答題器中的密保卡信息    OK    密保卡錯誤                    InputeMBInfo        char*
            148 
            149 };
            150 
            151 //////////////////////////////////////////////////////////////////////////
            152 //game-dll必須導出以下函數(shù)即可
            153 GT_BOOL Init(char * gamedir,CALLCTX* ctx);
            154 void        CleanUp(CALLCTX* ctx);
            155 
            156 
            157 
            158 #endif


            posted on 2010-09-30 00:40 放屁阿狗 閱讀(1470) 評論(0)  編輯 收藏 引用 所屬分類: C++/Boost/STL/TemplateOpenSource開源工程
            久久久精品国产sm调教网站| 狠狠人妻久久久久久综合| 亚洲午夜久久久久久久久电影网| 精品多毛少妇人妻AV免费久久| 久久久亚洲欧洲日产国码aⅴ| 久久se精品一区精品二区| 久久乐国产综合亚洲精品| 97久久超碰国产精品旧版| 亚洲国产视频久久| 九九精品99久久久香蕉| 久久精品国产一区二区电影| 热re99久久精品国99热| 久久久久亚洲?V成人无码| 国产精品久久久久影院嫩草| 怡红院日本一道日本久久| 久久精品国产99国产精品导航| 99精品久久久久久久婷婷| 国产精品9999久久久久| 精品综合久久久久久97| 欧美久久亚洲精品| 国内精品伊人久久久久影院对白| 2022年国产精品久久久久| 久久99精品久久久大学生| 亚洲伊人久久成综合人影院 | 2020最新久久久视精品爱| 国产69精品久久久久9999APGF| 久久国产午夜精品一区二区三区| 国产精品99久久久久久人| 久久影院综合精品| 人妻无码久久一区二区三区免费| 伊人久久大香线蕉无码麻豆| 热久久国产欧美一区二区精品| 成人国内精品久久久久影院VR| 四虎国产精品免费久久5151| 久久99精品国产自在现线小黄鸭| 日韩人妻无码一区二区三区久久| 久久精品国产亚洲AV香蕉| 久久久久久精品免费看SSS| 久久精品国产亚洲AV久| 亚洲AV无码久久精品成人| 久久丫精品国产亚洲av不卡|