赞 | 287 |
VIP | 11 |
好人卡 | 74 |
积分 | 226 |
经验 | 281171 |
最后登录 | 2024-11-16 |
在线时间 | 9415 小时 |
Lv5.捕梦者 (暗夜天使) 只有笨蛋才会看到
- 梦石
- 1
- 星屑
- 21631
- 在线时间
- 9415 小时
- 注册时间
- 2012-6-19
- 帖子
- 7118
|
- module M5WT20160919
- module_function
- def get
- url = "http://api.k780.com:88/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json"
- result = (Win32API.new("Urlmon", "URLDownloadToCacheFile", "ippiii", "i").
- (0,url,buf="\0"*1024,1024,0,0); open(buf.sub(/\0+$/){}, 'rb'){|p| p.read})
- result.match(/timestamp":"(.+?)"/) ? Time.at($1.to_i) : nil
- end
- end
复制代码
插入脚本,然后用 M5WT20160919.get 可以返回一个Time对象
几点说明:
1.API接口使用这个服务,每小时有配额限制,如果太多人在用或者用的太频繁的话要交钱才能用
http://www.k780.com/api/life.time
2.联网获取时间的方式为阻塞的,意思就是,如果玩家网络不好的话,游戏会卡住直到联网成功,
另外,即使网络好的话联网照样要时间,意思就是,你把这个东西扔到并行事件里面循环跑的话,游戏瞬间会卡到爆炸
3.获取数据异常时,该方法返回nil |
|