开源刺客引擎二开教程(四)-35博客圈 开源刺客引擎二开教程(四) - 35博客圈
手游教程 手游教程 关注:226 内容:1142

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

  • 查看作者
  • 打赏作者
  • 当前位置: 35博客圈 > 手游交流 > 手游教程 > 正文
    • 1
    • 手游教程
    • LV12
      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   作者:还如一梦中

      LV4

      多谢楼主分享

      回复
      创建和谐社区,请勿发布无意义内容,获取金币请看右边的指南 [金币获取指南]

      请登录之后再进行评论

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