Jump to content

wavh

Members
  • Posts

    20
  • Joined

  • Last visited

  • Feedback

    100%

Posts posted by wavh

  1. For how long have you been doing this?

     

    I have also seen some changes for the past 2 weeks but it goes up and down and has been doing so for the past 4 months. What I did was to use a new batch of proxies and seems to working better again.

    I think it is a combination of a and c.

    Script, proxies and also accounts (if you are muling) are being monitored more carefully. Change some patterns (as in script but also proxies) and you should be fine.

  2. Thank you guys! Extra tack till dig,  Jammer ?

    @Slicer Yes I've been working on this project for a couple of weeks. Thank you!

    8 minutes ago, Slicer said:

    made this all yourself? very impressive.

     

    58 minutes ago, Jammer said:

    Very impressive, I've been thinking of making an attempt at a gold farm myself and this was inspiring.

    Lycka till!

     

    1 hour ago, ConCon_ said:

    Welcome back - That looks amazing - I need something like that 

     

    1 hour ago, TRX said:

    gl

     

    1 hour ago, JonCe said:

    woa cool:) gl make that moonnnyy

     

    2 hours ago, kazemaru said:

    what bot is camtasia? looks nice

    jk welcome back and make those $$ :D

     

  3. Hi! It is time to give goldfarming another shot. Kind of ran out of freetime last I tried.

    Decided to implement database support this time so I that I am able to control the whole farm by a dashboard and also automate as much as possible .

     

    I will keep this thread updated with progress logs etc etc.

    Made a small video where I show how the dashboard works. 

    I have not put any effort in the design as you can see, might do that later. 

    If you have any questions or ideas, feel free to comment. 

     

     

    • Like 4
  4. 1 hour ago, z10n said:

    Looks good mang, keep it up =-)!

     

    1 hour ago, Jack Sparrow said:

    Good luck my friend

     

    27 minutes ago, Antonio Kala said:

    Gl

    Thank you guys!

    1 hour ago, John Cena said:

    Looking good, a welcome change to the standard posts.

    Thank you, appreciate it!

    14 minutes ago, D Bolter said:

    nice man goodluck.

    incase you need proxies, hit me up ?

     

    Will do!

  5. Hello guys,

    I have decided to start goldfarming again as a fun project. Since the release of OSRS I have been running small farms doing simple tasks but now I decided to take it one step further.

    This time I am going to make a custom script which will hopefully decrease the banrates and also allow more automatisation thus making the whole process easier.

    The concept is quite simple, it is an AIO script that will try to mimic a human as much as possible. That includes switching tasks, taking breaks etc.

    I will not be suicide botting, instead focusing on making each account survive as long as possible. My goal is to have the farm running Barrows and Zulrah in the end.

    As of now, I am running the bots on my main computer since the script is still in a very early stage of development. In the future, I will be using a dedicated server combined with proxies.

    The accounts will be 100% botted, except for tutorial island and eventual quests.

     

    Journal

    Day 1

    Spoiler

    Implementations done today:

    1. Created assignment: woodcutting 
    2. Added to AIO: findAppropriateTask - choose which skill that shall be trained, assignment, amount of experience to gain

     

    Accounts

    Spoiler

    Account 1: Survived my last goldfarm project. 100% botted with another custom script that I made - 5d2909617d6ec67c474154fceef32154.png.cc8e7b49c7ec9dfe41309c793ec8c70f.png

    Account 2: Two days old account currently testing out woodcutting assignment -                              6a4ff0670940b5cd94fff7da801b07b0.png.1c4ad4e28f8f6d812631c7910cb92aaa.png

     

     

    Current Stage of the Script

    Spoiler

    Assignments

    Spoiler

    Melee

    1. Seagull
    2. Chaos druid

    Woodcutting

    1. Normal
    2. Oak
    3. Willow

    AIO

    Spoiler
    • Get new Task(skill, assignment, goalExperience)
    1. Decides which skill that will be trained (As of now, 70% combat and 30% skilling)
    2. Finds an appropriate assignment related to the skill
    3. Decides how much experience that shall be gained before task is done
    • Required items
      • Depending on assignment - make sure that the required items are either in inventory or equipment
    • Make sure best suitable assignment is always choosen
      • For instance, if player reaches required level for a better assignment - change assignment

     

     

     

    Future

    Future assignments to be added:

    Spoiler
    1. Melee
      1. Blue Dragons
    2. Agility
    3. Mining
    4. Magic
      1. Enchanting
    5. Crafting
    6. Fletching
    7. Cooking
    8. Range
    9. Prayer
    10. Perhaps quests? Might use services from people on OSBot for that.
    11. Barrows
    12. Zulrah

    Future AIO to be added

    Spoiler
    1. Grand Exchange Support
    2. Mule Support
    3. Breaks
    4. Hopping worlds when crowded

     

     

     

    These pictures are not supposed to be shown here, some issue with the post editor. Sorry :)

    5d2909617d6ec67c474154fceef32154.png

    5d2909617d6ec67c474154fceef32154.png

    • Like 3
  6. Hello! Earlier this week I got into scripting and tried to make a runecrafting bot, it was unsucessful and i ragequitted for some days. I got back today and decided to create a clay miner. I have been spending the whole night trying to get it work. Its in a critical stage which means that it probably contains alot of bugs. Therefor i'll be releasing it and let you guys test it.

     

    Please post below if you are gonna try it, and please post below if you find any bug. Explain the bug and i will fix it.

     

    Add my skype : william.holmb if you want to be a beta tester for future scripts.

     

    Dont mind the paint, will remove if you think its annoying. Was just playing around with photoshop haha!

    post-1828-0-21507500-1388186228_thumb.png

     

    For download.
     
     
     
    Code:
    package Miner;
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.Image;
    import java.io.IOException;
    import java.net.URL;
    
    import javax.imageio.ImageIO;
    
    import org.osbot.script.Script;
    import org.osbot.script.ScriptManifest;
    import org.osbot.script.rs2.map.Position;
    import org.osbot.script.rs2.model.RS2Object;
    import org.osbot.script.rs2.skill.Skill;
    import org.osbot.script.rs2.ui.Bank;
    import org.osbot.script.rs2.utility.Area;
    
    
    @ScriptManifest(author = "Wavh", info = "Mines dem clays for you![BETA STAGE]", name = "ClayMiner", version = 0.1)
    public class Clay extends Script{
    	static Timer runTime = new Timer(0);
    	public Position bankPos = new Position(2613,3094,0);
    	public Area mineArea = new Area(2633,3140,2627,3146);
    	Position minePos = new Position(2628,3145,0);
    	
    	
    
    	int clayRock = 11728;
    	int claysmined = 0;
    	int clay = 434;
    	int startXp;
    	String status = "Starting!";
    	public void onStart() {
    		startXp = client.getSkills().getExperience(Skill.MINING);
    		runTime = new Timer(0);
    	}
    	public long lastRun = 0;
    	public Position lastClick = null;
    	public int randomDistance = 0;
    	 
    	public boolean walkToLocation(Position p) throws InterruptedException {
    	int maxY;
    	int maxX;
    	boolean revY = false;
    	boolean revX = false;
    	Position playerPosition = myPlayer().getPosition();
    	if(playerPosition.getX() < p.getX()) {
    	revX = true;
    	int distance = p.getX()-playerPosition.getX();
    	if(distance > 17) {
    	maxX = 17;
    	} else {
    	maxX = distance;
    	}
    	} else {
    	int distance = playerPosition.getX()-p.getX();
    	if(distance > 17) {
    	maxX = 17;
    	} else {
    	maxX = distance;
    	}
    	}
    	if(playerPosition.getY() < p.getY()) {
    	revY = true;
    	int distance = p.getY()-playerPosition.getY();
    	if(distance > 17) {
    	maxY = 17;
    	} else {
    	maxY = distance;
    	}
    	} else {
    	int distance = playerPosition.getY()-p.getY();
    	if(distance > 17) {
    	maxY = 17;
    	} else {
    	maxY = distance;
    	}
    	}
    	int addX = (int) (10+(Math.random()*(maxX-10)));
    	int addY = (int) (10+(Math.random()*(maxY-10)));
    	if(maxX < 10) {
    	addX = maxX;
    	}
    	if(maxY < 10) {
    	addY = maxY;
    	}
    	if(!revX) {
    	addX = addX*-1;
    	}
    	if(!revY) {
    	addY = addY*-1;
    	}
    	if(lastClick == null) {
    	if(walk(new Position(playerPosition.getX()+addX, playerPosition.getY()+addY, playerPosition.getZ()))) {
    	lastClick = new Position(playerPosition.getX()+addX, playerPosition.getY()+addY, playerPosition.getZ());
    	randomDistance = (int) (3+(Math.random() * 3));
    	}
    	} else {
    	if(lastClick.distance(myPlayer().getPosition()) < randomDistance) {
    	if(walk(new Position(playerPosition.getX()+addX, playerPosition.getY()+addY, playerPosition.getZ()))) {
    	lastClick = new Position(playerPosition.getX()+addX, playerPosition.getY()+addY, playerPosition.getZ());
    	randomDistance = (int) (3+(Math.random() * 3));
    	}
    	}
    	}
    	if(lastClick.distance(p) < 5) {
    	lastClick = null;
    	return true;
    	}
    	return false;
    	}
    	
    	public enum State {
    		WALK_TO_BANK, WALK_TO_MINE,MINE,BANK
    	}
    	
    	public State getState() {
    		if(client.getInventory().isFull() && !client.getMyPlayer().getPosition().equals(bankPos)) {
    			return State.WALK_TO_BANK;
    		}
    		if(client.getInventory().isFull() && client.getMyPlayer().getPosition().equals(bankPos)) {
    			return State.BANK;
    		}
    		if(!client.getInventory().isFull() && !mineArea.contains(client.getMyPlayer())) {
    			return State.WALK_TO_MINE;
    			
    		}
    		if(!client.getInventory().isFull() && mineArea.contains(client.getMyPlayer())) {
    			return State.MINE;
    		}
    		return null;
    		
    	}
    	
    	public int onLoop() throws InterruptedException  {
    	
    		switch(getState()) {
    		case WALK_TO_BANK:
    			status = "Walking to bank!";
    			walkToBank();
    			break;
    		case WALK_TO_MINE:
    			status = "Walking to mine!";
    			walkToMine();
    		case MINE:
    			status = "Mining!";
    			mine();
    		break;
    		case BANK:
    			status = "Banking!";
    			bank();
    		}
    	
    		
    			
    		
    		return 80;
    	
    		
    	}
    	
    	
    
    
    	
    
    
    	private void walkToMine() throws InterruptedException {
    		walkToLocation(minePos);
    		
    	}
    
    	private void walkToBank() throws InterruptedException {
    		walkToLocation(bankPos);
    		
    	}
    
    	private void bank() throws InterruptedException {
    		Bank bank = client.getBank();
    		RS2Object booth = closestObjectForName("Bank booth");
    		if(!bank.isOpen()) {
    			if(booth != null) {
    				booth.interact("Bank");
    			}
    		}
    		if(bank.isOpen()) {
    			bank.depositAll();
    			sleep(500);
    			bank.close();
    		}
    		
    	}
    
    
    
    
    	private void mine() throws InterruptedException {
    		RS2Object clayRocks = closestObject(clayRock);
    		if(mineArea.contains(client.getMyPlayer())) {
    			if(!client.getInventory().isFull()) {
    				if(!client.getMyPlayer().isAnimating()){
    				if(clayRocks != null) {
    					client.moveCameraToEntity(clayRocks);
    					clayRocks.interact("Mine");
    					if(clayRocks.interact("Mine")) {
    						sleep(random(700, 1400));
    						}
    					
    				}
    				
    			  }
    				
    			}
    		}else {
    			walkToLocation(minePos);
    		}
    		
    	}
    	
    	public void onMessage(String message){
    		if(message.contains("You manage to mine some clay")) {
    			claysmined++;
    		}
    	}
    
    
    
        private Image getImage(String url) {
            try {
                return ImageIO.read(new URL(url));
            } catch(IOException e) {
                return null;
            }
        }
    
        private final Color color1 = new Color(132, 214, 255);
    
        private final Font font1 = new Font("GulimChe", 0, 13);
    
        private final Image img1 = getImage("http://gyazo.com/09735524a20461076ee4c206a1e8c6a3.png");
    
        
        public void onPaint(Graphics g1) {
        	int atmXp = client.getSkills().getExperience(Skill.MINING);
        	int xpGained = atmXp - startXp;
        	
        	
            Graphics2D g = (Graphics2D)g1;
            g.drawImage(img1, -5, 338, null);
            g.setFont(font1);
            g.setColor(color1);
            g.drawString("Experience gained: " + xpGained + " (" + getPerHour(xpGained)+ "/h)", 277, 416);
            g.drawString("Clays mined: " + claysmined + " (" + getPerHour(claysmined) + "/h)", 277, 386);
            g.drawString("Status: " + status, 77, 465);
          //  g.drawString("Timer: " , 406, 465);
        }
        
        public static int getPerHour(int value) {
        	if(runTime != null && runTime.getElapsed() > 0) {
        		return (int) (value*3600000 / runTime.getElapsed());
        	} else{
        		return 0;
        	}
        }
        
        public static long getPerHour(long value) {
        	if(runTime != null && runTime.getElapsed() > 0) {
        		return (long) (value*3600000 / runTime.getElapsed());
        	} else{
        		return 0;
        	}
        }
        
        
        
    
    		
    	
    	public void onExit() {
    		
    	}
    	
    }
    
    

     

×
×
  • Create New...