View Full Version : Ok, here's the deal, dawgs: Notes on human like script.
solarwind
11-01-2006, 01:45 AM
JESSI coming along quite well.
I took a video of myself and my friend playing runescape (he didn't know about it so it would be more random). I then carefully analyzed it to see how a normal human would play. I won't release the video for various reasons. But I learned these things:
Normally - a human would do this while fighting/mining:
- Move the mouse randomly while looking for something to kill or for ores to appear.
- Get bored and move around the arrow keys a lot.
- When the ore "returns" or there are more monsters spawned, stops moving the mouse and clicks carefully on them.
- While fighting the monster or waiting to mine the ore, will move around the arrow keys randomly and move th mouse around randomly
- Sometimes stop moving the mouse or go off screen
- Chat random stuff
- Rinse, wash, repeat
This logic is very useful in developing my include. Just thought I'd share it with you all. Thanks for reading.
Boreas
11-01-2006, 03:43 AM
Good stuff. Keep it up.
solarwind
11-01-2006, 03:52 AM
Good stuff. Keep it up.
Thanks, Boreas, could you test this out for me?
It's a simple sine + random mouse movements using some arrays.
{.Script Info:
# ScriptName = Sine test.
# Author = Solarwind
# Description = More Advanced Mouse functions.
# Version = 0.01
# Date = October 31, 2006.
# Comments = ..::[ Use Linux ]::..
/Script Info}
{================================================= ================================================]
[ ]
[ ____ ___ __ ]
[ /\ _`\ /\_ \ __ /\ \ ]
[ \ \,\L\_\ ___\//\ \ __ _ __ __ __ __/\_\ ___ \_\ \ ]
[ \/_\__ \ / __`\\ \ \ /'__`\ /\`'__\/\ \/\ \/\ \/\ \ /' _ `\ /'_` \ ]
[ /\ \L\ \/\ \L\ \\_\ \_/\ \L\.\_\ \ \/ \ \ \_/ \_/ \ \ \/\ \/\ \/\ \L\ \ ]
[ \ `\____\ \____//\____\ \__/.\_\\ \_\ \ \___x___/'\ \_\ \_\ \_\ \___,_\ ]
[ \/_____/\/___/ \/____/\/__/\/_/ \/_/ \/__//__/ \/_/\/_/\/_/\/__,_ / ]
[ ]
[ ]
[ ]
[================================================== ===============================================}
Program New;
{.include SRL/SRL.scar}
Type
CoArray = Record
x, y : Integer;
End;
Function MakePath() : Array Of CoArray;
Var
NArray : Array Of CoArray;
i : Integer;
Begin
i := 0;
SetArrayLength(NArray, 100);
Repeat
NArray[i].x := i * 10 + Random(10);
NArray[i].y := Round(Sin(i) * 75) + Random(10);
i := i + 1;
Until(i = 100)
Result := NArray;
End;
Var
myarray : Array of CoArray;
i : Integer;
Begin
SetupSRL;
SetArrayLength(myarray, 100000)
myarray := MakePath();
MMouse(500, 500, 0, 0);
Sleep(10)
Repeat
MMouse(myarray[i].x + 500, myarray[i].y + 500, 0, 0);
i := i + 1;
Sleep(5);
Until(i = 100)
WriteLn('Array length of myarray is: ' + IntToStr(GetArrayLength(myarray)));
End.
IronTeapot
11-01-2006, 04:34 AM
Wow thats pretty neat! And thats just an example script, I can't imagine how your managing to write this. The final version is going to blow people away.
Boreas
11-01-2006, 04:50 AM
Run those on paint with pencil selected. Notice the differences. The first one has double the points and the i is multiplied by half as much. These 2 things balance each other out. Which is why the waves have the same height and width. Yet the first one looks better because there are more points. It's like a picture with many small pixels looks better than one with a less big pixels. Also since the first one is smaller the random is smaller. Just keep on playing with the numbers til it looks human.
{.Script Info:
# ScriptName = Sine test.
# Author = Solarwind
# Description = More Advanced Mouse functions.
# Version = 0.01
# Date = October 31, 2006.
# Comments = ..::[ Use Linux ]::..
/Script Info}
{================================================= ================================================]
[ ]
[ ____ ___ __ ]
[ /\ _`\ /\_ \ __ /\ \ ]
[ \ \,\L\_\ ___\//\ \ __ _ __ __ __ __/\_\ ___ \_\ \ ]
[ \/_\__ \ / __`\\ \ \ /'__`\ /\`'__\/\ \/\ \/\ \/\ \ /' _ `\ /'_` \ ]
[ /\ \L\ \/\ \L\ \\_\ \_/\ \L\.\_\ \ \/ \ \ \_/ \_/ \ \ \/\ \/\ \/\ \L\ \ ]
[ \ `\____\ \____//\____\ \__/.\_\\ \_\ \ \___x___/'\ \_\ \_\ \_\ \___,_\ ]
[ \/_____/\/___/ \/____/\/__/\/_/ \/_/ \/__//__/ \/_/\/_/\/_/\/__,_ / ]
[ ]
[ ]
[ ]
[================================================== ===============================================}
Program New;
{.include SRL/SRL.scar}
Type
CoArray = Record
x, y : Integer;
End;
Function MakePath() : Array Of CoArray;
Var
NArray : Array Of CoArray;
i : Integer;
Begin
i := 0;
SetArrayLength(NArray, 100);
Repeat
NArray[i].x := i*15 + Random(10);
NArray[i].y := Round(Sin((i/2)*1) *50) + Random(1);
i := i + 1;
Until(i =40)
Result := NArray;
End;
Var
myarray : Array of CoArray;
i : Integer;
Begin
SetupSRL;
SetArrayLength(myarray, 100000)
//mousespeed:=30;
myarray := MakePath();
MMouse(50, 200, 0, 0);
holdmouse(50,200,true);
Sleep(10) Repeat
//repeat
// wait(4);
//until isfkeydown(11);
MMouse(myarray[i].x + 50, myarray[i].y + 200, 0, 0);
i := i + 1;
Sleep(5);
Until((i = 40) or isfkeydown(12)) ;
getmousepos(x,y);
releasemouse(x,y,true);
WriteLn('Array length of myarray is: ' + IntToStr(GetArrayLength(myarray)));
End.
{.Script Info:
# ScriptName = Sine test.
# Author = Solarwind
# Description = More Advanced Mouse functions.
# Version = 0.01
# Date = October 31, 2006.
# Comments = ..::[ Use Linux ]::..
/Script Info}
{================================================= ================================================]
[ ]
[ ____ ___ __ ]
[ /\ _`\ /\_ \ __ /\ \ ]
[ \ \,\L\_\ ___\//\ \ __ _ __ __ __ __/\_\ ___ \_\ \ ]
[ \/_\__ \ / __`\\ \ \ /'__`\ /\`'__\/\ \/\ \/\ \/\ \ /' _ `\ /'_` \ ]
[ /\ \L\ \/\ \L\ \\_\ \_/\ \L\.\_\ \ \/ \ \ \_/ \_/ \ \ \/\ \/\ \/\ \L\ \ ]
[ \ `\____\ \____//\____\ \__/.\_\\ \_\ \ \___x___/'\ \_\ \_\ \_\ \___,_\ ]
[ \/_____/\/___/ \/____/\/__/\/_/ \/_/ \/__//__/ \/_/\/_/\/_/\/__,_ / ]
[ ]
[ ]
[ ]
[================================================== ===============================================}
Program New;
{.include SRL/SRL.scar}
Type
CoArray = Record
x, y : Integer;
End;
Function MakePath() : Array Of CoArray;
Var
NArray : Array Of CoArray;
i : Integer;
Begin
i := 0;
SetArrayLength(NArray, 100);
Repeat
NArray[i].x := i*30 + Random(10);
NArray[i].y := Round(Sin((i)*1) *50) + Random(1);
i := i + 1;
Until(i =20)
Result := NArray;
End;
Var
myarray : Array of CoArray;
i : Integer;
Begin
SetupSRL;
SetArrayLength(myarray, 100000)
//mousespeed:=30;
myarray := MakePath();
MMouse(50, 200, 0, 0);
holdmouse(50,200,true);
Sleep(10) Repeat
//repeat
// wait(4);
//until isfkeydown(11);
MMouse(myarray[i].x + 50, myarray[i].y + 200, 0, 0);
i := i + 1;
Sleep(5);
Until((i = 20) or isfkeydown(12)) ;
getmousepos(x,y);
releasemouse(x,y,true);
WriteLn('Array length of myarray is: ' + IntToStr(GetArrayLength(myarray)));
End.
Pentti
11-01-2006, 09:20 PM
Can Jagex see that how you MOVE your mouse?
Boreas
11-01-2006, 09:22 PM
Not sure. They have the potenial to though.
solarwind
11-01-2006, 10:13 PM
Can Jagex see that how you MOVE your mouse?
Of course. That's how their detection algorithm works. If they see patterns in mouse movement and timing, they will keep an eye on you and eventually ban you.
solarwind
11-01-2006, 10:16 PM
Run those on paint with pencil selected. Notice the differences. The first one has double the points and the i is multiplied by half as much. These 2 things balance each other out. Which is why the waves have the same height and width. Yet the first one looks better because there are more points. It's like a picture with many small pixels looks better than one with a less big pixels. Also since the first one is smaller the random is smaller. Just keep on playing with the numbers til it looks human.
Wow, thanks a lot for your help. You should have put your name on those scripts!
And remember to use the tags instead of the
tags. The code tags mess up the script and my ascii art header got messed up too lol.
I merged your mouse helper with mine and changed stuff and added my CoArray and figured out how to use findcolor while simultaneously moving the mouse.
So far, I got it to move the mouse randomly using my aftermouse and all that, and search for the green colour on the windows desktop to find the recycle bin
Boreas
11-01-2006, 10:19 PM
Np. All I did was change the numbers. (also commented it is a wait until f11 so you can see it step by step)
Powered by vBulletin® Version 4.2.1 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.