Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program WorldTracker;
- {$I SRL-OSR/SRL.Simba}
- var
- NewFile: integer;
- Str, OnlineVersion, NewScript, NewFileName: string;
- function ReplaceEx(Text, FindStr, ReplaceStr: string; Offset: Integer; Flags: TReplaceFlags): string;
- var
- tL: Integer;
- begin
- tL := Length(Text);
- if (Offset < 1) then
- Offset := 1;
- if ((Length(FindStr) <= tL) and (Offset <= tL)) then
- {$IFNDEF Lape} Result := (Copy(Text, 1, (Offset - 1)) + ReplaceWrap(Copy(Text, Offset, ((tL - Offset) + 1)), FindStr, ReplaceStr, Flags)) {$ELSE}
- Result := (Copy(Text, 1, (Offset - 1)) + Replace(Copy(Text, Offset, ((tL - Offset) + 1)), FindStr, ReplaceStr, Flags)) {$ENDIF}
- else
- Result := '';
- end;
- procedure ReadtheSite;
- var
- mystr1, mystr2: string;
- begin
- NewScript := GetPage('http://oldschool.runescape.com/slu');
- NewFileName := 'D:\' + 'WorldTracker.text';
- NewFile := Rewritefile(NewFileName, true);
- try
- WriteFileString(NewFile, NewScript);
- except
- begin
- writeLn('Fatal error writing to ' + NewFileName + '!!');
- terminatescript;
- end;
- end;
- CloseFile(NewFile);
- end;
- function GrabText(HayStack: string; Between1, Between2: string): TStringArray;
- var
- Needle: string;
- Start, Ending, Iterator, Tracker: Integer;
- begin
- while (Iterator < Length(HayStack) + Ending) do
- begin
- Start := PosEx(Between1, HayStack, Start);
- Ending := PosEx(Between2, HayStack, Ending);
- Iterator := Iterator + Ending;
- Needle := Copy(HayStack, Start + Length(Between1), Ending - Start - Length(Between1));
- Start := Ending + 1;
- Ending := Ending + 1;
- SetLength(Result, Tracker + 1);
- Result[Tracker] := Needle;
- Inc(Tracker);
- end;
- for Start := 0 to High(Result) do
- if (Result[Start] = '') then
- DeleteValueInStrArray(Result, Start);
- end;
- function ReadFileLine(const FileToRead: string; LineNumber: Integer): string;
- var
- File, Size: Integer;
- Buffer: string;
- List: TStringList;
- begin
- File := OpenFile(FileToRead, False);
- if (File <> - 1) then
- begin
- Size := FileSize(File);
- if (ReadFileString(File, Buffer, Size)) then
- begin
- List := TStringList.Create;
- SplitRegExpr('\n', Buffer, List);
- if (List.Count > LineNumber) then
- Result := List[LineNumber];
- List.Free;
- end;
- CloseFile(File);
- end;
- end;
- function BetweenEx(str: string; pos1, pos2: Integer): string;
- var
- i, l: Integer;
- begin
- l := Length(str);
- if (pos1 < 0) then
- pos1 := 0;
- if (pos1 > (l + 1)) then
- pos1 := (l + 1);
- if (pos2 < 0) then
- pos2 := 0;
- if (pos2 > (l + 1)) then
- pos2 := (l + 1);
- if (pos1 < pos2) then
- Result := Copy(str, (pos1 + 1), ((pos2 - pos1) - 1))
- else if (pos1 <> pos2) then
- begin
- SetLength(Result, ((pos1 - pos2) - 1));
- for i := (pos1 - 1) downto (pos2 + 1) do
- Result[(pos1 - i)] := Char(str[i]);
- end
- else
- Result := '';
- end;
- procedure readTheFile;
- var
- STr3, str4, str2, str, WorldInfo: string;
- CurrentWorld1, CurrentPop: integer;
- begin
- WorldInfo := ReadFileLine('D:\WorldTracker.text', 156);
- writeln(worldinfo);
- str2 := (trim(worldinfo));
- str := WorldInfo;
- Str4 := BetweenEx(str, Pos('oldschool', str), Pos('",', str));
- writeln(str4);
- CurrentWorld1 := StrToIntDef(GetNumbers(Str4), 0);
- writeln('World we are Checking: ' + IntToStr(CurrentWorld1));
- Str3 := BetweenEx(str, Pos('",', str), Pos(',"United', str));
- CurrentPop := StrToIntDef(GetNumbers(Str3), 0);
- writeln('And its current population is : ' + IntToStr(CurrentPop));
- end;
- procedure mainloop;
- begin
- ReadtheSite;
- readTheFile;
- end;
- begin
- repeat
- wait(2000);
- cleardebug;
- mainloop;
- until (false);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement