0%

服务端接口api对象

api控制接口,从服务器入口模块ServerMain.lua的sf_start参数中获得

  1. api.log(…) -> 服务器输出日志封装,请不要用print,
  2. api.send(member,data,index) -> 给单个玩家对象下发数据,member是收数据的用户对象表,data是table数据,index是座位数组索引,表示谁发出的数据,0表示服务器发送
  3. api.broadcastDesk(data, index) -> 只广播到桌面玩家,参数参考send
  4. api.broadcast(data, index) -> 广播到房间所有人,包括旁观的,参数参考send
  5. api.broadcastLooker(data, index) -> 广播到房间旁观用户,不包括坐下的,参数参考send
  6. api.timeout(ti, func) -> 计时器,t单位秒,支持小数,func回调方法,return返回取消该定时器的function
  7. api.time() -> 返回以秒为单位(精度为小数点后两位)的 UTC 时间,UTC时间和北京时间差了8个小时。
  8. api.over() -> 调用后游戏结束,桌面玩家可以站起。
  9. api.loadData(member) -> 从数据库加载玩家该游戏的游戏数据,参数member,玩家对象表,return返回该玩家在数据库中的数据表。
  10. api.saveData(member,mdata,replaced) -> 更新玩家的该游戏数据,member游戏玩家对象表,mdata要更新的玩家数据,必须是key=>value的对象,例如{score=100,title=”头衔牌胜”}, 此接口默认是更新接口,弱mdata中没有的key=>value数据,不会清空原有数据。 弱要清空未用到的key=>value数据,第三个参数replaced设置成true,表明替换原有数据,这个时候的mdata必须是你游戏数据的完整数据表,没有key的原先数据库中的key=>value数据都会丢失,默认replaced参数可以省略,表示默认更新。
  11. api.decreaseGold(member,gold) -> 扣除该玩家的金币;参数member是玩家对象;参数gold是一个正整数,必须传入扣除的金币数;return返回number,0表示成功,1表示参数错误,2表示必须是正整数,3表示金币不够。
  12. api.decreaseTicket(member,key,n) -> 扣除该玩家的该游戏的券。参数member是玩家对象;key是开发者自定义的字符串,例如入场券”ticket”、开场券”open”、奖品券”prize”等;参数n是一个正整数,表示扣除多少券,留空默认为1;return返回number,0表示成功,1表示参数错误,2表示必须是正整数,3表示券不够。