Wanted
2008-07-17 19:43:21
From: IceFire908
Sorry to double post, but I don't think people fully understand what we can accomplish here.
We're talking the best runescape autoing device ever made, reflection style Java backed up with the best color based functions provided with SRL.
We have the opportunity to be better than NeXuS, RSBot, or any other macroing software ever was or will be.
Consider this seriously.
Thanks
-IceFire.
———————————————
Hello fellow SRL leecher/user/member/staff/admin(s),
Very recently, it has come to my concern and attention that the recent release of S.M.A.R.T. does in fact enable the user to access GetField functions that allow the user to grab hooks whilst using SMART, this method is also widely known as reflection. And as we all know, reflection is the same method used in the once working and powerful KYAB, and as well all know these methods are very powerful and can be very dangerous in the wrong hands or the just plain ignorant. Such methods can cause an entire community to adapt and evolve in a dangerous way unless it is treated with great caution.
The reason I am speaking to you now, is to introduce my method of "great caution". I would like to begin by describing what exactly we are dealing with.
We are dealing with an extremely reliable resource known as reflection which uses Java to read (not modify, hence the undetectability) the RuneScape client and return information that is available in fields encoded in the game's "inner workings" (Java) all kinds of information is readily available to be retrieved given you have the current hook for the field. Such information ranges from global RuneScape position, to near by NPC locations, to player stats and player names, just about anything you can imagine. (Here is a paste bin that includes a brief idea http://widget.pastebin.com/f716f7a6c) Now with this information we can get screen coordinates to use in SCAR to create very accurate, fast, and reliable functions for walking/banking/locating ect… One main problem is that these hooks often break and are somewhat hard to obtain unless you are really good at java. Thus creating a dependency on a hand full of people in the community that could leave and screw us over leaving us very insecure as a community due to our new scripters only knowing how to script with reflection and experienced scripters becoming lazy and/or forgetting the old SCAR-fashioned way of color detection. A second problem is that during down time, we could experience complete autoing outages. A third problem is that we could become just plain stupid as a community, as for everything is so easy to accomplish, all we have to do is record a few numbers put them in a script and BAM! presto! instant reliable script! No challenge, intellectually or competitively. Very very boring.
Now you're probably thinking something along the lines of - "WOW, THIS IS GREAT! But I don't want to see SRL get fucked over by the downsides :(!"
So with out further-ado I propose to you my method of "great caution".
We have several main problems now right?
- Depending on one person to update the stuff we need for hooks and getting them.
- Ignorance. People becoming stupid.
- Competition.
- Challenge as a scripter. Intellectually and competitively.
Here I pose the immediate solution to all of these problems!
First thing is first, we must never forget old-Fashioned SCAR style. This means scripts still must use SRL basic functions and advanced ones too, but this is dumb?
How do we use the new reflection methods whilst using the old-Fashioned SCAR style ones?
The answer is very very simple.
Study the shortened example directly below very carefully.
begin
if (not (LoggedIn)) then
Exit;
if (not (WalkToTile(1459, 5954))) then //Tile walking, Most relaible.
begin
WriteLn('Tile walking failed, switching to DDTM detection.');
if (not (FindDTMRotated(DDTM, ....))) then //DDTM, 2nd most relaible.
begin
WriteLn('DDTM detection failed! switching to DTM detection...');
if (not (FindDTMRotated(DTM ....))) then //DTM with tol, 3rd most relaible
begin
WriteLn('DTM detection failed! switching to Symbol detection...');
if (not (FindSymbol('Bank'...))) then //Symbol, 4th most relaible.
begin
WriteLn('Symbol detection failed! switching to map angle detection...');
if (not (AngleWalk(90, 50...))) then //Angle walk, 5th. Fails when angle detection fails.
begin
WriteLn('Map angle detection failed! Blind clicking...');
{--------------------------------}
WalkTo(585, 42); //Blind Click, never fails but is risky.
{if (not (WalkTo(585, 42))) then
begin
WriteLn('Blind click failed! All fail safes exhausted!');
WriteLn('Logging out player...');
LogOut;
Exit;
end
else
begin
WriteLn('Blind click successful!');
WalkTo(585, 42);
end;}
end
else
WriteLn('Map angle detection successful!');
end
else
begin
WriteLn('Symbol detection successful!');
WalkTo(Bank);
end;
end
else
begin
WriteLn('DTM detection successful!');
WalkTo(Bank.MM);
end;
end
else
begin
WriteLn('DDTM detection successful!');
WalkTo(Bank.MM);
end;
end
else
WriteLn('Tile walking successful!');
if (not (OpenBankReflection('FEB'))) then
begin
WriteLn('Bank detection by reflection failed! switching to color detection...');
if (not (OpenBankFast('FEB'))) then
begin
WriteLn('Color detection failed! All fail safes exhausted!');
LogOut;
Exit;
end
else
WriteLn('Color detection successful!');
end
else
WriteLn('Reflection detection successful!');
WriteLn('Opened bank!');
end;As you can see, the script has several fail safes lined up in order from most reliable to least reliable and finally logging out switching players/ ending the script ect… Now I'm not saying you have to use this EXACT same example in your script but you get the general jist of it right?
This extensive fail-safe method eliminates a few things on our list already
1. The script does not DEPEND on any of the reflection methods.
2. You are still challenged as a scripter, intellectually and working wise. (if anything you are CHALLENGED MORE!)
3. We still use our old fashioned SCAR/SRL stuff.
Now you're probably wondering… how is this ever going to catch on people are way to damn lazy?
They'll just make there scripts depend on reflection anyway to save time because they don't care and just use WalkToTile over and over again because they don't think they need failsafes because reflection is so reliable even though it really isn't.
And I have but one word for you.
Anyone could go and make a shitty "failsafe-less" script that depends on reflection but once there is a few high quality multi-fail safe scripts out there that everyone uses that's kicks ass and one that everyone uses. There will be competition to make a better script with better fail safes, better reflection methods, better color detection. Thus competition ultimately keeping SRL from getting fucked over by these new methods.
Bottom line:
Everyone is happy! Everyone wins!
What do you'll think of my proposal?
-IceFire
————————————
From: IceFire908
From: Hobbit
Hardly anyone knows about/knows how to use it
Fakawi disliked KYAB, as did I and many others, because…well lets compare it to drugs. Drugs take away sad feelings, or pain etc. So you want more, you never want to be sad again so you keep using. This creates the dependency on the drug.
As to KYAB. It made scripting "Easier and faster"
You could walk anywhere with a simple procedure that looks like thing.begin
WalkToTile();
WalkToTile();
WalkToTile();
WalkToTile();
end;
No with the reflection it would be stuff like GetHook(); etc.
It would make it "Easier and faster"
BUT there is a downside. As IceFire clearly stated, hooks are not invincible, they do change/break. And if one breaks and the script is written on reflection alone, the script is screwed until the hook can be fixed. Which could take some time.
BUT if you add in "Old School" SCAR scripting in as fail safes, the script can keep running. Like a Semi-Truck, on the highway their tires pop all the time, but because they have so many they are able to keep going till the driver is able to stop and get it repaired.
Now you don't need 7 different failsafes like IceFire, but 2 or 3 will do.
Very much so, I also think reflection tutorials should be reserved for the intermediate/ advanced. Seeing as noobs could take full advantage of the laziness, although they'd get owned by hybrid fail-safe scripts :sasmokin: