• 注册
  • 发贴
  • 手游教程 手游教程 关注:193 内容:1079

    开源刺客引擎二开教程(四)

  • 查看作者
  • 打赏作者
  • 当前位置: 35博客圈 > 手游交流 > 手游教程 > 正文
  • 1
  • 手游教程
  • LV11
    vip3
    admin

    去除quickSDK和网关

    原始的游戏源码中通过quickSDK进行登录验证的,如果你不喜欢接第三方的,可以删除quickSDK。

    游戏里登录和注册,角色相关接口是先要通过游戏网关的验证,游戏网关的源码是go的,看着有点烦,所以我把游戏网关也去掉了,客户端直接和我们的登录网关进行交互。

    这个改起来比较简单,在源码中游戏网关的类是GatewayAgent将这个类删除,再将用到这个类的地方都改成ODClient即可。

    比如登录的请求方法:

    void SendLogin(string account, string password)
    {
        TDefaultMessage tdm = ODClient::GetInstance()->MakeDefaultMsg(CM_IDPASSWORD, 0, 0, 0, 0, 0);
        string gatePassword = ODClient::GetInstance()->EncodeString((char *)LOGIN_KEY);  //网关密码
        string msg = ODClient::GetInstance()->EncodeMessage(tdm);
        string tmpStr = account + "/" + password;
        string data = ODClient::GetInstance()->EncodeString((char*)tmpStr.c_str());
        //char sendMsg[512] = "";
        //sprintf(sendMsg, "%s%s%s", gatePassword.c_str(), msg.c_str(), data.c_str());
        string sendMsg = gatePassword + msg + data;
        SendSocket(sendMsg);
        log("%s","SendLogin!");
    }
    void SendSocket(string sendstr)
    {
        {
            string sendMsg = "#";
            sendMsg = sendMsg + Itoa(code) + sendstr + "!";
            ODClient::GetInstance()->send(sendMsg.c_str());
            code++;
            if (code >= 10)
                code = 1;
        }
    }

    接口中涉及要修改的主要类:

    FrmMain.cpp

    SendProtocol.cpp

    主要都在这2个文件里,还有其他的几个小地方的修改,按照编译报出的错误修改即可。socket目录下只保留这几个类即可。

    开源刺客引擎二开教程(四)

    这个其实并不难,自己动手吧。


    文章转载自YmBok   作者:还如一梦中

    LV2

    多谢楼主分享

    回复

    请登录之后再进行评论

    登录
    圈子
  • 任务
  • 管理
  • 皮肤
  • 回底部
  • 帖子间隔 侧栏位置: