Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 04/07/20 in all areas

  1. I just wanted to wish everyone a Happy Easter, and if you don't celebrate Easter, I just hope everything is going well for you during this time! We've decided to do another large giveaway similar to our Christmas Giveaway, and once again we would like to thank the guys who keep our site possible, our scripters! We'll be giving away some FREE script auths from our scripters and some VIP 1 month duration giveaways, and this time including a VIP/Sponsor sale! The OSBot rank sale will be live in the next few days! How to win? Simply Like the post and then comment on the post! The winners will be announced next weekend! The sale will be going live @ Midnight Central Time 4/12! Be sure to click below to purchase! //////// //////// Below is a list of the scripts with Script Writer, Script Name, quantity of giveaway, duration, and script thread link. All scripter names and script names link to their respective profiles and threads. We are giving away 10 VIP Packages for a 1 month duration each. These packages are sponsored by yours truly. OSRS Script Factory Project AIO Fisher Project AIO Miner Project AIO Woodcutter Ultimate Firemaker Ultimate Tutorial Island Ultimate AIO Chopper Ultimate Zulrah Helper Ultimate Slayer Excellent Agility Excellent Dragons Legendary Lava Dragons Excellent Vorkath Excellent Combat Helper ezCrabs ezCannon Fruity NMZ Fruity Zulrah Progamerz AIO Cows Progamerz AIO Prayer Khal Blast Furnace Khal Wintertodt Khal Fletcher Khal Motherlode Khal Fisher Khal Woodcutter AIO Safespotter Perfect Miner Perfect Fighter Perfect Magic Perfect Crafter AIO Perfect Blast Furnace
    23 points
  2. ────────────── PREMIUM SUITE ────────────── ─────────────── FREE / VIP+ ─────────────── ──────────────────────────────────────────────────────────── ⌠ Sand crabs - $4,99 | Rooftop Agility - $5,99 | AIO Smither - $4,99 | AIO Cooker - $3,99 | Unicow Killer - £3,99 | Chest Thiever - £2,99 | Rock crabs - $4,99 | Rune Sudoku - $9,99 ⌡ ⌠ AIO Herblore - FREE & OPEN-SOURCE | Auto Alcher - FREE | Den Cooker - FREE | Gilded Altar - FREE | AIO Miner - VIP+ ⌡ ──────────────────────────────────── What is a trial? A trial is a chance for you to give any of my scripts a test run. After following the instructions below, you will receive unrestricted access to the respective script for 24 hours starting when the trial is assigned. Your trial request will be processed when I log in. The trial lasts for 24 hours to cater for time zones, such that no matter when I start the trial, you should still get a chance to use the script. Rules: Only 1 trial per user per script. How to get a trial: 'Like' this thread AND the corresponding script thread using the button at the bottom right of the original post. Reply to this thread with the name of the script you would like a trial for. Your request will be processed as soon as I log in. If i'm taking a while, i'm probably asleep! Check back in the morning Once I process your request, you will have the script in your collection (just like any other SDN script) for 24 hours. Private scripts: Unfortunately I do not currently offer private scripts. ________________________________________ Thanks in advance and enjoy your trial! -Apaec.
    4 points
  3. CzarScripts #1 Bots LATEST BOTS If you want a trial - just post below with the script name, you can choose multiple too. Requirements Hit 'like' on this thread
    3 points
  4. ** $14.99 - 24 hour trials available - like and comment on this thread Don't pm me on OSBot or Discord to ask for a trial. Loot anything, anywhere, with this highly customizable script! PvP worlds, waiting on loot piles, drop parties across Gielinor, even popping balloons in the party room! Buy The Script Here Check out these videos on using Fury AIO Looter to make money! [OSRS] Botting To Ban #7: Looting ! Crazy Profit [OSRS] Botting To Ban #8: F2P Looting FAQs: What does x setting on GUI mean? Look in the GUI spoiler below for a detailed explanation of what each option does. What settings should I use? WHATS THE BEST??? Whatever works for you, try new things until you find something thats good. I made it as customizable as possible for a reason There is no "best" settings before you ask me. lol. If I told everyone the ""best"" settings then everyone would do that and it would no longer be the best. Experiment and see what works for you Where should I run the looter? Anywhere there is loot on the ground. Experiment. See whats making money. Known locations would be GE drop parties in highly populated worlds. PVP worlds in active areas (ge, lumbridge, varrock, etc). ZMI. Wintertodt. Skillers that drop their inventory like barbarian village fishers, rimmington mine iron ore droppers etc. It will even work in the party room to pop balloons GUI: CLI: Discord Server: POGRESS REPORTS:
    2 points
  5. NEW: Released Chop & Firemake plugin Added 8 Forestry events!!!!!!!! Easy 99, Next! Map Chooser System Progress Results! Help How to use this with Bot Manager? Script ID is 631, and the parameters will be the profile you saved in the setup window, e.g. oak15.txt I want a new feature added? Make a post below and I am always listening, within reason! The bot is doing something I don't like? Make a post below and I will adjust the code to match your play style!
    1 point
  6. Want to buy with OSGP? Contact me on Discord! Important Info/Tricks - There is a very high chance of acc locks/banns on stealth mode (Use mirror whenever you can) - Using proxies while making accounts will get your account locked most of the times - If using proxies make sure to CREATE and BOT it on the same IP. Else they will receive banns, you will still experience locks though. - If using mirror mode, scale the original client smaller than the osbot game area, this will the blue screen go away at the start. - When Using Mass mode, make sure to have the first account added to osbot and you are NOT using the Default account. How to use CLI parameters: - Example Usage: -script 591:SAVEFILE SAVEFILE = Saved Filename - SAVEFILE: Save file can be created in the GUI. Navigate to the tab you want to run and press "Save As CLI file". Please choose your filename wisely (No special characters) - Final form: -script 591:AccProfile1
    1 point
  7. View in store $5.99 for lifetime access _____________________________________________________________ Key Features: Progressive mode - The script will traverse the xp-optimum course for your current level; walking to the next course as your level increases. Reliability - The script was developed and rigidly tested with superior reliability in mind. Human replication - Designed around human simulation - behaviour tuned to replicate common rooftop play styles. Alching / Magic Imbue - The script can be configured to High/Low Alch items, or cast Magic Imbue as it traverses the course. Target system - Can be optionally configured with a target. Once this target is achieved, the script will stop. Available targets (variable λ): Stop when λ agility exp gained. Stop when agility level λ reached. Stop when λ magic exp gained. Stop when magic level λ reached. Stop when λ minutes passed. Healing - The script will consume edible items in your inventory to restore health, stopping if you run out of food. Mark of Grace looting - All marks of grace are looted while the script traverses the rooftop. Randomisation - All thresholds (including but not limited to Run energy and Critical Hp) are dynamically randomised. Energy restoration - The script will consume energy restoring items/potions when needed, provided they are available in the inventory. Web-Walking - The script utilises the OSBot Web to navigate the OSRS map, meaning it can be started from almost anywhere. Course detection - If you are on/near a rooftop course before setup, the course will automatically be loaded into the GUI. Error correction - The script will detect when it has made a mistake (e.g. climbed ladder in seers' bank) and will attempt to return to the course. ...and many more! Supported Rooftops: (Level 10) Draynor ✓ (Level 20) Al-Kharid ✓ (Level 30) Varrock ✓ (Level 40) Canifis ✓ (Level 50) Falador ✓ (Level 60) Seers' Village ✓ (Level 70) Pollnivneach ✓ (Level 80) Rellekka ✓ (Level 90) Ardougne ✓ Things to consider before trying/buying: Avoiding bans - while I have done my utmost to make the script move and behave naturally, bans do occasionally happen, albeit rarely. To minimise your chances of receiving a ban, I would strongly suggest reviewing this thread written by the lead content developer of OSBot. If you take on board the advice given in that thread and run sensible botting periods with generous breaks, you should be fine. That being said, please keep in mind that botting is against the Oldschool Runescape game rules, thus your account will never be completely safe and you use this software at your own risk. Web-walking - alongside a network of paths, the script moves around with the OSBot web-walking system, using it when in unknown territory. While it has proven very reliable, there are naturally some areas for which the web-walker may struggle. As a result, prior to starting the script, I would strongly recommend manually navigating your player to/close to the desired rooftop course. Progressive mode - the script features 'Progressive mode' which will cause the script to advance rooftop courses as you level up. Progressive mode relies on the aforementioned web-walking system for inter-rooftop navigation. Consequently, I would highly recommend monitoring the script as it traverses between courses to ensure the web-walking process correctly executes. Healing & Energy restoration - the script will automatically heal or restore run energy when needed. It will do so by consuming items in the inventory - this script will not bank. For optimal exp rates, I would strongly suggest keeping energy restoring items in the inventory (energy/super energy/stamina/fruits/summer pies/purple sweets/...). To prevent the script stopping prematurely, bring a few bites of food along. Using magic - The script supports the periodic casting of a magic spell while traversing a course to maximise experience rates. To determine whether or not you can cast a spell, the script checks your magic level as well as which runes are in your inventory and which stave you have equipped (if any). It is worth noting that, at this time, the script does not recognise any of the following items as rune sources, so avoid using them while running this script: Bryophyta's Staff, Tome of Fire, Rune Pouch. Script trials: I believe that trying a script before buying is paramount. After trying the script, hopefully you will be convinced to get a copy for yourself, but if not you will have gained some precious agility experience! If you're interested in a trial, please follow the instructions on my trials thread which can be found here. Gallery: Review (by Eduardino): Start up GUI (Graphical User Interface): Paint (optional, movable and self-generating): User screenshots: Testimonials:
    1 point
  8. View in store ($3,99 for lifetime access) Features: Supports every location you would ever want to cook (anywhere missing? request it!) Supports almost every food item cookable on a range or fire (anything missing? request it!) Smart Target-oriented back-end stops the script when you have accomplished your desired goal Option to move mouse outside screen while cooking to simulate human AFKing Where Make-All isn't available, A Gaussian distribution based suffixed string generation algorithm randomises entered Make-X values Utilises a combination of WebWalking and recorded paths to ensure the script never strays from it's job Simple, intuitive GUI which auto-detects your food and location based on your inventory and minimap position Stable cooking & banking algorithms, tuned individually for each food item and bank Clean, informative, Anti-aliased, un-obstructive and fully movable self-generating paint Movable on-canvas scrolling console logger Efficient script logic ensures an EXP-optimised experience Normally distributed response times to simulate a human's reflexes Stops & logs out when out of food, saving your progress to the console and web Dynamic signatures allow you to track your progress as you use the script Handles obstacles and doors between the bank and the range to ensure door spammers cannot hinder your gains CLI is supported for all hardcore chef needs ... and many more ... Supported food: This script only supports cooking these food items on ranges/fires, it will not combine ingredients to make items such as Tuna potatoes or Pineapple pizzas. Shrimp Anchovies Sardine Herring Mackerel Chicken Beef Bear meat Rabbit Rat meat Sinew from Bear meat Sinew from Beef Trout Salmon Cod Pike Bass Rainbow fish Tuna Lobster Swordfish Monkfish Shark Dark crab Sea turtle Manta ray Anglerfish Karambwan Poison Karambwan Bowl of Water Uncooked pizza Potato Seaweed Sweetcorn Stew (new!) Curry (new!) Just ask for a new food item to be added! Supported locations: Rogues den Lumbridge Kitchen (new!) Catherby Nardah Tzhaar City Al-Kharid Zanaris Neitiznot Varrock East Hosidius Kitchen Gnome Stronghold Varrock Cooks' Guild Port Khazard Edgeville Mor Ul Rek Myths' Guild (new!) Just ask for a new location to be added! Why choose APA Scripts? As an experienced veteran scripter here on OSBot, I strive to give you the best user experience that I can by providing frequent updates and fixes. With over 40 cumulative 5 star reviews on the store, as well as my Scripter III rank, you know you're in safe hands. Want something added? Don't like something? Have an awesome proggie to share? Let me know! Example GUI: Starting from CLI: Gallery: _________________________________________________________________________________________ Credits:
    1 point
  9. PPOSB - AIO Fisher 1-99 in a single click! Click here to purchase! * Now supports CLI See all updates here: https://pposb.org/forums/forumdisplay.php?fid=1 Features: * Simple to use GUI * Progressive leveling or selective leveling * Advanced algorithms for object detection as well as predictions * Choose pre-defined locations or create your own * Choose between banking or dropping (shift-dropping supported) * Progressive mode automatically detects safe areas based off aggressive NPC's * Automatic detection for the best equipment you can use, or define specific equipment to use * Pre-hovering next interaction * Custom mouse and interaction handling system * Advanced paint display * Fail-safe's to make sure your player does not get stuck * Supports tele-tabs and well as traveling on ships * World hopping supported * GUI automatically updates locations available for your desired resource * Infernal items supported with special attack features * Takes a screenshot and logs out if you receive a pet drop * And much more! Script Details: Example CLI arguments: Script IDs: Project AIO Fisher: 1066 -script 1066:bank=true#grandExchange=true#altchat=false If using mirror mode, please make sure you set your Reaction time to 50ms! (To do so, hold Shift and press F4 until the Reaction time reaches 50ms) ** To reduce the risk of your bot getting stuck, please disable rooftops in your settings **
    1 point
  10. Want to buy with OSGP? Contact me on Discord! Detailed feature list: - Banks at Ferox enclave - Teleports Salve graveyard (Teleport tab OR Runes) - Teleports Drakan's medallion (Slepe) - Supports multiple locations in the swamp & Slepe - Swaps location is location is already taken - Hop world to avoid players - Use Quick prayer option to block ghoul damage option - GE support to sell Mort myre and restock new supplies Custom Breakmanager: - Setup Bot and break times - Randomize your break times - Stop script on certain conditions (Stop on first break, Stop after X amount of minutes, Stop when skill level is reached) - Worldhopping - Crucial part to botting! Script queueing: - Support queueing multiple script in a row - All Khal scripts support flawless transitions in between scripts - Start creating your acc in a few clicks from scratch to multiple 99's - Flawless CLI support - Learn more here: How to use CLI parameters: - Example Usage: -script 1108:ScriptFile.BreakFile.DiscordFile SAVEFILE = Saved Filename BREAKFILE = Breakmanager Filename - SAVEFILE: Save file can be created in the GUI. Navigate to the tab you want to run and press "Save As CLI file". Please choose your filename wisely (No special characters) - BREAKFILE (Optional): Breakfile can also be create in the GUI, set the breaksettings you wish to use and press "Save new CLI BreakFile". Please choose your filename wisely (No special characters) - Final form (Note that with some bot managers you do not need to specify -script 1108): -script 1108:TaskList1.4515breaks (With breaks) -script 1108:TaskList1.4515breaks.discord1 (With breaks & discord) -script 1108:TaskList1..discord1 (NO breaks & discord)
    1 point
  11. Main Loop: https://pastebin.com/RmBV18RT Methods: https://pastebin.com/KU4HEHyA So this was my first script that I set out to make. I had no real idea what I was doing at first, but pouring through the information and guides on this site taught me a lot of stuff. So I welcome you to try out my first ever script. It's a combat script that kills giant frogs, heals when damaged, loots their big bones, and banks them in Lumbridge castle bank (Top Floor). I welcome suggestions and feedback as this was very much a learning experience and I think having a set of seasoned eyes on it could really help point out some rookie mistakes. Recommendations Already equip the gear you want to be using. The default food is Tuna, and it withdraws 10 at the bank each time (for people who have decent defense (20+) I recommend no food). Just be in a reasonable location to Lumbridge swamp when starting it. Hopes For Later Be able to loot more than just one drop (currently only loots big bones, would love to have it loot a selection of desired items). Be able to select from a series of monsters/locations (I have chickens and cows working, just not together with this script) Give it a nice little GUI and paint (currently it just does its thing). I realize that I have A LOT of methods in the Task class that either aren't used, or redundant, or just plain weird. This is from the fact that I was just learning what the hell I was doing and was trying a bunch of stuff out. I decided to keep the stuff I wasn't using around just incase it might come in handy later on down the road. So, let me know what you think, and feel free to use it/alter it as much as you want. KINGs_PERFECT_FROGS.jar
    1 point
  12. Hi everyone, So I made a Zulrah Ready Account for alts or botting. Everything is trained by HAND. I am the original owner, upon purchase the buyer WILL receive the original email that is attached to the account. If you are interested please comment or contact me on discord #mert0619 BANK IS ONLY SUPPLIED WITH UNTRADEABLES!!!! NO MEMBERSHIP 1. Pictures of the account stats. 2. Pictures of the total wealth (if there is any) UNTRADEABLES ONLY 3. Pictures of the quests completed 4. The price you will be starting bids at. 50M GP, but the price is negotiable. 5. The A/W (Auto-win) for your account. 70M GP 6. The methods of payment you are accepting. 07 GP ONLY 7. Your trading conditions. You first or use middleman. 8. Pictures of the account status 9. Original/previous owners AND Original Email Address I am the original owner, upon purchase the buyer WILL receive the original email that is attached to the account.
    1 point
  13. Yeah thanks I saw that after I replied. I had my folder structure off for sure. I don't get null error anymore so I think it found the image and I have JLabel issues to work out. Much appreciated!
    1 point
  14. Script getScriptResourceAsStream - This loads resources relative to the entry of the script Script getDataResourceAsStream - This loads resources relative to the entry of the OSBot data directory Here are two examples so you get an idea: Of course please ensure you are still following the existing SDN resources folder rules. https://osbot.org/forum/topic/140109-osbot-254-resource-loading/
    1 point
  15. Agility, Runecrafting and Hunter are the main skills you’ll be most likely to be caught and banned for. But as others have said f2p & money making is also highly detected. Doing hunter through birdhouses is a lot less risky than doing chins from my experience
    1 point
  16. I'll go on mirror and test it. I've been using it on regular mode and haven't had issues with looting. Regarding the loot list, yes thank you for pointing out those errors. @Malcolm will have to fix them in the thread as I can't edit the thread. Each item should have a ", " after it without "_" Good to hear man
    1 point
  17. Shouldn't die in the next version (V1.09), added some failsafes for that Yes it should teleport, but that was adde din V1.08, wich was not yet online I assume. But 1.09 will be online soon Sorry for the delay! Ya had a few reports of this, should be fixed in V1.09 Sorry for the delay! Script updated to V1.09: - Fixed walking instead of teleporting. Will be online in a few hours. Khaleesi
    1 point
  18. Bought this yesterday night, and ran a 3 hour session of slayer tasks at Vannaka! Everything went flawless, and I was even averaging 30-40k combat exp per hour... Amazing! Thanks for the amazing script.
    1 point
  19. Not sure what's happening but the bot was running perfectly last night and now all of a sudden it will teleport to the salve graveyard and then from there head towards Varrock for whatever reason. Status of the bot says it's running back to the portal. Account has full prayer, just got back from clan wars reset, so I'm not sure what could be causing this. Just thought I'd let you know though.
    1 point
  20. @Khaleesi My account died, ended up in lumbridge without the ring of dueling because I kept a fungus over the ring. Could walking to the lumby castle bank be added if that happens? The confusing part is I assume the script teles away if low on HP right? I still had charges on the ring so if it's meant to tele away I'm not sure why it didn't.
    1 point
  21. Khal... This script is perfect! Fishing minnows was going extremely smooth, no issues and I am currently 96 fishing Great script would recommend 10/10! also fast response times pretty good!
    1 point
  22. Script works pretty well, I have went from 40-77 prayer in no Time. Would recommend this one! Good luck all.
    1 point
  23. 1 point
  24. Left it running while I slept and it's still at it. The script is running great! This script was definitely worth the buy.
    1 point
  25. Probably like $500 if trusted. Like $1.25 with your rep
    1 point
  26. Still absolutely loving this, can't wait to see where development takes this interesting project.
    1 point
  27. currently ing for lifetime sponsor, anything other than this italic name
    1 point
  28. When I teleported back to the dessert The Feud picked up where it left off. So far it's working great
    1 point
  29. Awesome. I think I'm going to like this script just as much as your Stealth Quester script that I bought. Would it be possible I could get a trial and figure it out for the time being?
    1 point
  30. Great script! Definitely recommended ! Just don't run it for hours
    1 point
  31. Definitely recommend this script! I tested it out during the trial period for a total time of about 5 hours (unlocked bones 2 peaches) and it worked very well in all rooms. The GUI is very easy to use and straight forward. I had to babysit it a bit in the Telekinetic room, because it would occasionally just sit there and do nothing, but it is smart enough to exit the room and reset if it gets stuck. So my intervention was on the safe side. Get this script if you don't want to endure the pain of MTA! I'll definitely be using it on some alts to grind out some gear
    1 point
  32. I will try to get a recording for you today.
    1 point
  33. Just bought this and works like a charm. Can't wait to make some decent presets and work with this. Just curious, anything planned for the script atm?
    1 point
  34. Hello Khal! Just want to say, thank you for the trials and all the scripts are amazing! I recently bought BF, MLM, and Fisher(will be only doing barb fishing & probably minnows in the future) and I was wondering if it is recommended to use mirror mode for all the them? Thank you so much again and keep up the great work!
    1 point
  35. Hi @Czar okay cool, thank you very much for answering and taking this serious. 1. The mid-route door handler may be operating slowly and causing it to delay the pathinfinding. : Yes this will definitely work. And do you prefer using the Mid-route door handler or not? (I'm not running a farm and Ihave enough cpu/mem.) 2. Also I will make the script run to portals quicker and not wait for one to generate while sitting in the boat. It should ideally at least walk to the centre -> then to first portal, or do you want it to walk to any portal first, until the first portal opens? : First fight in center yes, and when first portal opens let it walk to it. I prefer killing portal mode for myself. 3. Please confirm how you want the script to operate, and I will post an update. Thanks for feedback : Let see how the script works when this is fixed. I don't know if this is just a mirror mode issue, but i would like to see a faster reaction time overall the game. Looking forward to it and hope to hear from you soon. Thanks!
    1 point
  36. Dragon Slayer seems to be working with a regular staff. The Feud I will let you know later as I have to get to work
    1 point
  37. I've botted nothing but combat stats but that somehow still got my accounts banned. Botted for 4 to 5 hours every 2 days.
    1 point
  38. 1 point
  39. Will add a new update to disable camera movement for pickpocketing, should work smoother.
    1 point
  40. Try to add some defeat layouts, like best for pvm tab/pk/skill etc, then add an auto buyer much like a lot of questing scripts so if someone wants a loudout exactly like the pic; they can just have gp in bank the band itll buy everything and org it for them. Would make it very attractive if possible, plus combo of different tab layouts for sure.
    1 point
  41. About: This is a Java Class + PHP & MySQL website I wrote in order to save user data to your database for tracking purposes. I'll explain the files first, then you may view them below the explanation. Also, included at the very end is an example SQL file required to complete this project. Usage (OSB Script): First, in order to call the Class, you need to use the code below. I use it in the onExit function log("Saving your runtime data."); String updateUser = SaveUserData.saveUserDataMethod(accessKey, authToken, scriptName, username, startTime, String.valueOf(xpGained), String.valueOf(levelsGained), String.valueOf(fishCaught), String.valueOf(profit)); if (updateUser.equals("success")) { log("We have successfully updated your account statistics online."); } else { log(updateUser); } SaveUserData Class Call Function: I tried converting the values of the String.valueOf variables in the class itself, or ignoring it, but it was failing to execute properly. In any case, you must send the following 4 variables at a minimum in order to know where to send the statistic data. Other than that, the calling script here checks the response of the website to let the user know, via the log, if their data has been saved or not. This is called in my onExit function. Required Data: accessKey A randomly generated and encrypted key used to validate the script (mostly used just to prevent the PHP page from being access from a browser). This is generally a key that you could use for all your scripts. This is a global variable. authToken A randomly generated and encrypted key used to validate the script (mostly used just to prevent the PHP page from being access from a browser). This is a unique authentication token for each script. This is a global variable. scriptName This is the name of your script that will be saved in the database. NOTE: I used this variable in the URL of my Java class, so if you intend of doing that as well, make sure that it is the same value for the actual URL. This is a global variable. username This is the user's account name which will be the unique identified that is used to save the data. This is set in the onStart function. Statistical Data: startTime This is used to calculate the runtime of the script. This is set in the onStart function. xpGained Can be coded in however you like, but it should be a global variable. This is updated in my onPaint function. levelsGained Can be coded in however you like, but it should be a global variable. This is updated in my onPaint function. fishCaught Can be coded in however you like, but it should be a global variable. This is updated in my onPaint function. profit Can be coded in however you like, but it should be a global variable. This is updated in the onMessage function, since this came from a fishing script. SaveUserDataMethod (Java Class): As I previously mentioned, the variable scriptName is utilized in my URL as a means of shortening the amount of things I must change between scripts (since I've only just started scripting and plan on making more). Keep that in mind if you decide to utilize it, and when you're making your file tree if you do. The website returns a JSON response in the format below. Instead of handling the data with a JSON parser, since I know the data has two defined results, I parse it as a regular string instead. I then return to the main function either a value of success or the error message. On Success: success true On Failure: success false message Message based on the event that caused the failure. index.php (PHP File): This file includes the config, database, and encryption files. I have provided these with the exception of the encryption file. You may encrypt your data however you'd like. The file returns a JSON result as described in the SaveUserDataMethod above. Please note that the database file MUST be included after the config file. See the database.php section below. File Handling: The file first checks to insure the accessKey, authToken, scriptName, username, and other required variables are available to read before continuing. After that, we set up our local variables. We then check to make sure the accessKey and authToken sent match the ones defined in the config. Again, I use my own encryption class. You may use your own class to encrypt and decrypt this data. The accessKey validation is setup like this: $encryption->decrypt256Bit($_REQUEST["accessKey"] == $encryption->decrypt256Bit($scriptAccessKey[$scriptName]) NOTE: $scriptAccessKey[$scriptName] scriptAccessKey is an array defined in the config, and its value is grabbed by using the scriptName as the key. The authToken validation is setup like this: $encryption->decrypt256Bit($_REQUEST["accessKey"] == $encryption->decrypt256Bit($scriptAccessKey[$scriptName]) NOTE: $scriptAuthToken[$scriptName] scriptAuthToken is an array defined in the config, and its value is grabbed by using the scriptName as the key. We then just check to make sure the scriptName is the correct one for the data trying to be saved. Again, this is more for preventing users from access the page outside of the client. We then initiate the database class. See below for usage. We then check to see if the user already has data saved under the specified username for the specified script. Required variables scriptName username If the query executes, then we perform another check: Is there one row or two? The query will generally always execute, unless you have a database error, but I always check to insure it executes before I continue. If there is already a user, then we update their information. If the user does not exist, then we insert their information. Both update and insert utilize the same variables. Required variables username Statistical Variables runtime xpGained levelsGained profit If the insert or update query is successful, then we update another table which is used for tracking all of the skill experience gained and levels gained. This is not required, and if you intend on not using this, you should remove the following code: $db->beginTransaction(); $db->endTransaction(); $db->cancelTransaction(); Those lines are not required in updating 1 table, however, if updating multiple tables, like I am, they should be used. Why are they used? Say you have 5 queries that need to be executed, and they're all tied to each other in terms of information. If one of the queries fails, you don't want the other 4 to execute. Well, these functions allow us to roll back the data in a previously executed query should one of the queries fail. Finally, if the second table update is complete, we change the commit variable to true. Commit variable states true We end the database transaction which completes the update. false We cancel the database transaction which un-does any queries that executed successfully. We then return any error message that indicates a failure to update the user's information. The returnArray is then displayed on the page for the SaveUserDataMethod functionto process. database.php (PHP Class File): This file is a class which I utilize in projects to make process database queries much easier. Be it noted that the config file MUST be included before this one in the main PHP handling file because this file sets global variables that are defined in the config file. I'm not going to go into too much detail with this file; you can read up about PHP and PDO methods online if you wish. However, I will make one thing clear. Variable Names: host This is defined as DB_HOST which is defined in the config file. dbhname This is defined as DB_NAME which is defined in the config file. user This is defined as DB_USERNAME which is defined in the config file. pass This is defined as DB_PASSWORD which is defined in the config file. config.php (PHP File): This file is a configuration file I utilize to set up constant and global values. Typically used for things such as the database setup, among other things. Variable Names: DB_HOST This is the hostname used to access your SQL database, typically MySQL if using a website. DB_NAME This is the database name you're trying to connect to which stores the tables for the data to be saved in. DB_USERNAME This is the username that has access rights to DB_NAME. DB_PASSWORD This is the password for DB_USERNAME on DB_NAME. availableScripts This is utilized in my online users function used in my scripts, but it can be used for other purposes as well. It declares the script names available. scriptAccessKey This is an array that holds a key value pair of the access keys authorized. Format as follows: Key The script name Value A randomly generated, encrypted, key utilized to authorize access to the PHP file (index.php in this case). This must match with the value sent from the OSB client. scriptAuthToken This is an array that holds a key value pair of the authorization tokens authorized. Format as follows: Key The script name Value A randomly generated, encrypted, key utilized to authorize access to the PHP file (index.php in this case). This must match with the value sent from the OSB client. Java Class import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; class SaveUserData { public static String saveUserDataMethod(String accessKey, String authToken, String scriptName, String username, long startTime, String xpGained, String levelsGained, String fishCaught, String profit) { String returnedValue = "Saving your data failed. Unknown reason."; try { // open a connection to the site StringBuilder sb = new StringBuilder("https://www.mmaengineer.com/app/osb/" + scriptName + "/index.php?accessKey="); sb.append(accessKey); sb.append("&authToken=" + authToken); sb.append("&scriptName=" + scriptName); sb.append("&username=" + username); sb.append("&runtime=" + (System.currentTimeMillis() - startTime)); sb.append("&xpGained=" + xpGained); sb.append("&levelsGained=" + levelsGained); sb.append("&fishCaught=" + fishCaught); sb.append("&profit=" + profit); InputStream inputStream = new URL(sb.toString()).openStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String line; String newString = null; while ((line = bufferedReader.readLine()) != null) { if (line.contains("{")) { sb = new StringBuilder(line); //Remove { and } sb.deleteCharAt(0); newString = sb.substring(0, sb.length()-1); } } newString = newString.replace("\"", ""); if (newString.equals("success:true")) { returnedValue = "success"; } else { String[] returned = newString.split("message:"); returnedValue = returned[1]; } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return returnedValue; } } index.php <?php require_once "../config.php"; require_once "../database.php"; require_once "../encryption.php"; $encryption = new encryption(); $returnArray["success"] = false; if (isset($_REQUEST["accessKey"], $_REQUEST["authToken"], $_REQUEST["scriptName"], $_REQUEST["username"], $_REQUEST["runtime"], $_REQUEST["xpGained"], $_REQUEST["levelsGained"], $_REQUEST["fishCaught"], $_REQUEST["profit"])) { $scriptName = $_REQUEST["scriptName"]; $username = $_REQUEST["username"]; $runtime = ($_REQUEST["runtime"] / 1000); $xpGained = $_REQUEST["xpGained"]; $levelsGained = $_REQUEST["levelsGained"]; $fishCaught = $_REQUEST["fishCaught"]; $profit = $_REQUEST["profit"]; if (($encryption->decrypt256Bit($_REQUEST["accessKey"]) == $encryption->decrypt256Bit($scriptAccessKey[$scriptName])) && ($encryption->decrypt256Bit($_REQUEST["authToken"]) == $encryption->decrypt256Bit($scriptAuthToken[$scriptName]))) { if ($scriptName == "engineerFishing") { $db = new database(); $commit = false; $db->query("SELECT `id` FROM `engineerFishing` WHERE `username` = :username"); $db->bind(":username", $username); if ($db->execute()) { $rows = $db->rowCount(); $db->beginTransaction(); if ($rows == 1) { $db->query("UPDATE `engineerFishing` SET `runtime` = runtime+:runtime, `xp_gained` = xp_gained+:xp_gained, `levels_gained` = levels_gained+:levels_gained, `fish_caught` = fish_caught+:fish_caught, `profit` = profit+:profit WHERE `username` = :username"); } else { $db->query("INSERT INTO `engineerFishing` (`id`, `username`, `runtime`, `xp_gained`, `levels_gained`, `fish_caught`, `profit`) VALUES(0, :username, :runtime, :xp_gained, :levels_gained, :fish_caught, :profit)"); } $db->bind(":username", $username); $db->bind(":runtime", $runtime); $db->bind(":xp_gained", $xpGained); $db->bind(":levels_gained", $levelsGained); $db->bind(":fish_caught", $fishCaught); $db->bind(":profit", $profit); if ($db->execute()) { $db->query("UPDATE `skills` SET `fishing_xp` = fishing_xp+:fishing_xp, `fishing_levels` = fishing_levels+:fishing_levels WHERE `id` = 1"); $db->bind(":fishing_xp", $xpGained); $db->bind(":fishing_levels", $levelsGained); if ($db->execute()) { $commit = true; } } if ($commit) { $returnArray["success"] = true; $db->endTransaction(); } else { $returnArray["message"] = "Failed to save your data for the Engineer Fishing script."; $db->cancelTransaction(); } } else { $returnArray["message"] = "Failed to access our database to save your data for the Engineer Fishing script."; } } else { $returnArray["message"] = "The script you are trying to save your data to does not match our database."; } } else { $returnArray["message"] = "Bad access key or authorization token for utilizing the online users function."; } } else { $returnArray["access"] = "We did not receive all of the parameters to save your data for the Engineer Fishing script."; } echo json_encode($returnArray); ?> database.php <?php if (count(get_included_files()) <= 1) { exit; } class database { private $host = DB_HOST; private $dbhname = DB_NAME; private $user = DB_USERNAME; private $pass = DB_PASSWORD; private $dbh; private $stmt; private $error; public function __construct() { // Set Connection $con = 'mysql:host=' . $this->host . ';dbname=' . $this->dbhname; // Set options // If you want to display errors, use the following values // true // ERRMODE_EXCEPTION $options = array( PDO::ATTR_PERSISTENT => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_SILENT ); // Create a new PDO instanace try { $this->dbh = new PDO($con, $this->user, $this->pass, $options); } catch(PDOException $e) { $this->error = $e->getMessage(); } } public function query($query) { $this->stmt = $this->dbh->prepare($query); } public function bind($param, $value, $type = null) { if (is_null($type)) { switch (true) { case is_int($value): $type = PDO::PARAM_INT; break; case is_bool($value): $type = PDO::PARAM_BOOL; break; case is_null($value): $type = PDO::PARAM_NULL; break; default: $type = PDO::PARAM_STR; } } $this->stmt->bindValue($param, $value, $type); } public function execute() { return $this->stmt->execute(); } public function resultSet() { $this->execute(); return $this->stmt->fetchAll(PDO::FETCH_ASSOC); } public function single() { $this->execute(); return $this->stmt->fetch(PDO::FETCH_ASSOC); } public function rowCount() { return $this->stmt->rowCount(); } public function lastInsertId() { return $this->dbh->lastInsertId(); } public function beginTransaction() { return $this->dbh->beginTransaction(); } public function endTransaction() { return $this->dbh->commit(); } public function cancelTransaction() { return $this->dbh->rollBack(); } public function debugDumpParams() { return $this->stmt->debugDumpParams(); } } ?> config.php <?php define("DB_HOST", "localhost"); define("DB_NAME", "databaseName"); define("DB_USERNAME", "databaseUsername"); define("DB_PASSWORD", "databasePassword"); $availableScripts = array( 1 => "testPlatform", 2 => "engineerFishing", 3 => "engineerPickpocket" ); $scriptAccessKey = array( "testPlatform" => "scriptAccessKey", "engineerFishing" => "scriptAccessKey", "engineerPickpocket" => "scriptAccessKey" ); $scriptAuthToken = array( "testPlatform" => "scriptAuthToken", "engineerFishing" => "scriptAuthToken", "engineerPickpocket" => "scriptAuthToken" ); ?> engineerFishing.sql -- -- Table structure for table `engineerFishing` -- CREATE TABLE `engineerFishing` ( `id` int(8) NOT NULL, `username` varchar(100) NOT NULL, `runtime` bigint(35) NOT NULL, `xp_gained` bigint(35) NOT NULL, `levels_gained` int(8) NOT NULL, `fish_caught` int(8) NOT NULL, `profit` bigint(35) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Indexes for dumped tables -- -- -- Indexes for table `engineerFishing` -- ALTER TABLE `engineerFishing` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `username` (`username`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `engineerFishing` -- ALTER TABLE `engineerFishing` MODIFY `id` int(8) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1; skills.sql -- -- Table structure for table `skills` -- CREATE TABLE `skills` ( `id` int(8) NOT NULL, `agility_xp` bigint(35) NOT NULL, `agility_levels` int(8) NOT NULL, `attack_xp` bigint(35) NOT NULL, `attack_levels` int(8) NOT NULL, `construction_xp` bigint(35) NOT NULL, `construction_levels` int(8) NOT NULL, `cooking_xp` bigint(35) NOT NULL, `cooking_levels` int(8) NOT NULL, `crafting_xp` bigint(35) NOT NULL, `crafting_levels` int(8) NOT NULL, `defense_xp` bigint(35) NOT NULL, `defense_levels` int(8) NOT NULL, `farming_xp` bigint(35) NOT NULL, `farming_levels` int(8) NOT NULL, `firemaking_xp` bigint(35) NOT NULL, `firemaking_levels` int(8) NOT NULL, `fishing_xp` bigint(35) NOT NULL, `fishing_levels` int(8) NOT NULL, `fletching_xp` bigint(35) NOT NULL, `fletching_levels` int(8) NOT NULL, `herblore_xp` bigint(35) NOT NULL, `herblore_levels` int(8) NOT NULL, `hitpoints_xp` bigint(35) NOT NULL, `hitpoints_levels` int(8) NOT NULL, `hunter_xp` bigint(35) NOT NULL, `hunter_levels` int(8) NOT NULL, `magic_xp` bigint(35) NOT NULL, `magic_levels` int(8) NOT NULL, `mining_xp` bigint(35) NOT NULL, `mining_levels` int(8) NOT NULL, `prayer_xp` bigint(35) NOT NULL, `prayer_levels` int(8) NOT NULL, `ranged_xp` bigint(35) NOT NULL, `ranged_levels` int(8) NOT NULL, `slayer_xp` bigint(35) NOT NULL, `slayer_levels` int(8) NOT NULL, `smithing_xp` bigint(35) NOT NULL, `smithing_levels` int(8) NOT NULL, `strength_xp` bigint(35) NOT NULL, `strength_levels` int(8) NOT NULL, `thieving_xp` bigint(35) NOT NULL, `thieving_levels` int(8) NOT NULL, `woodcutting_xp` bigint(35) NOT NULL, `woodcutting_levels` int(8) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Indexes for dumped tables -- -- -- Indexes for table `skills` -- ALTER TABLE `skills` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `skills` -- ALTER TABLE `skills` MODIFY `id` int(8) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
    1 point
  42. Welcome, I have listed below all of the forum ranks and what they stand for so you can navigate your way around the forums successfully and this should help you understand who you need to contact if you need a script made or need help with a payment ect. Developer Responsible for various aspects in developing the bot and services. Each developer has a specialty that ranges from developing the client, to working on the server, fixing bugs, features such as web walking and mirror-mode, etc. Developers have elevated permissions, however much of the administration is left to the Community Administrator. Current Development Team: @Maxi @MGI @Zach @Patrick Administrator Just like moderator they keep the forums clean and safe, however administrators also have an extended amount of power. They not only manage forum issues such as refunds, promotions and fixing forum issues, but also the website, advertising, and all other projects. Current Administrator: @Maldesto Super Moderator Super Moderators have the same responsibilities as a Global Moderator, just with a few added Administrator responsibilities. They are responsible for dealing with user issues, payment issues and moderating areas of the forums which require a lot of attention. They have the power to edit users ranks, bans and even change a users password. They make sure that the Global and other ranks are doing their job, and that forum issues are taking care of promptly. There will only ever be a maximum of 3 Super mods. Currently on the Super Moderator Team: @Gunman Global Moderator Global Moderators manage the general forums. They have access to a unique Moderator Control Panel that gives them the ability to edit, ban and research a user. They are experts on the rules and are the ones that keep the forum clean. They are expected to handle reports, move and lock topics, as well as warn members for inappropriate or rule breaking behavior. They are also to assist with bot issues when possible. Currently on the Global Moderator Team: @Mio Trial Moderator Trial Moderators manage the general forums much like Forum Moderators. They are starting moderators who are being tested to see their output and effort before receiving higher ranks. They manage the same things Forum Moderators manage, they're just less experienced and , as the rank says, a "trial" to see how they handle the position. The current Trial Moderator Team is: Ex-Staff The Ex-Staff rank is for respected Staff members that served OSBot considerably. They left respectfully, or without causing direct harm to OSBot. They have also served as Global/Super/Forum Mod or Administrator. No other ranks will receive the Ex-Staff Pip. @Oliver @Nick @Arctic @Khaleesi @Raflesia @Master Chief @Mikasa @Smart @Asuna @Solution @Eliot @ProjectPact @Alek @Dex @Decode @Chris @Night @Lost Panda @Malcolm @Muffins @Space Veteran These are members of OSBot who have been here from the beginning and have respectfully been active and helped the growth of OSBot. Pm @Maldesto if you meet the requirements. Registration Date: Jan 1st, 2016 cut off date. Post Count: 500 or above. Activity/Contribution: Judged by staff team. Sponsor Sponsor is a highly exclusive rank that can be purchased from the store for $55.99 per 6 months. This works out at $9.33 per month which is cheaper than VIP ($9.99) the only catch is that you must pay the $55.99 upfront for the 6 month subscription. The features are listed below: - Unlimited botting tabs - No advertisements on the bot client and website! - 6 month rank (Larger amounts will result in longer time)! - 15% discount on all premium scripts - Changeable user title - Special private forum - Unlimited private messages, files sizes and display name changes -Sexy blue glowing name - More to come in future! Lifetime Sponsor - All the benefits of the Sponsor rank. - Lasts for as long as the existence of this forum! $100 / $250 / $500 Donor Donor is a highly exclusive rank that can be obtained by donating $100, $250, or 500$ to OSBot through the donation page. To donate, click here. - Sexy PiP -Sexy Glow V.I.P VIP can also be purchased from the store for $9.99/month. This status gives you many perks which are essential to goldfarmers and hardcore botters! I have also listed the features below: - Use unlimited bot tabs! - No advertisements on the website and bot client! - 10% discount on all premium script purchases! - Unique purple username to get recognized! - A special private forum! -Sexy purple name - One free display name change per month! Scripter Ranks Scripter I Rank Entry-level rank and assigned to scripters upon the release of their first script. Benefits include client VIP privileges. Must maintain an active script on the SDN. Scripter II Rank Scripter I members may apply for this rank provided they have at least one month on the forums. The Scripter II application consists of a Java & OSBot API test. Benefits include VIP client privileges and the ability to release premium scripts. Must maintain an active script on the SDN. Scripter III Rank Scripter III members represent OSBot's scripting elite. Scripter II members may apply for this rank provided they have at least three months on the forums and 3 active scripts on the SDN. In order to be promoted to this rank, a scripter will require very deep understanding of the OSBot API, programming in general, as well as having valuable novel contributions to our SDN. Benefits include VIP client privileges, ability to release premium script, and the opportunity to work in special duties such as Script Officer. Script Officer Rank Script Officers are responsible for managing various facets of the scripting community including administering tests, checking script/scripter activity, and running the SDN. Script Officers that manage the SDN have elevated privileges. Current Script Officer: @Token Designer This is given to the users that help our artists in the Graphics Section grow. They post tutorials, help other users, and display their own graphics for all to see. They have a good amount of experience with graphics and love what they do. SOTW Winner Win a week of SOTW and get this as the prize! The users with this rank have been able to create a tag/signature that was better than the rest, voted on by you, the members. Verified Ranks If you have a negative feedback, you will not be eligible for verified ranks! Verified ranks are given to those active and trusted within the market place. The requirements for each are listed below: Verified MiddleMan Rank You cannot have an open or solved dispute against you with the ruling that you have scammed. You must have at least 250 positive feedback. You must have completed 100 transactions as a middleman. You must have unique feedback to prove your transactions took place. (Multiple feedbacks from a single member will not count towards your completed transactions). Currently hold a rank of VIP/Sponsor/$100.00 Donor. Verified Services Rank Currently hold a rank of VIP/Sponsor/$100.00 Donor. Have a minimum of 400 posts. Hold at least 150 positive feedback within your service with no open dispute of a ruled scamming or negative feedback that rightfully states you've scammed. (This does not include "late services" etc.) Hold an active thread with at least 75 feedback for the service(s) stated within. Verified Transactor Rank Currently hold a rank of VIP/Sponsor/$100.00 Donor. Hold at least 150 positive feedback with no open dispute of a ruled scamming or negative feedback that rightfully states you've scammed. Hold an active rsgp/osgp selling/buying thread that has produced at least 75 unique, positive feedback. (Multiple feedbacks from a single member will not count towards this). If you meet the requirements to any of these ranks you may send a Super Mod or Admin a private message directly. If granted, you will receive one of these beautiful userbars.
    1 point
×
×
  • Create New...