Gu3st...
2011-03-17 17:12:36
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 yetMessing with the XP counter near the minimap.- Impemented- Right clicking random players.
Adding spam bots to ignore list.- ImpementedFrom: 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.

