SRL Archive - Senior News and General

So, do we maintain reflection?


The Claw

2008-07-14 06:04:26

Well the new SMART is ready as you will have seen…http://www.villavu.com/forum/showthread.php?t=32682

And it comes with reflection. I think we should make a decision on whether or not we give the public the hooks etc to make reflection work. This isnt whether or not SRL officially supports reflection (bad idea imo), but whether or not someone (maybe more than one person ;)) with the knowledge and tools should post the required files and details on the main board.

So basically the question is, should we unofficially release reflection or not? Personally I say we do, but encourage scripters to have failsafes in their scripts which rely on traditional methods, in case reflection dies.

Wizzup?

2008-07-14 06:23:20

I personally liked what BenLand100 said:
  • SMART will be released with Reflection
  • Developers can choose to support Reflection or not, if they don't, they should just not interfere with it's construction and development.
  • SRL does not use Reflection by default. (For Inventory functions, etc.) It will still be Color Finding only.

I think we should add Reflection and Hooks.scar to misc, but that's just my opinion. :)

What we should think about:
  • Jagex is already 'testing' SRL: The two ChooseOption pixels, for example.
  • We are one of the biggest cheating communities around.
  • What will we do against possible actions by JageX?
  • Do not forget that not just Reflection is new in this SMART, also the FPS bar.
  • How will JageX react on this SMART?
  • How will this affect our Community?

To answer the last listed question, I feel SRL will (easily) overcome this big change.
I have never been on such a nice and helpful community. This is one of the few communities where I see few people treat each other like 'enemies'.
Anyway, even though I (and some other staff members) have in the past not supported KYAB (even though we hosted it on SRL at first), I feel SRL overcome this change.

ZephyrsFury

2008-07-14 06:27:55

I don't like the idea behind reflection but I don't think Ben wants to remove it from SMART either. So I suggest we release SMART with reflection but don't openly annouce that it has reflection. Anyone that figures it out can use it else it will be just like the old one.

Markus

2008-07-14 06:33:53

How about this: We don't support it officially, but will allow people to use it if they tag their scripts right (like "[Reflection] Uber p00nage multiminer").
Oh, Jagex can test us, but we can roll out an update within 24 hours, they can't <3

n3ss3s

2008-07-14 06:50:23

How will JageX react on this SMART?


Pee their pants.

Oh, Jagex can test us, but we can roll out an update within 24 hours, they can't <3


So true.


Oh by the way, I see all the time < SSRL people talking about SMART's reflection on IRC, so I think there's no need to keep it a secret… And by the way, they call it SMART 3 1/3 :confused:

the scar noob

2008-07-14 06:55:43

I think it's a bad idea to make reflection public..

-Tsn.

E:
From: n3ss3s

Oh by the way, I see all the time < SSRL people talking about SMART's reflection on IRC, so I think there's no need to keep it a secret… And by the way, they call it SMART 3 1/3 :confused:


Even SSRL Members do leak??! OMG! I didn't knew that was possible. WTF!! I'm VERY dissapointed!

Wizzup?

2008-07-14 06:57:10

From: n3ss3s
And by the way, they call it SMART 3 1/3 :confused:


Thats right. You really need to keep up man. ;)

n3ss3s

2008-07-14 07:11:16

Thats right. You really need to keep up man.


?

I know that current SMART is 3 1/3, but they aren't supposed to know it! They can call it Reflection SMART or something, but how do they know it's 3 1/3?

The Claw

2008-07-14 09:17:06

TSN, I doubt we have leaks..Benland probably told people and they probably told others. How about we vote, guys? :p

ZephyrsFury

2008-07-14 09:20:13

From: The Claw
TSN, I doubt we have leaks..Benland probably told people and they probably told others. How about we vote, guys? :p


Apparently Ben released it to a couple of people on IRC. I vote yes but personally think we should keep reflection low key.

Wizzup?

2008-07-14 09:44:31

Like I mentioned in my first post on this thread.

BenLand100

2008-07-14 09:48:46

Someone (possibly me) should at least explain the concept to the public, in a tutorial or something. I'm not the best person for the job because I know how it works already and tend to gloss over key details because I never went up the learning curve myself, e.g. I don't know what other people need to know as well as people who learned it from scratch do.

Wizzup?

2008-07-14 10:00:51

I'm willing to write some stuff.

Smartzkid

2008-07-14 12:12:14

Well, now with rsbot out for free and stuff, SRL's got some pretty 1337 competition..

I vote yes, let people use it, heck, even 'officially' support it, I bet we'd see some pretty amazing scripts.

HyperSecret

2008-07-14 13:41:37

I say we keep it going, releasing to public is up to you guys, but I haven't really messed around with it at all yet, I can't wait to though. One thing that would greatly help is the walking with tiles…would be able to make a lot of effective scripts!

the scar noob

2008-07-14 14:14:02

From: HyperSecret
I say we keep it going, releasing to public is up to you guys, but I haven't really messed around with it at all yet, I can't wait to though. One thing that would greatly help is the walking with tiles…would be able to make a lot of effective scripts!


Already has been made, but I never managed to try it out xD
and I still think that we shouldn't release it, at least not this month or so.

-Tsn.

Wizzup?

2008-07-14 14:31:10

From: the scar noob
Already has been made, but I never managed to try it out xD
and I still think that we shouldn't release it, at least not this month or so.

-Tsn.


Ben has released it to some people on IRC already. ;)

HyperSecret

2008-07-14 15:05:23

I would also say that we made a couple people 'in charge' not necessarily a group for them maybe a sub-forum or something, that keep the reflection.scar and hooks.scar updated

Smartzkid

2008-07-14 16:50:47

SSRL Quaters and get him to :p

the scar noob

2008-07-14 19:19:54

Hmm I see it's to late to argue about wether or not release it public etc:rolleyes:

-Tsn.

Hobbit

2008-07-15 04:23:00

Widget^ has offered to be one of the people who can maintain and inform people of it.

Wizzup?

2008-07-15 05:29:05

I'll help, too. I have actually made a reflection script. ;)

The Claw

2008-07-15 06:43:40

Multiple if I remember correctly? Nature crafter, law crafter, etc etc :)

n3ss3s

2008-07-15 13:22:30

I've made a reflection script too, SmartFlaxer - 800 flax p/h :p

We could have our hook source be RSBot's client.class, but one thing I've noticed is that it's got BaseX and BaseY, but no CurrentX nor CurrentY :(

Smartzkid

2008-07-15 16:29:28

We should ask Speljohan if he'd modify/let us modify his updater to output as SCAR, with the 'correct' names and all.

EDIT: And if not, I'm sure he'd help us build our own, he's a really nice guy like that…

BenLand100

2008-07-15 22:18:59

Widget has already made quite a bit of progress with examining RSBot's classes. The main problem is that no one here knows enough about the client to work efficiently. I think yakman should hold a seminar on the RS client, I'm a horrible teacher :P

mastaraymond

2008-07-16 04:44:42

If someone with the reflection knowledge could solve all randoms in reflection please?

And then we just make a fail safe..
if ReflectionVarsAreRight then
SolveWithReflection
else SolveWithColors;

n3ss3s

2008-07-16 05:09:46


And then we just make a fail safe..
if ReflectionVarsAreRight then
SolveWithReflection
else SolveWithColors;


Or just let reflection scripts be reflection scripts, with possibly a few color failsafes.



You know what? I've been saying that client.class hasn't got CurrentX and CurrentY, even Qauters' updater has them, but well well, that's for other people than RSBot users! They use BaseX, BaseY and the minimap ints -


[php]
public static Point worldToMinimap(double x, double y) {
x -= Bot.getClient().getBaseX();
y -= Bot.getClient().getBaseY();
int calculatedX = ((int)(x * 4 + 2)) - Bot.getClient().getMyPlayer().getX() / 32;
int calculatedY = ((int)(y * 4 + 2)) - Bot.getClient().getMyPlayer().getY() / 32;

Interface mm = Bot.getClient().getInterfaceCache()[548][58];

int angle = 0x7ff & Bot.getClient().getMinimapInt2() + Bot.getClient().getMinimapInt1();
int actDistSq = calculatedX * calculatedX + calculatedY * calculatedY;

int mmDist = Math.max(mm.getHeight() / 2, mm.getWidth() / 2) + 10;
if (mmDist * mmDist >= actDistSq) {
int cs = CURVESIN[angle];
int fact = 256 + Bot.getClient().getMinimapInt3();
cs = 256 * cs / fact;
int cc = CURVECOS[angle];
cc = 256 * cc / fact;
int i_25_ = -(calculatedX * cs) + calculatedY * cc >> 16;
int i_26_ = calculatedX * cc + calculatedY * cs >> 16;

int screenx = (mm.getX() + mm.getMasterX()) + mm.getWidth() / 2 + i_26_;
int screeny = -i_25_ + mm.getHeight() / 2 + (mm.getY() + mm.getMasterY());
return new Point(screenx, screeny);
}

return new Point(-1, -1);//not on minimap
}
[/php]


I see that the character class has getX and getY, but I can't find their source anywhere, and client.class hasn't got a getX or getY :(

mastaraymond

2008-07-16 07:53:02

From: n3ss3s
Or just let reflection scripts be reflection scripts, with possibly a few color failsafes.



You know what? I've been saying that client.class hasn't got CurrentX and CurrentY, even Qauters' updater has them, but well well, that's for other people than RSBot users! They use BaseX, BaseY and the minimap ints -


[php]
public static Point worldToMinimap(double x, double y) {
x -= Bot.getClient().getBaseX();
y -= Bot.getClient().getBaseY();
int calculatedX = ((int)(x * 4 + 2)) - Bot.getClient().getMyPlayer().getX() / 32;
int calculatedY = ((int)(y * 4 + 2)) - Bot.getClient().getMyPlayer().getY() / 32;

Interface mm = Bot.getClient().getInterfaceCache()[548][58];

int angle = 0x7ff & Bot.getClient().getMinimapInt2() + Bot.getClient().getMinimapInt1();
int actDistSq = calculatedX * calculatedX + calculatedY * calculatedY;

int mmDist = Math.max(mm.getHeight() / 2, mm.getWidth() / 2) + 10;
if (mmDist * mmDist >= actDistSq) {
int cs = CURVESIN[angle];
int fact = 256 + Bot.getClient().getMinimapInt3();
cs = 256 * cs / fact;
int cc = CURVECOS[angle];
cc = 256 * cc / fact;
int i_25_ = -(calculatedX * cs) + calculatedY * cc >> 16;
int i_26_ = calculatedX * cc + calculatedY * cs >> 16;

int screenx = (mm.getX() + mm.getMasterX()) + mm.getWidth() / 2 + i_26_;
int screeny = -i_25_ + mm.getHeight() / 2 + (mm.getY() + mm.getMasterY());
return new Point(screenx, screeny);
}

return new Point(-1, -1);//not on minimap
}
[/php]


I see that the character class has getX and getY, but I can't find their source anywhere, and client.class hasn't got a getX or getY :(

Why would we not use reflection in randoms.. It can only do good..

n3ss3s

2008-07-16 08:06:32

Why would we not use reflection in randoms.. It can only do good..


I'm all in for it, when did I say we shouldn't?

I mean that there is no need for both, ofcourse reflection is better, and can solve everything. Though we need to get the interface hooks too.

Boreas

2008-07-16 09:27:59

Do we plan to use reflection or color for mechscape?

n3ss3s

2008-07-16 10:40:39

Are we going to use anything for MechScape, since we didn't make anything for FunOrb either?

Yakman

2008-07-16 12:42:23

From: n3ss3s
I see that the character class has getX and getY, but I can't find their source anywhere, and client.class hasn't got a getX or getY :(


decompile all the classes until you see one which is called something like this

import org.speljohan.rsbot.access.Character;

class md extends fg implements Character {

in that class you'll find getX() and getY()


or, you could look in the updater log


getX() added to class "[b]md[/b]" gets FIELD md.g

n3ss3s

2008-07-16 12:48:07

Yakman, widget told me about that, I thought only client.class contained hooks :p

mastaraymond

2008-07-16 15:36:06

From: n3ss3s
I'm all in for it, when did I say we shouldn't?

I mean that there is no need for both, ofcourse reflection is better, and can solve everything. Though we need to get the interface hooks too.


I think we do need both.. If the reflection is allright, then use it, otherwise use the color solver..

People might actually cheat without SMART, or the reflection vars might be outdated..

Wizzup?

2008-07-16 17:52:19

No Reflection for Randoms (or in any parts of the SRL core and skill, just seperate). Go to RSBot for that.

The Claw

2008-07-17 03:17:16

From: Wizzup?
No Reflection for Randoms (or in any parts of the SRL core and skill, just seperate). Go to RSBot for that.


Agreed, we should put emphasis on using reflection as a utility, rather than as an integral part of SRL

n3ss3s

2008-07-17 07:59:47

We could have a new folder in the Misc folder, called 'Alternative', so that users could make random solvers etc with reflection, and the functional, best ones could be there if reflection users want reflection randoms?

mastaraymond

2008-07-17 11:32:44

From: Wizzup?
No Reflection for Randoms (or in any parts of the SRL core and skill, just seperate). Go to RSBot for that.

I always thought we wanted to have perfect random solving, now we have an opportunity and we don't use it.. :confused:

Starblaster100

2008-07-17 11:51:50

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

[php]
{$IfDef SMART}
SolveSmartWay;
{$Else}
SolveNormalWay;
{$EndIf}
[/php]

the scar noob

2008-07-17 13:57:15

From: Starblaster100
http://www.villavu.com/forum/showthread.php?t=32826

[php]
{$IfDef SMART}
SolveSmartWay;
{$Else}
SolveNormalWay;
{$EndIf}
[/php]


I don't have permittion to view that webpage:p
And I also agree with Ray.

-Tsn.

Starblaster100

2008-07-17 15:50:58

Topic: Simplify including SMART into scripts?

From: Starblaster100
Hey,

Simple Idea to simplify including SMART into scripts.

1. In Misc/SMART.scar:

[php]
{$Define SMART}
[/php]

2. In SRL.scar:

[php]
{$IfDef SMART}
procedure SetupSRL(prefix, hiDetail, signed);;
{$Else}
procedure SetupSRL;
{$EndIf}
begin
MouseSpeed := 15;
CheckHPFirst := True;
Reincarnate := False;
TalkAfterRandoms := False;
RoadColor := 0;
WaterColor := 0;
BankColor := 0;
LampSkill := 'mining';
SetUpSRLReport;
LoadCosineArrays;
SymbolAccuracy:= 0.8;
LoadNPCArray;
LoadSRLBitMaps;
SolveChatRandoms := True;
SetupSRLAutoResponder;
UseFindMod := True;
LogoutOnMod := True;
UseFindTrade := True;
Screenshots := False;
InitializeSRLLogFile;
Writeln ('SRL Compiled in '+ IntToStr(GetTimeRunning) + ' msec');

{$IfDef SMART}
SmartSetup(prefix, hiDetail, signed);
while not(SmartReady) do
Wait(100);
SetTargetDC(SmartGetDC);
//Or whatever it is supposed to be
{$EndIF}
end;
[/php]

Basically means all you have to do is include SMART at the top of your script and you're ready to go.

Scripters can even put in their own script:

[php]
begin
{$IfDef SMART}
SetupSRL('asd', False, False);
{$Else}
SetupSRL;
{EndIf}
end.
[/php]

I know its not an amazing breakthrough, but it saves people having to constantly release two versions of their own script.


From: ZephyrsFury
A similar sort of thing has been out for quite some time now (like before it was released to the public). :p

By Markus: http://www.villavu.com/forum/showthread.php?t=21279


From: Starblaster100
Oops, my bad!
Sorry


From: Freddy1990
Heh, I was actually the first to do something like this, but it got removed from the repos…

Bam Bam

2008-07-17 21:26:59

Starblaster, thanks for the heads up (and reminder) about the compiler directives. I'll be sure to use those if I start scripting again.

I didn't see {$Define SMART} right away, but now I do…