Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.rsbot.event.listeners.PaintListener;
- import org.rsbot.script.Script;
- import org.rsbot.script.ScriptManifest;
- import org.rsbot.script.methods.Skills;
- import org.rsbot.script.wrappers.RSItem;
- import org.rsbot.script.wrappers.RSObject;
- import org.rsbot.script.wrappers.RSTile;
- import org.rsbot.script.wrappers.RSWeb;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.Graphics;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import java.util.Date;
- @ScriptManifest(authors = {"TechGuard"}, keywords = "Smithing", name = "TechSmither", version = 1.0, description = "Smelts Everything at Al Kharid")
- public class TechSmither extends Script implements PaintListener, MouseListener {
- public boolean running, usedBank = false, paint = true;
- public long startTime;
- public int startExp = 0, startLevel = 0, gainedExp = 0, gainedLevel = 0,
- smeltedBars = 0, barID = 0, runEnergy = 50, interfaceID = 0, barGP = 0, oreGP;
- public int[] oreID;
- RSTile bankTile, furnaceTile;
- public boolean onStart(){
- camera.setPitch(true);
- camera.setPitch(true);
- startTime = System.currentTimeMillis();
- startExp = skills.getCurrentExp(Skills.SMITHING);
- startLevel = skills.getCurrentLevel(Skills.SMITHING);
- trentCrafterGUI g = new trentCrafterGUI();
- g.setVisible(true);
- while(g.isVisible()){
- sleep(100);
- }
- running = true;
- Date date = new Date(startTime);
- log("Started at "+String.format("%02d:%02d:%02d", date.getHours(), date.getMinutes(), date.getSeconds()));
- return true;
- }
- public void onFinish(){
- running = false;
- Date date = new Date(System.currentTimeMillis());
- log("Stopped at "+String.format("%02d:%02d:%02d", date.getHours(), date.getMinutes(), date.getSeconds()));
- Date date2 = new Date(System.currentTimeMillis()-startTime);
- log("Runned for "+String.format("%02d:%02d:%02d", date2.getHours(), date2.getMinutes(), date2.getSeconds()));
- }
- public static String getName(){
- return "TechSmither v1.0";
- }
- public boolean onBreakStart(){
- running = false;
- return true;
- }
- public void onBreakFinish(){
- running = true;
- }
- public void mouseEntered(MouseEvent m) {
- }
- public void mouseExited(MouseEvent m) {
- }
- public void mousePressed(MouseEvent m) {
- }
- public void mouseReleased(MouseEvent m) {
- }
- public int loop(){
- if(!running) return 50;
- if(game.isLoggedIn()){
- mouse.setSpeed(random(6, 8));
- }
- while(interfaces.get(906).containsText("Logging")){
- sleep(10000);
- }
- if(walking.getEnergy() >= runEnergy && getMyPlayer().isMoving()){
- walking.setRun(true);
- return random(500, 1000);
- }
- if(getMyPlayer().isMoving()){
- antiBan();
- }
- if(inventory.getCount(oreID) > 0 && usedBank){
- if(!atBank()) usedBank = false;
- walkTo(furnaceTile);
- return random(1000, 1500);
- }
- if(atBank()){
- if(bank.isOpen()){
- sleep(random(500, 800));
- if(inventory.getCount(barID) > 0){
- smeltedBars += inventory.getCount(barID);
- deposit(barID, 0);
- sleep(random(600, 1200));
- }
- for(int i = 0; i < oreID.length; i++){
- if(inventory.getCount(oreID[i]) > 0){
- deposit(oreID[i], 0);
- sleep(random(600, 1200));
- }
- }
- int j = (int)(28 / oreID.length);
- for(int i = 0; i < oreID.length; i++){
- if(bank.getCount(oreID[i]) > 0){
- bank.withdraw(oreID[i], j);
- sleep(random(500, 1000));
- }
- }
- bank.close();
- usedBank = true;
- return random(500, 100);
- } else {
- RSObject banker = objects.getNearest(35647);
- if(banker != null){
- if(!calc.tileOnScreen(banker.getLocation())){
- walkTo(bankTile);
- return random(500, 1000);
- }
- if(!banker.doAction("Use-quickly")){
- camera.turnTo(banker);
- } else {
- sleep(800, 900);
- }
- return random(500, 900);
- }
- }
- }
- if(atFurnace()){
- if(inventory.getCount(oreID) < 1 && !isSmelting()){
- walkTo(bankTile);
- return random(1000, 1500);
- }
- int length = 0;for(int i = 0; i < oreID.length; i++)if(inventory.contains(oreID[i])) length++;
- if(length < oreID.length){
- walkTo(bankTile);
- return random(1000, 1500);
- }
- if(isSmelting()){
- antiBan();
- return random(100, 1500);
- } else {
- RSObject furnace = objects.getNearest(11666);
- if(furnace != null){
- if(!furnace.isOnScreen()){
- walkTo(furnaceTile);
- return random(500, 1000);
- }
- if(!furnace.doAction("Smelt")){
- camera.turnTo(furnace);
- } else {
- if(interfaces.getComponent(905, interfaceID).isValid()){
- interfaces.getComponent(905, interfaceID).doClick();
- }
- sleep(800, 900);
- }
- return random(500, 900);
- }
- }
- }
- int length = 0;for(int i = 0; i < oreID.length; i++)if(inventory.contains(oreID[i])) length++;
- if(length < oreID.length){
- walkTo(bankTile);
- return random(500, 1000);
- }
- if(inventory.getCount(oreID) > 0){
- walkTo(furnaceTile);
- return random(500, 1000);
- }
- if(inventory.getCount(oreID) < 1){
- walkTo(bankTile);
- return random(500, 1000);
- }
- return 50;
- }
- public boolean atBank(){
- return calc.distanceTo(bankTile) <= 5;
- }
- public boolean atFurnace(){
- return calc.distanceTo(furnaceTile) <= 5;
- }
- public boolean isSmelting() {
- if(getMyPlayer().getAnimation() == -1){
- sleep(random(500, 1000));
- if(getMyPlayer().getAnimation() == -1){
- sleep(random(300, 800));
- if(getMyPlayer().getAnimation() == -1){
- sleep(random(100, 600));
- if(getMyPlayer().getAnimation() == -1){
- return false;
- }
- }
- }
- }
- return true;
- }
- public void deposit(int itemId, int amount){
- RSItem item = inventory.getItem(itemId);
- String action = "";
- if(amount == 1){
- item.doClick(true);
- return;
- }
- if(amount == 0){
- action = "Deposit-All";
- } else
- if(item.getComponent().containsAction("Deposit-"+amount)){
- action = "Deposit-"+amount;
- } else {
- action = "Deposit-X";
- }
- item.getComponent().doAction(action);
- if(action.equals("Deposit-X")){
- sleep(random(1000, 1500));
- keyboard.sendText(""+amount, true);
- }
- }
- public void walkTo(RSTile to){
- RSWeb path = web.getWeb(getMyPlayer().getLocation(), to);
- path.step();
- }
- private final Font font1 = new Font("Arial", 0, 14);
- private final Font font2 = new Font("Arial", 1, 24);
- public void onRepaint(Graphics g){
- if(!game.isLoggedIn() && !running) return;
- gainedExp = skills.getCurrentExp(Skills.SMITHING)-startExp;
- gainedLevel = skills.getCurrentLevel(Skills.SMITHING)-startLevel;
- String time = String.format("%02d:%02d",((new Date(System.currentTimeMillis()-startTime)).getHours()-1),
- (new Date(System.currentTimeMillis()-startTime)).getMinutes());
- int percent = skills.getPercentToLevel(Skills.SMITHING, skills.getCurrentLevel(Skills.SMITHING)+1);
- double min = percent; min /= 100;
- int length = (int)(min*263);
- if(paint){
- //Title and Background
- g.setColor(new Color(217, 199, 163));
- g.fillRect(7, 345, 505, 128);
- String str = getName();
- g.setFont(font2);
- g.setColor(new Color(0, 0, 0));
- g.drawString(str, 250, 400);
- //Info
- g.setFont(font1);
- g.drawString("Gained Exp: "+parse(gainedExp), 15, 363);
- g.drawString("Gained Level(s): "+gainedLevel, 15, 378);
- g.drawString("Bars Smelted: "+parse(smeltedBars), 15, 393);
- g.drawString("Profit Made? "+parse((barGP-oreGP)*smeltedBars), 15, 408);
- g.drawString("Running For: "+time, 15, 423);
- //Percent bar
- g.setColor(new Color(0, 0, 0));
- g.fillRect(226, 441, 265, 20);
- g.setColor(new Color(255, 0, 0));
- g.fillRect(227+length, 442, 263-length, 18);
- g.setColor(new Color(0, 255, 0));
- g.fillRect(227, 442, length, 18);
- String str2 = percent+"% Till lvl "+(skills.getCurrentLevel(Skills.SMITHING)+1);
- g.setFont(font1);
- g.setColor(new Color(0, 0, 0));
- g.drawString(str2, 320, 456);
- }
- g.setColor(new Color(0, 0, 0, 70));
- g.fillRect(477, 345, 35, 15);
- Color color1 = paint ? new Color(0, 255, 0, 70) : new Color(255, 0, 0, 70);
- g.setColor(color1);
- g.fillRect(478, 346, 33, 13);
- }
- public void mouseClicked(MouseEvent m) {
- if(m.getX() >= 477 && m.getX() <= 512 && m.getY() >= 345 && m.getY() <= 360){
- paint = !paint;
- }
- }
- public String parse(int x){
- String parsed = ""+x;
- String temp = ""+x;
- String Final = "";
- if(x < 0) parsed = parsed.substring(1);
- for(int i = 0; i < parsed.length(); i++){
- if(i == 3 || i == 6 || i == 9 || i == 12)
- Final = parsed.substring(0, temp.length()-1)+"."+parsed.substring(temp.length()-i, temp.length());
- }
- if(x < 0) Final = "-"+Final;
- if(Final.endsWith(".")) Final = Final.substring(0, Final.length()-1);
- return parsed;
- }
- public class trentCrafterGUI extends javax.swing.JFrame {
- public trentCrafterGUI() {
- initComponents();
- }
- @SuppressWarnings("unchecked")
- private void initComponents() {
- jLabel1 = new javax.swing.JLabel();
- jComboBox1 = new javax.swing.JComboBox();
- jComboBox2 = new javax.swing.JComboBox();
- jLabel2 = new javax.swing.JLabel();
- jLabel3 = new javax.swing.JLabel();
- jButton1 = new javax.swing.JButton();
- jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
- jLabel1.setText(TechSmither.getName());
- String[] bars = {"Bronze Bar", "Iron Bar", "Silver Bar",
- "Steel Bar", "Gold Bar", "Mithril Bar", "Adamant Bar", "Rune Bar"};
- jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(bars));
- jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[]{"Al Kharid"}));
- jLabel2.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
- jLabel2.setText("Bar to Smelt:");
- jLabel3.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
- jLabel3.setText("Location:");
- jButton1.setText("Start");
- jButton1.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButton1ActionPerformed(evt);
- }
- });
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(layout
- .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,layout.createSequentialGroup()
- .addComponent(jLabel1)
- .addGap(174,174,174))
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jComboBox1,javax.swing.GroupLayout.PREFERRED_SIZE,276,javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jComboBox2,javax.swing.GroupLayout.PREFERRED_SIZE,276,javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabel2)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,168,javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabel3)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,219,javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,Short.MAX_VALUE))
- .addGroup(layout.createSequentialGroup()
- .addComponent(jButton1,javax.swing.GroupLayout.DEFAULT_SIZE,276,Short.MAX_VALUE)
- .addContainerGap()))));
- layout.setVerticalGroup(layout
- .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jLabel1)
- .addGap(18, 18, 18)
- .addComponent(jLabel2)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jComboBox1,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jLabel3)
- .addGap(4, 4, 4)
- .addComponent(jComboBox2,javax.swing.GroupLayout.PREFERRED_SIZE,javax.swing.GroupLayout.DEFAULT_SIZE,javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jButton1)
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,Short.MAX_VALUE)));
- pack();
- }
- private javax.swing.JButton jButton1;
- private javax.swing.JComboBox jComboBox1;
- private javax.swing.JComboBox jComboBox2;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel3;
- private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
- String itemName = jComboBox1.getSelectedItem().toString();
- String location = jComboBox2.getSelectedItem().toString();
- if(location.contains("Al Kharid")){
- bankTile = new RSTile(3269, 3168);
- furnaceTile = new RSTile(3274, 3186);
- }
- if(itemName.equals("Bronze Bar")){
- barID = 2349;
- interfaceID = 14;
- oreID = new int[]{436,438};
- }
- if(itemName.equals("Iron Bar")){
- barID = 2351;
- interfaceID = 16;
- oreID = new int[]{440};
- }
- if(itemName.equals("Silver Bar")){
- barID = 2355;
- interfaceID = 17;
- oreID = new int[]{442};
- }
- if(itemName.equals("Steel Bar")){
- barID = 2353;
- interfaceID = 18;
- oreID = new int[]{440,453,453};
- }
- if(itemName.equals("Gold Bar")){
- barID = 2357;
- interfaceID = 19;
- oreID = new int[]{444};
- }
- if(itemName.equals("Mithril Bar")){
- barID = 2359;
- interfaceID = 20;
- oreID = new int[]{447,453,453,453};
- }
- if(itemName.equals("Adamant Bar")){
- barID = 2361;
- interfaceID = 21;
- oreID = new int[]{449,453,453,453,453,453,453};
- }
- if(itemName.equals("Rune Bar")){
- barID = 2363;
- interfaceID = 22;
- oreID = new int[]{451,453,453,453,453,453,453,453,453};
- }
- barGP = grandExchange.lookup(barID).getGuidePrice();
- for(int i = 0; i < oreID.length; i++)
- oreGP += grandExchange.lookup(oreID[i]).getGuidePrice();
- this.setVisible(false);
- }
- }
- /*
- * Anti-ban
- */
- public void mouseHandler(){
- switch(random(0, 5)) {
- case 0: mouse.moveOffScreen();break;
- case 1: mouse.moveOffScreen();break;
- case 2: mouse.moveSlightly();break;
- case 3: mouse.moveSlightly();break;
- }
- }
- public void superAntiMoveMouse(){
- switch(random(0, 5)) {
- case 0: mouse.setSpeed(random(6, 9));
- mouse.moveSlightly();
- mouse.moveSlightly();
- mouse.moveSlightly();break;
- case 1: mouse.setSpeed(random(6, 9));
- mouse.moveSlightly();
- mouse.moveSlightly();break;
- case 2: mouse.setSpeed(random(6, 9));
- mouse.moveSlightly();
- mouse.moveSlightly();
- mouse.moveSlightly();
- mouse.moveSlightly();break;
- }
- }
- public void randomtab(){
- switch(random(0, 12)) {
- case 0: game.openTab(game.TAB_STATS);sleep(random(700, 1200));
- game.openTab(game.TAB_INVENTORY);break;
- case 1: game.openTab(game.TAB_INVENTORY);break;
- case 2: game.openTab(game.TAB_CLAN);sleep(random(700, 1200));
- game.openTab(game.TAB_INVENTORY);break;
- case 3: game.openTab(game.TAB_FRIENDS);sleep(random(700, 1200));
- game.openTab(game.TAB_INVENTORY);break;
- case 4: game.openTab(game.TAB_EQUIPMENT);sleep(random(700, 1200));
- game.openTab(game.TAB_INVENTORY);break;
- case 5: game.openTab(game.TAB_MAGIC);sleep(random(700, 1200));
- game.openTab(game.TAB_INVENTORY);break;
- case 6: game.openTab(game.TAB_QUESTS);sleep(random(700, 1200));
- game.openTab(game.TAB_INVENTORY);break;
- case 7: game.openTab(game.TAB_NOTES);sleep(random(700, 1200));
- game.openTab(game.TAB_INVENTORY);break;
- case 8: game.openTab(game.TAB_PRAYER);sleep(random(700, 1200));
- game.openTab(game.TAB_INVENTORY);break;
- case 9: game.openTab(game.TAB_MUSIC);sleep(random(700, 1200));
- game.openTab(game.TAB_INVENTORY);break;
- }
- }
- public void randomXPcheck(){
- game.openTab(game.TAB_STATS);
- switch(random(0, 20)) {
- case 0: skills.doHover(skills.INTERFACE_FISHING);break;
- case 1: skills.doHover(skills.INTERFACE_WOODCUTTING);break;
- case 2: skills.doHover(skills.INTERFACE_ATTACK);break;
- case 3: skills.doHover(skills.INTERFACE_STRENGTH);break;
- case 4: skills.doHover(skills.INTERFACE_COOKING);break;
- case 5: skills.doHover(skills.INTERFACE_RANGE);break;
- case 6: skills.doHover(skills.INTERFACE_FIREMAKING);break;
- case 7: skills.doHover(skills.INTERFACE_CONSTRUCTION);break;
- case 8: skills.doHover(skills.INTERFACE_RUNECRAFTING);break;
- case 9: skills.doHover(skills.INTERFACE_SUMMONING);break;
- case 10: skills.doHover(skills.INTERFACE_SLAYER);break;
- case 11: skills.doHover(skills.INTERFACE_CRAFTING);break;
- case 12: skills.doHover(skills.INTERFACE_FARMING);break;
- case 13: skills.doHover(skills.INTERFACE_AGILITY);break;
- case 14: skills.doHover(skills.INTERFACE_THIEVING);break;
- case 15: skills.doHover(skills.INTERFACE_HUNTER);break;
- case 16: skills.doHover(skills.INTERFACE_MINING);break;
- case 17: skills.doHover(skills.INTERFACE_SMITHING);break;
- case 18: skills.doHover(skills.INTERFACE_MAGIC);break;
- case 19: skills.doHover(skills.INTERFACE_FLETCHING);break;
- case 20: skills.doHover(skills.INTERFACE_PRAYER);break;
- }
- }
- public void antiBan(){
- switch(random(0, 7)){
- case 0: mouseHandler();break;
- case 1: superAntiMoveMouse();break;
- case 2: randomXPcheck();break;
- case 3: randomtab();break;
- case 4: runEnergy = random(30, 80);break;
- case 5: mouse.setSpeed(random(6, 8));break;
- default: break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement