Adblock breaks this site

Tribot - Flax Spinner Script

Discussion in 'RuneScape 2007 Cheating' started by MindTricks, Mar 29, 2013.

  1. MindTricks

    MindTricks Newcomer

    Joined:
    Mar 29, 2013
    Posts:
    2
    Referrals:
    0
    Sythe Gold:
    0
    Tribot - Flax Spinner Script

    I know the website is down, but I still have my bot open. Does anyone have this script for me?
     
  2. YoHoJo

    YoHoJo Hero
    Scar Programmers $25 USD Donor New

    Joined:
    Sep 4, 2005
    Posts:
    6,379
    Referrals:
    15
    Sythe Gold:
    2,625
    St. Patrick's Day 2013 Christmas 2015 Halloween 2014 Lawrence Easter 2013 Heidy Halloween 2013
    Tribot - Flax Spinner Script

    Unless you search tricot and see a thread with the source /direct download you're just going to have to be patient and wait.
     
  3. Leixner

    Leixner Active Member

    Joined:
    Jan 27, 2007
    Posts:
    154
    Referrals:
    0
    Sythe Gold:
    0
    Tribot - Flax Spinner Script

    Cant run a new script without starting the client anyways.
    So it would be quite useless!
     
  4. rexyiscool

    rexyiscool Forum Addict

    Joined:
    Nov 26, 2008
    Posts:
    590
    Referrals:
    1
    Sythe Gold:
    1
    Tribot - Flax Spinner Script

    I dont think either of the scripts work tbh.
     
  5. nich

    nich Member

    Joined:
    Oct 12, 2009
    Posts:
    71
    Referrals:
    0
    Sythe Gold:
    16
    Tribot - Flax Spinner Script

    JJ made a rather good flax spinner in his tutorial. I don't remember if he put it up for downloadlike he said, but if he didn't you can take an hour and copy everything he does assuming you are willing to go and download Eclipse
     
  6. RuneScapeJJ

    RuneScapeJJ Guru
    $25 USD Donor New

    Joined:
    Aug 14, 2011
    Posts:
    1,522
    Referrals:
    1
    Sythe Gold:
    0
    Potamus
    Tribot - Flax Spinner Script

    I got a few clients loaded up now, will now increase stability. But here is the source of v1:

    Code:
    package scripts;
    
    import java.awt.Color;
    import java.awt.Graphics;
    
    import org.tribot.api.DynamicClicking;
    import org.tribot.api.General;
    import org.tribot.api.Timing;
    import org.tribot.api.input.Keyboard;
    import org.tribot.api.input.Mouse;
    import org.tribot.api.types.colour.Tolerance;
    import org.tribot.api2007.Banking;
    import org.tribot.api2007.Interfaces;
    import org.tribot.api2007.Inventory;
    import org.tribot.api2007.Objects;
    import org.tribot.api2007.Player;
    import org.tribot.api2007.Screen;
    import org.tribot.api2007.Skills;
    import org.tribot.api2007.Walking;
    import org.tribot.api2007.types.RSInterfaceChild;
    import org.tribot.api2007.types.RSItem;
    import org.tribot.api2007.types.RSObject;
    import org.tribot.api2007.types.RSTile;
    import org.tribot.script.Script;
    import org.tribot.script.ScriptManifest;
    import org.tribot.script.interfaces.Painting;
    
    @ScriptManifest(authors = { "J J" }, category = "Money making", name = "JJ's Flax 07")
    public class JJsFlax07 extends Script implements Painting {
    
    	private final RSTile BANK_TILE = new RSTile(3208, 3220, 2),
    					     STAIRS_BANK_TILE = new RSTile(3205, 3209, 2),
    					     STAIRS_SPIN_WHEEL_TILE = new RSTile(3205, 3209, 1),
    					     SPIN_TILE = new RSTile(3209, 3213, 1),
    					     DOOR_TILE = new RSTile(3207, 3214, 1);
    	private final int FLAX_ID = 1779,
    					  CLOSED_DOOR_ID = 1536,
    					  SPINNING_WHEEL_ID = 2644,
    					  STAIRS_COOK_ID = 1738,
    					  STAIRS_WHEEL_ID = 1739,
    					  STAIRS_BANK_ID = 1740,
    					  CRAFTING_ANIMATION_ID = 894,
    					  BOW_STRING_ID = 1777,
    					  START_XP = Skills.getXP("Crafting");
    	private final int[] STAIRS_IDS = {STAIRS_COOK_ID, STAIRS_WHEEL_ID};
    	private final long START_TIME = System.currentTimeMillis();
    	
    	private State SCRIPT_STATE = getState();
    	private int CURRENT_XP = START_XP;
    	
    	@Override
    	public void onPaint(Graphics g) {
    		long timeRan = System.currentTimeMillis()-START_TIME;
    		int xpGained = CURRENT_XP-START_XP;
    		double multiplier = timeRan / 3600000D;
    		int xpPerHour = (int) (xpGained / multiplier);
    		int bsMade = xpGained / 15;
    		int bsPerHour = (int) (bsMade / multiplier);
    
    		g.setColor(new Color(60, 60, 60));
    		g.fillRect(5, 55, 190, 185);
    	
    		g.setColor(Color.WHITE);
    		g.drawString("JJ's Flax 2007", 10, 70);
    		g.drawString("Running for: " + Timing.msToString(timeRan), 10, 90);
    		g.drawString("State: " + SCRIPT_STATE, 10, 110);
    		
    		g.drawString("Xp gained: " + xpGained + " (" + xpPerHour + "/h)", 10, 140);
    		g.drawString("Bowstring made: " + bsMade + " (" + bsPerHour + "/h)", 10, 160);
    	
    		g.drawString("Flax interface: " + haveFlaxInterface(), 10, 190);
    		g.drawString("Type interface: " + haveAmountInterface(), 10, 210);
    		g.drawString("Is door closed? " + isDoorClosed(), 10, 230);
    	}
    	
    	
    	public enum State {
    		SELECT_FLAX, TYPE_AMOUNT, CRAFTING, WHEEL_TO_STAIRS,
    		CLIMB_STAIRS, STAIRS_TO_BANK, OPEN_BANK, 
    		DEPOSIT_BOW_STRING, WITHDRAW_FLAX, BANK_TO_STAIRS, 
    		STAIRS_TO_WHEEL, OPEN_DOOR, USE_SPIN_WHEEL,
    		WALK_TO_DOOR, DEPOSIT_JUNK;
    	}
    	
    	private State getState(){
    		if(haveFlax()){
    			if(atBank()){
    				return State.BANK_TO_STAIRS;
    			}else{
    				if(atSpinWheel()){
    					if(haveFlaxInterface()){
    						return State.SELECT_FLAX;
    					}else{
    						if(haveAmountInterface()){
    							return State.TYPE_AMOUNT;
    						}else{
    							if(areCrafting()){
    								return State.CRAFTING;
    							}else{
    								return State.USE_SPIN_WHEEL;
    							}
    						}
    					}
    				}else{
    					if(Player.getPosition().getPlane() != 1){
    						if(atStairs()){
    							return State.CLIMB_STAIRS;
    						}else{
    							return State.BANK_TO_STAIRS;
    						}
    					}else{
    						if(isDoorClosed()){
    							if(atDoor()){
    								return State.OPEN_DOOR;
    							}else{
    								return State.WALK_TO_DOOR;
    							}
    						}else{
    							return State.STAIRS_TO_WHEEL;
    						}
    					}
    				}
    			}
    		}else{
    			if(Player.getPosition().getPlane() != 2){
    				if(atStairs()){
    					return State.CLIMB_STAIRS;
    				}else{
    					if(isDoorClosed()){
    						if(atDoor()){
    							return State.OPEN_DOOR;
    						}else{
    							return State.WALK_TO_DOOR;
    						}
    					}else{
    						return State.WHEEL_TO_STAIRS;
    					}
    				}
    			}else{
    				if(Banking.isBankScreenOpen()){
    					if(haveBowstring()){
    						return State.DEPOSIT_BOW_STRING;
    					}else{
    						if(Inventory.getAll().length == 0){
    							return State.WITHDRAW_FLAX;
    						}else{
    							return State.DEPOSIT_JUNK;
    						}
    					}
    				}else{
    					if(atBank()){
    						return State.OPEN_BANK;
    					}else{
    						return State.STAIRS_TO_BANK;
    					}
    				}
    			}
    		}
    	}
    	
    	private boolean withdrawFlax(){
    		if(Banking.isBankScreenOpen()){
    			RSItem[] flax = Banking.find(FLAX_ID);
    			if(flax != null && flax.length > 0 && flax[0].click("Withdraw All")){
    				sleep(400, 800);
    				long t = System.currentTimeMillis();
    				while(Timing.timeFromMark(t) < General.random(2000, 3000)){
    					if(haveFlax()){
    						return true;
    					}
    					sleep(50, 150);
    				}
    			}
    		}
    		return false;
    	}
    	
    	private boolean depositBowstring(){
    		if(Banking.isBankScreenOpen()){
    			RSItem[] string = Inventory.find(BOW_STRING_ID);
    			if(string != null && string.length > 0 && string[0].click("Store All")){
    				sleep(400, 800);
    				long t = System.currentTimeMillis();
    				while(Timing.timeFromMark(t) < General.random(2000, 3000)){
    					if(!haveBowstring()){
    						return true;
    					}
    					sleep(50, 150);
    				}
    			}
    		}
    		return false;
    	}
    	
    	private boolean depositJunk(){
    		if(Banking.isBankScreenOpen()){
    			RSItem[] all = Inventory.getAll();
    			if(all != null && all.length > 0 && all[0].click("Store All")){
    				long t = System.currentTimeMillis();
    				while(Timing.timeFromMark(t) < General.random(2000, 3000)){
    					if(Inventory.getAll().length < all.length){
    						return true;
    					}
    					sleep(50, 150);
    				}
    			}
    		}
    		return false;
    	}
    	
    	private void waitUntilIdle(RSTile tile){
    		long t = System.currentTimeMillis();
    		
    		while(Timing.timeFromMark(t) < General.random(400, 800)){
    			sleep(40, 80);
    			
    			if(Player.isMoving() || Player.getAnimation() != -1){
    				t = System.currentTimeMillis();
    				continue;
    			}
    			
    			sleep(40, 80);
    			
    			if(Player.getPosition().distanceTo(tile) == 0){
    				break;
    			}
    		}
    	}
    	
    	private boolean atStairs(){
    		RSTile myPos = Player.getPosition();
    		return myPos.distanceTo(STAIRS_BANK_TILE) < 3;
    	}
    	
    	private boolean walkToTile(RSTile tile){
    		if(Walking.walkTo(tile)){
    			waitUntilIdle(tile);
    			return true;
    		}
    		return false;
    	}
    	
    	private boolean walkToStairs(){
    		int plane = Player.getPosition().getPlane();
    		if(plane == 1){
    			// At spinning wheel
    			return walkToTile(STAIRS_SPIN_WHEEL_TILE);
    		}else if(plane == 2){
    			// At bank
    			return walkToTile(STAIRS_BANK_TILE);
    		}
    		return false;
    	}
    	
    	private boolean walkToBank(){
    		return walkToTile(BANK_TILE);
    	}
    	
    	private boolean walkToDoor(){
    		return walkToTile(DOOR_TILE);
    	}
    	
    	private boolean walkToWheel(){
    		return walkToTile(SPIN_TILE);
    	}
    	
    	private boolean climbStairs(){
    		int plane = Player.getPosition().getPlane();
    		if(plane == 2){
    			// Down
    			RSObject[] stairs = Objects.findNearest(10, STAIRS_BANK_ID);
    			if(stairs != null && stairs.length > 0 && DynamicClicking.clickRSObject(stairs[0], "down")){
    				waitUntilIdle(stairs[0].getPosition());
    				return true;
    			}
    		}else{
    			// Up
    			RSObject[] stairs = Objects.findNearest(10, STAIRS_IDS);
    			if(stairs != null && stairs.length > 0 && DynamicClicking.clickRSObject(stairs[0], "up")){
    				waitUntilIdle(stairs[0].getPosition());
    				return true;
    			}
    		}
    		return false;
    	}
    	
    	private boolean atDoor(){
    		RSTile myPos = Player.getPosition();
    		return myPos.distanceTo(DOOR_TILE) < 3;
    	}
    	
    	private boolean openDoor(){
    		RSObject[] door = Objects.findNearest(15, CLOSED_DOOR_ID);
    		if(door != null && door.length > 0){
    			if(DynamicClicking.clickRSObject(door[0], "Open")){
    				waitUntilIdle(door[0].getPosition());
    				return true;
    			}
    		}
    		return false;
    	}
    	
    	private boolean spinWheel(){
    		RSObject[] wheel = Objects.findNearest(10, SPINNING_WHEEL_ID);
    		if(wheel != null && wheel.length > 0){
    			if(DynamicClicking.clickRSObject(wheel[0], "Spin")){
    				waitUntilIdle(wheel[0].getPosition());
    				return true;
    			}
    		}
    		return false;
    	}
    	
    	private boolean spinFlax(){
    		RSInterfaceChild flax = Interfaces.get(459, 91);
    		if(flax != null && !flax.isHidden() && flax.click("X")){
    			println("Selected X");
    
    			long t = System.currentTimeMillis();
    			while(Timing.timeFromMark(t) < General.random(1500, 2000)){
    				if(haveAmountInterface()){
    					return true;
    				}
    				sleep(50, 150);
    			}		
    		}
    		return false;
    	}
    	
    	private boolean haveFlaxInterface(){
    		RSInterfaceChild flax = Interfaces.get(459, 91);
    		return flax != null && !flax.isHidden();
    	}
    	
    	private boolean haveAmountInterface(){
    		RSInterfaceChild amount = Interfaces.get(548, 94);
    		if(amount != null && !amount.isHidden()){
    			String txt = amount.getText();
    			if(txt != null && txt.equals("*")){
    				Color c = Screen.getColorAt(259, 428);
    				Color b = new Color(0, 0, 128);
    				return org.tribot.api.Screen.coloursMatch(b, c, new Tolerance(10));
    			}
    		}
    		return false;
    	}
    	
    	private boolean typeAmount(){
    		if(haveAmountInterface()){
    			Keyboard.typeSend("33");
    			return true;
    		}
    		return false;
    	}
    	
    	private boolean areCrafting(){
    		long t = System.currentTimeMillis();
    		while(Timing.timeFromMark(t) < General.random(1200, 1800)){
    			if(Player.getAnimation() == CRAFTING_ANIMATION_ID){
    				return true;
    			}
    			sleep(50, 100);
    		}
    		return false;
    	}
    	
    	private boolean isDoorClosed(){
    		RSObject[] doors = Objects.findNearest(15, CLOSED_DOOR_ID);
    		if(doors != null && doors.length > 0)
    			for(RSObject door : doors)
    				if(door.getPosition().getY() < 3220)
    					return true;
    		return false;
    	}
    	
    	private boolean haveFlax(){
    		RSItem[] flax = Inventory.find(FLAX_ID);
    		return flax != null && flax.length > 0;
    	}
    	
    	private boolean haveBowstring(){
    		RSItem[] string = Inventory.find(BOW_STRING_ID);
    		return string != null && string.length > 0;
    	}
    	
    	private boolean atBank(){
    		RSTile myPos = Player.getPosition();
    		return myPos.distanceTo(BANK_TILE) < 2;
    	}
    	
    	private boolean atSpinWheel(){
    		RSTile myPos = Player.getPosition();
    		return myPos.distanceTo(SPIN_TILE) < 2;
    	}
    	
    	@Override
    	public void run() {
    		println("Script has been started");
    		Mouse.setSpeed(General.random(130, 150));
    		
    		while(true){
    			SCRIPT_STATE = getState();
    			CURRENT_XP = Skills.getXP("Crafting");
    			
    			switch(SCRIPT_STATE){
    				case BANK_TO_STAIRS:
    					walkToStairs();
    					break;
    					
    				case CLIMB_STAIRS:
    					climbStairs();
    					break;
    					
    				case CRAFTING:
    					sleep(200, 400);
    					break;
    					
    				case DEPOSIT_BOW_STRING:
    					depositBowstring();
    					break;
    					
    				case OPEN_BANK:
    					Banking.openBankBanker();
    					break;
    					
    				case OPEN_DOOR:
    					openDoor();
    					break;
    					
    				case SELECT_FLAX:
    					spinFlax();
    					break;
    					
    				case STAIRS_TO_BANK:
    					walkToBank();
    					break;
    					
    				case STAIRS_TO_WHEEL:
    					walkToWheel();
    					break;
    					
    				case TYPE_AMOUNT:
    					typeAmount();
    					break;
    					
    				case USE_SPIN_WHEEL:
    					spinWheel();
    					break;
    					
    				case WHEEL_TO_STAIRS:
    					walkToStairs();
    					break;
    					
    				case WITHDRAW_FLAX:
    					withdrawFlax();
    					break;
    					
    				case WALK_TO_DOOR:
    					walkToDoor();
    					break;
    				
    				case DEPOSIT_JUNK:
    					depositJunk();
    					break;
    			}
    			
    			sleep(40, 80);			
    		}
    	}
    }
    
     
  7. weedandrs

    weedandrs Member

    Joined:
    Mar 25, 2013
    Posts:
    53
    Referrals:
    0
    Sythe Gold:
    0
    Tribot - Flax Spinner Script

    btw people you can start new scripts without re-loading a new client. I upgraded from yugochopper v6 to yugochopper v9 yesterday while the set is up. I haven't closed my clients since monday. Three running right now. Without closing my client i also upgraded the catherby fisher.
     
< Any 07 autofighter bot? | Bots? >


 
 
Adblock breaks this site