ProtocolGameServer.js 51 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178
  1. var Global = require("Global");
  2. cc.Class({
  3. extends: cc.Component,
  4. properties: {
  5. },
  6. statics: {
  7. //controller
  8. MDM_GR_CONTROL: 300, //控制命令
  9. SUB_GR_CONTROLUSER: 1, //控制用户
  10. SUB_GR_CONTROLSTOCK: 2, //控制库存
  11. SUB_GR_C_CONTROLUSER_REFRESH: 3, ////刷新用户信息 这个是请求刷新 返回的是 SUB_GR_CONTROLUSER_NOTIFY
  12. SUB_GR_CONTROLUSER_SUCCEED: 100, //控制成功
  13. SUB_GR_STOCKINFO: 200, //更新库存
  14. SUB_GR_CONTROLUSER_REFRESH: 101, //刷新数据
  15. SUB_GR_CONTROLUSER_NOTIFY: 102, //刷新用户信息
  16. //控制用户 SUB_GR_CONTROLUSER
  17. CMD_C_ControlUserInfo : {
  18. data:function(){
  19. var data = {
  20. dwUserID:0, //DWORD 用户ID
  21. lControlCode:0, //INT 控制码
  22. lControlScore:0, //INT 控制赢分
  23. };
  24. return data;
  25. },
  26. },
  27. //SUB_GR_CONTROLUSER_SUCCEED
  28. CMD_S_ControlUserSucceed : {
  29. data:function(){
  30. var data = {
  31. dwUserID:0, //DWORD 用户ID
  32. lControlCode:0, //INT 控制码
  33. lControlScore:0, //SCORE 控制赢分
  34. lCurWinScore:0, //SCORE 当前赢分
  35. };
  36. return data;
  37. },
  38. },
  39. //SUB_GR_CONTROLSTOCK
  40. CMD_C_StockData: {
  41. data:function(){
  42. var data = {
  43. lStock:[], //SCORE:[8] 库存集 0:小鱼库存 1:大鱼库存
  44. };
  45. return data;
  46. },
  47. },
  48. //SUB_GR_STOCKINFO
  49. CMD_S_StockData: {
  50. data:function(){
  51. var data = {
  52. lStock:[], //SCORE:[8] 库存集 0:小鱼库存 1:大鱼库存
  53. };
  54. return data;
  55. },
  56. },
  57. //SUB_GR_CONTROLUSER_REFRESH
  58. CMD_S_ControlUserNotify: {
  59. data:function(){
  60. var data = {
  61. dwUserID:0, //DWORD: 用户 I D
  62. lScore:0, //SCORE: 当前金币
  63. lCurWinScore:0, //SCORE: 本局输赢金币
  64. lHisWinScore:0, //SCORE: 历史输赢金币,3
  65. lConHisScore:0, //SCORE: 历史控制分,4
  66. iControlCode:0, //INT: 控制码,0
  67. lControlScore:0, //SCORE: 控制赢分,1
  68. lControlWinScore:0, //SCORE: 当前控制输赢金币,2
  69. strNickName:"", //string: 玩家昵称
  70. };
  71. return data;
  72. },
  73. },
  74. //SUB_GR_CONTROLUSER_NOTIFY
  75. CMD_S_LKPY_Control : {
  76. data:function(){
  77. var data = {
  78. dwUserID:0, //DWORD 用户ID
  79. EnterScore:0, //LONGLONG 入场金币
  80. lNewScore:0, //SCORE 最新金币
  81. lControlCode:0, //INT 控制码
  82. lControlScore:0, //SCORE 控制赢分
  83. lCurWinScore:0, //SCORE 当前赢分
  84. };
  85. return data;
  86. },
  87. },
  88. ///////////////////////
  89. MDM_CM_SYSTEM: 1000, //系统命令
  90. SUB_CM_SYSTEM_MESSAGE: 1, //系统消息
  91. SUB_CM_ACTION_MESSAGE: 2, //动作消息
  92. SUB_CM_DOWN_LOAD_MODULE: 3, //下载消息
  93. SMT_CHAT: 0x0001, //聊天消息
  94. SMT_EJECT: 0x0002, //弹出消息
  95. SMT_GLOBAL: 0x0004, //全局消息
  96. SMT_PROMPT: 0x0008, //提示消息
  97. SMT_TABLE_ROLL: 0x0010, //滚动消息
  98. SMT_CLOSE_ROOM: 0x0100, //关闭房间
  99. SMT_CLOSE_GAME: 0x0200, //关闭游戏
  100. SMT_CLOSE_LINK: 0x0400, //中断连接
  101. SMT_KICK_ROOM: 0x0800, //分数低于踢出房间
  102. SMT_UPGRADE_ROOM: 0x1000, //分数高于升级房间
  103. SMT_PRO_ROOM: 0x2000, //分数高于房间提示 (不踢人)
  104. CMD_CM_SystemMessage: {
  105. Type:0, //word 消息类型
  106. Length:0, //word 消息长度
  107. String:"", //char 消息内容
  108. },
  109. //登录命令
  110. MDM_GR_LOGON: 1, //登录命令
  111. SUB_GR_LOGON_USERID: 1, //I D 登录
  112. SUB_GR_LOGON_MOBILE: 2, //手机登录
  113. SUB_GR_LOGON_ACCOUNTS: 3, //帐户登录
  114. SUB_GR_LOGON_SUCCESS: 100, //登录成功
  115. SUB_GR_LOGON_FAILURE: 101, //登录失败
  116. SUB_GR_LOGON_FINISH: 102, //登录完成
  117. SUB_GR_UPDATE_NOTIFY: 200, //升级提示
  118. //升级提示
  119. CMD_GR_UpdateNotify : {
  120. data:function(){
  121. var data = {
  122. MustUpdatePlaza:0, //byte 强行升级
  123. MustUpdateClient:0, //byte 强行升级
  124. AdviceUpdateClient:0, //byte 建议升级
  125. CurrentPlazaVersion:0, //dword 当前版本
  126. CurrentFrameVersion:0, //dword 当前版本
  127. CurrentClientVersion:0, //dword 当前版本
  128. DownLoadHttp:"", //char 描述消息
  129. };
  130. return data;
  131. },
  132. },
  133. //房间 ID 登录
  134. CMD_GR_LogonUserID : {
  135. data:function(){
  136. var data = {
  137. PlazaVersion:0, //dword 广场版本
  138. FrameVersion:0, //dword 框架版本
  139. ProcessVersion:0, //dword 进程版本
  140. UserID:0, //dword 用户 I D
  141. Password:"", //char:LEN_MD5 登录密码
  142. MachineID:"", //char:LEN_MACHINE_ID 机器序列
  143. KindID:0, //word 类型索引
  144. };
  145. return data;
  146. },
  147. },
  148. //登录成功消息
  149. CMD_GR_LogonSuccess : {
  150. data:function(){
  151. var data = {
  152. UserRight:0, //dword 用户权限
  153. MasterRight:0, //dword 管理权限
  154. };
  155. return data;
  156. },
  157. },
  158. //登录失败
  159. CMD_GR_LogonError : {
  160. data:function(){
  161. var data = {
  162. ErrorCode:0, //unsigned int 错误代码
  163. ErrorDescribe:"", //char 错误消息
  164. };
  165. return data;
  166. },
  167. },
  168. MDM_GR_CONFIG: 2, //配置信息
  169. SUB_GR_CONFIG_COLUMN: 100, //列表配置
  170. SUB_GR_CONFIG_SERVER: 101, //房间配置
  171. SUB_GR_CONFIG_PROPERTY: 102, //道具配置
  172. SUB_GR_CONFIG_FINISH: 103, //配置完成
  173. SUB_GR_CONFIG_USER_RIGHT: 104, //玩家权限
  174. //列表子项
  175. tagColumnItem : {
  176. data:function(){
  177. var data = {
  178. ColumnWidth:0, //byte 列表宽度
  179. DataDescribe:0, //byte 字段类型
  180. ColumnName:"", //char:16 列表名字
  181. };
  182. return data;
  183. },
  184. },
  185. //列表配置
  186. CMD_GR_ConfigColumn : {
  187. data:function(){
  188. var data = {
  189. ColumnCount:0, //byte 列表数目
  190. ColumnItem:[], //tagColumnItem:MAX_COLUMN 列表描述
  191. };
  192. return data;
  193. },
  194. },
  195. //房间配置
  196. CMD_GR_ConfigServer : {
  197. data:function(){
  198. var data = {
  199. TableCount:0, //word 桌子数目
  200. ChairCount:0, //word 椅子数目
  201. ServerType:0, //word 房间类型
  202. ServerRule:0, //dword 房间规则
  203. };
  204. return data;
  205. },
  206. },
  207. //道具信息
  208. tagPropertyInfo : {
  209. data:function(){
  210. var data = {
  211. Index:0, //word 道具标识
  212. Discount:0, //word 会员折扣
  213. IssueArea:0, //word 发布范围
  214. PropertyGold:0, //longlong 道具金豆
  215. PropertyCash:0, //double 道具价格
  216. SendLoveLiness:0, //longlong 赠送魅力
  217. RecvLoveLiness:0, //longlong 接受魅力
  218. };
  219. return data;
  220. },
  221. },
  222. //道具配置
  223. CMD_GR_ConfigProperty : {
  224. data:function(){
  225. var data = {
  226. PropertyCount:0, //byte 道具数目
  227. PropertyInfo:[], //tagPropertyInfo:MAX_PROPERTY 道具描述
  228. };
  229. return data;
  230. },
  231. },
  232. //玩家权限
  233. CMD_GR_ConfigUserRight : {
  234. data:function(){
  235. var data = {
  236. UserRight:0, //dword 玩家权限
  237. };
  238. return data;
  239. },
  240. },
  241. MDM_GR_USER:3, //用户信息
  242. SUB_GR_USER_RULE: 1, //用户规则
  243. SUB_GR_USER_LOOKON: 2, //旁观请求
  244. SUB_GR_USER_SITDOWN: 3, //坐下请求
  245. SUB_GR_USER_STANDUP: 4, //起立请求
  246. SUB_GR_USER_INVITE: 5, //用户邀请
  247. SUB_GR_USER_INVITE_REQ: 6, //邀请请求
  248. SUB_GR_USER_REPULSE_SIT: 7, //拒绝玩家坐下
  249. SUB_GR_USER_KICK_USER: 8 , //踢出用户
  250. SUB_GR_USER_INFO_REQ: 9 , //请求用户信息
  251. SUB_GR_USER_CHAIR_REQ: 10, //请求更换位置
  252. SUB_GR_USER_CHAIR_INFO_REQ: 11, //请求椅子用户信息
  253. SUB_GR_USER_CREATE_BALCONY: 12, //金豆场创建包厢
  254. SUB_GR_USER_JOIN_BALCONY: 13, //金豆场加入包厢
  255. SUB_GR_USER_DIS_BALCONY: 14, //解散金币场包厢
  256. SUB_GR_USER_DIS_BALCONY_BACK: 15, //解散金币场包厢返回
  257. SUB_GR_USER_ENTER: 100, //用户进入
  258. SUB_GR_USER_SCORE: 101, //用户分数
  259. SUB_GR_USER_STATUS: 102, //用户状态
  260. SUB_GR_SIT_FAILED: 103, //请求失败
  261. SUB_GR_USER_LEAVE: 106, //用户离开
  262. SUB_GR_USER_CHAT: 201, //聊天消息
  263. SUB_GR_USER_EXPRESSION: 202, //表情消息
  264. SUB_GR_WISPER_CHAT: 203, //私聊消息
  265. SUB_GR_WISPER_EXPRESSION: 204, //私聊表情
  266. SUB_GR_COLLOQUY_CHAT: 205, //会话消息
  267. SUB_GR_COLLOQUY_EXPRESSION: 206, //会话表情
  268. SUB_GR_USER_GPS: 207, //GPS
  269. SUB_GR_USER_SHARE_ADD_GOLD: 208, //分享获取金豆数
  270. SUB_GR_USER_SHARE_ADD_GOLD_BACK:209, //分享获取金豆数返回
  271. SUB_GR_USER_MATCH_LIST: 210, //请求匹配
  272. SUB_GR_USER_MATCH_LIST_BACK: 211, //请求匹配返回
  273. SUB_GR_GET_MATCH_SYSTIME: 312, //服务器当前时间
  274. SUB_GR_GET_ALL_TABLE_INFO: 313, //获取桌子信息(每桌玩家和玩家信息)
  275. SUB_GR_GET_ALL_TABLE_INFO_BALCONY: 314, //包厢场获取桌子列表
  276. SUB_GR_BIG_SCORE_TIP: 315, //大金豆提示
  277. SUB_GR_RED_ENVELOPE: 316, //红包消息
  278. SUB_GA_TASK_GET_REWARD_SHOW: 510, //获取奖励
  279. SUB_GR_TASK_RECEIVE_TASK: 504, //获取任务奖励并且获取新任务
  280. SUB_GA_TASK_EXCHANGE: 511, //兑换
  281. SUB_GR_GAME_BETINFO_SYNC: 520, //进入游戏同步信息
  282. SUB_GF_USER_GAME_BET_INFO: 521, //玩家返水信息
  283. SUB_GR_RUN_HORSE_MESSAGE: 530, //跑马灯
  284. //起立请求
  285. CMD_GR_UserStandUp : {
  286. data:function(){
  287. var data = {
  288. TableID:0, //word 桌子位置
  289. ChairID:0, //word 椅子位置
  290. ForceLeave:0, //byte 强行离开
  291. };
  292. return data;
  293. },
  294. },
  295. //创建金豆场包厢请求
  296. CMD_GR_UserCreateRoom : {
  297. data:function(){
  298. var data = {
  299. bGameTypeIdex:0, //BYTE 游戏类型
  300. bGameRuleIdex:0, //DWORD 游戏规则
  301. lScore:0, //LONGLONG 输赢分数
  302. };
  303. return data;
  304. },
  305. },
  306. //加入金豆场包厢请求
  307. CMD_GR_UserJoinRoom : {
  308. data:function(){
  309. var data = {
  310. dwRoomNum:0, //DWORD 房间ID
  311. };
  312. return data;
  313. },
  314. },
  315. //用户积分
  316. tagUserScore : {
  317. data:function(){
  318. var data = {
  319. Score:0, //long long 用户分数
  320. Grade:0, //long long 用户成绩
  321. Insure:0, //long long 用户银行
  322. WinCount:0, //dword 胜利盘数
  323. LostCount:0, //dword 失败盘数
  324. DrawCount:0, //dword 和局盘数
  325. FleeCount:0, //dword 逃跑盘数
  326. UserMedal:0, //dword 用户奖牌
  327. Experience:0, //dword 用户经验
  328. LoveLiness:0, //unsigned int 用户魅力
  329. };
  330. return data;
  331. },
  332. },
  333. //用户分数
  334. CMD_GR_UserScore : {
  335. data:function(){
  336. var data = {
  337. UserID:0, //word 用户标识
  338. UserScore:0, //tagUserScore 积分信息
  339. };
  340. return data;
  341. },
  342. },
  343. //请求坐下
  344. CMD_GR_UserSitDown : {
  345. data:function(){
  346. var data = {
  347. TableID:0, //word 用户标识
  348. ChairID:0, //word 椅子位置
  349. TablePass:"", //char:PASS_LEN 桌子密码
  350. };
  351. return data;
  352. },
  353. },
  354. //用户状态
  355. tagUserStatus : {
  356. data:function(){
  357. var data = {
  358. TableID:0, //word 桌子索引
  359. ChairID:0, //word 椅子位置
  360. UserStatus:0, //byte 用户状态
  361. };
  362. return data;
  363. },
  364. },
  365. //用户状态
  366. CMD_GR_UserStatus : {
  367. data:function(){
  368. var data = {
  369. UserID:0, //dword 用户标识
  370. UserStatus:0, //tagUserStatus 用户状态
  371. };
  372. return data;
  373. },
  374. },
  375. //用户基本信息结构
  376. tagUserInfoHead : {
  377. data:function(){
  378. var data = {
  379. GameID:0, //dword 游戏 I D
  380. UserID:0, //dword 用户 I D
  381. GroupID:0, //dword 社团 I D
  382. FaceID:0, //word 头像索引
  383. CustomID:0, //dword 自定标识
  384. Gender:0, //byte 用户性别
  385. MemberOrder:0, //byte 会员等级
  386. MasterOrder:0, //byte 管理等级
  387. TableID:0, //word 桌子索引
  388. ChairID:0, //word 椅子索引
  389. UserStatus:0, //byte 用户状态
  390. Score:0, //longlong 用户分数
  391. Grade:0, //longlong 用户成绩
  392. Insure:0, //longlong 用户银行
  393. WinCount:0, //dword 胜利盘数
  394. LostCount:0, //dword 失败盘数
  395. DrawCount:0, //dword 和局盘数
  396. FleeCount:0, //dword 逃跑盘数
  397. UserMedal:0, //dword 用户奖牌
  398. Experience:0, //dword 用户经验
  399. LoveLiness:0, //unsigned int 用户魅力
  400. };
  401. return data;
  402. },
  403. },
  404. IPC_GF_UserInfo : {
  405. data:function(){
  406. var data = {
  407. Companion:0, //dword 用户关系
  408. UserInfoHead:0, //tagUserInfoHead 用户信息
  409. };
  410. return data;
  411. },
  412. },
  413. //请求失败
  414. CMD_GR_RequestFailure : {
  415. data:function(){
  416. var data = {
  417. ErrorCode:0, //unsigned int 错误代码
  418. DescribeString:0, //char:256 描述信息
  419. };
  420. return data;
  421. },
  422. },
  423. CMD_GR_BalconyInfo: {
  424. data:function(){
  425. var data = {
  426. dwRoomNum:0, //DWORD
  427. bGameTypeIdex:0, //BYTE 游戏类型
  428. bGameRuleIdex:0, //DWORD 游戏规则
  429. lScore:0, //LONGLONG 输赢分数
  430. };
  431. return data;
  432. },
  433. },
  434. //GPS
  435. CMD_GR_UserGpsReq: {
  436. data:function(){
  437. var data = {
  438. wTableID:0, //word 桌子位置
  439. kGps:0, //string GPS信息
  440. };
  441. return data;
  442. },
  443. },
  444. CMD_GR_UserGpsRes: {
  445. data:function(){
  446. var data = {
  447. vUserGps:[], //GAME_PLAYER
  448. };
  449. return data;
  450. },
  451. StreamValue:function(kData, data){
  452. data.wChair = Global.GetUint16(kData);
  453. data.kGps = Global.Read2String(kData);
  454. },
  455. },
  456. //请求更换位置
  457. CMD_GR_ChairUserInfoReq: {
  458. data:function(){
  459. var data = {
  460. wTableID:0, //WORD 桌子位置
  461. wChairID:0, //WORD 椅子位置
  462. };
  463. return data;
  464. },
  465. },
  466. //获取桌子信息(每桌玩家和玩家信息) SUB_GR_GET_ALL_TABLE_INFO
  467. TableUserItem: {
  468. data:function(){
  469. var data = {
  470. iTableID:0, //DWORD 桌子位置
  471. iChairID:0, //DWORD 椅子位置
  472. szNickName:"", //string 用户昵称
  473. iUserID:0, //DWORD 玩家ID
  474. sHeadHttp:"", //string 玩家头像
  475. };
  476. return data;
  477. },
  478. },
  479. CMD_GR_AllTableInfo: {
  480. data:function(){
  481. var data = {
  482. iTableCount:0, //DWORD 总桌子数
  483. iPlayerCount:0, //DWORD 每桌玩家数
  484. v_TableUsers:[], //TableUserItem
  485. };
  486. return data;
  487. },
  488. },
  489. //包厢场获取桌子列表 SUB_GR_GET_ALL_TABLE_INFO_BALCONY
  490. TableInfoBalcony: {
  491. data:function(){
  492. var data = {
  493. nRoomNum:0, //int 房间号
  494. nPlayerCount:0, //int 椅子位置
  495. lEnterScore:"", //LONGLONG 入场分数
  496. lEnterScore:0, //LONGLONG 离场分数
  497. lCellScore:"", //LONGLONG 底分
  498. dwGameRuleIdex:0, //DWORD 游戏规则
  499. };
  500. return data;
  501. },
  502. },
  503. CMD_GR_AllTableInfoBalcony: {
  504. data:function(){
  505. var data = {
  506. v_TableInfo:[], //TableInfoBalcony
  507. };
  508. return data;
  509. },
  510. },
  511. //道具命令
  512. SUB_GR_PROPERTY_BUY: 300, //购买道具
  513. SUB_GR_USE_PROP_RESP: 301, //更新道具及相关货币数值
  514. SUB_GR_PROPERTY_FAILURE: 302, //道具失败
  515. SUB_GR_PROPERTY_MESSAGE: 303, //道具消息
  516. SUB_GR_PROPERTY_EFFECT: 304, //道具效应
  517. SUB_GR_PROPERTY_TRUMPET: 305, //喇叭消息
  518. SUB_GR_GAME_PROTECT_BACK: 306, //低保信息
  519. SUB_GR_USER_BALCONY_INFO: 307, //金豆场包厢信息
  520. SUB_GR_BALCONY_NOTIFY: 308, //金豆场包厢通知协议
  521. SUB_GR_EXPRESSION_NOTIFY: 309, //魔法表情通知
  522. SUB_GR_GLAD_MESSAGE: 400, //喜报消息
  523. CMD_GR_C_UseProp: {
  524. data:function() {
  525. var data = {
  526. dwPropID:0, //word //道具ID
  527. dwPropNum:0, //word //道具数量
  528. dwTargetUserID:0, //word //使用对象
  529. };
  530. return data;
  531. },
  532. makeData:function(data) {
  533. var arrayBuffer = new ArrayBuffer(12 + 8);
  534. var dv = new DataView(arrayBuffer);
  535. dv.pos = 8;
  536. Global.SetUint32(dv, data.dwPropID);
  537. Global.SetUint32(dv, data.dwPropNum);
  538. Global.SetUint32(dv, data.dwTargetUserID);
  539. return dv;
  540. },
  541. },
  542. CMD_GR_C_UseProp_Resp: {
  543. data:function() {
  544. var data = {
  545. dwPropID:0, //word //道具ID
  546. dwPropNum:0, //word //剩余道具数量
  547. dwCurrency:0, //word //货币:1-金豆,2-鲜花饼,4-七彩石
  548. dwPrice:0, //word //扣除的货币数值
  549. };
  550. return data;
  551. },
  552. analyzeData:function(dataview) {
  553. dataview.pos = 0;
  554. var kNetInfo = {};
  555. kNetInfo.dwPropID = Global.GetUint32(dataview);
  556. kNetInfo.dwPropNum = Global.GetUint32(dataview);
  557. kNetInfo.dwCurrency = Global.GetUint32(dataview);
  558. kNetInfo.dwPrice = Global.GetUint32(dataview);
  559. return kNetInfo;
  560. },
  561. },
  562. CMD_GR_PropertyFailure: {
  563. data:function() {
  564. var data = {
  565. dwPropID:0, //word //道具ID
  566. dwPropNum:0, //word //剩余道具数量
  567. dwSourceUserID:0, //word //目标对象
  568. dwTargetUserID:0, //word //使用对象
  569. };
  570. return data;
  571. },
  572. analyzeData:function(dataview) {
  573. dataview.pos = 0;
  574. var kNetInfo = {};
  575. kNetInfo.lErrorCode = Global.GetUint32(dataview); //错误代码
  576. kNetInfo.szDescribeString = Global.Read2String(dataview); //描述信息
  577. return kNetInfo;
  578. },
  579. },
  580. CMD_GR_Notify_Expression: {
  581. data:function() {
  582. var data = {
  583. dwPropID:0, //word //道具ID
  584. dwPropNum:0, //word //剩余道具数量
  585. dwSourceUserID:0, //word //目标对象
  586. dwTargetUserID:0, //word //使用对象
  587. };
  588. return data;
  589. },
  590. analyzeData:function(dataview) {
  591. dataview.pos = 0;
  592. var kNetInfo = {};
  593. kNetInfo.dwPropID = Global.GetUint32(dataview);
  594. kNetInfo.dwPropNum = Global.GetUint32(dataview);
  595. kNetInfo.dwSourceUserID = Global.GetUint32(dataview);
  596. kNetInfo.dwTargetUserID = Global.GetUint32(dataview);
  597. return kNetInfo;
  598. },
  599. },
  600. MDM_GR_STATUS: 4, //状态信息
  601. SUB_GR_TABLE_INFO: 100, //桌子信息
  602. SUB_GR_TABLE_STATUS: 101, //桌子状态
  603. CMD_GR_C_TableTalk: {
  604. TALK_TYPE:0,
  605. TYPE_WORD:1,
  606. TYPE_DEFINE:2,
  607. TYPE_BIAOQING:3,
  608. data:function(){
  609. var data = {
  610. Type:0, //byte 类型
  611. ChairID:0, //byte 座位
  612. String:"", //char:128 自定义
  613. TalkSize:0, //int
  614. TalkData:[], //char:10000 自定义
  615. };
  616. return data;
  617. },
  618. },
  619. CMD_GR_UserSitDown: {
  620. data:function(){
  621. var data = {
  622. TableID:0, //word 桌子位置
  623. ChairID:0, //word 椅子位置
  624. TablePass:[], //char:PASS_LEN 桌子密码
  625. };
  626. return data;
  627. },
  628. },
  629. //桌子状态
  630. tagTableStatus : {
  631. data:function(){
  632. var data = {
  633. TableLock:0, //byte 锁定标志
  634. PlayStatus:0, //byte 游戏标志
  635. };
  636. return data;
  637. },
  638. },
  639. //桌子信息
  640. CMD_GR_TableInfo : {
  641. data:function(){
  642. var data = {
  643. TableCount:0, //word 桌子数目
  644. TableStatusArray:0, //tagTableStatus:512 桌子状态
  645. };
  646. return data;
  647. },
  648. },
  649. //桌子状态
  650. CMD_GR_TableStatus : {
  651. data:function(){
  652. var data = {
  653. TableID:0, //word 桌子号码
  654. TableStatus:0, //tagTableStatus 桌子状态
  655. };
  656. return data;
  657. },
  658. },
  659. MDM_GR_INSURE: 5, //银行命令
  660. SUB_GR_QUERY_INSURE_INFO: 1, //查询银行
  661. SUB_GR_SAVE_SCORE_REQUEST: 2, //存款请求
  662. SUB_GR_TAKE_SCORE_REQUEST: 3, //取款请求
  663. SUB_GR_USER_SCORE_REFRESH: 6, //返水活动领取成功后发一个同步命令
  664. SUB_GR_USER_INSURE_INFO: 100, //银行资料
  665. SUB_GR_USER_INSURE_SUCCESS: 101, //银行成功
  666. SUB_GR_USER_INSURE_FAILURE: 102, //银行失败
  667. SUB_GF_QUERY_GAME_RECORD: 510, //游戏记录
  668. MDM_GR_MATCH:9, //比赛命令
  669. SUB_GR_MATCH_FEE: 400, //报名费用
  670. SUB_GR_MATCH_NUM: 401, //等待人数
  671. SUB_GR_LEAVE_MATCH: 402, //退出比赛
  672. SUB_GR_MATCH_INFO: 403, //比赛信息
  673. SUB_GR_MATCH_WAIT_TIP: 404, //等待提示
  674. SUB_GR_MATCH_RESULT: 405, //比赛结果
  675. SUB_GR_MATCH_STATUS: 406, //比赛状态
  676. SUB_GR_MATCH_GOLDUPDATE: 409, //金豆更新
  677. SUB_GR_MATCH_ELIMINATE: 410, //比赛淘汰
  678. SUB_GR_MATCH_JOIN_RESOULT: 411, //加入结果
  679. SUB_GR_MATCH_SIGNUP_RESOULT: 412, //报名结果
  680. SUB_GR_MATCH_UNSIGNUP_RESOULT: 413, //退赛结果
  681. SUB_GR_MATCH_OVER_INFO: 414, //单局比赛结果
  682. SUB_GR_MATCH_SCORE: 415, //用户比赛积分
  683. SUB_GR_MATCH_ROUNDS: 416, //比赛局数信息
  684. SUB_GR_MATCH_COUNTDOWN: 417, //比赛倒计时
  685. SUB_GR_MATCH_RANK: 418, //当前比赛排名
  686. SUB_GR_MATCH_OUT_SCORE: 419, //当前淘汰积分
  687. SUB_GR_MATCH_FISH_PARAM: 421, //捕鱼参数获取比赛参数
  688. SUB_GR_MATCH_FISH_OVER_INFO: 422, //单据比赛结果
  689. SUB_GR_MATCH_FISH_RANK_INFO: 423, //比赛排行信息
  690. SUB_GR_MATCH_FISH_RANK_ALL: 424, //捕鱼比赛总排行信息
  691. MDM_GR_PRIVATE:10, //私人场
  692. SUB_GR_PRIVATE_INFO: 401, //私人场信息
  693. SUB_GR_CREATE_PRIVATE: 402, //创建私人场
  694. SUB_GR_CREATE_PRIVATE_SUCESS: 403, //创建私人场成功
  695. SUB_GR_JOIN_PRIVATE: 404, //加入私人场
  696. SUB_GF_PRIVATE_ROOM_INFO: 405, //私人场房间信息
  697. SUB_GR_PRIVATE_DISMISS: 406, //私人场请求解散
  698. SUB_GF_PRIVATE_END: 407, //私人场结算
  699. SUB_GR_RIVATE_AGAIN: 408 , //创建私人场
  700. SUB_GR_PRIVATE_AGENT_CREATE: 409, //创建代开桌子
  701. SUB_GR_PRIVATE_AGENT_CREATE_SUCCESS:410, //创建代开桌子成功
  702. SUB_GR_PRIVATE_AGENT_DISMISS: 411, //解散代开桌子
  703. SUB_GR_PRIVATE_AGENT_DISMISS_SUCCESS:412, //解散代开桌子成功
  704. SUB_GR_JOIN_PRIVATE_DYNAMIC: 413, //加入私人场
  705. //牌友圈命令
  706. SUB_GR_CREATE_PYQ: 420, //创建彩云阁房间
  707. SUB_GR_CREATE_PYQ_SUCCESS: 421, //创建彩云阁房间成功
  708. SUB_GR_CREATE_PYQ_NEW: 422, //创建彩云阁房间成功
  709. SUB_GR_CREATE_JOIN_PYQ_NOTIFY: 423, //创建或加入彩云阁房间成功通知
  710. SUB_GR_JOIN_PYQ_NEW: 424, //加入彩云阁房间
  711. /*SUB_GR_JOIN_PYQ: 422, //加入彩云阁房间
  712. SUB_GR_LEAVE_PYQ: 423, //离开彩云阁房间
  713. SUB_GR_DISMISS_PYQ: 424,*/ //解散彩云阁房间
  714. //私人场信息
  715. CMD_GR_Private_Info : {
  716. data:function(){
  717. var data = {
  718. KindID:0, //word
  719. PlayCout:[], //word:4 玩家局数
  720. PlayCost:[], //long long:4 消耗点数
  721. CostGold:0, //long long
  722. PlayeCostRule:0, //dword 消耗规则
  723. ConcludeRule:0, //dword 结算规则
  724. };
  725. return data;
  726. },
  727. },
  728. RoomType : cc.Enum({
  729. Type_Private:0,
  730. Type_Public:1,
  731. Type_PYQ:2,
  732. }),
  733. BuildType : cc.Enum({
  734. Type_Build_Nomal:0, //0正常桌子
  735. Type_Build_DKF:1, //1代开桌子
  736. Type_Build_FZZF:2, //2-房主付桌子
  737. Type_Build_AA:3, //3-AA制桌子
  738. Type_Build_DYJ:4, //4-大赢家付
  739. Type_Build_PYQ:5, //5-彩云阁桌子
  740. }),
  741. //创建房间
  742. CMD_GR_Create_Private : {
  743. data:function(){
  744. var data = {
  745. GameType:0, //byte 游戏类型
  746. PlayCoutIdex:0, //byte 游戏局数
  747. GameTypeIdex:0, //byte 游戏类型
  748. GameRuleIdex:0, //dword 游戏规则
  749. HttpChannel:"", //char:LEN_NICKNAME http获取
  750. GameCountType:0, //byte 局数类型
  751. };
  752. return data;
  753. },
  754. },
  755. //创建房间成功
  756. CMD_GR_Create_Private_Sucess : {
  757. data:function(){
  758. var data = {
  759. CurSocre:0, //long long 当前剩余
  760. RoomNum:0, //dword 房间ID
  761. };
  762. return data;
  763. },
  764. },
  765. //加入房间
  766. CMD_GR_Join_Private : {
  767. data:function(){
  768. var data = {
  769. RoomNum:0, //dword 房间ID
  770. };
  771. return data;
  772. },
  773. },
  774. //动态加入私人场房间返回信息
  775. CMD_GR_Join_Private_Back : {
  776. data:function(){
  777. var data = {
  778. PlayCoutIdex:0, //byte 玩家局数
  779. GameTypeIdex:0, //byte 游戏类型
  780. GameRuleIdex:0, //dword 游戏规则
  781. StartGame:0, //byte 开始游戏
  782. PlayCout:0, //dword 游戏局数
  783. RoomNum:0, //dword 房间ID
  784. CreateUserID:0, //dword 创建者
  785. PlayTotal:0, //dword 总局数
  786. PlayCost:0, //dword 加入房间所需鲜花饼数量
  787. NickName:[], //std::string:n 玩家名称
  788. };
  789. return data;
  790. },
  791. },
  792. //私人场房间信息
  793. CMD_GF_Private_Room_Info : {
  794. data:function(){
  795. var data = {
  796. PlayCoutIdex:0, //byte 玩家局数0 1, 8 或者16局
  797. GameTypeIdex:0, //byte 游戏类型
  798. StartGame:0, //byte
  799. nuse:0, //byte 此变量无用,只为了字节对齐,因在iphone5和5s中release版本会保存
  800. GameRuleIdex:0, //dword 游戏规则
  801. PlayCout:0, //dword 游戏局数
  802. RoomNum:0, //dword
  803. CreateUserID:0, //dword
  804. PlayTotal:0, //dword 总局数
  805. WinLoseScore:[], //int:n
  806. //GameCountType:0, //byte 局数类型
  807. };
  808. return data;
  809. },
  810. },
  811. //解散房间
  812. CMD_GR_Dismiss_Private : {
  813. data:function(){
  814. var data = {
  815. Dismiss:0, //byte 解散
  816. };
  817. return data;
  818. },
  819. },
  820. //重新加入
  821. CMD_GR_Again_Private : {
  822. data:function(){
  823. var data = {
  824. HttpChannel:"", //char:LEN_NICKNAME
  825. };
  826. return data;
  827. },
  828. },
  829. //私人场解散信息
  830. CMD_GF_Private_Dismiss_Info : {
  831. data:function(){
  832. var data = {
  833. DissUserCout:0, //dword
  834. DissChairID:[], //dword:MAX_CHAIR-1
  835. Value1:0, //dword
  836. NotAgreeUserCout:0, //dword
  837. NotAgreeChairID:[], //dword:MAX_CHAIR-1
  838. Value2:0, //dword
  839. };
  840. return data;
  841. },
  842. },
  843. //解散代开房间
  844. CMD_GR_Private_Agent_Dismiss : {
  845. data:function(){
  846. var data = {
  847. Dismiss:0, //byte 解散
  848. RoomID:0, //dword 房间ID
  849. };
  850. return data;
  851. },
  852. },
  853. //解散代开房间
  854. CMD_GR_Private_Agent_Dismiss_Back : {
  855. data:function(){
  856. var data = {
  857. ResultCode:0, //dword 操作代码
  858. DescribeString:"", //char:128 消息
  859. InsureScore:0, //dword 鲜花饼数量
  860. Score:0, //dword 金豆数量
  861. CreaterUserID:0, //dword 创建者ID
  862. RoomID:0, //dword 房间ID
  863. };
  864. return data;
  865. },
  866. },
  867. //创建代开房间
  868. CMD_GR_Private_Agent_Create_Back : {
  869. data:function(){
  870. var data = {
  871. ResultCode:0, //dword 操作代码
  872. DescribeString:"", //char:128 消息
  873. InsureScore:0, //dword 鲜花饼数量
  874. Score:0, //dword 金豆数量
  875. CreaterUserID:0, //dword 创建者ID
  876. RoomID:0, //dword 房间ID
  877. };
  878. return data;
  879. },
  880. },
  881. //私人场结算信息
  882. CMD_GF_Private_End_Info : {
  883. data:function(){
  884. var data = {
  885. PlayerWinLose:[], //long long:n
  886. PlayerAction:[], //byte:n
  887. };
  888. return data;
  889. },
  890. },
  891. MDM_GF_FRAME: 100, //框架命
  892. SUB_GF_GAME_OPTION: 1, //游戏配置
  893. SUB_GF_USER_READY: 2, //用户准备
  894. SUB_GF_LOOKON_CONFIG: 3, //旁观配置
  895. SUB_GF_USER_CHAT: 10, //用户聊天
  896. SUB_GF_USER_EXPRESSION: 11, //用户表情
  897. SUB_GR_TABLE_TALK: 12, //用户聊天
  898. SUB_GR_TABLE_VOICE: 13, //语音聊天
  899. SUB_GF_REPLACE_ROOM: 400, //更换房间
  900. SUB_GF_UPDATE_UNIQUE_CODE: 401, //同步对局唯一id
  901. SUB_GF_GAME_RECORD_BACK: 511, //游戏记录 一条
  902. SUB_GF_QUERY_JACKPOT_RECORD: 512, //彩金记录
  903. SUB_GF_JACKPOT_RECORD_BACK: 513, //彩金记录返回
  904. //游戏配置
  905. CMD_GF_GameOption : {
  906. data:function(){
  907. var data = {
  908. AllowLookon:0, //byte 旁观标志
  909. FrameVersion:0, //dword 框架版本
  910. ClientVersion:0, //dword 游戏版本
  911. };
  912. return data;
  913. },
  914. },
  915. //语音聊天
  916. CMD_GR_TabelVoice: {//SUB_GR_TABLE_VOICE
  917. data: function() {
  918. var data = {
  919. ChairID: 0, //BYTE 椅子id
  920. SerVerID: "", //string 微信语音服务端下载id
  921. };
  922. return data;
  923. },
  924. },
  925. //更换房间
  926. CMD_GF_ReplaceRoom: {//SUB_GF_REPLACE_ROOM
  927. data: function() {
  928. var data = {
  929. cbReason: 0, //BYTE 0:低房间,1:高房间
  930. lScore:0, //LONGLONG 玩家积分(金豆)
  931. };
  932. return data;
  933. },
  934. },
  935. //彩云阁命令
  936. //创建彩云阁房间
  937. CMD_GR_CreatePyq : {
  938. data:function(){
  939. var data = {
  940. PyqID:0, //dword 彩云阁ID
  941. GameType:0, //dword 游戏类型
  942. PlayCoutIdex:0, //dword 游戏局数
  943. GameTypeIdex:0, //dword 游戏人数
  944. UserID:0, //dword 圈主ID
  945. GameRuleIdex:0, //dword 游戏规则
  946. HttpChannel:"", //char:LEN_NICKNAME http获取
  947. GameCountType:0, //byte 局数类型
  948. };
  949. return data;
  950. },
  951. },
  952. CMD_GR_CreatePyqNew : {
  953. data:function(){
  954. var data = {
  955. RuleID:0, //dword 玩法规则ID
  956. PyqID:0, //dword 彩云阁ID
  957. GameType:0, //dword 游戏类型
  958. PlayCoutIdex:0, //dword 游戏局数
  959. GameTypeIdex:0, //dword 游戏人数
  960. UserID:0, //dword 阁主ID
  961. GameRuleIdex:0, //dword 游戏规则
  962. HttpChannel:"", //char:LEN_NICKNAME http获取
  963. GameCountType:0, //byte 局数类型
  964. };
  965. return data;
  966. },
  967. },
  968. //加入彩云阁房间
  969. CMD_GR_JoinPyq : {
  970. data:function(){
  971. var data = {
  972. PyqID:0, //dword 彩云阁ID
  973. UserID:0, //dword 阁主ID
  974. RoomID:0, //dword 房间ID
  975. HttpChannel:"", //char:LEN_NICKNAME http获取
  976. };
  977. return data;
  978. },
  979. },
  980. //离开彩云阁房间
  981. CMD_GR_LeavePyq : {
  982. data:function(){
  983. var data = {
  984. PyqID:0, //dword 彩云阁ID
  985. MemberID:0, //dword 成员ID
  986. RoomID:0, //dword 房间ID
  987. HttpChannel:"", //char:LEN_NICKNAME http获取
  988. };
  989. return data;
  990. },
  991. },
  992. CMD_GR_DIsmissPyq : {
  993. data:function(){
  994. var data = {
  995. PyqID:0, //dword 彩云阁ID
  996. UserID:0, //dword 阁主ID
  997. RoomID:0, //dword 房间ID
  998. Dismiss:0, //byte 解散
  999. HttpChannel:"", //char:LEN_NICKNAME http获取
  1000. };
  1001. return data;
  1002. },
  1003. },
  1004. //游戏信息
  1005. SUB_GF_GAME_STATUS: 100, //游戏状态
  1006. SUB_GF_GAME_SCENE: 101, //游戏场景
  1007. SUB_GF_LOOKON_STATUS: 102, //旁观状态
  1008. SUB_GF_SYSTEM_MESSAGE: 200, //系统消息
  1009. SUB_GF_ACTION_MESSAGE: 201, //动作消息
  1010. //任务消息返回
  1011. SUB_GF_GAME_TASK_BACK: 300, //任务消息返回
  1012. SUB_GF_GAME_QUERYTASK_BACK: 301, //查询当前任务消息返回
  1013. SUB_GF_UPDATE_TASK: 303, //游戏更新任务
  1014. SUB_GF_GET_TASK_BONUS: 304, //游戏领取任务返回
  1015. MDM_GF_GAME:200, //游戏命令
  1016. //////////////////////////////////////////////////////////////////////////////////
  1017. //携带信息
  1018. //其他信息
  1019. DTP_GR_TABLE_PASSWORD: 1, //桌子密码
  1020. //用户属性
  1021. DTP_GR_NICK_NAME: 10, //用户昵称
  1022. DTP_GR_GROUP_NAME: 11, //社团名字
  1023. DTP_GR_UNDER_WRITE: 12, //个性签名
  1024. //附加信息
  1025. DTP_GR_USER_NOTE: 20, //用户备注
  1026. DTP_GR_CUSTOM_FACE: 21, //自定头像
  1027. //////////////////////////////////////////////////////////////////////////////////
  1028. //请求错误
  1029. REQUEST_FAILURE_NORMAL: 0, //常规原因
  1030. REQUEST_FAILURE_NOGOLD: 1, //金豆不足
  1031. REQUEST_FAILURE_NOSCORE: 2, //积分不足
  1032. REQUEST_FAILURE_PASSWORD: 3, //密码错误
  1033. REQUEST_FAILURE_SITDOWN:4 //坐下失败
  1034. },
  1035. start () {
  1036. },
  1037. });