Boreas
2007-12-07 01:55:31
EDIT: Has not been tested for safety. Use at your own risk. If I get time (doubtful), I'll set up a VM and TOR for a new army I don't mind losing and I'll test this.
In Chat RC
For those that don't have a second computer to log on as a master:
You type those globals into chatbox without pressing enter (first do the start one).
Usage-
'luke i am your father' just type it
'gimme teh reportz0r' just type it
'please switch to 6 ty' type it then number then 'ty'
'make active 3 ty' type it and active/inactive then 'ty'
'who am i?' just type it
'get back to work you lazy bum' just type it
Call ICR_Main; wherever you want 'cept in most timed loops.
In Chat RC
For those that don't have a second computer to log on as a master:
program New;
{.include srl/srl.scar}
/// ICR Globals- I suggest you change these
const
ICR_Keyword_Start = 'luke i am your father';
ICR_Keyword_StatusReport = 'gimme teh reportz0r';
ICR_Keyword_SwitchTo = 'please switch to';
ICR_Keyword_Activate = 'make';
ICR_Keyword_GetCP = 'who am i?';
ICR_Keyword_End = 'get back to work you lazy bum';
procedure DeclarePlayers;
begin
HowManyPlayers := 7;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick := '';
Players[0].Active := True;
end;
//////////////////////////////////////////////////////////////////////
procedure TypeSend2(Text: string);
var
i: Integer;
Shift: Boolean;
begin
for i := 1 to Length(Text) do
begin
Shift := (Text[i] = ':') or (Text[i] = '!') or (Text[i] = '+') or
(Text[i] = '?') or (Text[i] = '<') or (Text[i] = '>') or
(Text[i] = '@') or (Text[i] = '#') or (Text[i] = '$') or
(Text[i] = '&') or (Text[i] = '%') or (Text[i] = '*');
if (Shift) then
begin
KeyDown(VK_Shift);
Wait(5 + Random(20));
end;
TypeByte(GetKeyCode(Text[i]));
if (Shift) then
begin
KeyUp(VK_Shift);
Wait(5 + Random(20));
end;
Wait(50 + Random(120));
end;
end;
function ICR_GetOurText:string;
begin
result:=trim(GetTextAtEx(60,459,0,smallchars,false,false,0,1,16711680,80,false,tr_allChars));
end;
procedure ICR_ClearChat;
begin
KeyDown(8)
repeat
KeyDown(8) //shouldnt be needed, but it didnt work without it
wait(50+random(60));
until ICR_GetOurText='*';
KeyUp(8);
end;
procedure ICR_StatusReport;
var
Player:integer;
str:string;
begin
ICR_ClearChat;
str:='';
for Player:=0 to getarraylength(Players)-1 do
begin
str:=str+ inttostr(Player)+ ' '+BoolToStr(Players[Player].active)+' ';
end;
TypeSend2(str);
end;
procedure ICR_GetCP;
begin
ICR_ClearChat;
typesend2(inttostr(currentplayer));
end;
procedure ICR_SwitchPlayer;
var
str:string;
begin
repeat
str:=ICR_GetOurText;
replace(str,ICR_Keyword_Start,'');
until pos('ty',str)<>0;
currentplayer:= strtoint(getnumbers(str));
ICR_ClearChat;
wait(500+random(200));
repeat logout
wait(500+random(200));
until not loggedin;
loginplayer;
end;
procedure ICR_ActivatePlayer;
var str:string;
begin
repeat
str:=ICR_GetOurText;
replace(str,ICR_Keyword_Start,'');
replace(str,ICR_Keyword_Activate,'');
until pos('ty',str)<>0;
str:=ICR_GetOurText;
writeln((str));
if pos('inactive',str)<>0 then
Players[strtoint(getnumbers(str))].Active:=false;
if pos('inactive',str)=0 then
Players[strtoint(getnumbers(str))].Active:=true;
ICR_ClearChat;
end;
procedure ICR_Main;
var str:string;
begin
str:=trim(GetTextAtEx(60,459,0,smallchars,false,false,0,2,16711680,80,false,tr_allChars));
if pos(ICR_Keyword_Start,str)=0 then
exit;
writeln('ICR Started');
repeat
wait(1);
str:=ICR_GetOurText;
if pos(ICR_Keyword_StatusReport,str)<>0 then
begin
ICR_StatusReport;
continue;
end;
if pos(ICR_Keyword_GetCP,str)<>0 then
begin
ICR_GetCP;
continue;
end;
if pos(ICR_Keyword_SwitchTo,str)<>0 then
begin
ICR_SwitchPlayer;
continue;
end;
if pos(ICR_Keyword_Activate,str)<>0 then
begin
ICR_ActivatePlayer;
continue;
end;
until pos(ICR_Keyword_End,str)<>0;
writeln('ICR End');
end;
begin
setupsrl;
DeclarePlayers;
loginplayer;
repeat
ICR_Main;
wait(1000+random(1000));
until isfkeydown(12);
end.You type those globals into chatbox without pressing enter (first do the start one).
Usage-
'luke i am your father' just type it
'gimme teh reportz0r' just type it
'please switch to 6 ty' type it then number then 'ty'
'make active 3 ty' type it and active/inactive then 'ty'
'who am i?' just type it
'get back to work you lazy bum' just type it
Call ICR_Main; wherever you want 'cept in most timed loops.