rendered paste bodyprocedure loadCoords(mapname: string);
var
fileContents, name: string;
parts: tStringArray;
x, y: single;
i: byte;
begin
if fileExists(mapname+COORDSFILE) = false then begin
writeln('[Teleport] Missing file "' + mapname+COORDSFILE + '"... creating...');
writeFile(mapname+COORDSFILE, ' ');
end;
fileContents := readFile(mapname+COORDSFILE);
parts := xSplit(fileContents, #10);
count := 0;
for i := 0 to getArrayLength(coords) - 1 do begin
if maskCheck(parts[i], '*///*///*///*') then begin
x := strToFloat(getPiece(parts[i], '///', 0));
y := strToFloat(getPiece(parts[i], '///', 1));
name := getPiece(parts[i], '///', 2);
coords[count].lable := name;
coords[count].x := x;
coords[count].y := y;
count := count + 1;
setArrayLength(coords, count+1);
end;
end;
writeln('[Teleport] Loaded ' + intToStr(count) + ' coordinates from ' + mapname+COORDSFILE);
end;
procedure ActivateServer();
begin
setArrayLength(coords, 1);
broadcast := false;
writeln('[Teleport] Loading coordinates...');
if currentMap = nil then begin
loadCoords('./init');
end else begin
loadCoords('./'+currentMap);
end;
writeln('[Teleport] Loading complete.');
end;