ESS多版本 获取实时实地天气

ES泽洛

世末鸽者
管理员
元老
2022-08-04
217
14
284
2,116
23
安徽
www.esplus.club
使用或转载请注明出自宝可饭堂社区https://bbs.pokefans.cn/threads/88/
毫无疑问这是一个需要网络连接的功能,所以模拟器是不支持的,不过你可以处理成未联网时不显示。

注意:天气API使用的是心知天气,仅支持国内城市。

首先在main上方插入一个地方写下以下代码:
Ruby:
$last_req_time = 0
$weather = ""

def getWeather
  #请求的服务器接口
  url = "http://0vej.esplus.club/update/weather.php"
  #限制请求频率为1分钟,防止服务器拒绝频繁请求
  if Time.now.to_i - $last_req_time > 60
    $last_req_time = Time.now.to_i
    #将服务器返回的字符串下载到本地
    weathers = pbDownloadToString(url)
    if weathers == "" || weathers == "error"  #失败
      echoln "failed to get weather"
    else  #成功
      #将字符串转换成数组
      weathers = weathers.split(",")
      $weather = "天气:" + weathers[1] + "  气温:" + weathers[2] + "℃"
    end
  end
end

#weathers[0]  基于ip的市级地址,可能不准确,所以不建议显示
再在其他地方先调用getWeather这个函数,再使用$weather的值,具体用法不限制,以下是一个示例,在BW暂停菜单上显示。
1666881540817.png
1666881963477.png
 

在线成员

现在没有会员在线。

最新帖子

论坛统计

主题
323
消息
1,482
会员
2,265
最新会员
Wsy2002

关于我们

  • 宝可梦以及其他相关名称是任天堂的商标,版权归宝可梦公司所有。宝可饭堂是一个同人游戏中文社区,不隶属于宝可梦公司。在宝可饭堂上的粉丝游戏亦未获得其授权,请支持正版游戏。
© 2022- pokefans.cn
点此延长宝可饭堂生命