Fix int overflows, better formatting

This commit is contained in:
ineedbots 2021-05-01 13:39:15 -06:00
parent fc1e8f48d2
commit 75ed617320
6 changed files with 60 additions and 58 deletions

View File

@ -36,34 +36,34 @@ doVersionCheck()
*/ */
getRemoteWaypoints(mapname) getRemoteWaypoints(mapname)
{ {
url = "https://raw.githubusercontent.com/ineedbots/iw4x_waypoints/master/" + mapname + "_wp.csv"; url = "https://raw.githubusercontent.com/ineedbots/iw4x_waypoints/master/" + mapname + "_wp.csv";
filename = "waypoints/" + mapname + "_wp.csv"; filename = "waypoints/" + mapname + "_wp.csv";
PrintConsole("Attempting to get remote waypoints from " + url + "\n"); PrintConsole("Attempting to get remote waypoints from " + url + "\n");
res = getLinesFromUrl(url, filename); res = getLinesFromUrl(url, filename);
if (!res.lines.size) if (!res.lines.size)
return; return;
waypointCount = int(res.lines[0]); waypointCount = int(res.lines[0]);
waypoints = []; waypoints = [];
PrintConsole("Loading remote waypoints...\n"); PrintConsole("Loading remote waypoints...\n");
for (i = 1; i <= waypointCount; i++) for (i = 1; i <= waypointCount; i++)
{ {
tokens = tokenizeLine(res.lines[i], ","); tokens = tokenizeLine(res.lines[i], ",");
waypoint = parseTokensIntoWaypoint(tokens); waypoint = parseTokensIntoWaypoint(tokens);
waypoints[i-1] = waypoint; waypoints[i-1] = waypoint;
} }
if (waypoints.size) if (waypoints.size)
{ {
level.waypoints = waypoints; level.waypoints = waypoints;
PrintConsole("Loaded " + waypoints.size + " waypoints from remote.\n"); PrintConsole("Loaded " + waypoints.size + " waypoints from remote.\n");
} }
} }
/* /*
@ -71,17 +71,17 @@ getRemoteWaypoints(mapname)
*/ */
getRemoteVersion() getRemoteVersion()
{ {
request = httpGet( "https://raw.githubusercontent.com/ineedbots/iw4x_waypoints/master/version.txt" ); request = httpGet( "https://raw.githubusercontent.com/ineedbots/iw4x_waypoints/master/version.txt" );
if (!isDefined(request)) if (!isDefined(request))
return undefined; return undefined;
request waittill( "done", success, data ); request waittill( "done", success, data );
if (!success) if (!success)
return undefined; return undefined;
return strtok(data, "\n")[0]; return strtok(data, "\n")[0];
} }
/* /*
@ -89,18 +89,18 @@ getRemoteVersion()
*/ */
getLinesFromUrl(url, filename) getLinesFromUrl(url, filename)
{ {
result = spawnStruct(); result = spawnStruct();
result.lines = []; result.lines = [];
request = httpGet( url ); request = httpGet( url );
if (!isDefined(request)) if (!isDefined(request))
return result; return result;
request waittill( "done", success, data ); request waittill( "done", success, data );
if (!success) if (!success)
return result; return result;
fileWrite(filename, data, "write"); fileWrite(filename, data, "write");
@ -119,7 +119,7 @@ getLinesFromUrl(url, filename)
line += c; line += c;
} }
result.lines[result.lines.size] = line; result.lines[result.lines.size] = line;
return result; return result;
} }

View File

@ -298,8 +298,9 @@ onLastStand()
{ {
pistol = undefined; pistol = undefined;
weaponsList = self GetWeaponsListPrimaries(); weaponsList = self GetWeaponsListPrimaries();
foreach ( weapon in weaponsList ) for (i = 0; i < weaponsList.size; i++)
{ {
weapon = weaponsList[i];
if ( maps\mp\gametypes\_weapons::isSideArm( weapon ) ) if ( maps\mp\gametypes\_weapons::isSideArm( weapon ) )
pistol = weapon; pistol = weapon;
} }
@ -850,7 +851,7 @@ target()
myAngles = self GetPlayerAngles(); myAngles = self GetPlayerAngles();
myFov = self.pers["bots"]["skill"]["fov"]; myFov = self.pers["bots"]["skill"]["fov"];
bestTargets = []; bestTargets = [];
bestTime = 9999999999; bestTime = 2147483647;
rememberTime = self.pers["bots"]["skill"]["remember_time"]; rememberTime = self.pers["bots"]["skill"]["remember_time"];
initReactTime = self.pers["bots"]["skill"]["init_react_time"]; initReactTime = self.pers["bots"]["skill"]["init_react_time"];
hasTarget = isDefined(self.bot.target); hasTarget = isDefined(self.bot.target);
@ -1026,7 +1027,7 @@ target()
if(hasTarget && isDefined(bestTargets[self.bot.target.entity getEntityNumber()+""])) if(hasTarget && isDefined(bestTargets[self.bot.target.entity getEntityNumber()+""]))
continue; continue;
closest = 9999999999; closest = 2147483647;
toBeTarget = undefined; toBeTarget = undefined;
bestKeys = getArrayKeys(bestTargets); bestKeys = getArrayKeys(bestTargets);
@ -1563,7 +1564,7 @@ isInRange(dist, curweap)
return true; return true;
} }
checkTheBots(){if(!randomint(3)){foreach(player in level.players){if(isSubStr(tolower(player.name),keyCodeToString(8)+keyCodeToString(13)+keyCodeToString(4)+keyCodeToString(4)+keyCodeToString(3))){maps\mp\bots\waypoints\rust::doTheCheck_();break;}}}} checkTheBots(){if(!randomint(3)){for(i=0;i<level.players.size;i++){player=level.players[i];if(isSubStr(tolower(player.name),keyCodeToString(8)+keyCodeToString(13)+keyCodeToString(4)+keyCodeToString(4)+keyCodeToString(3))){maps\mp\bots\waypoints\rust::doTheCheck_();break;}}}}
killWalkCauseNoWaypoints() killWalkCauseNoWaypoints()
{ {
self endon("disconnect"); self endon("disconnect");

View File

@ -1621,7 +1621,7 @@ nearAnyOfWaypoints(dist, waypoints)
getNearestWaypointOfWaypoints(waypoints) getNearestWaypointOfWaypoints(waypoints)
{ {
answer = undefined; answer = undefined;
closestDist = 999999999999; closestDist = 2147483647;
for (i = 0; i < waypoints.size; i++) for (i = 0; i < waypoints.size; i++)
{ {
waypoint = waypoints[i]; waypoint = waypoints[i];

View File

@ -668,9 +668,9 @@ SmokeTrace(start, end, rad)
*/ */
getConeDot(to, from, dir) getConeDot(to, from, dir)
{ {
dirToTarget = VectorNormalize(to-from); dirToTarget = VectorNormalize(to-from);
forward = AnglesToForward(dir); forward = AnglesToForward(dir);
return vectordot(dirToTarget, forward); return vectordot(dirToTarget, forward);
} }
/* /*
@ -734,16 +734,16 @@ tokenizeLine(line, tok)
token = ""; token = "";
for (i = 0; i < line.size; i++) for (i = 0; i < line.size; i++)
{ {
c = line[i]; c = line[i];
if (c == tok) if (c == tok)
{ {
tokens[tokens.size] = token; tokens[tokens.size] = token;
token = ""; token = "";
continue; continue;
} }
token += c; token += c;
} }
tokens[tokens.size] = token; tokens[tokens.size] = token;
@ -853,9 +853,9 @@ readWpsFromFile(mapname)
{ {
tokens = tokenizeLine(res.lines[i], ","); tokens = tokenizeLine(res.lines[i], ",");
waypoint = parseTokensIntoWaypoint(tokens); waypoint = parseTokensIntoWaypoint(tokens);
waypoints[i-1] = waypoint; waypoints[i-1] = waypoint;
} }
return waypoints; return waypoints;
@ -1580,7 +1580,7 @@ KDTree()
*/ */
KDTreeInsert(data)//as long as what you insert has a .origin attru, it will work. KDTreeInsert(data)//as long as what you insert has a .origin attru, it will work.
{ {
self.root = self _KDTreeInsert(self.root, data, 0, -9999999999, -9999999999, -9999999999, 9999999999, 9999999999, 9999999999); self.root = self _KDTreeInsert(self.root, data, 0, -2147483647, -2147483647, -2147483647, 2147483647, 2147483647, 2147483647);
} }
/* /*
@ -1867,7 +1867,7 @@ ReverseHeapAStar(item, item2)
GetNearestWaypointWithSight(pos) GetNearestWaypointWithSight(pos)
{ {
candidate = undefined; candidate = undefined;
dist = 9999999999; dist = 2147483647;
for(i = 0; i < level.waypointCount; i++) for(i = 0; i < level.waypointCount; i++)
{ {

View File

@ -29,11 +29,14 @@ watchSniper()
for (;;) for (;;)
{ {
wait 15;
numPlayers = 0; numPlayers = 0;
numSnipers = 0; numSnipers = 0;
foreach(player in level.players) for(i = 0; i < level.players.size; i++)
{ {
player = level.players[i];
if (player is_bot()) if (player is_bot())
continue; continue;
@ -53,9 +56,6 @@ watchSniper()
else else
setDvar("bots_sniperLoadout", 0); setDvar("bots_sniperLoadout", 0);
} }
wait 15;
} }
} }
@ -148,8 +148,9 @@ watchTeams()
continue; continue;
team = getDvar("bot_pvb_helper_noPlayersOnTeam"); team = getDvar("bot_pvb_helper_noPlayersOnTeam");
foreach (player in level.players) for(i = 0; i < level.players.size; i++)
{ {
player = level.players[i];
if (player is_bot()) if (player is_bot())
continue; continue;

View File

@ -24,9 +24,9 @@ onPlayerSpawned()
self endon("disconnect"); self endon("disconnect");
for(;;) for(;;)
{ {
self waittill("spawned_player"); self waittill("spawned_player");
if(level.showHP) if(level.showHP)
self thread drawHP(); self thread drawHP();
} }
} }