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

ES泽洛

世末鸽者
2022/08/04
280
16
307
2,144
24
江苏
www.esplus.club
使用或转载请注明出自宝可饭堂社区https://bbs.pokefans.xyz/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
 

在线成员

现在没有成员在线。

最新帖子

论坛统计

主题
517
消息
2,352
成员
3,007
最新成员
ZQLdw