SRL Archive - Senior News and General

Bit Reflection


pwnaz0r

2007-12-19 14:39:19

Alright, before you start flaming with no restraint, please read the whole post. I think it really is time to start moving forward and at least use bit reflection. I know SCAR is a colorfinding program, but I don't see why simple bit reflection should not be allowed. I took a few steps back over the last few days to really look at SRL, and with the new update over at Runescape, they have made a HUGE step in stopping auto-ing (despite loosing 50k players). Bit reflection could easily detect randoms, motion, objects, everything. I think since Runescape has made a huge step, so should we.

Discuss.

nielsie95

2007-12-19 14:42:52

What kind of simple bit reflection are you talking about?
Place, motion detection? Like KYAB?

BenLand100

2007-12-19 15:09:53

From: nielsie95
What kind of simple bit reflection are you talking about?
Place, motion detection? Like KYAB?

I believe that replacing the word "bit" with "field" makes it much easier to understand, but yea, it would most likely be kyab-esque ;)

The Claw

2007-12-19 18:24:48

Yep I was thinking of this too actually. I mean, why purposely keep ourselves in the dark ages? We could have the functionality of a java bot with the undetectability of SRL. A killer mix. I guess it's the fact that benland (I assume he would be making it :p) would have to update it all the time, because an update could break it. But then again, sometimes updates break SRL too, and we also have to update, so I dont think thats a big drawback - I say we go for it, and imagine if this was integrated into SMART…

Smartzkid

2007-12-19 18:52:03

If we were to go the java route; we'd need more than one person who knows how to update the code; else we could end up broken and abandoned.

I vote Ben makes a SAT (wunna dem supah advanced tutz) about it all…or maybe he could just record his screen while making the needed changes and narrating what he's doing.

The Claw

2007-12-19 19:03:17

That's where number 3 of my suggestions for projects for ben comes in - "Add me on msn and teach me everything you know" ;)

Renax

2007-12-19 19:36:39

ben i think you've created a following.

BenLand100

2007-12-19 19:59:15

From: Renax
ben i think you've created a following.

Shit… ;)
Anyway, I don't mind helping write it, but I simply don't have time to maintain it… However, some [most] of the hooks I wrote last summer still work… so… (h)

The Claw

2007-12-19 20:21:24

Write a tutorial telling us how to maintain it? There are already some people who know a bit of java here, like smartzkids and bobarkinator, and the rest of us could learn easily enough? or is it a bit more difficult than that lol

Town

2007-12-19 20:28:53

From: The Claw
Write a tutorial telling us how to maintain it? There are already some people who know a bit of java here, like smartzkids and bobarkinator, and the rest of us could learn easily enough? or is it a bit more difficult than that lol


I'm interested in Java, but I I couldn't write anything decent. I think I would learn more if Benland releases some of his goodies open source if the tutorial doesn't come through.

Yakman

2007-12-20 09:27:45

Benland wouldn't be alone, he'd have me! :)

I have an updater which could provide those fields, its meant for a bcel bot, but it finds the fields fine and would be easily made to use reflection for whatever bot you guys want to make.

I could help write and maintain whatever bot you felt like making, I'm quite intrested in the runescape client myself.

I'm a bit against mixing client hacking and scar, but if thats what you guys what, thats find by me, I'v gone off autoing with scar these days…

BenLand100

2007-12-20 13:29:09

From: Yakman
Benland wouldn't be alone, he'd have me! :)

I have an updater which could provide those fields, its meant for a bcel bot, but it finds the fields fine and would be easily made to use reflection for whatever bot you guys want to make.

I could help write and maintain whatever bot you felt like making, I'm quite intrested in the runescape client myself.

I'm a bit against mixing client hacking and scar, but if thats what you guys what, thats find by me, I'v gone off autoing with scar these days…

What kinds of fields do you all have now? Basically all I'm going to do is provide a way to get fields out of the client by providing the paths, The actual work can be done from the scar end ;)

Yakman

2007-12-20 16:25:01

From: BenLand100
What kinds of fields do you all have now?



RS2Client version: 481
getCameraCurveX() added to "client" gets static type int "fe.k"
getCameraCurveY() added to "client" gets static type int "ve.H"
superclass CanvasSub set to na
interface Client added to client
getLoginIndex() added to "client" gets static type int "re.p"
getMouseX() added to "client" gets static type int "nc.F"
getMouseY() added to "client" gets static type int "jb.b"
interface Node added to mb
getPrevious() added to "mb" gets type mb "mb.i"
getID() added to "mb" gets type long "mb.l"
getNext() added to "mb" gets type mb "mb.p"
interface StringWrapper added to eh
getLength() added to "eh" gets type int "eh.q"
isEditable() added to "eh" gets type boolean "eh.I"
getBytes() added to "eh" gets type byte[] "eh.K"
getHash() added to "eh" gets type int "eh.P"
getGroundNodeListArray() added to "client" gets static type ea[][][] "da.V"
getFlagX() added to "client" gets static type int "cd.o"
getFlagY() added to "client" gets static type int "eh.c"
getMinimapInt1() added to "client" gets static type int "rg.o"
getMinimapInt2() added to "client" gets static type int "vf.c"
getMinimapInt3() added to "client" gets static type int "gd.s"
getCurveArrayX() added to "client" gets static type int[] "bf.db"
getCurveArrayY() added to "client" gets static type int[] "bf.U"
interface Entity added to sh
getTextSpoken() added to "sh" gets type eh "sh.fc"
getAnimation() added to "sh" gets type int "sh.ac"
getMenuY() added to "client" gets static type int "ic.y"
getMenuX() added to "client" gets static type int "lf.v"
getMenuWidth() added to "client" gets static type int "qh.v"
getMenuHeight() added to "client" gets static type int "ig.b"
getMenuOptionsCount() added to "client" gets static type int "ke.Y"
getMenuActions() added to "client" gets static type eh[] "ih.i"
getMenuOptions() added to "client" gets static type eh[] "sd.i"
isMenuOpen() added to "client" gets static type boolean "ih.d"
interface NPC added to hh
getNPCDef() added to "hh" gets type fh "hh.lc"
interface NPCDef added to fh
getName() added to "fh" gets type eh "fh.sb"
getActions() added to "fh" gets type eh[] "fh.Ab"
getCombatLevel() added to "fh" gets type int "fh.Y"
interface NodeList added to ea
getHead() added to "ea" gets type mb "ea.d"
getCurrent() added to "ea" gets type mb "ea.t"
interface NodeSub added to lg
getNextSub() added to "lg" gets type lg "lg.u"
getPrevSub() added to "lg" gets type lg "lg.B"
interface Player added to db
getName() added to "db" gets type eh "db.W"
getHPRatio() added to "sh" gets type int "sh.rb"
getLoopCycle() added to "client" gets static type int "bg.g"
getLoopCycleStatus() added to "sh" gets type int "sh.vb"
getY() added to "sh" gets type int "sh.db"
getX() added to "sh" gets type int "sh.nb"
getCameraX() added to "client" gets static type int "dc.j"
getCameraY() added to "client" gets static type int "kh.nb"
getCameraZ() added to "client" gets static type int "uh.P"
getPlane() added to "client" gets static type int "vg.u"
getGroundByteArray() added to "client" gets static type byte[][][] "ub.m"
getGroundIntArray() added to "client" gets static type int[][][] "ld.p"
getMyPlayer() added to "client" gets static type db "nf.j"
getPlayerArray() added to "client" gets static type db[] "ea.s"
getPlayerIndices() added to "client" gets static type int[] "qb.F"
getNPCArray() added to "client" gets static type hh[] "og.Y"
getNPCIndices() added to "client" gets static type int[] "pa.g"
getPlayerCount() added to "client" gets static type int "od.T"
getNPCCount() added to "client" gets static type int "ih.e"
interface Animable added to kb
getHeight() added to "kb" gets type short "kb.P"
getBaseX() added to "client" gets static type int "oa.a"
getLocationX() added to "sh" gets type int[] "sh.Gb"
getBaseY() added to "client" gets static type int "dd.b"
getLocationY() added to "sh" gets type int[] "sh.Nb"
getInteractingEntity() added to "sh" gets type int "sh.jb"
getTurnDirection() added to "sh" gets type int "sh.eb"
getSelfInteracting() added to "client" gets static type int "u.ab"
interface Item added to rc
getItemID() added to "rc" gets type int "rc.db"
getStackSize() added to "rc" gets type int "rc.X"
interface Ground added to qh
getGroundArray() added to "client" gets static type qh[][][] "tb.ib"
interface ObjectDefinition added to gd
getObject5Array() added to "qh" gets type gd[] "qh.H"
getUID() added to "gd" gets type long "gd.i"
interface ObjectDefinition added to wb
getObject3() added to "qh" gets type wb "qh.R"
getUID() added to "wb" gets type long "wb.b"
interface ObjectDefinition added to n
getObject2() added to "qh" gets type n "qh.S"
getUID() added to "n" gets type long "n.c"
interface ObjectDefinition added to ee
getObject1() added to "qh" gets type ee "qh.T"
getUID() added to "ee" gets type long "ee.a"
interface ObjectDefinition added to h
getObject4() added to "qh" gets type h "qh.db"
getUID() added to "h" gets type long "h.g"

never thought I'd be posting this on a Scar forum :p

by the way, getCurveArrayX(), getCurveArrayY() get mixed up a lot, but I'm removing them because it turns out, they are simply cached values for sin/cos, (we do the same thing for RadialWalk)

I only found out about how to use object uids this update, and made this little script which draws the IDs, just to show you ben why its a great idea to put on-screen drawing :)


BenLand100

2007-12-20 19:20:21

From: Yakman
never thought I'd be posting this on a Scar forum :p

by the way, getCurveArrayX(), getCurveArrayY() get mixed up a lot, but I'm removing them because it turns out, they are simply cached values for sin/cos, (we do the same thing for RadialWalk)

I only found out about how to use object uids this update, and made this little script which draws the IDs, just to show you ben why its a great idea to put on-screen drawing :)

I'm brainstorming ways to work with this from Scar through SMART… If ONLY I could write classes in Scar, I could setup a system that would allow you to manipulate those fields and objects independently of the internal workings of scar…

Edit: Time to pester freddy ;)

The Claw

2007-12-20 19:46:54

im excited already :p

pwnaz0r

2007-12-21 15:45:00

haha, well have been gone but seems alot like the idea. Yeah, I was talking with Ben about his next project and this kinda came up. I would be glad to learn some Java to anyone who would teach me. Anyways, hopefully Freddy will make it so you can create class's in SCAR.

Dark_Sniper

2007-12-21 16:07:52

hehe looks like im going to learn java now just to keep up with you guys :)


then php i guess :p





sounds like an ok idea….

pwnaz0r

2007-12-21 16:20:35

offtopic//

Im on Dark's Buddy List, woot!

//offtopic


Yeah, I just now saw that SMART can now read settings, that helps alot.

JAD

2007-12-21 17:47:03

Here's my thoughts…

We had been autoing with purely SCAR and SRL for a long time and had been advancing with that. Then, KYAB comes by (which BTW, I was completely against before) using Java and starts to take a lot of srl/scar out of scripts. Then, people quote the "we do NOT use our language of the Java code to gain any advantage in autoing" or whatever, but then, shortly after the whole KYAB incident was over, Ben comes out with his amazing SMART, which uses Java. I was confused in the first place as to why we were so against KYAB, but then we jump right over to using Java.

I'm guessing it was because KYAB took so much fun out of SCAR scripting, and SMART didn't make us need to code less, we could just run multiple scar's and do things on the computer while they ran. But now to go right back to something very KYABish is kind of silly, after that whole scenario a few months ago…

I really don't care either way, but I'm just stating why I think it would be silly to do this after that whole KYAB incident.

Town

2007-12-21 17:56:39

I don't know why KYAB is talked down about as much as it is. Personally, I just don't like the atmosphere on the KYAB forums and chose to stick with using Scar/SRL by itself. Solarwind is too immature to run his own community well, IMO. The program, however, works how it is sopposed to and there is no reason members at these forums should have a problem using it in their scripts. I think it is less of a problem on the higher boards but the SRL Members and below really bother me with their conversations sometimes.

Smartzkid

2007-12-21 18:00:38

I'll sum up my thoughts on the public reaction if this is released: OMG WTF YOU HYPOCRITES!

Basically, release this, and all you admins are gonna have hell.

mastaraymond

2007-12-21 18:14:38

Just don't release it to the mass, no problem.

Special Ed

2007-12-22 01:10:33

/OffTopic/ Sorry I've been gone for a while… /OffTopic/

Well personally I think we should keep it as SSRL for now if we do decide to work on this… I'm taking a refresher course (Self Taught) on C/C++ atm but switching over to Java for the time being would probably do me some good, I always need a little randomness in my life.

The problem begins though… do we keep it a secret forever or do we release it to the public. I think right now w/ quite a few people leaving releasing something like this could have either a positive effect or a negative effect at this point, problem being, I don't know which…

Which ever way we decide I'll be for it. Although I'm inactive currently working on re-learning 3D programming (Yea… making an MMO) I won't be as active on the forums, along with the workload from skewl it'll be tough.

P.S. - If you know a lot or at least a little about Game Programming please talk to me on MSN or something… I'm 150 pages into this book and it just finished talking about arrays…. ~.~

BenLand100

2007-12-22 06:31:46

From: Special Ed
P.S. - If you know a lot or at least a little about Game Programming please talk to me on MSN or something… I'm 150 pages into this book and it just finished talking about arrays…. ~.~

I don't know a lot about 'Game Programming' necessarily, but I know a lot of C++ (including the graphical end) and a good bit about 2D<>3D conversions/rendering processes. So, if you need any help, msn me ;)

The Un-Named

2007-12-22 12:14:47

From: JAD
…I was confused in the first place as to why we were so against KYAB…


I'm not sure about anyone else, but having a script like this:

Walk(3498, 2835);
Walk(4132, 1208);
Walk(4371, 3565);
Walk(2903, 1065);
Walk(5674, 6204);
Walk(7888, 4802);
Walk(8704, 7444);
Walk(5337, 9344);
Walk(9187, 3148);
Walk(4520, 1587);
Walk(2092, 7385);

Not only looks ugly, but takes the fun and challenge out of scripting.

JAD

2007-12-22 12:36:53

From: The Un-Named
I'm not sure about anyone else, but having a script like this:

Walk(3498, 2835);
Walk(4132, 1208);
Walk(4371, 3565);
Walk(2903, 1065);
Walk(5674, 6204);
Walk(7888, 4802);
Walk(8704, 7444);
Walk(5337, 9344);
Walk(9187, 3148);
Walk(4520, 1587);
Walk(2092, 7385);

Not only looks ugly, but takes the fun and challenge out of scripting.


Exactly what I said too.

But what I mean is, now, we are just going right back to that? :) Or maybe I'm way off and we are still going to make more skill requirement.

But it's not fun when everyone can make perfect walking… That's the hard part with scripts.

BenLand100

2007-12-22 12:47:28

From: JAD
Exactly what I said too.

But what I mean is, now, we are just going right back to that? :) Or maybe I'm way off and we are still going to make more skill requirement.

But it's not fun when everyone can make perfect walking… That's the hard part with scripts.

You know what, I just got an excellent idea… I'm going to make a poll in SRL Members seeing just how many people are opposed to making things (Not related to SMART, just generic) easier. This is the ONLY community I've ever heard of that is opposed to making things easier for themselves :duh:

Smartzkid

2007-12-22 12:52:19

Because we savor challenges. That's the way we get things done; 'Oh, new update? Cool, now I can fix it'

Seems one of our greatest advantages is also one of our greatest disadvantages.

Special Ed

2007-12-22 12:52:19

I think if we where to make a bit reflection program and we still wanted to keep the fun of scripting w/ still advancing ourselves I think we should more-so focus on collecting general data meaning. Colors, Randoms… The only reason I would want anything to do with detecting actions and walking would just be just to solve randoms. I like the challenge of detecting whether or not your fishing, mining, ect… but when your in a maze random or something that SRL can't solve… I think that constitutes a need for improvement since we literally "can't" do it via normal methods.

As for finding colors, it would basically just return the colors of generic things basically using the concept that SCARSCAPE does, except rather than removing the randomness it would just tell us what the color is. This still leaves a lot of scripting to be done but it gets rid of the hassle of hours of color collecting and high tolerances that create lag.

This is just my opinion, people may want less or more scripting than I do but personally if we made something that does the above mentioned. We could still continue to script and have fun with it and be challenged but we would have all the randoms solved and perfect color detection making our scripts run longer… not so much making them easier to make.

The Claw

2007-12-22 19:28:16

I dunno about you guys, but it usually takes me a LOT of time to get a script walking flawlessly. For example, my crafting guild miner. Fally east bank to crafting guild, into the guild, back out, up to bank again. Its a long way. That took me about 2 weeks of running the script non stop to perfect..which is pretty annoying, and is a waste of time when we could do it in 5 mins. Run the script overnight, wake up, see where they got lost, read debug to find out where the script was at, try and determine the error. Was the DDTM found at another place? Did the script miss getting the road color, and radialwalked with the color 0 tree spot? The errors can go on, and on, and on..sometimes determining a single error can take a week. Dont get me wrong, I can make a flawless script. But honestly, is that your idea of fun when scripting? Waking up each morning, stressing about if your script made it overnight, then spending hours on figuring out 1 or 2 errors. For weeks on end until you have it perfected.

Yes, its hard, but no its not fun. Making the walking procedure in the first place is, messing around with DDTMs is fun, but the countless hours after it isnt, really. So my point is - why would you want to spend so many hours on walking, when you can get it done in a few minutes? For the challenge? Nah, I reckon everyones just following the admin's lead in hating KYAB. Cause if you want a challenge, there are plenty of things harder than walking. They dont take as long, but they need more brainpower and arent boring as shit. Why not spend those hours making your script move mouse to the next rock while mining? Or work at solving a random that hasnt been solved yet, such as the maze? Some recent work by benleegt shows that the maze is in fact very solvable, just no one's done it yet. So yeh, walking is by far the longest thing to perfect, taking hours and hours of mind numbingly boring trial and error, which goes on and on and on. But it is no way near the hardest, and if you want a challenge then there are 100s of things better, and more productive, to do. Which is why I reckon its good to get reflection for walking into SMART, the reason I dont use KYAB is cause solars a faggot thats all.

mastaraymond

2007-12-22 19:37:21

From: The Claw
I dunno about you guys, but it usually takes me a LOT of time to get a script walking flawlessly. For example, my crafting guild miner. Fally east bank to crafting guild, into the guild, back out, up to bank again. Its a long way. That took me about 2 weeks of running the script non stop to perfect..which is pretty annoying, and is a waste of time when we could do it in 5 mins. Run the script overnight, wake up, see where they got lost, read debug to find out where the script was at, try and determine the error. Was the DDTM found at another place? Did the script miss getting the road color, and radialwalked with the color 0 tree spot? The errors can go on, and on, and on..sometimes determining a single error can take a week. Dont get me wrong, I can make a flawless script. But honestly, is that your idea of fun when scripting? Waking up each morning, stressing about if your script made it overnight, then spending hours on figuring out 1 or 2 errors. For weeks on end until you have it perfected.

Yes, its hard, but no its not fun. Making the walking procedure in the first place is, messing around with DDTMs is fun, but the countless hours after it isnt, really. So my point is - why would you want to spend so many hours on walking, when you can get it done in a few minutes? For the challenge? Nah, I reckon everyones just following the admin's lead in hating KYAB. Cause if you want a challenge, there are plenty of things harder than walking. They dont take as long, but they need more brainpower and arent boring as shit. Why not spend those hours making your script move mouse to the next rock while mining? Or work at solving a random that hasnt been solved yet, such as the maze? Some recent work by benleegt shows that the maze is in fact very solvable, just no one's done it yet. So yeh, walking is by far the longest thing to perfect, taking hours and hours of mind numbingly boring trial and error, which goes on and on and on. But it is no way near the hardest, and if you want a challenge then there are 100s of things better, and more productive, to do. Which is why I reckon its good to get reflection for walking into SMART, the reason I dont use KYAB is cause solars a faggot thats all.

Why would you focus on solving Randoms if the all the information is stored in data you can read from the client?

Why would you make an object finder when you can read it from the client?
Why would you use colors at all?
Why would you script?

Ofcourse for those things like Walking, Randoms solving its adorable! But a side effect will be, you can do everything with 1 line..

The Claw

2007-12-22 19:45:11

From: mastaraymond
Why would you focus on solving Randoms if the all the information is stored in data you can read from the client?

Why would you make an object finder when you can read it from the client?
Why would you use colors at all?
Why would you script?

Ofcourse for those things like Walking, Randoms solving its adorable! But a side effect will be, you can do everything with 1 line..


Why? Well, you wouldnt have to, when this new smart is done. But I was saying, why say you dont like KYAB cause it makes walking too easy and you want a challenge? when there are heaps of other things harder to do, which are more of a challenge, yet no one has done them or even attempted…

BenLand100

2007-12-22 22:48:47

From: mastaraymond
Why would you focus on solving Randoms if the all the information is stored in data you can read from the client?

Why would you make an object finder when you can read it from the client?
Why would you use colors at all?
Why would you script?

Ofcourse for those things like Walking, Randoms solving its adorable! But a side effect will be, you can do everything with 1 line..


Ya know, essentially you can put any script on one line ;) Anyway, unless someone wants to maintain all the object finding hooks, its not going to be used. Some (check the newest smart download) are easy to find and don't break (literally, my old updater from last summer still works like a charm for 80%+ of the client) and are useful for Scar/SRL because you just can't do them with color, eg. animation detection. Others are convince like level/exp detection and location. Some are even fun like last logged in player (which I put in just so I could have a reason for the StringWrap class). There are other (less easy) hooks like chat messages that could be implemented. However, the really useful ones are by far the location hooks and the settings array hook. If someone gets an on screen random, I'll try to solve it. Also remember, the maze is solvable (if not, at lease assisted) by location if I'm not mistaken.

JAD

2007-12-23 01:17:26

From: The Claw
Nah, I reckon everyones just following the admin's lead in hating KYAB.


Actually, I was one of the few against it before the admins were against it in any way, before Fakawi actually made a script using KYAB. But you're probably right, most people were just like sheep and followed what the admins said.

mastaraymond

2007-12-23 06:35:42

From: BenLand100
Ya know, essentially you can put any script on one line ;) Anyway, unless someone wants to maintain all the object finding hooks, its not going to be used. Some (check the newest smart download) are easy to find and don't break (literally, my old updater from last summer still works like a charm for 80%+ of the client) and are useful for Scar/SRL because you just can't do them with color, eg. animation detection. Others are convince like level/exp detection and location. Some are even fun like last logged in player (which I put in just so I could have a reason for the StringWrap class). There are other (less easy) hooks like chat messages that could be implemented. However, the really useful ones are by far the location hooks and the settings array hook. If someone gets an on screen random, I'll try to solve it. Also remember, the maze is solvable (if not, at lease assisted) by location if I'm not mistaken.


I agree using it for Randoms.. Maybe even for hard walking parts, but it doest take out the fun of making a FindRock.. We already know its position :p.

Ofcourse, getting levels, health.. Is lovely, because we don't have to switch that tab anymore..

Oh, btw.. Whenever i try to send "F" keys to smart it will press the F button, but also type a letter… Kinda weird?

The Claw

2007-12-23 06:59:59

From: JAD
Actually, I was one of the few against it before the admins were against it in any way, before Fakawi actually made a script using KYAB. But you're probably right, most people were just like sheep and followed what the admins said.


wasnt saying it to you personally…just saying that it seemed like everyone liked it at the start, including fawki and boreas etc, then as soon as they decided not to like it it seemed the rest of the forums went with them….mainly people on the public and srl members forums, not so much people in here

Town

2007-12-23 11:54:01

For the maze random you're starting point will be probably be available and then you can just solve it by walking from that point to the center.