lua -- 生成协议
这是爬塔的协议
<?xml version="1.0" encoding="utf-8" ?>
<coder name="TowerMsg" version="1" oldversion="1">
<includes>
<include file="tower.xml" />
<include file="commdef.xml" />
<include file="basebattledata.xml" />
</includes>
<defines>
<!--各自宏定义-->
<!-- 最大爬塔奖励数 -->
<define name="MAX_TOWER_ENC_NUM" value="8" />
</defines>
<types>
<!-- 打开爬塔请求 -->
<type name="P_OPTOWER_REQ" MsgID="1600">
<!-- 扩展字段 -->
<item name="Ext" type="word" />
</type>
<!-- 打开爬塔应答 -->
<type name="P_OPTOWER_ACK" MsgID="1601">
<!-- 错误码 -->
<item name="ErrCode" type="word" />
<!-- 当前铜钱 -->
<item name="CurCoin" type="uint64" />
<!-- 当前元宝-->
<item name="CurGold" type="uint64" />
<!-- 当前技能点 -->
<item name="CurSkillP" type="uint64" />
<!-- 最大爬塔层记录 -->
<item name="MaxID" type="word" />
<!-- 当前层信息 -->
<item name="CurTIF" type="D_TOWERIF" />
<!-- 排行榜最高层数 -->
<item name="RankMaxID" type="word" />
<!-- 排行榜第一的玩家名称 -->
<item name="RankDispName" type="tstring" count="DSPNAME_LEN" />
<!-- 排行榜第一的玩家队长 -->
<item name="RankMHero" type="word" />
</type>
<!-- 爬塔请求 -->
<type name="P_CLIMBTOWER_REQ" MsgID="1602">
<!-- 塔层 -->
<item name="ID" type="word" />
</type>
<!-- 爬塔应答 -->
<type name="P_CLIMBTOWER_ACK" MsgID="1603">
<!-- 错误码 -->
<item name="ErrCode" type="word" />
<!-- 战斗信息 -->
<item name="BattleIf" type="D_ATTACK_D" count="1" />
<!-- 奖励信息 -->
<item name="EncNum" type="byte" />
<item name="EncInfo" type="D_ENCOURAGE" count="MAX_TOWER_ENC_NUM" refer="EncNum" />
<!-- 当前层信息 -->
<item name="CurTIF" type="D_TOWERIF" />
</type>
<!-- 重置爬塔请求 -->
<type name="P_RESETTOWER_REQ" MsgID="1604">
<!-- 扩展字段 -->
<item name="Ext" type="byte" />
</type>
<!-- 重置爬塔应答 -->
<type name="P_RESETTOWER_ACK" MsgID="1605">
<!-- 错误码 -->
<item name="ErrCode" type="word" />
<!-- 重置爬塔次数 -->
<item name="ResetNum" type="word" />
<!-- 当前元宝 -->
<item name="CurGold" type="uint64" />
<!-- 当前层信息 -->
<item name="CurTIF" type="D_TOWERIF" />
</type>
</types>
</coder>
将该XML文件拷到
E:\xg\server\src\server\protocol\xml
这个目录下
然后用这个目录E:\xg\server\tool下的vscoder.exe工具生成GBK协议

lua -- 生成协议的更多相关文章
- java+redis+lua生成自动增长的ID序列号
1.编写lua脚本用于生成主键ID序列号,内容如下 local key = tostring(KEYS[1]); local count = tonumber(KEYS[2]); local date ...
- Lua生成比较理想的随机数的方法
lua需要生成随机数的需求也是很常见的,为了生成看起来更随机的数字,我们需要注意以下几点 我们也需要给随机数设置随机数种子:math.randomseed(xx) lua对随机数种子也是有一定要求的: ...
- Redis调用lua生成验证码
场景: 通过微信公众号拿验证码在APP上绑定,为了防止重复,尝试使用reids-lua的方法实现此功能 以下是 php 调用 redis.eval 方法传入的 lua 方法,当然这只是修改后的,保 ...
- Web服务图片压缩,nginx+lua生成缩略图
背景 目前而言,用移动端访问Web站点的用户越来越多,图片对流量的消耗是比较大的,之前一个用户用我们网站的app浏览的时候,2个小时耗去了2个G的流量,这是个很严重的问题,需要对图片进行压缩,减少对用 ...
- Lua生成Guid(uuid)
全局唯一标识符(GUID,Globally Unique Identifier)也称作 UUID(Universally Unique IDentifier) .GUID是一种由算法生成的二进制长度为 ...
- lua生成UUID
百度云盘地址: https://pan.baidu.com/s/1zo__vSeDGaHOvCJLyzHwvA GitHub地址: https://github.com/bungle/lua-rest ...
- 初次使用Python脚本,proto协议文件转Lua代码
使用IntelliJ IDEA编辑器编写Lua脚本的时候,安装一个插件 "EmmyLua" 可以对有代码提示功能 想把protoBuf协议文件转成Lua代码,然后给出代码提示 第一 ...
- #Lua:Lua调用C++生成的DLL库
Lua调用C++生成的DLL库 本文参考了某大佬的博客,写得十分详细,推荐!!! 需求: 在之前的求解器中添加了Lua库,使得程序可以在Lua脚本中实现自定义函数功能,考虑到未来可能需要与第三方程序库 ...
- lua解析脚本过程中的关键数据结构介绍
在这一篇文章中我先来介绍一下lua解析一个脚本文件时要用到的一些关键的数据结构,为将来的一系列代码分析打下一个良好的基础.在整个过程中,比较重要的几个源码文件分别是:llex.h,lparse.h.l ...
随机推荐
- 033 关于YARN的HA
一:准备 1.规划 namenode namenode ZKFC ZKFC journalnode journalnode jou ...
- 【Java并发核心五】Future 和 Callable
默认情况下,线程Thread对象不具有返回值的功能,如果在需要取得返回值的情况下会极为不方便.jdk1.5中可以使用Future 和 Callable 来获取线程返回值. Callable 可以 看成 ...
- 潭州课堂25班:Ph201805201 WEB 之 CSS 第三课 (课堂笔记)
在 CSS 中第个标签都可以认为是个盒子,盒子就有以下几层 边框 border border-top: 5px solid black; /*上边框 实线*/ border-right: 3px do ...
- [HackerRank]Choosing White Balls
[HackerRank]Choosing White Balls 题目大意: 有\(n(n\le30)\)个球排成一行,每个球的颜色为黑或白. 执行\(k\)次操作,第\(i\)次操作形式如下: 从\ ...
- 一款功能强悍的web磁盘管理工具 (A powerful web disk management tools)
https://github.com/kingAnyWHere/web-ftp web-ftp 一款功能强悍的web磁盘管理工具 (A powerful web disk management too ...
- java学习手册
http://www.runoob.com/java/java-environment-setup.html
- java字符串反转
1.递归反转 public static String reverseString(String x) { if (x == null || x.length() < 2) return x; ...
- Hbase多版本的读写(Shell&Java API版)
Hbase是基于HDFS的NOsql数据库,它很多地方跟数据库差不多,也有很多不同的地方.这里就不一一列举了,不过Hbase有个版本控制的特性,这个特性在很多场景下都会发挥很大的作用.本篇就介绍下基于 ...
- System.currentTimeMillis()方法
用途一:计算某任务 耗费的毫秒 用途二:获得当前的系统时间 用途三:用当前毫秒数给文件命名等 其他用途:比如随机数的种子数等 示例: package currenttimemillis方法; impo ...
- 机器学习笔记(2):线性回归-使用gluon
代码来自:https://zh.gluon.ai/chapter_supervised-learning/linear-regression-gluon.html from mxnet import ...