Leaderboard
Popular Content
Showing content with the highest reputation on 07/30/13 in Posts
-
This release features a patch to Freaky Forester and the Run Away From Combat handler. Freaky Forester was again misinterpreting the dialogue telling us which tailed Pheasant to kill. This should however no longer happen. Expect more releases soon, Maxi is back from France and we should be able to get back to work fully. Thanks, Sincerely, Laz and the OSBot Team.4 points
-
This is a mini tutorial on how to use actions to check if a door is open or closed based on a certain tile and action strings. This is useful for writing scripts which require you to pass through a door pathway. NOTE: Using this snippet you will NEVER need to update door IDs as you will be using strings. What are actions? actions are exactly what they sound like. Almost everything in RuneScape contains actions and we can abuse this to tell if certain players, objects, NPCs, etc contain certain menu options without having to even click on them. This will be useful for telling if a door is actually opened or closed! Step 1: Creating the action identifier First let's make a boolean called "checkDoorIsOpen" and inside this boolean we will be checking to see if an object is not null and it's action contains a certain string to verify that a door is actually closed or open. private boolean checkDoorIsOpen() { final RS2Object door = closestObjectForName(doorTile, "Door"); if(door != null) { for(String actions: door.getDefinition().getActions()) { if(actions.contains("Open")) { return true; } } } return false; } You might have noticed we used an area filter to filter out the unwanted doors, and yes, you can use the same two tiles for an area. Area Example private final Area doorArea = new Area(1111, 2222, 1111, 2222); Step 2: Now that we have our action identifier how do we use it? We use a simple if statement to determine weither the door is open or closed based on our identifier above if(checkDoorIsOpen()) { status = "Opening the door"; door.interact("Open"); } else if(!checkDoorIsOpen()) { //CODE HERE } As you can see in the statement above if our boolean checkDoorIsOpen returns true the door on that tile must contain an Open action meaning the door must be closed resulting in the bot opening the door. Now If the condition returns false it will ignore the door interaction code and run our normal code. The reason I prefer this method over just checking to see if the door is null based on ID is because JaGex changes the IDs all the time and there's a new update coming soon where IDs will be dynamic for everyone. Hopefully this will help out some of the newer people or teach others new ways of checking if something is there or not besides just checking to see if its null or not. This can be applied to many objects, not just doors.2 points
-
2 points
-
Simplest Thing Ever. I Love Ya'll In This Community. So Theres a Few Rules. & 2 Winners. WINNERS GET: 1 VIP Voucher 1M OldSchool RSGP (or 10M eoc) How It Works?: 1) Post The Form & Fill It Out 2) Star My Profile 3) Posts Stop August 11th/2013. 4) LIMIT: One Post Daily. 5) Will Use a Number Generator & Count Forum Posts. GOOD LUCK RULES: Write 1 thing why OSBOT Is Awesome. Who's your Fav Mod/Forum Mod? And Last but not least. Rap or Metal Music. Only Aloud To Post ONCE DAILY. (you can easily copy and paste the form below and submit it daily) CONTEST ENTERY: Why OSBOT is Awesome: My Favourite Mod/Forum Mod Is: I Prefer (Rap/Metal/Other):1 point
-
1 point
-
Why is random solvers local and not remote scripts? makes no sense to me as it would be 10x easier to edit the randoms as they change all the time.1 point
-
I became annoyed at typing sleep x + gRandom(y,z); so I wrote this so you can simply enter three values (you can change it to more) and it will randomize the sleep method furthermore. Not only that, instead of having to type out your sleep every time, you just type: Sleep(); Here's the code: private boolean dynamicBase; int s0 = 750; // Base value int s1 = 0; double s2 = 0; public void subSleep() throws InterruptedException { sleep(s0 + gRandom(s1, s2)); } public void sleep() throws InterruptedException { Random sleepRandom = new Random(); switch (random(1, 3)) { case 1: if (dynamicBase) { s0 = sleepRandom.nextInt(500); } s1 = sleepRandom.nextInt(1000); s2 = 250 + (1500 - 500) * sleepRandom.nextDouble(); subSleep(); case 2: if (dynamicBase) { s0 = sleepRandom.nextInt(100); } s1 = sleepRandom.nextInt(250); s2 = 500 + (800 - 200) * sleepRandom.nextDouble(); subSleep(); case 3: if (dynamicBase) { s0 = sleepRandom.nextInt(45); } s1 = sleepRandom.nextInt(250); s2 = 500 + (800 - 200) * sleepRandom.nextDouble(); subSleep(); } } Pretty much, your sleep is now: randomBase(optionally) + randomint(randomint + (randomint(randomint)) + (randomDouble(randomDouble))) Making your sleeps math-ambiguous.1 point
-
No problem :P I feel you didn't understand the test: If the light switch was already down, keeping it down is still an option. All I was trying to say was it needs a semi-dynamic base that the user can manipulate.1 point
-
That's not as randomized as the method I posted, nor is it as simplified. I'd have to disagree. I did a little bit of statistical analysis on your method: Case one yields an average range of 750 to 2000 if not using a dynamic base. Case one yields an average range of 250 to 1500 if using a dynamic base. Case two yields an average range of 750 to 1675 if not using a dynamic base. Case two yields an average range of 50 to 975 if using a dynamic base. Case three yields an average range of 750 to 1675 if not using a dynamic base. Case three yields an average range of 23 to 948 if using a dynamic base. (all of these are bell curves with their peak at the mean) If you logged every time the bot slept, you would have a graph that looks like 2 or 3 superimposed bell curves (or 5 if you randomly use the dynamic base). To have something truly random, you have to use this method along with a way of changing the base to better suit your needs in a script. Such as an action that requires 1 tick compared to something that needs 5. If you slept the same way every time, it would look obvious by the randomness of it. By default, humans are not random. There was a study done that asked a human to flick on and off a light switch in a random pattern. The study concluded that there was a non-random pattern that the person followed subconsciously. When humans do actions, they get tuned to what they are doing. It is very easy to keep the beat in a song, compared to trying to play something in random intervals. Its not how our brains work. This is a very well written video explaining what I'm walking about http://www.youtube.com/watch?v=H2lJLXS3AYM I'm very aware of the constant patterns in subconcious timing. When flipping a lightswitch you are aware that it flips on and off, two reasonable options, while only one is optional at a time. If you've gone up, your only option is to go down, meaning that your brain will naturally flip it at a constant rate. This isn't the same in RuneScape. There are many actions you can do, and they happen randomly. You don't attack an npc every 5.0 seconds, you may attack one at 1.2 seconds, attack another at 6.8 seconds, then another at 9.1 seconds. The randomized core of RuneScape's engine, the random hits, the random spawns. The set delays are the only ticks that would be remembered by your brain. Even so, the numbers are changeable for a reason. Everyone would have their own set "ticks" they'd be accustom to using, which is why you can change the sleeps, add more, or remove some. Thanks for the nice discussion! If you wanted to achieve that type of randomness you would have to do a dynamic sleep then add that. This is because the dynamic sleep only acts when the condition is false. So if you were to attack an Npc with your sleep it would try to click it at random intervals which might mean the npc is still not dead. With a dynamic sleep it would wait for the npc to die, then you can implement that type of sleep which would make it wait before the next attack1 point
-
1 point
-
1 point
-
1 point
-
1 point
-
Alright guys since I hardly have nothing to do since I quit RuneScape 2007, and you lot are mostly jamming in the Chat Room bored, I'm going to start working on a unofficial OSBot Server, this server will be worked on with talented programmers which has been in the RSPS scene for quiet some time, we might also hire some other programmers in the near future if we need any. The base I will be using for this server will be Hyperion it will be a PK server with rares which you'll have to work and will not be spawnable which can be obtained by bosses or pk points. There isn't currently a estimate of arrival because we want the PK Server to be pinch perfect, so we will be privately BETA testing it once we think it's ready and have no major bugs or any memory leaks we might of added by mistake or any type of dupes. Colour Codes: Not Started. Started. Completed. Programmers: Peter - Content Developer. Rico(Danimal) - Content Developer & Core & Networking. Features: Decent combat base: Melee: Perfect maxhit, weapon timers, special attacks Range: Perfect maxhit, every bow+arrow type, special attacks, arrows drop on ground Magic: Normal spells up to bolts + Ancient ice spells (Easy to add rest) Food and potions work Wilderness fully working. Decent skill system: Firemaking base Woodcutting base Mining/Prospecting base Thieving (stalls and npc) base Miscellaneous: Fight caves minigame Start of cook's assistant Following system (Needs testing) Door + ladder system Jagcached client + RSA encrypted (Means that you don't need to download full cache before playing) Shops. Safe Zones Multi Zones. Pk Points System. Bank System. Credits: Graham Blake BrettR Scu11 Canownueazy Russian1 point
-
I wouldnt recommend LoL, the community in this game is beyond your imagination, people wish cancer upon your mom etc. I quit after playing it for almost 3 years, not because of the game but because of the people playing it.1 point
-
I dont know why you find it stupid , everybodys humour is different and litteraly ur the child right here with that attitude cause adults with that attitude is rare, rare means psycho motherfucker We all know it is because he must lack in the genitalia... it must be.1 point
-
I also think if we did have this, it would log what the person said in the chat and send a report to the mods. I think that way a global could handle it more strictly if needed.1 point
-
1 point
-
You obviously must have used another program besides OSBot as this client does not hack people. It has thousands of users. Furthermore, what I would suggest is that you do a thorough scan of your computer with a couple of reliable anti-malware programs.1 point
-
Why OSBOT is Awesome: Because you joined My Favourite Mod/Forum Mod Is: ely I Prefer (Rap/Metal/Other): Rap1 point
-
Why OSBOT is Awesome: Occazn is in it My Favourite Mod/Forum Mod Is: Occazn I Prefer (Rap/Metal/Other): Occazn1 point
-
Why OSBOT is Awesome: Best 07rs bot and forum is growing My Favourite Mod/Forum Mod Is: I'm still pretty new at here so dunno I Prefer (Rap/Metal/Other): House & techno1 point
-
Why OSBOT is Awesome: because it has the best botting community My Favourite Mod/Forum Mod Is: I don't even know any mods I Prefer (Rap/Metal/Other): other1 point
-
Why OSBOT is Awesome: One of the few. if any, working free Bot Clients for old school. My Favourite Mod/Forum Mod Is: Smart. Very Smart I Prefer (Rap/Metal/Other):Alt Rock, Hip hop, RB,1 point
-
Google "Official Java Tutorials." That's how I learned. Wrong category btw.1 point