mirror of
https://github.com/ineedbots/iw4_bot_warfare.git
synced 2025-04-21 21:45:43 +00:00
Remote waypoints
This commit is contained in:
parent
99037ac48a
commit
50f17c4bb6
@ -1,7 +1,93 @@
|
||||
getRemoteWaypoints(mapname)
|
||||
{
|
||||
printLn( "Getting waypoints from csv: " );
|
||||
//"https://raw.githubusercontent.com/ineedbots/iw4x_waypoints/master/mp_rust_wp.csv"
|
||||
url = "https://raw.githubusercontent.com/ineedbots/iw4x_waypoints/master/" + mapname + "_wp.csv";
|
||||
|
||||
println("Attempting to get remote waypoints from " + url);
|
||||
res = getLinesFromUrl(url);
|
||||
|
||||
if (!res.lines.size)
|
||||
return;
|
||||
|
||||
println("Loading remote waypoints...");
|
||||
|
||||
wps = linesToWaypoints(res);
|
||||
|
||||
if (wps.size)
|
||||
{
|
||||
level.waypoints = wps;
|
||||
println("Loaded " + wps.size + " waypoints from remote.");
|
||||
}
|
||||
}
|
||||
|
||||
linesToWaypoints(res)
|
||||
{
|
||||
waypoints = [];
|
||||
waypointCount = int(res.lines[0]);
|
||||
|
||||
if (waypointCount <= 0)
|
||||
return waypoints;
|
||||
|
||||
for (i = 1; i <= waypointCount; i++)
|
||||
{
|
||||
tokens = tokenizeLine(res.lines[i], ",");
|
||||
|
||||
waypoint = spawnStruct();
|
||||
|
||||
orgStr = tokens[0];
|
||||
orgToks = strtok(orgStr, " ");
|
||||
waypoint.origin = (int(orgToks[0]), int(orgToks[1]), int(orgToks[2]));
|
||||
|
||||
childStr = tokens[1];
|
||||
childToks = strtok(childStr, " ");
|
||||
waypoint.childCount = childToks.size;
|
||||
waypoint.children = [];
|
||||
for( j=0; j<childToks.size; j++ )
|
||||
waypoint.children[j] = int(childToks[j]);
|
||||
|
||||
type = tokens[2];
|
||||
waypoint.type = type;
|
||||
|
||||
anglesStr = tokens[3];
|
||||
if (isDefined(anglesStr) && anglesStr != "")
|
||||
{
|
||||
anglesToks = strtok(anglesStr, " ");
|
||||
waypoint.angles = (int(anglesToks[0]), int(anglesToks[1]), int(anglesToks[2]));
|
||||
}
|
||||
|
||||
javStr = tokens[4];
|
||||
if (isDefined(javStr) && javStr != "")
|
||||
{
|
||||
javToks = strtok(javStr, " ");
|
||||
waypoint.jav_point = (int(javToks[0]), int(javToks[1]), int(javToks[2]));
|
||||
}
|
||||
|
||||
waypoints[i-1] = waypoint;
|
||||
}
|
||||
|
||||
return waypoints;
|
||||
}
|
||||
|
||||
tokenizeLine(line, tok)
|
||||
{
|
||||
tokens = [];
|
||||
|
||||
token = "";
|
||||
for (i = 0; i < line.size; i++)
|
||||
{
|
||||
c = line[i];
|
||||
|
||||
if (c == tok)
|
||||
{
|
||||
tokens[tokens.size] = token;
|
||||
token = "";
|
||||
continue;
|
||||
}
|
||||
|
||||
token += c;
|
||||
}
|
||||
tokens[tokens.size] = token;
|
||||
|
||||
return tokens;
|
||||
}
|
||||
|
||||
getLinesFromUrl(url)
|
||||
@ -31,6 +117,7 @@ getLinesFromUrl(url)
|
||||
|
||||
line += c;
|
||||
}
|
||||
result.lines[result.lines.size] = line;
|
||||
|
||||
return result;
|
||||
}
|
@ -392,7 +392,7 @@ wpsFromCSV(mapname)
|
||||
|
||||
waypointCount = int(tableLookupByRow(fileName, 0, 0));
|
||||
|
||||
if (waypointCount == "" || waypointCount <= 0)
|
||||
if (waypointCount <= 0)
|
||||
return waypoints;
|
||||
|
||||
printLn( "Getting waypoints from csv: "+fileName );
|
||||
@ -450,6 +450,7 @@ load_waypoints()
|
||||
if (wps.size)
|
||||
{
|
||||
level.waypoints = wps;
|
||||
println("Loaded " + wps.size + " waypoints from csv.");
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -658,9 +659,12 @@ load_waypoints()
|
||||
maps\mp\bots\waypoints\_custom_map::main(mapname);
|
||||
break;
|
||||
}
|
||||
|
||||
if (level.waypoints.size)
|
||||
println("Loaded " + level.waypoints.size + " waypoints from script.");
|
||||
}
|
||||
|
||||
if (!level.waypoints.size)
|
||||
if (!level.waypoints.size || true)
|
||||
{
|
||||
maps\mp\bots\_bot_http::getRemoteWaypoints(mapname);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user