From fe6b11f2e803ddc858f0ec6f77b14810109646e9 Mon Sep 17 00:00:00 2001 From: INeedBots Date: Wed, 16 Dec 2020 19:39:23 -0600 Subject: [PATCH] Added http --- main_shared/maps/mp/bots/_bot_http.gsc | 95 ++++++++++++++++++++++++-- 1 file changed, 89 insertions(+), 6 deletions(-) diff --git a/main_shared/maps/mp/bots/_bot_http.gsc b/main_shared/maps/mp/bots/_bot_http.gsc index 0c7b1bf..b817676 100644 --- a/main_shared/maps/mp/bots/_bot_http.gsc +++ b/main_shared/maps/mp/bots/_bot_http.gsc @@ -1,13 +1,50 @@ +/* + _bot_http + Author: INeedGames + Date: 12/16/2020 + The HTTP module +*/ + +#include maps\mp\bots\_bot_utility; + +/* + Will attempt to retreive waypoints from the internet +*/ getRemoteWaypoints(mapname) { - println("MAP"); -} - -getRemoteVersion() -{ - println("VERSION"); + url = "https://raw.githubusercontent.com/ineedbots/t4m_waypoints/master/" + mapname + "_wp.csv"; + filename = "waypoints/" + mapname + "_wp.csv"; + + println("Attempting to get remote waypoints from " + url); + res = getLinesFromUrl(url, filename); + + if (!res.lines.size) + return; + + waypointCount = int(res.lines[0]); + + waypoints = []; + println("Loading remote waypoints..."); + + for (i = 1; i <= waypointCount; i++) + { + tokens = tokenizeLine(res.lines[i], ","); + + waypoint = parseTokensIntoWaypoint(tokens); + + waypoints[i-1] = waypoint; + } + + if (waypoints.size) + { + level.waypoints = waypoints; + println("Loaded " + waypoints.size + " waypoints from remote."); + } } +/* + Does the version check, if we are up too date +*/ doVersionCheck() { remoteVersion = getRemoteVersion(); @@ -28,3 +65,49 @@ doVersionCheck() println("You are on the latest version of Bot Warfare!"); return true; } + +/* + Returns the version of bot warfare found on the internet +*/ +getRemoteVersion() +{ + data = httpGet( "https://raw.githubusercontent.com/ineedbots/t4m_waypoints/master/version.txt" ); + + if (!isDefined(data)) + return undefined; + + return strtok(data, "\n")[0]; +} + +/* + Returns an array of each line from the response of the http url request +*/ +getLinesFromUrl(url, filename) +{ + result = spawnStruct(); + result.lines = []; + + data = HTTPGet(url); + + if (!isDefined(data)) + return result; + + line = ""; + for (i=0;i