SRL Archive - MSI Suggestions

New and better antiban! TESTING NEEDED!


Gu3st...

2011-03-17 17:12:36

At the moment, everything anti-ban related is handled by MSI_Antiban(), meaning each time we want MSI to look more human, we call MSI_Antiban().

This way of calling anti-ban is not the best way of making a script look human, why? Because MSI_Antiban() will call some procedures/functions to randomize the looks of the script, and those procedures/functions might not fully represent what a human would do is set situations.
Example: You wouldn't randomly right click on the main screen or check the slayer level if you were high-alching, and you wouldn't click the music tab or the options tab while you're walking, but you might rotate the camera or move the mouse slightly wile waiting for the character to walk.

What I'm here to adduce is that we improve our anti-ban functions and procedures so that they represent what a human would do in those situations better than the current anti-ban function does.
Meaning when your character is walking, it will no longer check your farming level or randomly right clicking the ground, but it will perform anti-ban actions like slightly moving the mouse or rotating the screen.
Basically what we want is more advanced anti-ban and less random movement.

What would be needed to make our anti-ban more advanced?
We will need specific procedures/functions for specific tasks, and that's where you get involved.

We want you to contribute to MSI by creating nifty and creative anti-ban procedures that will simulate what you do when you're mining / walking / banking / purchasing kebabs / fishing.
If you have a anti-ban procedure or want to create one then please post it here, telling us what the procedure does, when it is intended to be used and for how long this type of anti-ban will last (I.E random camera movement = 500ms).

This is a very simple task to do, and a great opportunity to get your name noted inside MSI!
We want you to do this because more humanly scripts = Less bans = We win, JaGeX lose.
And you would like that, wouldn't you? ;)

~ The MSI team.


IDEAS:
  • Clicking skill when level is gained. Maybe have an option in MSI_Settings.
  • Pressing F1-F5 keys instead of clicking gametabs. - Available for testing below.
  • Simulating the shaking of the mouse - Available for testing below.
  • Moving the mouse out of the client, simulating a human doing some multitasking. (Alt-tab?) - Available for testing below.
  • More human-like mouse movements. - Available for testing below.
  • Joining a ClanChat and leaving a short time after. ("fast sc")
  • Using Sacred Clay Hammer when smithing/constructing. - Smithing isn't supported yet
  • Messing with the XP counter near the minimap. - Impemented
  • Right clicking random players.
  • Adding spam bots to ignore list. - Impemented
  • From: Flight
    1. ACR: http://villavu.com/forum/showthread.php?t=62709
  • 2. 'Mini-breaks' (every 5-10 minutes stop mouse/key movement for just a matter of seconds, maybe 10-20 seconds) Simulates a quick 'afk'. 3. Penguin within distance finder (Members only, if a penguin is around you, 'Spy' on it) This might not be worth adding, as most are accustomed to free world botting. 5. Maybe something to do with ClanChats?
  • From: 1337w33d
    What about randomly adjusting sound settings, etc.
  • Scrolling through the quest tab, simulating a player looking at their quests. Maybe writing random notes down in the player notepad? Lol Switching public chat to hide around banks or other high traffic areas? I do that often.
  • From: Flight
    I had another idea a while ago, but I'm not sure how exactly I'd go about doing it. Someone suggested detecting rare/high level items on nearby players, and I looked through reflection's functions for dumping variables from nearby players. Could we not just detect if nearby players are wearing, for example skillcapes, if they are then grab that player's name, and send a chat message, with mistakes, something like "Nice cape". The problem I can't get around is 'saving' this player's name so we don't constantly say nice cape to them, but so if we've said it once then ignore that player from there on out.


TIPS:
Record yourself while playing legit, and take a look at the video afterwards to see what random human things you're doing.


TESTING
We would LOVE it if some of you guys could test out the different things we have come up with so far and give us some feedback. :) Just copy/paste this into your Simba and call the procedure you wish to test. :)

program AntibanTesting;
{$DEFINE SMART}
{$i srl/srl.scar}

// By grats
procedure MSI_RandomFKey;
var
i, randInt, randKey, currTab: Integer;
keys: array[0..4] or Word;
begin
currTab := GetCurrentTab(); // Get the current tab player is on

keys[0] := VK_F1;
keys[1] := VK_F2;
keys[2] := VK_F3;
keys[3] := VK_F4;
keys[4] := VK_F5;

randInt := Random(6);

case randInt of
0..4:
begin
KeyDown(keys[randInt]);
wait(25+random(65));
KeyUp(keys[randInt]);
end;

else
for i := 1 to 3 do
begin
randKey := Random(5);

KeyDown(keys[randKey]);
wait(25+random(65));
KeyUp(keys[randKey]);
end;
end;

Writeln('AntiBan: random function key press');
GameTab(currTab); // Reset to starting tab
end;

// By Troll
procedure MSI_ShakeMouse(Time: Integer);
var
x, y, timer, BottomX, BottomY, TopX, TopY: Integer;
begin

GetMousePos(x, y);
BottomX := X - RandomRange(10, 60);
BottomY := Y - RandomRange(10, 60)
TopX := X + RandomRange(10, 60);
TopY := Y + RandomRange(10, 60);
MarkTime(Timer);

while (TimeFromMark(Timer) < Time) Do
begin
MMouse(RandomRange(BottomX, TopX), RandomRange(BottomX, BottomY), 0, 0);
Wait(RandomRange(50, 100));
end;
end;

// By TomTuff
procedure MouseOffScreen(MinimumWait, RandomWait: Integer);
var
Pt: TPoint;
w, h: Integer;
begin
GetClientDimensions(w, h);
Pt := Point(RandomRange(-w, 2 * w), RandomRange(-h, 2 * h));
if ((Pt.x <= w) and (Pt.x >= 0)) and not((Pt.y <= 0) or (Pt.y >= 0)) then
IncEx(Pt.x, w);
MMouse(Pt.x, Pt.y, 0, 0);
Wait(MinimumWait + Random(RandomWait));
end;

// by Flight
procedure MSI_HumanMouse;
var
randSpeed: extended;
x, y, firstSpeed: integer;
begin
case(Random(10000)) of
9901..9999:
begin
firstSpeed := mouseSpeed;

mouseSpeed := RandomRange(3,5);
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
GetMousePos(x, y);
{
We make the wind higher than gravity to give more curve, this is what
MMouse lacks...
}
WindMouse(x, y, RandomRange(x - 75, x + 75), RandomRange(y - 75, y + 75),
30, 55, 10.0 / randSpeed, 12.0 / randSpeed, 10.0 * randSpeed, 10.0 * randSpeed);

mouseSpeed := firstSpeed;
end;
end;
end;

begin
Smart_Server := 152;
Smart_Members := False;
Smart_Signed := True;
Smart_SuperDetail := False;

SetupSRL;
ClearDebug;


end.

grats

2011-03-17 19:54:54

How simple can these be? I have a little procedure I like to use in some scripts that does f1-f5 pressing which I ALWAYS do while playing legit.. and pretty much everyone I know (lots of people) will switch around using their F-keys
so I find that pretty human like… I'll add it to this post (with better description) when I'm home even if it's too simple for you guys

Dervish

2011-03-17 19:59:42

Leaving the rs client window, fake browsing youtube or something. That is human like.

Gu3st...

2011-03-17 20:26:49

Post whatever you guys have! :)
The more the better! Even the simplest things might get added

IPwnz

2011-03-17 20:33:58

From: Dervish
Leaving the rs client window, fake browsing youtube or something. That is human like.


This, and for tasks like fishing that don't need much attention I often just leave my mouse untouched until I need to switch spots.

Flight

2011-03-17 20:52:41

I have a few suggestions.

1. ACR: http://villavu.com/forum/showthread.php?t=62709

2. 'Mini-breaks' (every 5-10 minutes stop mouse/key movement for just a matter of seconds, maybe 10-20 seconds) Simulates a quick 'afk'.

3. Penguin within distance finder (Members only, if a penguin is around you, 'Spy' on it) This might not be worth adding, as most are accustomed to free world botting.

4. Random hovering/right clicking on nearby players (Check the lvl/names, maybe even use their names and ask them thei ….. level in relevance to what skill you/they are doing)

5. Maybe something to do with CC's?

6. Randomly use left/right clicking (I think I've already seen this, but it's nothing official)

If I think of more I'll be sure to list them. :)

grats

2011-03-17 22:01:31

To go along with Flight joing 'fast sc' for CC real fast.. 5 seconds then leaving

fast sc is the biggest 'games' channel on world 99 to do stealing creation games or whatever they're called

http://runescape.wikia.com/wiki/Sacred_clay_hammer
(is what I usually get for smithing / construction, most people get the same)



procedure RandomFkey;
begin
case Random(6) of
0 : begin
KeyDown(VK_F1);
wait(25+random(65));
KeyUp(VK_F1);
end;
1 : begin
KeyDown(VK_F2);
wait(25+random(65));
KeyUp(VK_F2);
end;
2 : begin
KeyDown(VK_F3);
wait(25+random(65));
KeyUp(VK_F3);
end;
3 : begin
KeyDown(VK_F4);
wait(25+random(65));
KeyUp(VK_F4);
end;
4 : begin
KeyDown(VK_F5);
wait(25+random(65));
KeyUp(VK_F5);
end;
5 : Begin
KeyDown(VK_F2);
wait(25+random(65));
KeyUp(VK_F2);
wait(800+random(1500));
KeyDown(VK_F4);
wait(25+random(65));
KeyUp(VK_F4);
wait(1000+random(3000));
KeyDown(VK_F1);
wait(25+random(65));
KeyUp(VK_F1);
end;
end;
Writeln('AntiBan: random function key press');
end;

that's something I like to use, nothing really special.. but if that happens every few minutes it definitely is more like me "playing"

SubiN

2011-03-17 22:24:56

is it possible to simulate alt-tab without actually changing windows ?

grats

2011-03-17 22:30:55

From: SubiN
is it possible to simulate alt-tab without actually changing windows ?


like make jagex think you pressed alt tab?

KeyDown(VK_alt);
wait(10+random(30));
KeyDown(VK_tab);
wait(75+random(150));
KeyUp(VK_tab);
wait(10+random(15));
KeyUp(VK_alt);

reason for alt being first & last because most peoples thumbs rest on alt more / longer


but that would do it? I don't think that would mess with smart at all?

Coh3n

2011-03-17 22:47:13

Small improvement to grats' procedure:

// By grats
procedure MSI_RandomFKey;
var
i, randInt, randKey, currTab: Integer;
keys: array[0..4] or Word;
begin
currTab := GetCurrentTab(); // Get the current tab player is on

keys[0] := VK_F1;
keys[1] := VK_F2;
keys[2] := VK_F3;
keys[3] := VK_F4;
keys[4] := VK_F5;

randInt := Random(6);

case randInt of
0..4:
begin
KeyDown(keys[randInt]);
wait(25+random(65));
KeyUp(keys[randInt]);
end;

else
for i := 1 to 3 do
begin
randKey := Random(5);

KeyDown(keys[randKey]);
wait(25+random(65));
KeyUp(keys[randKey]);
end;
end;

Writeln('AntiBan: random function key press');
GameTab(currTab); // Reset to starting tab
end;
Awesome job, by the way. There's one new antiban finished. :)

grats

2011-03-17 22:56:48

From: Coh3n
Small improvement to grats' procedure:

// By grats
procedure MSI_RandomFKey;
var
i, randInt, randKey, currTab: Integer;
keys: array[0..4] or Word;
begin
currTab := GetCurrentTab(); // Get the current tab player is on

keys[0] := VK_F1;
keys[1] := VK_F2;
keys[2] := VK_F3;
keys[3] := VK_F4;
keys[4] := VK_F5;

randInt := Random(6);

case randInt of
0..4:
begin
KeyDown(keys[randInt]);
wait(25+random(65));
KeyUp(keys[randInt]);
end;

else
for i := 1 to 3 do
begin
randKey := Random(5);

KeyDown(keys[randKey]);
wait(25+random(65));
KeyUp(keys[randKey]);
end;
end;

Writeln('AntiBan: random function key press');
GameTab(currTab); // Reset to starting tab
end;
Awesome job, by the way. There's one new antiban finished. :)


Lol thanks, I don't really know a lot with pascal / simba so I did it that way :p
learned something new with your version though

does the second section with "else"
    else
for i := 1 to 3 do
does that click 1 to 3 of the random 5 you named above? (0,1,2,3,4)

Coh3n

2011-03-17 23:02:09

From: grats
Lol thanks, I don't really know a lot with pascal / simba so I did it that way :p
learned something new with your version though

does the second section with "else"
    else
for i := 1 to 3 do
does that click 1 to 3 of the random 5 you named above? (0,1,2,3,4)

Yes it will press a random f key 3 times in a row. It could click the same one twice in a row or even three times, which could be bad, but that's pretty unlikely.

Gu3st...

2011-03-17 23:03:30

Nice, grats & Coh3n! :)

NCDS

2011-03-18 00:18:36

This is what I currently have in MSI_Antiban to use while alching, on my Git branch:

//intro code
begin
MakeCompass('random');
if Random(10) = 5 then
MakeCompass('n');
Exit;
end;
//other antiban code
Just simulates mouse movements in case you didn't know. ;)
Not sure if that's worth putting into a new function or not, but figured I would post here for opinions anyways.

If it is to be made a function I'll add a couple more things to it before committing.

grats

2011-03-18 00:33:07

From: NCDS
This is what I currently have in MSI_Antiban to use while alching, on my Git branch:

//intro code
begin
MakeCompass('random');
if Random(10) = 5 then
MakeCompass('n');
Exit;
end;
//other antiban code
Just simulates mouse movements in case you didn't know. ;)
Not sure if that's worth putting into a new function or not, but figured I would post here for opinions anyways.

If it is to be made a function I'll add a couple more things to it before committing.


Could add it as a random part of my procedure :P

NCDS

2011-03-18 00:57:52

From: grats
Could add it as a random part of my procedure :P

Yeah I don't see why that wouldn't work, as long as pressing those FKeys doesn't mess with the mouse or the alching (or any thing really) procedure.

From: Flight
I have a few suggestions.

1. ACR: http://villavu.com/forum/showthread.php?t=62709

I personally don't do that at all. Granted, I don't play much so maybe most people do. If other people think this should be added, then I'm sure we can work it in. :)

From: Flight

2. 'Mini-breaks' (every 5-10 minutes stop mouse/key movement for just a matter of seconds, maybe 10-20 seconds) Simulates a quick 'afk'.
This is included in the 'HumanBreaking' feature of MSI and I had thought up to this point that it was included in MSI_AntiBan. However, I see now that it is not but I will add it, unless someone objects? I've used this in many of my scripts and really like it honestly.

From: Flight

3. Penguin within distance finder (Members only, if a penguin is around you, 'Spy' on it) This might not be worth adding, as most are accustomed to free world botting.

Probably not worth adding. We are looking for a wide range of proc's to choose from, but at the same time I don't want to bloat the file.

From: Flight

4. Random hovering/right clicking on nearby players (Check the lvl/names, maybe even use their names and ask them thei ….. level in relevance to what skill you/they are doing)

I like this idea except for actually talking to the player. Seems like something that should be included in SRL's RandomRClick. Perhaps I'll do that when I finish the cooking stuff.
From: Flight

5. Maybe something to do with CC's?

That's easy enough to add, but how many people actually join Clan chats? Again, I'm not an active player so I'm really not sure.
From: Flight

6. Randomly use left/right clicking (I think I've already seen this, but it's nothing official)

This is indeed already used throughout MSI.

Feel free to work on any of these. If you need help or have any questions you can get a hold of me on MSN, or just PM me (preferred). That goes for anyone else interested as well.

This is a great opportunity for people to get involved in MSI and help everyone catch on to how things work, take advantage of it!

Thanks for the suggestions. :)

Coh3n

2011-03-18 02:36:34

Just a couple quick and short comments.
  • ACR: Like the idea, didn't look too much into his code, but I certainly think it could/should be implemented into MSI.
  • @NCDS/grats: Keep the two procedure separate. I think we should keep EVERYTHING separate, then if necessary, combine certain procedures that go well with each other.
  • "Mini-breaks": Not the same as in breaking I don't think. I like the idea of idling for 10-20 seconds on rare occasion.
  • I like right-clicking the player, but not talking to them. So I agree with NCDS.
I also updated the first post with what we have so far for people to test.

Boreas

2011-03-18 19:12:39

Is antiban on/off set by player? If so, someone should run a new 6 or 8 player army 24/7, some players with antiban and some without, and see if there are more randoms or bans on the ones without antiban.

Coh3n

2011-03-18 19:14:42

From: Boreas
Is antiban on/off set by player? If so, someone should run a new 6 or 8 player army 24/7, some players with antiban and some without, and see if there are more randoms or bans on the ones without antiban.

It's not, but it wouldn't be hard to add.

Flight

2011-03-18 20:47:24

I like Boreas's idea tbh. That'd be a great way to tell us if they're working successfully in the first place or not.

1337w33d

2011-03-19 01:01:23

I was actually thinking the other day; Possibly using energy potions when preforming tasks that require lots of running and banking… Say you were using a vial filling script (Was using Harry's at the moment of inspiration :P) for instance: Withdraw Energy potion (1), withdraw vials as normal, drink Energy potion (1).

In the case of the vial filling script, this would knock out 2 birds with one stone. Not taking any inventory space, and getting more energy. In the case of using a miner, (or other gathering scripts that would benefit from a completely empty inventory) just drop the empty vial.

I would write the function/procedure myself, but I've only just returned to RS/SRL… so my scripting abilities (which were already lacking) are not up to par. Wouldn't trust myself for the overall functioning of the procedure. Changing that, currently. ;)

- Also, my mistake if this is (or something like it) already existent. Please forgive me if so :x

4. Random hovering/right clicking on nearby players (Check the lvl/names, maybe even use their names and ask them their ….. level in relevance to what skill you/they are doing)


Maybe detecting and right clicking on players with PartyHats or other rares equipped could be included. Just an idea!

Not sure if this is already done, but maybe double clicking? I find I double click a lot out of habit in runescape. Though this could potentially cause more errors for a script than being more human-like… I would imagine.

What about ignoring players? Having a script detect people spamming/spambots advertising gold and then ignoring them. I would get a kick out of looking through my ignored players lists and see all the stupid names people make ;D

I'll keep updating as the ideas flow. Unless requested otherwise. xP

Coh3n

2011-03-19 01:51:51

From: 1337w33d
I was actually thinking the other day; Possibly using energy potions when preforming tasks that require lots of running and banking… Say you were using a vial filling script (Was using Harry's at the moment of inspiration :P) for instance: Withdraw Energy potion (1), withdraw vials as normal, drink Energy potion (1).

In the case of the vial filling script, this would knock out 2 birds with one stone. Not taking any inventory space, and getting more energy. In the case of using a miner, (or other gathering scripts that would benefit from a completely empty inventory) just drop the empty vial.

I would write the function/procedure myself, but I've only just returned to RS/SRL… so my scripting abilities (which were already lacking) are not up to par. Wouldn't trust myself for the overall functioning of the procedure. Changing that, currently. ;)

- Also, my mistake if this is (or something like it) already existent. Please forgive me if so :x

Neat idea, but I'm not sure how well it would work. It is member's only and it could be more trouble than it's worth. That being said, if someone were to implement it, I wouldn't deny it.


From: 1337w33d

Maybe detecting and right clicking on players with PartyHats or other rares equipped could be included. Just an idea!

That would be tough, although I'm pretty sure almost everyone does that. :p It would be tough because we would need main screen object records of what each rare looks like on the main screen, and we don't exactly have access to every rare. :p Neat idea, though. I think just right clicking random players would work just as well if this turned out to not work very well.

From: 1337w33d

Not sure if this is already done, but maybe double clicking? I find I double click a lot out of habit in runescape. Though this could potentially cause more errors for a script than being more human-like… I would imagine.

Like double clicking quickly one after another? Or with a few seconds in between?

From: 1337w33d

What about ignoring players? Having a script detect people spamming/spambots advertising gold and then ignoring them. I would get a kick out of looking through my ignored players lists and see all the stupid names people make ;D

Very possible! I like it. I always see spam bots when I watch MSI run. :p

I'll update the first post now.

NCDS

2011-03-19 02:38:05

From: Coh3n

From: 1337w33d

Not sure if this is already done, but maybe double clicking? I find I double click a lot out of habit in runescape. Though this could potentially cause more errors for a script than being more human-like… I would imagine.

Like double clicking quickly one after another? Or with a few seconds in between?

We could always just use it in certain situations where it won't matter. That is why we're doing this after-all. :rolleyes:
From: Coh3n

From: 1337w33d

What about ignoring players? Having a script detect people spamming/spambots advertising gold and then ignoring them. I would get a kick out of looking through my ignored players lists and see all the stupid names people make ;D

Very possible! I like it. I always see spam bots when I watch MSI run. :p

I really like this one.

Coh3n

2011-03-19 02:55:11

From: NCDS
We could always just use it in certain situations where it won't matter. That is why we're doing this after-all. :rolleyes:

Yeah, I just wanted to fully understand what be meant. :)

1337w33d

2011-03-19 05:35:37

Like double clicking quickly one after another?


This one! ;p I'm sure the one click - seconds later click would cause errors lol

Hmm, what about opening up the world map and looking around for a second or so - then exiting the map?

Checking tasks in the task menu? I don't really do this too much, but other players might

Mousing over dropped items on the ground? I find myself doing that even though its a burned consumable or something - Never know whats under that burned shark! Oh a bronze pickaxe and more burned sharks… damn I'll find that hidden partyhat someday…

Brainstorm, brainstorm… hmm pretty much just chucking ideas out haha :P

Coh3n

2011-03-19 15:35:41

From: 1337w33d

Hmm, what about opening up the world map and looking around for a second or so - then exiting the map?

I like that one.

From: 1337w33d

Checking tasks in the task menu? I don't really do this too much, but other players might

I don't mind this one either.

From: 1337w33d

Mousing over dropped items on the ground? I find myself doing that even though its a burned consumable or something - Never know whats under that burned shark! Oh a bronze pickaxe and more burned sharks… damn I'll find that hidden partyhat someday…

I like this one, but I'm not sure exactly how it could be done.

Troll

2011-03-19 17:33:46

How about when someone drops somethng the keyboard mouse, like type a couple of keys that are in a group, I.E rtfgvb area couple come out as rgggfftvb and also if its near enter, press enter.
Same goes for the mouse like shake it in a small area, or rub in a motion like left for mouse pad?

Flight

2011-03-19 21:27:14

I've not gotten mouse keys to work with Simba, I've looked all over the internet for how to use numberpad keys, and I've tried so many combination's from so many websites, has anyone else had this problem or found out how to get around it?

Coh3n

2011-03-20 02:44:53

From: Troll
How about when someone drops somethng the keyboard mouse, like type a couple of keys that are in a group, I.E rtfgvb area couple come out as rgggfftvb and also if its near enter, press enter.
Same goes for the mouse like shake it in a small area, or rub in a motion like left for mouse pad?

Sure, why not! Write it up! ;)

From: Flight
I've not gotten mouse keys to work with Simba, I've looked all over the internet for how to use numberpad keys, and I've tried so many combination's from so many websites, has anyone else had this problem or found out how to get around it?

You mean these?



// Select Simba's debug box as the client ;)
program new;
{$i srl/srl.scar}

begin
SetupSRL;
ClearDebug;

Mouse(30, 30, 0, 0, true);
TypeByte(VK_NUMPAD3);
end.

Troll

2011-03-20 03:47:55

Sure, why not! Write it up! ;)
Not sure how to wirte the keyboard one, but i came up with this :) P.S. im not a good scirpter


Procedure ShakeMouse(Time:Integer);
Var x,y,timer,BottomX,BottomY,TopX,TopY:Integer;
Begin

GetMousePos(x,y);
BottomX := X-RandomRange(10,60);
BottomY := Y-RandomRange(10,60)
TopX := X+RandomRange(10,60);
TopY := Y+RandomRange(10,60);
MarkTime(Timer);

While (TimeFromMark(Timer) < Time) Do
Begin
MMouse(RandomRange(BottomX,TopX),RandomRange(BottomX,BottomY),0,0);
Wait(RandomRange(50,100));
End;
End;

Coh3n

2011-03-20 04:12:02

Awesome! I fixed up the standards and added to the first post so it's available for testing. :)

I don't have time to test right now, but I'll eventually get testing everything that's written.

Flight

2011-03-20 04:49:11

From: Coh3n

You mean these?

// Select Simba's debug box as the client ;)
program new;
{$i srl/srl.scar}

begin
SetupSRL;
ClearDebug;

Mouse(30, 30, 0, 0, true);
TypeByte(VK_NUMPAD3);
end.


Yep, doesn't work either. :huh:

Floor66

2011-03-20 07:23:02

What I do in my AntiBan is, I use SleepAndMoveMouse quite a bit, or RandomMovement, but I've modified them.

When for example i'm mining, I've added to SleepAndMoveMouse that while it's moving, it checks whether there still is ore available in the rocks, if not, it'll stop moving the mouse instead of waiting for it to finish and then detecting whether the rock is down.

Gu3st...

2011-03-20 13:22:52

From: Coh3n
I like this one, but I'm not sure exactly how it could be done.
Mayb FindNPCDots('red'); and MMToMS()?

Coh3n

2011-03-20 15:06:11

From: Flight
Yep, doesn't work either. :huh:

Works for me. You sure you dragged the crosshairs to Simba's debug box? You could drag them to Notepad and it would do the same.

From: Floor66
What I do in my AntiBan is, I use SleepAndMoveMouse quite a bit, or RandomMovement, but I've modified them.

When for example i'm mining, I've added to SleepAndMoveMouse that while it's moving, it checks whether there still is ore available in the rocks, if not, it'll stop moving the mouse instead of waiting for it to finish and then detecting whether the rock is down.

That's good! We could just add a BreakFunc parameter to SleepAndMoveMouse so if it returns true it'll exit the function.

From: Zyt3x
Mayb FindNPCDots('red'); and MMToMS()?

Yes, that may work.

NCDS

2011-03-20 16:01:31

From: Zyt3x
Mayb FindNPCDots('red'); and MMToMS()?


From: Coh3n

Yes, that may work.


That's what I figured we would do for examining players as well if no one objects?

Coh3n

2011-03-20 16:12:22

From: NCDS
That's what I figured we would do for examining players as well if no one objects?

Nope. :) Makes sense.

Flight

2011-03-20 20:18:09

From: Coh3n
Works for me. You sure you dragged the crosshairs to Simba's debug box? You could drag them to Notepad and it would do the same.


I apologize for continuing the off-topic'ness but no it doesn't work with Runescape itself. This is what I have, and I've no idea why it should not work.

KeyDown(VK_CONTROL); //CTRL
Wait(RandomRange(50,75));
TypeByte(VK_NUMPAD5);
Wait(RandomRange(50,75));
TypeByte(VK_NUMPAD2);
Wait(RandomRange(50,75));
KeyUp(VK_CONTROL); //CTRL

This should simulate a single item being dropped with mouse keys.

Coh3n

2011-03-21 00:38:58

From: Flight
I apologize for continuing the off-topic'ness but no it doesn't work with Runescape itself. This is what I have, and I've no idea why it should not work.

KeyDown(VK_CONTROL); //CTRL
Wait(RandomRange(50,75));
TypeByte(VK_NUMPAD5);
Wait(RandomRange(50,75));
TypeByte(VK_NUMPAD2);
Wait(RandomRange(50,75));
KeyUp(VK_CONTROL); //CTRL

This should simulate a single item being dropped with mouse keys.

Were you testing it with SMART? And why do you have to have Ctrl held down? Is that just how is works for RS?

1337w33d

2011-03-21 01:02:15

What about randomly adjusting sound settings, etc.

Scrolling through the quest tab, simulating a player looking at their quests.

Maybe writing random notes down in the player notepad? Lol

Switching public chat to hide around banks or other high traffic areas? I do that often.

Flight

2011-03-21 03:59:55

Holding CTRL and hitting '2' on the numberpad (with mouse keys enabled, ect…) makes the mouse 'jump' down, the exact length to both the 'Drop' option and the item box below it.

Coh3n

2011-03-21 15:09:24

From: 1337w33d
What about randomly adjusting sound settings, etc.

Scrolling through the quest tab, simulating a player looking at their quests.

Maybe writing random notes down in the player notepad? Lol

Switching public chat to hide around banks or other high traffic areas? I do that often.

Nice, added to the first post.

From: Flight
Holding CTRL and hitting '2' on the numberpad (with mouse keys enabled, ect…) makes the mouse 'jump' down, the exact length to both the 'Drop' option and the item box below it.

Then I'm not sure. I'm assuming you're using SMART, so maybe try without it? I don't know of SMART's keyboard support features.
____________________________

Okay guys, we have lots of stuff on the list. Feel free to tackle whichever you want! :D

Gu3st...

2011-03-21 19:23:57

From: Flight
Holding CTRL and hitting '2' on the numberpad (with mouse keys enabled, ect…) makes the mouse 'jump' down, the exact length to both the 'Drop' option and the item box below it.
Does this work in other OSes than Windows?

IPwnz

2011-03-21 20:42:43

When I do "auto" legit sometimes I'll drop a weight onto an arrowkey to keep the camera spinning in one direction until my input is needed again. Here's an idea of what it would look like:

procedure CameraSpin;
var
i: Integer;
key: Integer;
Deg: Extended;
begin
if(not(LoggedIn))then exit;
i := Random(2);
if (i = 1) then
key := VK_LEFT
else
key := VK_RIGHT;

ActivateClient;
Deg := RS_GetCompassAngleDegrees;
Wait(100 + random(50));
repeat
KeyDown(key);
until theplayerneedstodosomething;
Wait(1000 + random(1000));
KeyUp(key);
Wait(500 + random(1000));
MakeCompass(Deg);
end;

Flight

2011-03-21 21:31:25

From: Zyt3x
Does this work in other OSes than Windows?


Yes. http://runescape.wikia.com/wiki/Mouse_keys#Mac_OS_X_10.3

From: Coh3n

Then I'm not sure. I'm assuming you're using SMART, so maybe try without it? I don't know of SMART's keyboard support features.


For something as basic as mousekeys testing, I used just a regular Runescape browser. It's just standard procedure for me to test anything like this first via Runescape, then if it's successful I'll go on to Smart. I don't think it's so much of an issue with Smart as it is with Simba itself.

Coh3n

2011-03-22 02:54:32

IPwnz, I like it. Maybe have the condition a boolean parameter, or have a time limit parameter?

@Flight, then I'm not sure. May have to file a Simba bug report.

TomTuff

2011-03-22 03:07:06

http://villavu.com/forum/showthread.php?t=61881

^This!

procedure MouseOffScreen(MinimumWait, RandomWait: Integer);
var
Pt: TPoint;
w, h: Integer;
begin
GetClientDimensions(w, h);
Pt := Point(RandomRange(-w, 2 * w), RandomRange(-h, 2 * h));
if ((Pt.x <= w) and (Pt.x >= 0)) and not((Pt.y <= 0) or (Pt.y >= 0)) then
IncEx(Pt.x, w);
MMouse(Pt.x, Pt.y, 0, 0);
Wait(MinimumWait + Random(RandomWait));
end;

grats

2011-03-22 14:44:42

@flight & coh3n

when I've tried to use "mouse keys" on simba it presses the numberpad button, it's sending a "press 5" whether the numlock is on or off.

This means it will never be doing the actual "mouse key" click that we want it to do.. in & out of simba.. I've tried without even using runescape, just simba

Coh3n

2011-03-22 14:59:32

From: TomTuff
http://villavu.com/forum/showthread.php?t=61881

^This!

procedure MouseOffScreen(MinimumWait, RandomWait: Integer);
var
Pt: TPoint;
w, h: Integer;
begin
GetClientDimensions(w, h);
Pt := Point(RandomRange(-w, 2 * w), RandomRange(-h, 2 * h));
if ((Pt.x <= w) and (Pt.x >= 0)) and not((Pt.y <= 0) or (Pt.y >= 0)) then
IncEx(Pt.x, w);
MMouse(Pt.x, Pt.y, 0, 0);
Wait(MinimumWait + Random(RandomWait));
end;

Nice, I'll add to the first post. :)

From: grats
@flight & coh3n

when I've tried to use "mouse keys" on simba it presses the numberpad button, it's sending a "press 5" whether the numlock is on or off.

This means it will never be doing the actual "mouse key" click that we want it to do.. in & out of simba.. I've tried without even using runescape, just simba

Sounds like support needs to be added to Simba then.

IPwnz

2011-03-22 18:42:27

From: Coh3n
IPwnz, I like it. Maybe have the condition a boolean parameter, or have a time limit parameter?


What about (not MSI_AutoObjects)? I think (perhaps wrongly) that the arrow key would stop being held down once the player is done autoing at its current spot, so that should work fine?

Coh3n

2011-03-22 18:49:05

From: IPwnz
What about (not MSI_AutoObjects)? I think (perhaps wrongly) that the arrow key would stop being held down once the player is done autoing at its current spot, so that should work fine?

Well MSI_AutoObjects is what's called in the mainloop, so you have the right idea, but I think we would want it to just rotate until it's done mining one rock, or one tree. That may, however, cause it to return false positives because the colors will be at different spots on the screen.

Gu3st...

2011-03-22 19:03:16

From: Coh3n
Well MSI_AutoObjects is what's called in the mainloop, so you have the right idea, but I think we would want it to just rotate until it's done mining one rock, or one tree. That may, however, cause it to return false positives because the colors will be at different spots on the screen.
That would definitely be a problem…. Unless we track the object….

IPwnz

2011-03-22 19:12:25

From: Coh3n
Well MSI_AutoObjects is what's called in the mainloop, so you have the right idea, but I think we would want it to just rotate until it's done mining one rock, or one tree. That may, however, cause it to return false positives because the colors will be at different spots on the screen.


Well like I said in my original post this would be an antiban that we would call during something like Fishing or Alching, where RS doesn't need input for a decent amount of time. I wouldn't use this one a task like mining where the player is moving from rock to rock every few seconds. As for the false positives, that would take a bit more thought, as Fishing would either pull out with a wrong color check or wait for 30 seconds after it had caught a fish (neither of which is great). So, while I like my idea, it may just be best to leave it unused. :(

TomTuff

2011-03-22 20:29:51

As long as I give credit, I can use these in my scripts right?

NCDS

2011-03-22 23:56:03

From: TomTuff
As long as I give credit, I can use these in my scripts right?


No holds on MSI's end, feel free to use whatever. :)

1337w33d

2011-03-23 00:47:07

Would detecting rare (harder to get) Skillcapes and writing (for example) "Nice Runecraft cape!" or something along those lines be possible / efficient?

Flight

2011-03-23 01:39:43

That'd be tough to do, as that falls in line with the idea of somehow grabbing nearby player's looks/equipment, and I honestly don't know how you'd do that with either reflection or color. :/

1337w33d

2011-03-23 03:54:55

Ah, I kind of figured. Starting to get a better grasp of what is doable and what isn't now. ;p

Just had that idea whilst killing abyssals, saw a guy with the 99 RC cape.

What about an anti ban that adds well known / famous RS players to your friends list / removes them? Lol.

Coh3n

2011-03-23 04:22:03

From: 1337w33d
What about an anti ban that adds well known / famous RS players to your friends list / removes them? Lol.

I've never heard of anyone doing that, but it's possible yeah. :p

blother

2011-03-24 23:45:52

Don't really know how to make this, but you can add a procedure that resets the XP counter and clicks it open and closed to check the XP.

NCDS

2011-03-24 23:57:26

From: blother
Don't really know how to make this, but you can add a procedure that resets the XP counter and clicks it open and closed to check the XP.


I believe there are functions in SRL to show/hide the XP counter, not positive though.

I think it's something to surely be added if not though.

Flight

2011-03-25 00:58:09

Hey guys I recently made this for one of my scripts, basically it's a more realistic random mouse movement, it uses alot of curve to give it humanish characteristics and it moves at a very similar time to when you would manually move your mouse. This is very, very close to how I normal move my mouse while waiting to, let's say, get a log/ore/fish. Looking at the code it might look like it's rarely being used but you'd be surprised at just how perfectly timed I have it.

Note: This changes the mouse speed, be sure to have it changed back to your script's default mouse speed after this anti-ban is disabled.

Procedure HumanMouse;
Var
randSpeed: extended;
x,y: integer;
begin
case(Random(10000)) of
0..9900: begin
//Nothing
end;
9901..9999: begin
MouseSpeed := RandomRange(3,5);
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
GetMousePos(x,y);
{We make the wind higher than gravity
to give more curve, this is what
MMouse lacks...}
WindMouse(x,y,RandomRange(x-75,x+75),RandomRange(y-75,y+75),
30,55,10.0/randSpeed,12.0/randSpeed,10.0*randSpeed,10.0*randSpeed);
end;
end;
end;

Test it and lemme know what you think. :)

Smartzkid

2011-03-25 01:18:43

From: Flight
Note: This changes the mouse speed, be sure to have it changed back to your script's default mouse speed after this anti-ban is disabled.


Just reset the script's mouse speed to what it was originally

Procedure HumanMouse;
Var
randSpeed: extended;
x,y,firstSpeed: integer;
begin
case(Random(10000)) of
0..9900: begin
//Nothing
end;
9901..9999: begin
firstSpeed := MouseSpeed;
MouseSpeed := RandomRange(3,5);
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
GetMousePos(x,y);
{We make the wind higher than gravity
to give more curve, this is what
MMouse lacks...}
WindMouse(x,y,RandomRange(x-75,x+75),RandomRange(y-75,y+75),
30,55,10.0/randSpeed,12.0/randSpeed,10.0*randSpeed,10.0*randSpeed);
MouseSpeed := firstSpeed;
end;
end;
end;


From: 1337w33d
What about ignoring players? Having a script detect people spamming/spambots advertising gold and then ignoring them. I would get a kick out of looking through my ignored players lists and see all the stupid names people make ;D


We should report them if we detect 'c o m' in their chat! :)

Flight

2011-03-25 01:33:31

I had another idea a while ago, but I'm not sure how exactly I'd go about doing it. Someone suggested detecting rare/high level items on nearby players, and I looked through reflection's functions for dumping variables from nearby players. Could we not just detect if nearby players are wearing, for example skillcapes, if they are then grab that player's name, and send a chat message, with mistakes, something like "Nice cape". The problem I can't get around is 'saving' this player's name so we don't constantly say nice cape to them, but so if we've said it once then ignore that player from there on out.

Spark any ideas?

Coh3n

2011-03-25 01:44:15

From: blother
Don't really know how to make this, but you can add a procedure that resets the XP counter and clicks it open and closed to check the XP.


From: NCDS
I believe there are functions in SRL to show/hide the XP counter, not positive though.

I think it's something to surely be added if not though.

Yes, there are XP counter functions in SRL, just not sure where off the top of my head. I'll add this to the list in the first post.

From: Flight
Hey guys I recently made this for one of my scripts, basically it's a more realistic random mouse movement, it uses alot of curve to give it humanish characteristics and it moves at a very similar time to when you would manually move your mouse. This is very, very close to how I normal move my mouse while waiting to, let's say, get a log/ore/fish. Looking at the code it might look like it's rarely being used but you'd be surprised at just how perfectly timed I have it.

Note: This changes the mouse speed, be sure to have it changed back to your script's default mouse speed after this anti-ban is disabled.

Procedure HumanMouse;
Var
randSpeed: extended;
x,y: integer;
begin
case(Random(10000)) of
0..9900: begin
//Nothing
end;
9901..9999: begin
MouseSpeed := RandomRange(3,5);
randSpeed := (random(MouseSpeed) / 2.0 + MouseSpeed) / 10.0;
GetMousePos(x,y);
{We make the wind higher than gravity
to give more curve, this is what
MMouse lacks...}
WindMouse(x,y,RandomRange(x-75,x+75),RandomRange(y-75,y+75),
30,55,10.0/randSpeed,12.0/randSpeed,10.0*randSpeed,10.0*randSpeed);
end;
end;
end;

Test it and lemme know what you think. :)

Wonderful! I'll add that to the first post for testing. :) Thanks! Also, if you think you can use the same methods to alter SRL's mouse, then by all means do it and post it in the SVN section! :)

From: Flight
I had another idea a while ago, but I'm not sure how exactly I'd go about doing it. Someone suggested detecting rare/high level items on nearby players, and I looked through reflection's functions for dumping variables from nearby players. Could we not just detect if nearby players are wearing, for example skillcapes, if they are then grab that player's name, and send a chat message, with mistakes, something like "Nice cape". The problem I can't get around is 'saving' this player's name so we don't constantly say nice cape to them, but so if we've said it once then ignore that player from there on out.

Spark any ideas?

I suppose it would be possible with reflection, so the function would have to enclosed with defines, but I don't see why it couldn't be added. I'll add this idea to the first post as well.

Gu3st...

2011-03-25 04:32:39

I wouldn't like to have it so that it reset the xp counter (by default), but checking it once in a while would be really nice :)

Flight

2011-03-25 08:34:13

So after a bit of playing around with WindMouse, I see now that the MouseSpeed is a big factor in the curve of the motion. To test what the curve looks like, I made a simple script to draw a line in MS Paint following the mouse's movement to compare differences. Here's what I got:


Notice the smoother curve with a higher speed? Personally I'd say that's the more realistic movement.
Here's my testing procedure if anyone wants to experiment.
Procedure DrawLines(xs,ys,xe,ye,Speed,HowMany: integer);
Var
x,y: integer;
begin
MouseSpeed := Speed;
if (i < HowMany) then //How many lines to draw?
begin
MMouse(xs,ys,5,5);
Wait(150 + Random(20));
GetMousePos(x,y);
HoldMouse(x,y,MouseAction(true));
Wait(250 + Random(320));
MMouse(xe,ye,5,5);
Wait(250 + Random(120));
GetMousePos(x,y);
ReleaseMouse(x,y,MouseAction(true));
Inc(i);
end else if (i >= HowMany) then
begin
TerminateScript;
end;
end;

By the way, to test it just open us MS Paint, enable the pencil tool, and make your canvas as big as you want, then determine what x/y you want the line to start and end at.

Gu3st...

2011-03-25 12:04:02

The problem with higher mouse speeds is that the higher it is the faster the mouse move (Cpt. Obvious, I know), so we don't want to increase it too much. A nice anti-ban would be to have different mouse speeds at different tasks. Like clicking gametabs wouldn't need high speeds because the gametabs don't move, but clicking on npc's would require somewhat moderate speed because if we're too slow then the npc might've moved from where we're moving our mouse to.

Flight

2011-03-25 12:16:22

You're definitely right about alternating mousespeeds within the script. That's why I changed mousespeeds when I use 'HumanMouse', because when I'm waiting for an ore/log, sometimes I'll move my mouse around a little bit, but at a slow pace, and when I get the item and time to find another one, I'll move alot faster. This is normal, and in all honestly needs to be implanted in scripts that require a bit of wait time. I know alot of people will argue "I use MouseSpead := RandomRange(blah,blah);…. so that should be enough" but if you notice there's almost a constant fast speed when you're intentionally moving your mouse and generally slower speed when you're not, it's quite a drastic change.

Take this for example. Currently antibans use, let's say, hoverskill. We'll use Woodcutting. You have a fairly fast mousespeed for initially finding the tree (This is normal, it should be fast), when clicked and while you're woodcutting your hoverskill('woodcuttin') or whatever goes into effect and your mousespeed is still crazy high, so you move to and click your skills tab and then to the woodcutting skill insanely fast, as if you're competing. This is just stupid if you ask me, it's so so easy to change speeds while using anti-ban only. There's just no reason not to…

Floor66

2011-03-25 12:19:26

If, for example, I'm WCing, I get the current mouse pos and if that's < Range then change the mouse speed. There's no need for a super-fast click when you're already close to the object with your cursor.

Smartzkid

2011-03-25 19:05:02

The speed at which a human moves the mouse increases with the size of the object they are clicking.


From: Flight
I had another idea a while ago, but I'm not sure how exactly I'd go about doing it. Someone suggested detecting rare/high level items on nearby players, and I looked through reflection's functions for dumping variables from nearby players. Could we not just detect if nearby players are wearing, for example skillcapes, if they are then grab that player's name, and send a chat message, with mistakes, something like "Nice cape". The problem I can't get around is 'saving' this player's name so we don't constantly say nice cape to them, but so if we've said it once then ignore that player from there on out.

Spark any ideas?


Add them to the player's friends list or store their name in an array of strings

Flight

2011-03-25 20:31:19

Yeah storing a name in an array is what I had suggested, but that's beyond my knowledge of how to do so. :p

SubiN

2011-04-02 19:35:02

possiblw to move screen while walking or running as in change the orientation while moving

Coh3n

2011-04-02 19:40:31

From: SubiN
possiblw to move screen while walking or running as in change the orientation while moving

You mean change the camera angles?

NCDS

2011-07-12 22:26:08

Added XPBarToggle and the ignoring spam bots feature in MSI_AntiBan. MSI_IgnoreSpam is pretty messy as it's really 3 or 4 functions jumbled into one, but it worked good through my tests.

Changes can be seen here: https://github.com/SRL/MSI/commit/32ee8618efbf20ecd39be589e8d03ab47fc4a0a1

Let me know if anyone runs into any problems. :)

E: discovered a bug with the ignore function so I've commented that out until I get it fixed, and perhaps cleaned up a little.

Coh3n

2011-07-13 00:07:51

Awesome. :) We still need testers for the procedures in the first post if anyone's willing to do them.

NCDS

2011-07-13 01:18:28

From: Coh3n
Awesome. :) We still need testers for the procedures in the first post if anyone's willing to do them.


FKey didn't work, HumanMouse and ShakeMouse are basically the exact same, but we already have random mouse movements in our antiban. MouseOffScreen works alright and can probabaly be added. I can do that the same when I push the changes to IgnoreSpam.

Coh3n

2011-07-13 02:14:00

From: NCDS
FKey didn't work, HumanMouse and ShakeMouse are basically the exact same, but we already have random mouse movements in our antiban. MouseOffScreen works alright and can probabaly be added. I can do that the same when I push the changes to IgnoreSpam.

Shake mouse was supposed to simulate "spazzic" mouse movements, not just simply randomly moving the mouse. It would have to involve increasing the mouse speed significantly, then setting back at the end of the procedure. I think a hyperspeed sleepAndMoveMouse would work.

NCDS

2011-07-28 23:32:48

This thread is still open to suggestions from anyone who has them!
We're always looking for better ways to look more human and become more advanced so don't be shy about telling us your idea's.

Plus, don't you want some of your own work inside MSI :rolleyes:

Coh3n

2011-07-28 23:37:59

From: NCDS
This thread is still open to suggestions from anyone who has them!
We're always looking for better ways to look more human and become more advanced so don't be shy about telling us your idea's.

Plus, don't you want some of your own work inside MSI :rolleyes:
Indeed, any progress on the adding players to ignore? You also may want to know that there's a limit to how many people can be on the ignore list. Maybe it would be better just to turn public chat off if there's a spam bot found? Then turn it back on when we've left.

NCDS

2011-07-28 23:46:17

From: Coh3n
Indeed, any progress on the adding players to ignore? You also may want to know that there's a limit to how many people can be on the ignore list. Maybe it would be better just to turn public chat off if there's a spam bot found? Then turn it back on when we've left.


The one major problem is getting rid of the '?' every time there is a period. Other than that I have the function working quite well. I've tries Replace(), I've tried Exploding at the '?'. Nothing seems to do it quite right though.

I've actually just thought of a few other things I can try quick.

Do you happen to know the limit of people for the ignore list? I'm sure there is a message for when it's full and you try to add another person anyways. I can always make it check for that.

Coh3n

2011-07-29 10:39:58

From: NCDS
The one major problem is getting rid of the '?' every time there is a period. Other than that I have the function working quite well. I've tries Replace(), I've tried Exploding at the '?'. Nothing seems to do it quite right though.

I've actually just thought of a few other things I can try quick.

Do you happen to know the limit of people for the ignore list? I'm sure there is a message for when it's full and you try to add another person anyways. I can always make it check for that.
I think it's 100, either that or 200. Kind of frustrating cause I have to remove players in order to ignore more now. Just easier to turn public chat off.

Oh, that's another good idea for advanced settings: which chats to turn on/off.

masterBB

2011-07-29 10:50:05

From: Coh3n
Indeed, any progress on the adding players to ignore? You also may want to know that there's a limit to how many people can be on the ignore list. Maybe it would be better just to turn public chat off if there's a spam bot found? Then turn it back on when we've left.


Don't you guys think it's odd that we(you) are creating bot finding procedures? And that we will probably include better bot finding procedures than runescape?

How would you find a bot anyway? Repeated text? It would be annoying if it ignores people who are selling stuff at a bank, then we you need something not available on the GE, that most common sellers are ignored… Will this be an option in the form?

Coh3n

2011-07-29 11:37:16

From: masterBB
Don't you guys think it's odd that we(you) are creating bot finding procedures? And that we will probably include better bot finding procedures than runescape?

How would you find a bot anyway? Repeated text? It would be annoying if it ignores people who are selling stuff at a bank, then we you need something not available on the GE, that most common sellers are ignored… Will this be an option in the form?
I don't know exactly how NCDS is doing it, but it may be easiest to look for variations of ".com", like .C O M, . Co M, etc. That way I doubt it would pick up someone selling at the GE.

Troll

2011-08-10 09:13:48

I re-did my shake mouse to move a lot faster


//Shakes the mouse as if really bored and just want to move it fast round the screen :p
Procedure MSI_ShakeMouse(Time,LowerSpeed,UpperSpeed:Integer);
Var timer,i:Integer;
Begin
//25 and 35 works well
MouseSpeed := RandomRange(LowerSpeed,UpperSpeed);
MarkTime(timer);

While TimeFromMark(timer) < Time Do
Begin
MMouse(RandomRange(MSX1,MSX2),RandomRange(MSY1,MSY2),0,0);
IncEx(i,Random(5));
If ((i mod 3) = 2) Then // to make it more random with a changing speed
MouseSpeed := RandomRange(MouseSpeed-2,MouseSpeed+2);
End;

End;

Coh3n

2011-08-10 09:19:01

Looks nice, have you tested it?

Troll

2011-08-10 09:21:12

Ive tested it in paint and im about to see on runescape, it looks like when i move the mouse round really random and fast when im bored but is the kind of thing not to be called too often :) Ill edit in a min or two after running on runescape :)

E: it works ok at small times but a large times it seems bot like imo. Im going to change it to go a lot more diagonal which i do a lot on my mouse pad

Coh3n

2011-08-10 09:44:22

From: Troll
Ive tested it in paint and im about to see on runescape, it looks like when i move the mouse round really random and fast when im bored but is the kind of thing not to be called too often :) Ill edit in a min or two after running on runescape :)

E: it works ok at small times but a large times it seems bot like imo. Im going to change it to go a lot more diagonal which i do a lot on my mouse pad
Sounds good. :) To make everything easier you could actually use git to implement it in to MSI yourself. You don't have to, it would just get added much faster if you did. This guide has a section on setting up git, you can also PM me for any help. But like I said, you don't have to, but I recommend it if you plan on contributing to MSI/SRL/Reflection/Simba in the future as everything uses github now. ;)

Troll

2011-08-10 10:10:05

Yeah ill learn how to use git soon but i need to make some useful stuff first ;)

NCDS

2011-08-10 15:56:59

From: masterBB
Don't you guys think it's odd that we(you) are creating bot finding procedures? And that we will probably include better bot finding procedures than runescape?

How would you find a bot anyway? Repeated text? It would be annoying if it ignores people who are selling stuff at a bank, then we you need something not available on the GE, that most common sellers are ignored… Will this be an option in the form?


From: Coh3n
I don't know exactly how NCDS is doing it, but it may be easiest to look for variations of ".com", like .C O M, . Co M, etc. That way I doubt it would pick up someone selling at the GE.


I'm actually grabbing an array of the chat box. Each line is it's own array. Each line is then exploded at every instance of a space. The first line is then looped through the others looking for the same bits of text. If there is greater than 80% similarity between 2 lines, the player is then ignored.

That's how it works right now, and yes, it does pickup people who are just selling things sometimes, which is why it hasn't been implemented into the actual antiban procedures yet.

I still need to mess with it a bit, mainly adding failsafes for such instances, but I'll hopefully finish it soon.

From: Troll
I re-did my shake mouse to move a lot faster


//Shakes the mouse as if really bored and just want to move it fast round the screen :p
Procedure MSI_ShakeMouse(Time,LowerSpeed,UpperSpeed:Integer);
Var timer,i:Integer;
Begin
//25 and 35 works well
MouseSpeed := RandomRange(LowerSpeed,UpperSpeed);
MarkTime(timer);

While TimeFromMark(timer) < Time Do
Begin
MMouse(RandomRange(MSX1,MSX2),RandomRange(MSY1,MSY2),0,0);
IncEx(i,Random(5));
If ((i mod 3) = 2) Then // to make it more random with a changing speed
MouseSpeed := RandomRange(MouseSpeed-2,MouseSpeed+2);
End;

End;

Try setting MouseSpeed to a negative number, I'm quite sure you would get an error. Might want to make sure the current MouseSpeed is within a certain range before subtracting or adding anything to it.

Also, don't forget to reset MouseSpeed to what it was at originally after the procedure is completed. ;)

Coh3n

2011-08-10 17:20:42

NCDS, I still think looking for variations of .com will be the most effective way of doing this. You will never get false positives, it's common with all spam bots, and it's extremely simple. :p

NCDS

2011-08-10 17:22:51

From: Coh3n
NCDS, I still think looking for variations of .com will be the most effective way of doing this. You will never get false positives, it's common with all spam bots, and it's extremely simple. :p


Your probably right. Shame though, was fun making it the other way. :redface:

Coh3n

2011-08-10 17:38:29

From: NCDS
Your probably right. Shame though, was fun making it the other way. :redface:
Lol I've probable rewritten my own code 10000x before. :p 99% of the time it's for the better.

NCDS

2011-08-15 00:01:03

Added and Implemented the MSI_IgnoreSpam procedure. Took your advice and just did it simple; works great. :p


Please report any problems you may run into.

Coh3n

2011-10-20 20:03:42

Updated the first post as there were some duplicates and some were already done.

NCDS

2011-10-20 21:38:25

How would you like to go about the joining random clan chats? Do we want a database of existing chats or what? I'm honestly not too familiar with the RS clan stuff.


As for randomly right clicking characters; are we searching for perhaps party hat colors or other rares on the player to click them? or do we just want to use reflection to get the tile any random player is standing on? I think the first one would be cooler personally, just not sure how accurate it would be at only finding players.

Coh3n

2011-10-20 22:53:23

From: NCDS
How would you like to go about the joining random clan chats? Do we want a database of existing chats or what? I'm honestly not too familiar with the RS clan stuff.

Could just have the user input the chats they'd like to join. Probably easier that way.

From: NCDS

As for randomly right clicking characters; are we searching for perhaps party hat colors or other rares on the player to click them? or do we just want to use reflection to get the tile any random player is standing on? I think the first one would be cooler personally, just not sure how accurate it would be at only finding players.
I'm not sure how accurate MMToMS is in SRL, but we could look for white dots on the MM, but that's not ideal either. I don't think it would be bad if we had a Reflection only antiban procedure. It's not like we would reply on it for anything.

onilika

2011-10-21 09:50:29

Hmm…When we use a script, for eg., to make bows. You click on the wood and knife, and then you select what you want to make. BUT..when is to click in something, it moves mouse in a straight line. Dunno if it's possible to track that kind of movement…but it looks like non-human.
What about an irregular move?

Flight

2011-10-21 10:44:29

I'm positive all of Simba's (or SRL's?) mouse movements have human characteristics taken into account.

Check this post out:
http://villavu.com/forum/showpost.php?p=792261&postcount=67

Alaska

2011-10-21 11:15:43

How about after you gain a skill level when that icon is flashing in the skills tab for you to click on so you can see what stuff you've unlocked the use of. Most legit players check what they can do after advancing a level. I don't believe I've seen bots do that before.

Just have the bot bring that interface up after it levels and scroll through the new things.

Coh3n

2011-10-21 15:47:40

From: UNKNOWN69
Hmm…When we use a script, for eg., to make bows. You click on the wood and knife, and then you select what you want to make. BUT..when is to click in something, it moves mouse in a straight line. Dunno if it's possible to track that kind of movement…but it looks like non-human.
What about an irregular move?
Like Flight said, SRL's mouse methods are random. It probably just looks like it's a straight line because the points are so close together.

From: Alaska
How about after you gain a skill level when that icon is flashing in the skills tab for you to click on so you can see what stuff you've unlocked the use of. Most legit players check what they can do after advancing a level. I don't believe I've seen bots do that before.

Just have the bot bring that interface up after it levels and scroll through the new things.
Very easy to do. My old Draynor Chopper did this actually. I'll add this to the first post.

NCDS

2011-10-22 10:52:20

From: Coh3n

Very easy to do. My old Draynor Chopper did this actually. I'll add this to the first post.

I'm pretty sure there's an SRL function for it; LeveledUp or didLevel or something. I could be wrong though.

mika

2011-11-04 16:19:02

An auto talker. Maybe in areas where ur alone you system something like I'm so lonely o lalalalal
or talking to a not in the friends chat so the boys talk to eachother BC they know what to respond with. Something like a pre written script for a.conversation.

Also cheching the friends list hovering over player names that have changed to see what their new name is

Coh3n

2011-11-04 20:14:17

From: mika
An auto talker. Maybe in areas where ur alone you system something like I'm so lonely o lalalalal
or talking to a not in the friends chat so the boys talk to eachother BC they know what to respond with. Something like a pre written script for a.conversation.

Also cheching the friends list hovering over player names that have changed to see what their new name is
In order for that to be added, we'd have to have a really in-depth database, otherwise people having a conversation with you can easily tell if you're a bot. I'm not a fan of autoresponders at all, but I'd add the option to MSI if someone wrote a really good one.

subajk

2012-02-18 09:35:06

Originally Posted by 1337w33d
What about randomly adjusting sound settings, etc.
That would be great but if only simba could mute the game from client side.

Coh3n

2012-02-19 20:38:03

From: subajk
That would be great but if only simba could mute the game from client side.
It's not Simba that does that kind of stuff, it's SRL. And it can easily be written. If someone made the functions, I'd be more than happy to add them to SRL.

putonajonny

2012-02-28 15:19:03

From: Coh3n
It's not Simba that does that kind of stuff, it's SRL. And it can easily be written. If someone made the functions, I'd be more than happy to add them to SRL.


You can mute SMART using windows, just go to the icon of the speaker in the bottom right then mixer

marijuana420

2012-03-27 16:43:43

im thinking script change would be sweet.. so lets say u have ben botting fishing for 3 hours make the script walk to WC and start wc for 3 hours switching back and forth cus with this u could set w.e u wanted to do fish for 2 hours wc for 2 rc for 1 then back to fishing for 2 then take a break… how legit does that look?

Coh3n

2012-03-27 18:53:13

From: marijuana420
im thinking script change would be sweet.. so lets say u have ben botting fishing for 3 hours make the script walk to WC and start wc for 3 hours switching back and forth cus with this u could set w.e u wanted to do fish for 2 hours wc for 2 rc for 1 then back to fishing for 2 then take a break… how legit does that look?
Has been in the plans for MSI since it began. The entire include was written so that feature can be added. It's just no one has gotten around to adding it yet.

IIRC, it is fairly simple. Maybe I'll do it when I'm done with my other projects. :p

Neznam

2012-04-03 00:06:49

How about add and make the player type
"/ yeah thats hilarious"
then quickly go
"oops meant for chat"
Typing space and then / simulates accidentaly typing that and quickly pressing enter would seem as if the character is in a chat in clan or Private Messaging when they actually are not.
Also could be some random words and then the player could say "Oops meant for PM". Then go quiet because they are talking in PM and arent responding cause of that.

This could be implemented when Wcing… fishing… or w/e

I know i do this a lot when typing and talking to someone… i forget to press send msg to… or type / and space and it is said out loud when its meant for private or chat channels.

hoopla

2012-04-03 00:56:26

Here are a few ideas:

Writing in chatbox about levels gained

Asking very generic questions, such as, "Str lvl?"

Script generator that randomizes wait times, walk/function points/times & anti-ban methods slightly.

World switching becoming more standardized for scripts to add randomness and to prevent what we all know is going to happen with a new script, stupid fucking leechers camping for hours on end - this would alleviate some of this.

Adding "skill guide" "random" to anti-solving (scripts sometimes erroneously click leveling symbol and it gets stuck on the skill information guide)

A little off subject, but, I don't think adding a section for altered/customized scripts would be a bad idea (say for instance, altered cow fighting script to support fighting Giants or addition of features to scripts, etc)