· 8 years ago · Jul 01, 2018, 02:28 PM
1program nameClaimer;
2
3//First things first. There is a small ammount of setup involved with this bot.
4//Please make sure you have a file named "list.txt" on your desktop containing
5//the names you want to claim. This should be copypasted from the pastebin list.
6//Please make sure your runescape is set to low quality and fixed size.
7//Please make sure to drag the crosshairs over your fully loaded rs window to set your
8//coordinates. This step must be repeated if you refresh or move your browser window.
9//Please make sure runescape is set to a free world that will not be full while you bot.
10//Please ensure your graphics card is set to 32 bit. This is found where you adjust your
11//screen resolution.
12
13var
14 currentNum,startNum,endNum,x,y,skippedCounter,sucessfulCounter,loopCounter,backspaceCounter:integer;
15 name,startNumStr,endNumStr,email,owner:string;
16
17procedure Initialize;
18begin
19 email:=ReadLn('Please type in the gmail you wish to use, up to but not including @gmail.com');
20 startNumStr:=ReadLn('Please type in your starting number.');
21 endNumStr:=ReadLn('Please type in your ending number.');
22 owner:=ReadLn('Please type in the name of the owner of the computer. (top of start menu)');
23 startNum:=(StrToInt(startNumStr)-1);//convert starting number to an int
24 endNum:=StrToInt(endNumStr); //convert ending number to an int
25 currentNum:=startNum;
26 loopCounter:=0;
27 backspaceCounter:=0;
28 skippedCounter:=0;
29 sucessfulCounter:=0;
30end;
31
32function HexToAsc(hexStr:string): string;
33var
34 counter:integer;
35 partialStr,finalStr:string;
36begin
37 counter:=1;
38 while counter<=length(hexStr) do
39 begin
40 partialStr:=chr(StrToInt('$'+Copy(hexStr,counter,2))); //convert one hex val to ascii
41 finalStr:=finalStr+partialStr; //append
42 counter:=counter+2;
43 end;
44 result:=finalStr;
45end;
46
47procedure Terminate(termCode:integer);
48begin
49 WriteLn('Your most recent number was: '+IntToStr(currentNum)); //progress report and end program
50 WriteLn('The most recent sucessfulCounter name was: '+name);
51 WriteLn(IntToStr(skippedCounter)+' emails were skipped and '+IntToStr(sucessfulCounter)+' emails were sucessful.');
52 if termCode=0 then
53 begin
54 WriteLn('Your script terminated because you completed your list. Congratulations!');
55 end;
56 if termCode=1 then
57 begin
58 WriteLn('Your script terminated because you are out of email addresses prematurely, or have no internet.');
59 end;
60 if termCode=2 then
61 begin
62 WriteLn('Your script terminated because you lagged out.');
63 end;
64 TerminateScript;
65end;
66
67function NextName():string;
68var
69 listFile,size,lineFeedPos:integer;
70 null,buffer,listStr,lineFeed:string;
71begin
72 null:=HexToAsc('0'); //creates a null string variable
73 lineFeed:=HexToAsc('A'); //creates a linefeed string variable
74 lineFeedPos:=0; //initializes lineFeedPosition
75 listFile:=OpenFile('C:\Users\'+owner+'\Desktop\list.txt',true); //states location for list of imposters
76 size:=FileSize(listFile); //determines size of imposter list
77 ReadFileString(listFile,listStr,size); //turns text file into a string, making sure to get the entire file
78 CloseFile(listFile);
79 if not(Copy(listStr,size,1)=null) then //if there isnt a line feed at the bottom of the string
80 begin
81 Insert(lineFeed,listStr,size+1); //add one
82 end;
83 lineFeedPos:=Pos(linefeed,listStr); //determines how much text is before the line feed
84 buffer:=Left(listStr,lineFeedPos-1) //stores said text in a string, this is the name to be claimed
85 Delete(listStr,1,lineFeedPos); //deletes the name from the string containing the text file
86 listFile:=ReWriteFile('C:\Users\Ha\Desktop\list.txt',true);
87 WriteFileString(listFile, listStr) //this line and the one above saves the string of imposters without the name to be used
88 CloseFile(listFile);
89 if (Length(listStr)<1) then
90 begin
91 Terminate(0); //ends the script if out of names
92 end;
93 result:=buffer; //returns the name
94end;
95
96procedure TypeName;
97begin
98 name:=NextName(); //retrieves the next name from the text file
99 WriteLn('Entering name: '+name);
100 ClickMouse(327,221,true);//clicks the namebox
101 Wait(2000);
102 SendKeys(name); //types the name
103 Wait(2000);
104 ClickMouse(198,353,true);//continue on the name screen
105end;
106
107
108begin
109 Initialize;
110 ActivateClient;
111 wait(2000);
112 repeat
113 currentNum:=currentNum+1;
114 ClickMouse(278,184,true); //first email box
115 Wait(200);
116 SendKeys('host.jhall+'+IntToStr(currentNum)+'@gmail.com'); //type email
117 Wait(500);
118 SendKeysVB('{TAB}', false);
119 Wait(500);
120 SendKeys('lmfao'); //type password
121 Wait(500);
122 ClickMouse(383,272,true); // log in
123 repeat //if you fail to log in entirely, stop the bot
124 loopcounter:=loopcounter+1;
125 if loopcounter>120 then
126 begin
127 if FindColorTolerance(x,y,65793,247,219,269,267,10) then
128 begin
129 Terminate(1);
130 end;
131 end;
132 Wait(500); //green herblorist shirt yellow in sword of email fail blue in the earth if email has a name
133 until((FindColorTolerance(x,y,2778199,523,141,597,232,10) or FindColorTolerance(x,y,1101809,357,147,406,243,10) or FindColorTolerance(x,y,9338720,524,436,564,478,10)))
134 loopcounter:=0;
135 Wait(1000); //yellow in sword of email fail blue in the earth if email has a name
136 if not(FindColorTolerance(x,y,1101809,357,147,406,243,10) or FindColorTolerance(x,y,9338720,524,436,564,478,10)) then
137 begin
138 Wait(2000);
139 ClickMouse(416,174,true); //a character style
140 Wait(2000);
141 ClickMouse(689,474,true);//continue
142 Wait(3000);
143 ClickMouse(689,474,true);//confirm
144 repeat
145 loopCounter:=loopCounter+1;
146 wait(500);
147 if loopCounter>60 then
148 begin
149 Terminate(2);
150 end; //yellow in continue button, no mouseover
151 until(FindColorTolerance(x,y,1807021,143,331,268,375,10))
152 loopcounter:=0;
153 Wait(2000);
154 TypeName;
155 repeat
156 if loopCounter>10 then
157 begin //yellow in continue button with mouseover
158 if FindColorTolerance(x,y,4433854,143,331,268,375,10) then
159 begin
160 WriteLn('Existing name detected, emptying character name box');
161 ClickMouse(318,213,true); //click the far right of the charname box
162 repeat
163 backspaceCounter:=backspaceCounter+1;
164 SendKeys(HexToAsc('8')); //press backspace 6 times
165 wait(500);
166 until(backspaceCounter>=6)
167 backspaceCounter:=0;
168 ClickMouse(318,213,true); //click the far right of the box again
169 repeat
170 backspaceCounter:=backSpaceCounter+1;
171 SendKeys(HexToAsc('8'));
172 wait(500);
173 until(backspaceCounter>=6) //press backspace 6 times again
174 backspaceCounter:=0;
175 WriteLn('Box emptied');
176 TypeName;
177 loopCounter:=0;
178 end else //if the bolt of cloth is not visable, and
179 begin
180 Terminate(2); //the x has not appeared after 30 seconds,
181 end; //you have lagged out, so the bot terminates.
182 end;
183 wait(500);
184 loopcounter:=loopcounter+1; //wait until friends list appears
185 until(FindColorTolerance(x,y,6991752,547,462,612,509,10))
186 loopCounter:=0;
187 MoveMouse(754,9); //move mouse to the logout x
188 Wait(500);
189 ClickMouse(754,9,true); //click the x
190 repeat
191 if loopCounter>60 then
192 begin
193 Terminate(2);
194 end;
195 wait(500);
196 loopCounter:=loopCounter+1; //red of "exit to login"
197 until(FindColorTolerance(x,y,1579635,564,386,772,429,10))
198 loopCounter:=0
199 ClickMouse(641,408,true); //exit to login
200 sucessfulCounter:=sucessfulCounter+1; //add one to the counter of sucessfulCounter registrations
201 repeat
202 if loopCounter>60 then
203 begin
204 Terminate(2);
205 end;
206 loopCounter:=loopCounter+1;
207 Wait(500); //wait until back at login screen, color is blue in facebook logo
208 until(FindColorTolerance(x,y,11097899,325,330,439,367,10))
209 loopCounter:=0;
210 end else
211 begin
212 ClickMouse(635,71,true); //skips if email not registered
213 Wait(500);
214 ClickMouse(691,35,true); //skips if email already has a name
215 Wait(2000);
216 skippedCounter:=(skippedCounter+1); //add to skippedCounter emails counter
217 end;
218 until(currentNum=endNum);
219end.