雪暴新型娃娃机 线上线下结合版本串口协议 - xuebaodev/wawaji GitHub Wiki

雪暴公司新型娃娃机线上线下娃娃机介绍:这是一种网络娃娃机和实体娃娃机结合的新型机器,方便商家一机多用,既可以通过网络摄像头接入自身app平台进行远程抓娃娃,也可以现场投币操作娃娃机抓娃娃,同时上分方式灵活,可以通过投币器投入硬币,也可以扫码支付,也可以通过特定平台的虚拟币给该娃娃机上分开始游戏,实现了一机多玩法,资源多重整合,您只需要买一台娃娃机,就可以实现网络抓娃娃,和实体抓娃娃的功能。这极大的提高了产品的竞争力和寿命,同时因为商家不必再购买多种类型的娃娃机,有效降低了运营成本。以下是线上线下抓娃娃机的特有协议: 适用于雪暴娃娃机2018版

此部分为线上特有命令。传统网络娃娃机 详见

串口版API指令文档

11.[指令]线上投币给娃娃机命令

Buff[]={0XFE,pid/256,pid%256,~ Buff[0],~ Buff[1],~ Buff[2],(Length=0x0B),0x50,num1,num2, [校验位1]} 投币数=num1*256+num2

12.[指令]读取线下未上传投币数和线下未上传抓到的礼品数

Buff[]={0XFE,pid/256,pid%256,~ Buff[0],~ Buff[1],~ Buff[2],(Length=0x0e),0x51,num1,num2, num3, num4, num5, [校验位1]} Num1表示是否清0,

  • Num2*256+num3表示要清0的投币数
  • Num4*256+num5表示要清0的礼品数 娃娃机返回 Buff[]={0XFE,pid/256,pid%256,~ Buff[0],~ Buff[1],~ Buff[2],(Length=0x0d),0x51,num1,num2, num3, num4, [校验位1]}
  • Num1*256+num2表示未上传的线下投币数
  • Num3*256+num3表示未上传的线下抓到的礼品数

操作方法:服务器定时读取娃娃机的数据获取线下抓到的礼品数和投币数

13.[指令]读取娃娃机参数

Buff[]={0XFE,pid/256,pid%256,~ Buff[0],~ Buff[1],~ Buff[2],(Length=0x18),0x52,num1,num2, num3, num4, num5,…… [校验位1]}

  • Num1等0时,仅仅表示读取参数,等于1时表示修改参数,后面的参数作为娃娃机要修改的参数,
  • Num2:最少几币一玩
  • Num3:游戏时间
  • Num4:抓起爪力
  • Num5:到顶爪力
  • Num6:移动爪力
  • Num7:出奖时全程爪力
  • Num8*256+num9:礼品级数
  • Num10:前后电机速度
  • Num11:左右电机速度
  • Num12:上下电机速度
  • Num13*256+num14:最多币一玩
  • Num15*256+num16:购买礼品价格 娃娃机返回: Buff[]={0XFE,pid/256,pid%256,~ Buff[0],~ Buff[1],~ Buff[2],(Length=0x17),0x52,num1,num2, num3, num4, num5,…… [校验位1]}
  • Num1:最少几币一玩
  • Num2:游戏时间
  • Num3:抓起爪力
  • Num4:到顶爪力
  • Num5:移动爪力
  • Num6:出奖时全程爪力
  • Num7*256+num8:礼品级数
  • Num9:前后电机速度
  • Num10:左右电机速度
  • Num11:上下电机速度
  • Num12*256+num13:最多币一玩
  • Num14*256+num15:购买礼品价格

14.[指令]读取娃娃机帐目

Buff[]={0XFE,pid/256,pid%256,~ Buff[0],~ Buff[1],~ Buff[2],(Length=0x0a),0x53,num1,[校验位1]}

  • Num1等0时,仅仅表示读取参数,等于1时表示帐目清0

娃娃机返回 Buff[]={0XFE,pid/256,pid%256,~ Buff[0],~ Buff[1],~ Buff[2],(Length=0x19),0x53,num1,num2,num3,num4,num5,num6,num7,num8,num9,num10,num11,num12,num13,num14,num15,num16,num17,[校验位1]}

  • Num1:为0表示不清0,为了时表示清0
  • Num2>>24+num3>>16+num4>>8+num5:表示总投币数 实际读取代码为 int a = (num2<<24) + (num3<<16) + (num4<<8) + num5
  • Num6>>24+num7>>16+num8>>8+num9:表示总出礼品数
  • Num10>>24+num11>>16+num12>>8+num13:表示线上投币
  • Num14>>24+num15>>16+num16>>8+num17:表示线下投币