查看: 2275|回复: 8

[已经过期] 能不能别用系统时间判断

[复制链接]
梦石
0
星屑
50
在线时间
133 小时
注册时间
2016-4-28
回帖
137
发表于 2016-9-19 14:02:53 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
$game_variables[999] = Time.Internet.hour
$game_variables[998] = Time.Internet.min       能不能用Internet 来判断时间 做的防止修改的效果?

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2016-9-19 14:09:02 | 显示全部楼层
玩家无法联网或者联网失败时打算如何处理?

点评

這個昨天也想過 個人拙見 直接nill阻止相關的事件  发表于 2016-9-19 15:47
回复

使用道具 举报

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2016-9-19 16:19:03 | 显示全部楼层
  1. module M5WT20160919
  2.   module_function
  3.   def get
  4.     url = "http://api.k780.com:88/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json"
  5.     result = (Win32API.new("Urlmon", "URLDownloadToCacheFile", "ippiii", "i").
  6.     (0,url,buf="\0"*1024,1024,0,0); open(buf.sub(/\0+$/){}, 'rb'){|p| p.read})
  7.     result.match(/timestamp":"(.+?)"/) ? Time.at($1.to_i) : nil
  8.   end
  9. end
复制代码

插入脚本,然后用 M5WT20160919.get 可以返回一个Time对象

几点说明:
1.API接口使用这个服务,每小时有配额限制,如果太多人在用或者用的太频繁的话要交钱才能用
http://www.k780.com/api/life.time
2.联网获取时间的方式为阻塞的,意思就是,如果玩家网络不好的话,游戏会卡住直到联网成功,
另外,即使网络好的话联网照样要时间,意思就是,你把这个东西扔到并行事件里面循环跑的话,游戏瞬间会卡到爆炸
3.获取数据异常时,该方法返回nil
回复

使用道具 举报

梦石
0
星屑
644
在线时间
830 小时
注册时间
2016-7-24
回帖
644

开拓者

发表于 2016-9-19 16:32:07 | 显示全部楼层
本帖最后由 QQ蚊子湯 于 2016-9-19 16:33 编辑

fgagfa.jpg

沒有實測,不知道讀取的速度,不過像這樣加入等待時間 每隔一段時間才獲取時間應該行得通吧

順帶一提 上面應該不能ˊ直接套到變數 我隨便瞎扯的(X)
2016/07/17 加入RPG製作,勿忘初衷!
回复

使用道具 举报

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2016-9-19 16:38:12 | 显示全部楼层
本帖最后由 喵呜喵5 于 2016-9-19 16:39 编辑
QQ蚊子湯 发表于 2016-9-19 16:32
沒有實測,不知道讀取的速度,不過像這樣加入等待時間 每隔一段時間才獲取時間應該行得通吧

順帶一提 上 ...


1.可以赋值为变量
2.300帧也就是5秒就要获取一次,究竟是怎样的需求会要求这么高的时间同步?半小时同步一次我都觉得太频繁了,网络时间始终在走又不会被玩家改变,需要使用的时候(比如在判断的时候)获取不就好了,你这样等于每5秒游戏卡一下
回复

使用道具 举报

梦石
0
星屑
644
在线时间
830 小时
注册时间
2016-7-24
回帖
644

开拓者

发表于 2016-9-19 17:18:19 | 显示全部楼层
本帖最后由 QQ蚊子湯 于 2016-9-19 17:26 编辑
喵呜喵5 发表于 2016-9-19 16:38
1.可以赋值为变量
2.300帧也就是5秒就要获取一次,究竟是怎样的需求会要求这么高的时间同步?半小时同步 ...


因為LZ曾在別的帖子說過想要用時間控制地圖出個明怪,5秒確實有點快,不過這也是提個概念而已

更節省的方法是地圖移動的時候順便判斷一下
缺點是不會產生網游那種怪物在眼前刷新的感覺


也可以像這樣 在條件達成的時候就不繼續獲取
fgagfa.jpg

2016/07/17 加入RPG製作,勿忘初衷!
回复

使用道具 举报

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2016-9-19 17:48:00 | 显示全部楼层
QQ蚊子湯 发表于 2016-9-19 17:18
因為LZ曾在別的帖子說過想要用時間控制地圖出個明怪,5秒確實有點快,不過這也是提個概念而已

更節省的 ...

所以都说了……由于是阻塞的,所以你这个事件设置实际上等于:在条件达成的时候游戏就不断卡顿卡顿卡顿卡顿卡顿卡顿卡顿

点评

人家知道的嘛 三、三十分鐘判斷一次總可以了吧 你讓 LZ自己去調整拉 嗚嗚嗚..  发表于 2016-9-19 18:25
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部