SRL Archive - Senior News and General

A Smart Choice... Beta 2


BenLand100

2007-07-01 19:38:38

This is just an announcement/feedback thread about my newest creation. I've designed a client loader that allows Scar to have 100% minimizable control over RS. That includes the Image, Mouse, and Keyboard. Unless people here provide ample reasons not to, it will be released 100% open source. Basically what this does is provides the functionality of using a virtual os, without the overhead. I'm still wondering about a few features, and I would like your feedback.

First off, there is the question of how to provide mouse control. Since this is minimizable, all events, including focus, are delivered directly to the client, and other events are blocked (at least while event spoofing/blocking is enabled). I have two theroies on how to do this. One way (and the way that I have implemented) involves providing comprehensive mouse/key control, ie. you tell it to move to this position and the client (by way of my newest, and best, mouse algorithm) does it. That provides the following methods:
  • SmartClickMouse(x,y: integer; left: boolean): TPoint
  • SmartMoveMouse(x,y: integer): TPoint
  • SmartDragMouse(x,y: integer): TPoint
  • SmartSendKeys(text: String);
  • SmartSendKey(code, mills: Integer);
The advantages of using this method are:
A) No worry about bad events sent to the client
B) Provides high level functionality plus a new algorithm
C) Its the way I've made it so far and will make a quicker release ;)
Disadvantages:
A) All current mouse methods would need to be overridden (Which is not to hard)
B) When sending a key, like an arrow key, you can't do other stuff while its sending

Now, that method is my favourite, and most likely what I will go with, but there is another option. I could provide only low level support for mouse/key functions. Which would be essentialy the same as Scar's low level mouse/key stuff, ie. MoveMouse, HoldMouse, KeyDown, etc.
Advantages:
A) Could replace all exiting low level methods with an include listed before all others overriding Scar's methods
B) Lets you do stuff while holding a key (only reason for holding a mouse would be dragging, which is covered in the last one)
Disadvantages:
A) Hard to control focus on my end.
B) Possible false events caused by not releasing keys/mouse
C) Not having the new algorithm which works almost 100% in java.

So, your feedback on that would be appreciated. Now, about the image, I'm sure most of you will ask how similar it is to just targeting the screen, and I would answer: "Exactly the same." As you know, scar provides a way to set the target bitmap for all color searching functions. So, when using this, no changes to any color related methods will be needed. I've noticed a *slight* preformance increase while using this client since its not rendering to the screen directly, but most of that is counteracted by the background communication. Below are two scripts (which won't work without the rest of it) that give examples of how to use Smart. One is a simple login script, the other gives you a window to see the image from the client in scar (via the debug screen). Think of this as a gift to you scar purists who do not wish to use KYAB, as the two are not compatible… :sasmokin:
ScarScript:By Drunkenoldma [LEFT]program SmartExample; var x, y: integer; {** * Makes the Image created by the client the target of Scar * Note: In Scars older than Divi, this does not change the * result of GetColor. So, upgrade to Divi for that. *} procedure SmartSetTarget; var Smart_Bitmap: Integer; begin //Create a new Bitmap Smart_Bitmap:= BitmapFromString(765,503,''); //Set the Canvas DC to the Java DC GetBitmapCanvas(Smart_Bitmap).Handle:= SmartGetJavaDC; //Tell Scar to target that DC (Only coppies the DC) SetTargetBitmap(Smart_Bitmap); //Free the bitmap since we no longer need it FreeBitmap(Smart_Bitmap); end; {** * Note: Mouse procedures may be off by one pixel, but never * by more than one, ie. never +1,+1 only +1,0 sometimes. * This will be that way and you'll just have to deal with it. * All mouse procedures return where they actualy clicked. *} procedure SmartLogin(user, pass: String); begin //Make sure you add randomness. ie., don't do this SmartClickMouse(450,295,true); wait(1000+Random(500)); //Always use Chr(10) for enter, Chr(13) is NewLine //They ARE different… SmartSendKeys(user+Chr(10)+pass); wait(500+Random(250)); SmartClickMouse(300,320,true); //Wait for the big red button while not(findColor(x,y,584,270,290,500,380)) do wait(100); SmartClickMouse(350,325,true); end; {** * SmartSetupLink is persistant through scripts, so the setup * method only changes something if the postfix is different. * If you get a MessageBox saying a scar is already connected, * that means that either another scar is currently running, * or that another scar did not close its connection. If the * other scar no longer needs this connection, just click yes * and it will reset and take over. Otherwise, it throws an * exception and terminates the script. *} begin //Tells the plugin to connect to the Smart at 'at1' //Only does this if it isn't already, ie it was done //at an earlier time/last script. SmartSetupLink('Smart'); SmartSetTarget; SmartLogin('Name','Pass'); end. [/LEFT]

ScarScript:By Drunkenoldma [LEFT]program SmartImagePipe; {** * Makes the Image created by the client the target of Scar * Note: In Scars older than Divi, this does not change the * result of GetColor. So, upgrade to Divi for that. *} procedure SmartSetTarget; var Smart_Bitmap: Integer; begin //Create a new Bitmap Smart_Bitmap:= BitmapFromString(765,503,''); //Set the Canvas DC to the Java DC GetBitmapCanvas(Smart_Bitmap).Handle:= SmartGetJavaDC; //Tell Scar to target that DC (Only coppies the DC) SetTargetBitmap(Smart_Bitmap); //Free the bitmap since we no longer need it FreeBitmap(Smart_Bitmap); end; begin SmartSetupLink('at1'); SmartSetTarget; DisplayDebugImgWindow(765,503); repeat //Controlls the frame rate. Lower it for a smoother picture Wait(200); //Since the target is set, its now the client canvas. CopyCanvas(GetClientCanvas,GetDebugCanvas,0,0,765,503,0,0,765,503); until False; end. [/LEFT]

By the way, Smart stands for "Scar Minimizing Autoing Resource Thing" in case you were interested ;)
Also, all that is holding back the release are the finishing touches, your feedback, and documentation (depending on whether or not its open source).
In adition to that, I've found that if you make threads with a vague title, people are more prone to read it ;)

EDIT: WHY IS IT SO HARD TO EDIT A POST WITH SCAR TAGS!!!

Smart Beta Release 1 - 16 views
Smart Beta Release 2 - 16 views

Ejjman

2007-07-01 20:10:34

Of course you wouldn't HAVE to have it minimized right?

BenLand100

2007-07-01 20:37:38

From: Ejjman1
Of course you wouldn't HAVE to have it minimized right?

Nope, it can be used the same as a regular client if you please. But that is kind of the whole point ;)

Dark_Sniper

2007-07-01 21:20:40

I guess the good out weighs the bad in this situation…


it has been requested and asked many times before…

but the one thing everyone fears is … will it be abused…

answer to that is yes.

but like i siad … i think the good out weighs the bad….

Smartzkid

2007-07-01 21:21:17

Wow. Simply amazing…

I think the first method is better because you've already started on it, and it sounds safer than the second.

This will be released to…seniors? members? everyone?

EDIT:

:p Beaten by one minute.

I think, since this still has to run the rs client, it won't be able to run too many at once…

PS: Ben, would it be possible to add a proxy option? (unsigned would be nice, too)

BenLand100

2007-07-01 22:10:49

It has unsigned already, I'm not sure about how to implement a proxy, i'll have to look into that. But like smartzkid said, you could run 2 (maybe 3) pairs of this and scar tops before your processor went up in flames. Figuratively of course ;)

About the release, I think the beta (as thats what it is atm) will be seniors and up. Maybe a fully functional release to members after much testing, and more opinions. But nothing below members invisioned at the moment. Also, I don't think I'll release the source to members, it might have a bad snowball effect.

Boreas

2007-07-01 22:17:27

From: BenLand100
you could run 2 (maybe 3) pairs of this and scar tops


Sounds good :p

Method 1 with your algorithm.

And you're right with the vague title haha.

Cheesehunk

2007-07-01 22:17:47

I can just imagine watching a script run and checking for errors as it goes along. Then just minimizing it and opening up a new SCAR to fix the problems, then going back to the Runescape applet to watch for more errors.

Excellent job Ben. :)

Dark_Sniper

2007-07-01 22:37:06

From: Cheesehunk
I can just imagine watching a script run and checking for errors as it goes along. Then just minimizing it and opening up a new SCAR to fix the problems, then going back to the Runescape applet to watch for more errors.

Excellent job Ben. :)


LIKE OMG thats what i was thinking..

unlike KEBAB im actully going to use this one ben Woot!
(not that i do not support you in every way still XD)



loled at this one :Scar Minimizing Autoing Resource Thing

BenLand100

2007-07-01 22:49:48

From: Dark_Sniper
loled at this one :Scar Minimizing Autoing Resource Thing

Sounds smart dosen't it :sasmokin:

And, about the open source part, I'm commenting as much as I can, I just don't comment very much ;) So, if you have a specific question (when I release it) send it my way.

JAD

2007-07-01 23:00:15

I think it should just be released to Senior members + :)

Because if it was non members, it would get leaked a LOT more, there would be more people leaking info and everything on it, and more people leaching/abusing it.

I think seniors and up should be the cut off :)

Ejjman

2007-07-01 23:13:03

Senior member testing for bugs ftw!

So I am a little confused. We would exchange ALL MMouse with SmartMoveMouse, and Mouse with SmartMouse? I think he would be worth changing it all, but could this (running one client) (and being funny) be minimized, then maximized, then minimized, and it will continue to run? Cuz you guys are sayign, open another window to fix errors while minimizing it, then once fixed, maximize rs again?

BenLand100

2007-07-01 23:22:27

From: Ejjman1
Senior member testing for bugs ftw!

So I am a little confused. We would exchange ALL MMouse with SmartMoveMouse, and Mouse with SmartMouse? I think he would be worth changing it all, but could this (running one client) (and being funny) be minimized, then maximized, then minimized, and it will continue to run? Cuz you guys are sayign, open another window to fix errors while minimizing it, then once fixed, maximize rs again?

Just putting SmartMoveMouse in the MMouse procedure would be a better idea (only one place to change vs a lot, plus would change it for all scripts using that SRL) And yes, you can do anything to it you can do to a normal window, without any problems. (It blocks events while Scar is in control)

Ejjman

2007-07-02 00:09:44

Then wtf are you waiting for????

I installed a VM yesterday ffs lol.


EDIT: Btw, Senior members for now IMO

Dark_Sniper

2007-07-02 01:09:10

From: JAD
I think it should just be released to Senior members + :)

Because if it was non members, it would get leaked a LOT more, there would be more people leaking info and everything on it, and more people leaching/abusing it.

I think seniors and up should be the cut off :)


Jad if he decides to release it .. it will be leaked.. even if he released it to just devs XD.

Cheesehunk

2007-07-02 02:11:49

Ben's a big boy, I'm sure he can make decisions on who to release it to by himself..

BenLand100

2007-07-02 02:39:58

Check out the beta 1… ;)

Wizzup?

2007-07-02 02:44:41

As long as he releases and handle's stuff himself, or let other mature people handle the st00f. :p

But really, it looks very nice.
I don't like the mouse thing though… Always offset, IMO it should be as basic as SCAR just Click and Move directly to pixel.
Then we can build an algorithym around those functions.
I'm pretty sure you can run 2.. Although it would slow down certain scripts…
Essence Mining Would be no problem, but fast mining? Not Sure.
As long as we keep our other SCAR functions too. :)

BenLand100

2007-07-02 02:55:36

As i've said, the only problem I have with the basic low level control is that it would be hard/ineffecient to mannage focus and event blocking that way. If you check out the EventNazi, you'll notice that its "easy" the way it is now.

Ejjman

2007-07-02 03:53:11

Tutorial

Extract into a folder onto your desktop called SMART should be easiest.

1. JNI -> Smart.dll
-Copy and paste this into the folder Smart -> dist.

2. SCAR -> Smart_Scar.dll
-Copy and paste this into the plugins folder in Scar Divi 3.06. (recommended)

3. Tests
-Open up both files, in tabs or seperate SCARS. (tabs recommended)

4. Smart -> dist -> SMART
-Run this, load world, select options that you want. At the top, put a random Comm name (short recommended)

5. Scroll to below script where it says (on both) "SmartSetupLink(whatever)." Type in the Comm link you put earlier in the "whatever" spot. Then, on the example script, input your username and password you would like to log into. Furthermore, on the SmartImagePipe script, down at the bottom, put wait(50).

6. Make sure on the client, you cannot click anywhere. This is good. To be sure, make sure the button says "Stop Blocking."

7. First, run SmartImagePipe script. This will pop up a debug, which is cool to look at, but is only half of what we will do. Now, minimize the actual RS client.

8. Goto the Example script, and hit run. It may or may not say "There is already a scar file connected. Connect anyway?" or something along that lines. Hit yes.


Now watch the debug screen. This is only an example of what it could do. This will be beautiful. :D


FAQs
Q: Crosshairs?
A: No! :D

Q: Sart Blocking?
A: BenLand100, my friends, was high. :\


-Ejj

Boreas

2007-07-02 09:34:45

Works well. All I could find was a typo Sart Blocking.

BenLand100

2007-07-02 11:48:16

From: Boreas
Works well. All I could find was a typo Sart Blocking.

Yea… I wasen't all there when I was doing that part ;)

Smartzkid

2007-07-02 12:34:46

I'm not sure why this is happening, but after leaving Smart running for ~10 minutes, the RS applet suddenly pops up at (0,0) (it also stays on top of everything else). It doesn't have the Smart window around it; only the applet.

This has happened to me two times; the first time I just closed Smart. The second, I clicked 'Stop Blocking', to see if I could give input to the haywire applet. Instead of allowing me to give it input, it disappeared and went back to it's place in the Smart window.


EDIT: Very minor annoyance: when input is unblocked, you still can't type anything

BenLand100

2007-07-02 17:17:06

Yea, i've seen the first problem before, and I believe I know how to fix it. Its a problem involving JAWT that I'll pass along to the java devs. In the mean time, i can bypass it hopefully. However about the not being able to type, try blocking and unblocking again. I believe I know how to fix that also. Most likely there is some confusion between native focus (which I/Java have/has no control over) and awt focus. It does not affect detectability in the RS client however.

JAD

2007-07-02 18:02:52

Awesome! I'm going to try this in a little bit.. Haven't been able to get on at all today yet :p

YoHoJo

2007-07-02 18:12:06

as family guy would say;
'This is freakin' schweet!'
Im glad your only showing SSRL members :p.
[OPINION]I say go ahead and release it, but my opinion is, ONLY to SSRL members, or maybe even to a smaller group of people.
Every time something great comes along, its abused, overused, and always leads to 100s of more noobs asking questions.

I say if we keep this PRIVATE (unlike how we kept this secret section of the foum private -.-) it will be a nice addition to the cheating scene.

I say it should only be shown to a small community and not talked about on the outside world.

Iv very excited for this, excellent work.[/OPINION]

JAD

2007-07-02 18:18:26

From: YoHoJo
as family guy would say;
'This is freakin' schweet!'
Im glad your only showing SSRL members :p.
[OPINION]I say go ahead and release it, but my opinion is, ONLY to SSRL members, or maybe even to a smaller group of people.
Every time something great comes along, its abused, overused, and always leads to 100s of more noobs asking questions.

I say if we keep this PRIVATE (unlike how we kept this secret section of the foum private -.-) it will be a nice addition to the cheating scene.

I say it should only be shown to a small community and not talked about on the outside world.

Iv very excited for this, excellent work.[/OPINION]


I barely even auto/am barely even allowed to auto ;) So I definitely wouldn't abuse it :p

I will just help test it and maybe use it a little (if it's going to be released to us).

WT-Fakawi

2007-07-02 18:45:48

Ben, my man….

You never seize to amaze me. I am once again in complete awe. Offscreen colorpicking, brilliant! Maybe for now quickimpement SMART-flag into SRL?

Ejjman

2007-07-02 19:56:19

No, Fawki…Can we not put this into SRL somehow and just let us use it for the time being >.>, and if I sound dumb then my bad.

Dark_Sniper

2007-07-02 20:48:58

ejj you always sound dumb XD(Jp)

why are we afraid of this getting abused if you can run 2-4 tops…

i think it may be a great improvement to SRL.

BenLand100

2007-07-02 21:21:51

From: WT-Fakawi
Ben, my man….

You never seize to amaze me. I am once again in complete awe. Offscreen colorpicking, brilliant! Maybe for now quickimpement SMART-flag into SRL?

Hmm, all that would need to be changed would be mouse/key stuff, so a flag would work fine for that. A note about key sending, if its a scar method that sends keys, just put in a method with the same name at the top of the program (before inclundes, or in the first include) with the same name, and it will override the default I believe. Anyway, I need a new project now. Summer has gotten to the "what to do next" stage… :rolleyes:

Smartzkid

2007-07-02 22:04:38

Anyways, this seems to be working perfectly
__

Custom ImagePipe: (uses ttimers to update; that way you can put this right into a script and see what it's doing without opening a new scar. The scrollbar at the bottom's for the transparency)

program SmartImagePipe;
const
SMARTID = 'Smart_1';
var
frmDesign: TForm;
Image1: TImage;
ScrollBar : TScrollBar;
UpdateTimer: TTimer;
vSmartID: String;

procedure UpdateDebug(Sender: TObject);
begin
CopyCanvas(GetClientCanvas, Image1.Canvas, 0, 0, 765, 503, 0, 0, 765,503);
end;

procedure ChangeTransparency(Sender: TObject);
begin
MakeWindowTransparent(frmDesign.Handle, ScrollBar.Position);
end;

procedure AppOps(Sender: TObject);
var
x, y:integer;
begin
SmartClickMouse(x, y, true);
end;

procedure InitForm;
begin
frmDesign := CreateForm;
frmDesign.Left := 250;
frmDesign.Top := 114;
frmDesign.Width := 773;
frmDesign.Height := 555;
frmDesign.Caption := 'SMART ImagePipe (' + vSmartID + ')';
frmDesign.Color := clBtnFace;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := False;
frmDesign.PixelsPerInch := 96;
ScrollBar := TScrollBar.Create(frmDesign);
ScrollBar.Parent := frmDesign;
ScrollBar.Left := 0;
ScrollBar.Top := 0;
ScrollBar.Width := 5;
ScrollBar.Height := 17;
ScrollBar.Cursor := crCross;
ScrollBar.Align := alBottom;
ScrollBar.DragCursor := crCross;
ScrollBar.Min := 50;
ScrollBar.Max := 255;
ScrollBar.PageSize := 0;
ScrollBar.Position := 255;
ScrollBar.TabOrder := 8;
ScrollBar.OnChange := @ChangeTransparency;
Image1 := TImage.Create(frmDesign);
Image1.Parent := frmDesign;
Image1.Left := 0;
Image1.Top := 0;
Image1.Width := 765;
Image1.Height := 503;
//Image1.Onclick := @AppOps;
//Image1.Onmousemove := @AppOps;
UpdateTimer := TTIMER.Create(frmDesign);
UpdateTimer.Interval := 10000;
UpdateTimer.Ontimer := @UpdateDebug;
end;

procedure SafeInitForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;

procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;

procedure SafeShowFormModal;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;

procedure Form;
begin
GetSelf.WindowState := wsMinimized;
SafeInitForm;
SafeShowFormModal;
end;

{**
* Makes the Image created by the client the target of Scar
* Note: In Scars older than Divi, this does not change the
* result of GetColor. So, upgrade to Divi for that.
*}
procedure SmartSetTarget;
var
Smart_Bitmap: Integer;
begin
//Create a new Bitmap
Smart_Bitmap:= BitmapFromString(765,503,'');
//Set the Canvas DC to the Java DC
GetBitmapCanvas(Smart_Bitmap).Handle:= SmartGetJavaDC;
//Tell Scar to target that DC (Only coppies the DC)
SetTargetBitmap(Smart_Bitmap);
//Free the bitmap since we no longer need it
FreeBitmap(Smart_Bitmap);
end;

begin
vSmartID := SMARTID;
if(SMARTID = '')then
vSmartID := Readln('Smart ID?');
SmartSetupLink(vSmartID);
SmartSetTarget;
Form;
repeat
Wait(51);
until(not(frmDesign.Showing));
GetSelf.WindowState := wsNormal;
FreeForm(frmDesign);
end.

PS: If you really want something to do, you could make your own java bot and brag to everyone (only if you don't mind releasing it to very few people, though)

:p As if you need more to brag about…


@Ejj: Why not put this into SRL? Just a custom one for us to download (for now, at least)

EDIT:

Just curious, why does sendKeys limit the length of the string to 254?

procedure sendKeys(text: String); stdcall;
begin
if Length(text) > 254 then
raise Exception.Create('');
request('KS'+text);
end;

Oh, and why is resizing the client a BAD idea? Jagex detects?

Client.java (specifically startBlocking) must have been really hard to complete with all those bulls passing through!

Another question: Would it be possible to convert WindMouse to SCAR?

:D And another question: Is wait(100,200); in java like wait(100 + random(200)); in SCAR, or is it something totally different?

Dark_Sniper

2007-07-02 23:00:38

i thyink he is afraid of the all mighty abusers :p


well ben i say your a lot better than a doctor now… your more like a surgeon with unique skills to save the world.

BenLand100

2007-07-02 23:46:58

From: Smartzkid
PS: If you really want something to do, you could make your own java bot and brag to everyone (only if you don't mind releasing it to very few people, though)

:p As if you need more to brag about…


@Ejj: Why not put this into SRL? Just a custom one for us to download (for now, at least)

EDIT:

Just curious, why does sendKeys limit the length of the string to 254?

procedure sendKeys(text: String); stdcall;
begin
if Length(text) > 254 then
raise Exception.Create('');
request('KS'+text);
end;
Oh, and why is resizing the client a BAD idea? Jagex detects?

Client.java (specifically startBlocking) must have been really hard to complete with all those bulls passing through!

Well, I have a java bot. It needs a few more things to be fully functional, but (as of the last time I used it ~2 months ago) it was done enough to make a good powerminer, and (if you didn't mind using coords) a banker for the miner. The length is 254 because the buffer size is 256, and it takes two bytes for the command. If you want i can make it where it just keeps sending if you send more than 254 chars, but when would you ever do that XD. Yeam startBlocking was a pain, lots of hacked/abused api in there.

Ejjman

2007-07-03 00:41:28

Lol. so many people would auto I bet if they could use this. So much for autoing at common places >.<

YoHoJo

2007-07-03 02:23:28

Also keep in mind, this will be similar to aryan.
Meaning that player array will be somewhat obsolete when using this.
We can either make a break handler like arayn.
Or have each client communicate which accounts are looged in/falsed so there's no overlaps in logins.
[Get to it Devs!]

But thats a cookie for a later day.

Boreas

2007-07-03 07:06:28

No! Have one army per client. If you don't want to split up your army or create new players, then just run 1 client and do homework/script. Just do what lefamaster and other people with multiple computers do.

Wizzup?

2007-07-03 07:31:20

Benland.. will runescape run faster off screen, since it will not require any screen drawing?

BenLand100

2007-07-03 13:44:55

You should notice a slight difference in processor usage yes. Not enough to get overly excited about however.

From: Smartzkid
Another question: Would it be possible to convert WindMouse to SCAR?

:D And another question: Is wait(100,200); in java like wait(100 + random(200)); in SCAR, or is it something totally different?

Yes, it's been done. And kind of for the wait question, wait(100,200) is really wait(100 + random(100)) in scar.
Edit: I see how that could be confusing. Let me break it into normal syntax:
    public void wait(int min, int max) {
int time;
//No use in more math if they are equal, see wait(int mills);
if (min == max) {
time = min;
} else {
//Just incase you switched max and min, uses the abs, and the min
time = (int)((Math.random() * Math.abs(max - min)) + Math.min(min, max));
}
try { Thread.sleep(time); } catch (Exception e) { e.printStackTrace(); }
}

Wizzup?

2007-07-03 14:30:51

From: BenLand100
You should notice a slight difference in processor usage yes. Not enough to get overly excited about however.


Yes, it's been done. And kind of for the wait question, wait(100,200) is really wait(100 + random(100)) in scar.
Edit: I see how that could be confusing. Let me break it into normal syntax:
    public void wait(int min, int max) {
int time;
//No use in more math if they are equal, see wait(int mills);
if (min == max) {
time = min;
} else {
//Just incase you switched max and min, uses the abs, and the min
time = (int)((Math.random() * Math.abs(max - min)) + Math.min(min, max));
}
try { Thread.sleep(time); } catch (Exception e) { e.printStackTrace(); }
}


Great.
If you could possible make the mouse functions work just like MoveMouse in SCAR (none-high level) we could easily implement it in SRL.
It really is easier to use low level mouse functions, we can do more with it that way really. :)

I'd love to work with this. :)

EDIT: If they aren't yet.. but afaik they aren't. :)

Smartzkid

2007-07-03 14:53:35

Maybe we should dump SRL's Mouse and use Ben's new WindMouse?

BenLand100

2007-07-03 16:50:26

From: Wizzup?
Great.
If you could possible make the mouse functions work just like MoveMouse in SCAR (none-high level) we could easily implement it in SRL.
It really is easier to use low level mouse functions, we can do more with it that way really. :)

I'd love to work with this. :)

EDIT: If they aren't yet.. but afaik they aren't. :)


So far everyone else (including myself ;)) likes the high level better. You also have to realize that each command can take ~20 ms to be transfered over the buffer which would make low level functions slugish. I think the biggest issues are that you want it to be pixel accurate and much faster, which is really not a safe way to do things. :)
In reality, the high level functions would be easier to use. It is easy to substitute into the body of current methods, and requires less java<>scar communication. For instance, since the methods don't click exact pixels, send the center of the random area to the java method and you can be almost 100% sure that it will click the right spot. I mean, is there any case where the place you need to click is not at least 10 pixels wide?

Wizzup?

2007-07-03 17:07:53

From: BenLand100
I mean, is there any case where the place you need to click is not at least 10 pixels wide?


Yes, I think I can think of quite a few. :)
20ms.. too bad, well then at least make it possible to add our own randomness (maybe just use the benmouse - in srl - algorythim?)

BenLand100

2007-07-03 17:14:44

From: Wizzup?
Yes, I think I can think of quite a few. :)
20ms.. too bad, well then at least make it possible to add our own randomness (maybe just use the benmouse - in srl - algorythim?)

You'll have to elaborate on those few ;) 20ms is worst case, as in java just finished checking when delphi sends, and java is really busy. But really, these don't seem to bad to me (taken from moving the mouse to random places on the screen):
Edit: thats without any negatives, I added in an abs for no good reason and was too lazy to take it out ;)
4.0, 4.0
0.0, 5.0
1.0, 4.0
1.0, 1.0
1.0, 0.0
3.0, 5.0
1.0, 3.0
2.0, 5.0
2.0, 4.0
2.0, 2.0
5.0, 1.0
2.0, 2.0
5.0, 3.0
3.0, 3.0
0.0, 5.0
1.0, 3.0
5.0, 1.0
5.0, 2.0
2.0, 5.0
1.0, 1.0
1.0, 4.0
1.0, 4.0
3.0, 4.0
0.0, 1.0
4.0, 1.0
1.0, 0.0
0.0, 4.0
Plus, take this into account: What harm is a misclick going to do every once in a while? If its a good script, it should only make it more human. In adition to that, this forces people to make better/more human scripts. Also, you can add your own randomness to this if you want to, just apply it before you send it ;) It returns the point it actualy clicked at for a reason; that is to make it easy to check if your click was good or not.

JAD

2007-07-03 17:15:22

From: Wizzup?
Yes, I think I can think of quite a few. :)
20ms.. too bad, well then at least make it possible to add our own randomness (maybe just use the benmouse - in srl - algorythim?)


There definitely is.

For example, your pick ax head flies off. That's not a 10 pixel thing where it lands :p

You're clicking on the mini map… That would kill you if you were 10 pixels off (could at least :p).

And there's a LOT more places where you'd have to be more accurate then 10 pixels. It would be awesome if you could do it and it would be 100% accurate like now :p

BenLand100

2007-07-03 17:27:15

From: JAD
There definitely is.

For example, your pick ax head flies off. That's not a 10 pixel thing where it lands :p

You're clicking on the mini map… That would kill you if you were 10 pixels off (could at least :p).

And there's a LOT more places where you'd have to be more accurate then 10 pixels. It would be awesome if you could do it and it would be 100% accurate like now :p

You know, honestly i didn't consider the minimap :duh:
Lets see here… Give me a few hours to think, I'm going to modify the algorithm ;)
Edit: Minimap tiles are 4px wide, most you would be off is two tiles :p So far as I know, Scar is yet to make tile accuracy via colors, so scratch that. Plus, by 10px I mean a radius of 5 which means the farthest you would be from your point is 5; ie. click the middle of a 10px wide object.

Edit: Descided to try out the pixel accurate thing. Thats how it will work for now. Check the readme for other changes. Beta 2.

Dark_Sniper

2007-07-04 01:47:25

sweet stuff ben…

im going though most scripts and modding them to work with this ya i can be macroing 24 / 7? woot i was so tired of a VM its way to laggy compared to this.

BenLand100

2007-07-04 02:27:55

From: Dark_Sniper
sweet stuff ben…

im going though most scripts and modding them to work with this ya i can be macroing 24 / 7? woot i was so tired of a VM its way to laggy compared to this.

All you really need to do is change the methods in srl and most scripts will work without any changes ;)

Dark_Sniper

2007-07-04 15:12:05

o shit am i dumb or what!

or is it that ben is extremly smart XD.

JAD

2007-07-04 15:13:20

From: Dark_Sniper
o shit am i dumb or what!

or is it that ben is extremly smart XD.


It's both. Lol j/p :p

Ejjman

2007-07-04 15:24:58

offtopic: j/p = just playing /offtopic

I was lagging for a bit so I didn't wanna use it last night, I didn't know what was up..

JAD

2007-07-04 16:33:46

From: Ejjman1
offtopic: j/p = just playing /offtopic

I was lagging for a bit so I didn't wanna use it last night, I didn't know what was up..


I know that lol :p I was just playing, as in just messing around, as in I didn't mean Dark_Sniper was stupid ;)

Freddy1990

2007-07-04 18:06:54

Ben :'( I love you…
This I'm still wow'ing @ this awsome creation, you just earned yourself a SetTargetDC for sure O_O

Cheesehunk

2007-07-04 18:14:19

I request a sub-forum!

Dark_Sniper

2007-07-04 21:31:59

shooooooot

soon ben is going to own more than half these forums with diffrent programs…

BenLand100

2007-07-04 22:46:22

From: Freddy1990
Ben :'( I love you…
This I'm still wow'ing @ this awsome creation, you just earned yourself a SetTargetDC for sure O_O

Funny thing about that is that the SmartSetTarget procedure does exactly what it needs too ;) But a SetTargetDC would be good also :sasmokin:

Ejjman

2007-07-05 01:46:33

From: JAD
I know that lol :p I was just playing, as in just messing around, as in I didn't mean Dark_Sniper was stupid ;)


Sorry, there was supopse to be a jp = just playing ???? question mark I didnb't know.

lol

BenLand100

2007-07-05 03:38:59

Anyway, unless you all can come up with some more errors, I think I'll release a copy to SRL members (without source) unless you all seriously disagree.

Dark_Sniper

2007-07-05 07:57:51

welllllll… i disagree but i have nothing worthy enough to support my disagreement XD



yes i do!



registered users - nothing but srl

srl mems - KYAB

SSRL mems - SMART

DEVS - ultra secret bot ben released.



there make it an award system for their rank.

*Devs are like : Im using that damn search button but i still cant find this ultra secret bot ben released :eek: *:rolleyes:

WT-Fakawi

2007-07-05 08:57:28

From: BenLand100
Anyway, unless you all can come up with some more errors, I think I'll release a copy to SRL members (without source) unless you all seriously disagree.


Release it! (And make a new forum dedicated to S.M.A.R.T.)

Dark_Sniper

2007-07-05 10:48:44

ya and do not base it on my oppinion cause that could have went ether way XD

go ahead and release it man your going to release so much that people are going to get confused XD.

BenLand100

2007-07-05 14:42:25

Question: Is there any way to back up a forum before it gets deleted? (refering to the KYAB forums)
-.- Could someone with the right privs set the privs for the SMART forums. SRL Members and up atm. Apparantly I can't do that ;)

JAD

2007-07-05 15:13:27

It will be leached a LOT more, and leaked MUCH more if you release it to SRL members.. And not just a select choice of people (SSRL members + or Devs +).

I just think it's too big a crowd if you release it to SRL members.. But I guess it is your choice ;)

Prepare for some heavy leaching/leaking!

Smartzkid

2007-07-05 15:16:39

I don't think there's any hope at all that leaks from this can be contained; KYAB can have changed encryptions, but this…once it's out, it can't be stopped

I really don't think this should be released, but if you really want to…

JAD

2007-07-05 15:18:52

From: Smartzkid
I don't think there's any hope at all that leaks from this can be contained; KYAB can have changed encryptions, but this…once it's out, it can't be stopped

I really don't think this should be released, but if you really want to…


I'm with Smartz!

We should just release it to SSRL members +, or maybe even higher authority then us!

BenLand100

2007-07-05 15:22:12

From: Smartzkid
I don't think there's any hope at all that leaks from this can be contained; KYAB can have changed encryptions, but this…once it's out, it can't be stopped

I really don't think this should be released, but if you really want to…

Heh, Freddy wants to include it into Scar. Its not that big of a deal, little more than a minimizable scar, nothing you can't do with vm's.:sasmokin:

Dark_Sniper

2007-07-05 15:52:12

and no need to put a cap on how many you can use… it eats your processing power like it was me eating pizza.

BenLand100

2007-07-05 16:14:17

From: Dark_Sniper
and no need to put a cap on how many you can use… it eats your processing power like it was me eating pizza.

lol, you should check the rs stats sometimes ;)
Anyway, could an admin with the right privs make these forums for me:

Smart
-Download Smart
-General Smart
-Instructions & Tutorials
-Bugs & Improvements

I'll finish them off after they are made with the right privs.

Smartzkid

2007-07-05 20:59:41

Just curious; was this supposed to be a members-only release or a full release?

BenLand100

2007-07-05 23:14:57

From: Smartzkid
Just curious; was this supposed to be a members-only release or a full release?

This is an SSRL only release. What will be the forums will be Members and up.

The Un-Named

2007-07-06 10:55:45

Well I had a quick look at this and damn, well done man! A small issue I noticed: When you aren't blocking, you can't move the camera up/down.

From: Smartzkid
I'm not sure why this is happening, but after leaving Smart running for ~10 minutes, the RS applet suddenly pops up at (0,0) (it also stays on top of everything else). It doesn't have the Smart window around it; only the applet.

This has happened to me two times; the first time I just closed Smart. The second, I clicked 'Stop Blocking', to see if I could give input to the haywire applet. Instead of allowing me to give it input, it disappeared and went back to it's place in the Smart window.


I noticed this too. :\

BenLand100

2007-07-06 13:42:56

From: The Un-Named
Well I had a quick look at this and damn, well done man! A small issue I noticed: When you aren't blocking, you can't move the camera up/down.

I noticed this too. :\

The first one is as far as I can tell, unavoidable. Try to start and stop again and it should work. I'm not giving it enough time when it starts up to register as a native key reciever because other events that the client shouldn't get are sent at the same time, so it takes another round to activate keys. About the other thing, I'm not sure that there is much I can do about it. Looks to me like that is a JNI error but i'll do some more digging.