SRL Archive - SRL Suggestions

AntiRandom: Teleother


BraK

2010-09-23 17:44:41

I get Teleothered alot when I'm running scripts. Here's the anti for it. You devs can probably improve on it alot. But I know this one works. I Teleport-other Falador my wife's account about 100 times. It handled it just fine. Coresponded a bit with Shut a bit to confirm my idea.

procedure AntiTeleOther;
var
C, TOColor : integer;
begin
if Not(loggedin) then exit;
TOColor := 1416185;
C := GetTimeRunning + 10000;
if 340 = CountColor(1416185, 290, 84, 400, 105) then
begin
WriteLn('******** FOUND TELEPORT OTHER ********');
while getcolor(278,36) = TOColor do
begin
Wait(RandomRange(500, 800));
mousebox(275, 260, 357, 310, 1);
if GetTimeRunning > C then
begin
logout;
Break;
end;
end;
end;
end;

looking at it now I can plainly see my coordinates as off.

Wanted

2010-09-23 17:48:37

Why not just set assist to off? This function could be made a lot more efficient

BraK

2010-09-23 17:49:42

I know it can that's why I offered it up as a suggestion. Here the pic that goes with it.


E: How could I improve it. I'm Interested in learning.

Wanted

2010-09-23 17:56:43

Hold on, this picture may or may not work. Do you know where the coordinates are? or the offset? Also check to see if the picture preserved the colors since its png format and not bmp.

BraK

2010-09-23 17:59:44

it didn't i'm get the pic on a different way

E: Shut got something I managed to leave out in the version I uploaded. He removed the tolerance. I had it that way before simba crashed on me and I had to rewrite it.:redface:

E2: I gotta resize the BMP to upload it but the coordinate are absolute i tested on about 10 worlds and 100+ teles.

E3: I can't upload it here and the image hosting sites change it to other file Types

Found one


Actionupload.com FTW

Wanted

2010-09-23 18:23:06

Ok what coordinate is that at 0x0? relative to RS, it's important to know the offsets.

BraK

2010-09-23 18:36:00

The top left corner of the T is at 1416185 at (218, 35). The red dot and that is the rs coordinate.


~Brak

Shuttleu

2010-09-23 18:56:53


~shut

BraK

2010-09-23 19:04:17

Thanks for taking my username out there shut forgot about that in the box.

~BraK

wondersueak

2010-09-23 20:41:08

I love this idea. Although, I have only been telothered once. Then they started screaming botter at me, because teh script kept on chopping the ivy >.>

Wanted

2010-09-23 20:58:34

Ok so I've come up with this


function HandleWarningScreens: Boolean;
begin
if (GetColor(119, 102) = 2063871)) then
if (CountColor(2063871, 90, 82, 442, 180) = 1838)) then
begin
SRL_Warn('HandleWarningScreens', 'Wilderness Warning Screen Detected! Selecting don''t ask me again and entering...', Warn_AllVersions);
MouseBox(171, 184, 181, 194, 1);
Wait(RandomRange(1000, 2000));
MouseBox(152, 208, 234, 256, 1);
Wait(RandomRange(2000, 3000));
Result := True;
Exit;
end;
if (GetColor(143, 95) = 2063871)) then
if (CountColor(2063871, 90, 82, 442, 180) = 2949)) then
begin
SRL_Warn('HandleWarningScreens', 'Desert Warning Screen Detected! Selecting don''t ask me again and entering...', Warn_AllVersions);
MouseBox(118, 276, 127, 285, 1);
Wait(RandomRange(1000, 2000));
MouseBox(206, 279, 330, 284, 1);
Wait(RandomRange(2000, 3000));
Result := True;
Exit;
end;
if (GetColor(190, 283) = 49152)) then
if (CountColor(1416185, 215, 31, 326, 51) = 340)) then
begin
SRL_Warn('HandleWarningScreens', 'Someone offered to teleother you! Denying request...', Warn_AllVersions);
MouseBox(273, 261, 356, 307, 1);
Wait(RandomRange(2000, 3000));
Result := True;
Exit;
end;
end;

Basically it will detect and handle the Desert pass, Wilderness, or Teleother screens, and more can be added if needed. I staggered the detection with short circuit evaluation so it will do getcolor before countcol to reduce the amount of time it wastes when looping findnormalrandoms in SRL.

I'll let everyone discuss, and I'll be back later to commit something to SRL.

BraK

2010-09-23 21:00:41

Very Nice. I like it a lot Hope me a Shut's Data helped out.

Shuttleu

2010-09-24 02:28:44

From: IceFire908
Ok so I've come up with this


function HandleWarningScreens: Boolean;
begin
if (GetColor(119, 102) = 2063871)) then
if (CountColor(2063871, 90, 82, 442, 180) = 1838)) then
begin
SRL_Warn('HandleWarningScreens', 'Wilderness Warning Screen Detected! Selecting don''t ask me again and entering...', Warn_AllVersions);
MouseBox(171, 184, 181, 194, 1);
Wait(RandomRange(1000, 2000));
MouseBox(152, 208, 234, 256, 1);
Wait(RandomRange(2000, 3000));
Result := True;
Exit;
end;
if (GetColor(143, 95) = 2063871)) then
if (CountColor(2063871, 90, 82, 442, 180) = 2949)) then
begin
SRL_Warn('HandleWarningScreens', 'Desert Warning Screen Detected! Selecting don''t ask me again and entering...', Warn_AllVersions);
MouseBox(118, 276, 127, 285, 1);
Wait(RandomRange(1000, 2000));
MouseBox(206, 279, 330, 284, 1);
Wait(RandomRange(2000, 3000));
Result := True;
Exit;
end;
if (GetColor(190, 283) = 49152)) then
if (CountColor(1416185, 215, 31, 326, 51) = 340)) then
begin
SRL_Warn('HandleWarningScreens', 'Someone offered to teleother you! Denying request...', Warn_AllVersions);
MouseBox(273, 261, 356, 307, 1);
Wait(RandomRange(2000, 3000));
Result := True;
Exit;
end;
end;

Basically it will detect and handle the Desert pass, Wilderness, or Teleother screens, and more can be added if needed. I staggered the detection with short circuit evaluation so it will do getcolor before countcol to reduce the amount of time it wastes when looping findnormalrandoms in SRL.

I'll let everyone discuss, and I'll be back later to commit something to SRL.


yep :)
thats the same idea how i done it anyway

~shut

Sir R. M8gic1an

2010-09-24 04:13:14

Ice, can we get some constants there? I a months time we'll have no clue which colors you picked, etc.

~RM

Quickmarch

2010-09-24 09:05:33

wtf? you have a wife?

BraK

2010-09-24 10:00:37

From: Quickmarch
wtf? you have a wife?


Please Stay on topic. This is a really good include and we need some feedback. on it. Icefire worked hard to make it cover more than Shut and myself were going to cover. It'll also solve a few of the things that makes people think we're bots. Assist on FTW. ;)

OFFTOPIC: :p Is it really that hard to believe. I Mean it's not like I hide my age. Being without her would seem kinda odd. ;)

Shuttleu

2010-09-24 10:49:25

From: BraK
Please Stay on topic. This is a really good include and we need some feedback. on it. Icefire worked hard to make it cover more than Shut and myself were going to cover. It'll also solve a few of the things that makes people think we're bots. Assist on FTW. ;)

OFFTOPIC: :p Is it really that hard to believe. I Mean it's not like I hide my age. Being without her would seem kinda odd. ;)


ONTOPIC: indeed, congratz welld one IceFire

OFFTOPIC: How old are you?

~shut

BraK

2010-09-24 10:57:50

@Shut Check my profile it's not hidden. ;)

~BraK

Wanted

2010-09-25 02:12:27

From: Sir R. Magician
Ice, can we get some constants there? I a months time we'll have no clue which colors you picked, etc.

~RM


How about I add some more //Notes

BraK

2010-09-30 05:42:52

So did anything ever come of this?

DeSnob

2010-09-30 07:08:45

From: IceFire908
Ok so I've come up with this


function HandleWarningScreens: Boolean;
begin
if (GetColor(119, 102) = 2063871)) then
if (CountColor(2063871, 90, 82, 442, 180) = 1838)) then
begin
SRL_Warn('HandleWarningScreens', 'Wilderness Warning Screen Detected! Selecting don''t ask me again and entering...', Warn_AllVersions);
MouseBox(171, 184, 181, 194, 1);
Wait(RandomRange(1000, 2000));
MouseBox(152, 208, 234, 256, 1);
Wait(RandomRange(2000, 3000));
Result := True;
Exit;
end;
if (GetColor(143, 95) = 2063871)) then
if (CountColor(2063871, 90, 82, 442, 180) = 2949)) then
begin
SRL_Warn('HandleWarningScreens', 'Desert Warning Screen Detected! Selecting don''t ask me again and entering...', Warn_AllVersions);
MouseBox(118, 276, 127, 285, 1);
Wait(RandomRange(1000, 2000));
MouseBox(206, 279, 330, 284, 1);
Wait(RandomRange(2000, 3000));
Result := True;
Exit;
end;
if (GetColor(190, 283) = 49152)) then
if (CountColor(1416185, 215, 31, 326, 51) = 340)) then
begin
SRL_Warn('HandleWarningScreens', 'Someone offered to teleother you! Denying request...', Warn_AllVersions);
MouseBox(273, 261, 356, 307, 1);
Wait(RandomRange(2000, 3000));
Result := True;
Exit;
end;
end;

Basically it will detect and handle the Desert pass, Wilderness, or Teleother screens, and more can be added if needed. I staggered the detection with short circuit evaluation so it will do getcolor before countcol to reduce the amount of time it wastes when looping findnormalrandoms in SRL.

I'll let everyone discuss, and I'll be back later to commit something to SRL.


That works, but the don't ask me again option is not there the first time. You must pass through a few times to disable the message

Wanted

2010-09-30 11:34:59

From: DeSnob
That works, but the don't ask me again option is not there the first time. You must pass through a few times to disable the message


For the teleother only? A simple if (GetColor()) then check would fix that then.

BraK

2010-10-06 13:41:29

Was this added or is it still a suggestion?

~BraK

Coh3n

2010-10-07 01:40:43

From: BraK
Was this added or is it still a suggestion?

~BraK

AFAIK it's still a suggestion.

@Ice, there's a warning message you get when travelling outside Varrock (and Fally I think) if you have less that 60 total level. A couple of people had this problem with MSI. I added this to MSI, but I'm not 100% sure if it works or not as I don't have an account to test.

if (FindNPCChatText('erous', Nothing)) then // Only if total level < 60
begin
ClickContinue(True, True);
t := GetSystemTime + 5000;
while (GetSystemTime < t) do
begin
Wait(500 + Random(300));
if (FindNPCChatText('eave', ClickLeft)) then
Break;
end;
end;
The message comes up at the gates outside the cities. There's one outside the East Varrock wall I know for sure.

TomTuff

2010-10-07 01:54:19

From: Coh3n
AFAIK it's still a suggestion.

@Ice, there's a warning message you get when travelling outside Varrock (and Fally I think) if you have less that 60 total level. A couple of people had this problem with MSI. I added this to MSI, but I'm not 100% sure if it works or not as I don't have an account to test.

if (FindNPCChatText('erous', Nothing)) then // Only if total level < 60
begin
ClickContinue(True, True);
t := GetSystemTime + 5000;
while (GetSystemTime < t) do
begin
Wait(500 + Random(300));
if (FindNPCChatText('eave', ClickLeft)) then
Break;
end;
end;
The message comes up at the gates outside the cities. There's one outside the East Varrock wall I know for sure.


the boundaries of the tutorial area are just lumbridge and varrock. This problem is annoying on new-esque accounts.