mirror of
https://github.com/ineedbots/iw4_bot_warfare.git
synced 2025-04-22 05:55:42 +00:00
Remote waypoints
This commit is contained in:
parent
99037ac48a
commit
50f17c4bb6
@ -1,7 +1,93 @@
|
|||||||
getRemoteWaypoints(mapname)
|
getRemoteWaypoints(mapname)
|
||||||
{
|
{
|
||||||
printLn( "Getting waypoints from csv: " );
|
url = "https://raw.githubusercontent.com/ineedbots/iw4x_waypoints/master/" + mapname + "_wp.csv";
|
||||||
//"https://raw.githubusercontent.com/ineedbots/iw4x_waypoints/master/mp_rust_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)
|
getLinesFromUrl(url)
|
||||||
@ -31,6 +117,7 @@ getLinesFromUrl(url)
|
|||||||
|
|
||||||
line += c;
|
line += c;
|
||||||
}
|
}
|
||||||
|
result.lines[result.lines.size] = line;
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
@ -392,7 +392,7 @@ wpsFromCSV(mapname)
|
|||||||
|
|
||||||
waypointCount = int(tableLookupByRow(fileName, 0, 0));
|
waypointCount = int(tableLookupByRow(fileName, 0, 0));
|
||||||
|
|
||||||
if (waypointCount == "" || waypointCount <= 0)
|
if (waypointCount <= 0)
|
||||||
return waypoints;
|
return waypoints;
|
||||||
|
|
||||||
printLn( "Getting waypoints from csv: "+fileName );
|
printLn( "Getting waypoints from csv: "+fileName );
|
||||||
@ -450,6 +450,7 @@ load_waypoints()
|
|||||||
if (wps.size)
|
if (wps.size)
|
||||||
{
|
{
|
||||||
level.waypoints = wps;
|
level.waypoints = wps;
|
||||||
|
println("Loaded " + wps.size + " waypoints from csv.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -658,9 +659,12 @@ load_waypoints()
|
|||||||
maps\mp\bots\waypoints\_custom_map::main(mapname);
|
maps\mp\bots\waypoints\_custom_map::main(mapname);
|
||||||
break;
|
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);
|
maps\mp\bots\_bot_http::getRemoteWaypoints(mapname);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user