Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package scripts.AutoAlcher;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.Graphics;
- import java.awt.Toolkit;
- import org.tribot.api.General;
- import org.tribot.api.Timing;
- import org.tribot.api.input.Mouse;
- import org.tribot.api2007.Camera;
- import org.tribot.api2007.Game;
- import org.tribot.api2007.Magic;
- import org.tribot.api2007.GameTab;
- import org.tribot.api2007.Player;
- import org.tribot.api2007.Skills;
- import org.tribot.api2007.Walking;
- import org.tribot.api2007.GameTab.TABS;
- import org.tribot.api2007.Skills.SKILLS;
- import org.tribot.api2007.Inventory;
- import org.tribot.api2007.types.RSItem;
- import org.tribot.api2007.types.RSTile;
- import org.tribot.script.Script;
- import org.tribot.script.ScriptManifest;
- import org.tribot.script.interfaces.Painting;
- @ScriptManifest(authors = { "JDezzy" }, category = "Magic", name = "AutoAlchemy")
- public class AutoAlchemyPRO extends Script implements Painting{
- public int ItemID;
- public int delayFrom;
- public int delayTo;
- //paint
- public int numberofalchs;
- public int alchsperhour;
- public int startXP;
- public int startLvl;
- public long startTime;
- //paint
- public static RSTile OriginalTile;
- public RSItem[] ItemToAlch;
- public TABS mage = TABS.MAGIC;
- public TABS inv = TABS.INVENTORY;
- public boolean GUI_COMPLETE = false;
- public boolean Running = true;
- //public static int Price = 1340; get price to buy from users
- private final Font font1 = new Font("Arial", 0, 11);
- @Override
- public void run() {
- SetUpGUI(); //get item to alch ID
- println("Welcome!");
- println("Alching item: " +ItemID);
- OriginalTile = Player.getRSPlayer().getPosition();
- GetPaintValues();
- while(Running){
- StartAlching();
- }
- }
- private void GetPaintValues() {
- startXP = Skills.getXP(SKILLS.MAGIC);
- startTime = System.currentTimeMillis();
- startLvl = Skills.getCurrentLevel(SKILLS.MAGIC);
- OriginalTile = Player.getRSPlayer().getPosition();
- }
- private void StartAlching() {
- ChecksAndSafes();
- Alch();
- }
- private void Alch() {
- if(!IsOpen(mage) && !UpTextContains("Cast"))
- OpenTab();
- if(IsOpen(mage))
- ClickAlch();
- if(IsOpen(inv) && UpTextContains("Cast"))
- ClickItem();
- }
- private void ChecksAndSafes() {
- AntiBan1();
- //CheckIfOut();
- OriginalTileCheck();
- }
- private boolean UpTextContains(String UpText) {
- if(Game.getUptext().contains(UpText))
- return true;
- else return false;
- }
- private void CheckIfOut() {
- if(Inventory.find(ItemID).length == 0)
- { BowBuyer.WeNeedBows = true;
- println("BuyingBows();");
- BowBuyer.run(); }
- }
- private void AntiBan1() {
- int x;
- x = General.random(1, 1500);
- if(x == 6 || x == 9|| x == 546)
- AntiBan(x);
- }
- private void ClickItem() {
- ItemToAlch = Inventory.find(ItemID);
- if(WeCanAlch())
- { ItemToAlch[0].hover();
- if(!UpTextContains("Cast"))
- StartAlching();
- else if(UpTextContains("Cast"))
- ItemToAlch[0].click();
- sleep(delayFrom, delayTo); }
- else if(IsOpen(mage))
- StartAlching();
- }
- private boolean WeCanAlch() {
- if(Inventory.open() && ItemToAlch.length > 0)
- return true;
- else return false;
- }
- private void ClickAlch() {
- if(IsOpen(mage))
- ClickSpell();
- while(IsOpen(mage))
- { sleep(2000, 2100);
- OpenTab(); } //might not need this
- }
- private void ClickSpell() {
- Magic.selectSpell("High Level Alchemy");
- sleep(497, 1868);
- numberofalchs = numberofalchs +1;
- }
- private boolean IsOpen(TABS tab) {
- if(GameTab.getOpen().equals(tab))
- return true;
- else return false;
- }
- private void OpenTab() {
- if(!IsOpen(mage))
- if(Game.getUptext().contains("Cast"))
- Mouse.click(1);
- GameTab.open(TABS.MAGIC);
- while(!IsOpen(mage))
- { OpenTab(); sleep(2000,2100); }
- }
- private void AntiBan(int x) {
- if(x == 6)
- Camera.setCameraAngle(General.random(0,100));
- if (x == 9)
- { Camera.setCameraRotation(General.random(1, 364));
- int y = General.random(1,10);
- if(y == 7)
- { GameTab.open(TABS.STATS);
- Mouse.move(General.random(556,597), General.random(365,382));
- sleep(1350, 2406); } }
- }
- private void OriginalTileCheck() {
- if (!Player.getRSPlayer().getPosition().equals(OriginalTile))
- { println("We've changed positions, moving back!");
- Walking.walkTo(OriginalTile);
- sleep(General.random(1403,3064)); }
- }
- private void SetUpGUI() {
- GUI GUI = new GUI();
- Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize();
- int screenW = (screensize.width) / 2;
- int screenH = (screensize.height) / 2;
- GUI.setVisible(true);
- GUI.setLocation((screenW / 2), (screenH / 2));
- while (!GUI_COMPLETE) {
- sleep(300);
- }
- GUI.setVisible(false);
- }
- public class GUI extends javax.swing.JFrame {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- /**
- * Creates new form GUI
- */
- public GUI() {
- initComponents();
- }
- /**
- * This method is called from within the constructor to initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is always
- * regenerated by the Form Editor.
- */
- // <editor-fold defaultstate="collapsed" desc="Generated Code">
- private void initComponents() {
- jLabel1 = new javax.swing.JLabel();
- jLabel2 = new javax.swing.JLabel();
- itemID = new javax.swing.JTextField();
- start = new javax.swing.JButton();
- jLabel3 = new javax.swing.JLabel();
- DelayFrom = new javax.swing.JTextField();
- DelayTo = new javax.swing.JTextField();
- jLabel4 = new javax.swing.JLabel();
- jLabel5 = new javax.swing.JLabel();
- jLabel1.setFont(new java.awt.Font("Tempus Sans ITC", 1, 18)); // NOI18N
- jLabel1.setText("JDezzy's AutoAlchemy");
- jLabel2.setText("to");
- start.setText("Start Alching");
- start.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- startActionPerformed(evt);
- }
- });
- jLabel3.setText("Delay between alchs:");
- jLabel4.setText("Item ID:");
- jLabel5.setText("milliseconds");
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(68, 68, 68)
- .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 209, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jLabel3)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(start)
- .addGroup(layout.createSequentialGroup()
- .addComponent(DelayFrom, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(6, 6, 6)
- .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(DelayTo, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jLabel5))))
- .addGroup(layout.createSequentialGroup()
- .addGap(102, 102, 102)
- .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(itemID, javax.swing.GroupLayout.PREFERRED_SIZE, 62, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addContainerGap(20, Short.MAX_VALUE))
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(itemID, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(11, 11, 11)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(DelayFrom, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(DelayTo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(start)
- .addContainerGap(16, Short.MAX_VALUE))
- );
- pack();
- }// </editor-fold>
- private void startActionPerformed(java.awt.event.ActionEvent evt) {
- // TODO add your handling code here:
- delayFrom = Integer.parseInt(DelayFrom.getText().toString());
- delayTo = Integer.parseInt(DelayTo.getText().toString());
- ItemID = Integer.parseInt(itemID.getText().toString());
- GUI_COMPLETE = true;
- }
- // Variables declaration - do not modify
- private javax.swing.JTextField DelayFrom;
- private javax.swing.JTextField DelayTo;
- private javax.swing.JTextField itemID;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JLabel jLabel4;
- private javax.swing.JLabel jLabel5;
- private javax.swing.JButton start;
- // End of variables declaration
- }
- @Override
- public void onPaint(Graphics g) {
- long timeRan = System.currentTimeMillis() - startTime;
- int currentLvl = Skills.getActualLevel(SKILLS.MAGIC);
- int gainedLvl = currentLvl - startLvl;
- int gainedXP = Skills.getXP(SKILLS.MAGIC) - startXP;
- int xpToLevel = Skills.getXPToNextLevel(SKILLS.MAGIC);
- int xpPerHour = (int)(gainedXP * 3600000d / timeRan);
- g.setFont(font1);
- g.setColor(new Color(44, 44, 44));
- g.drawString("Runtime: " + Timing.msToString(timeRan), 300, 370);
- g.drawString("Current lvl: " + currentLvl + " (+" + gainedLvl + ")", 300, 390);
- g.drawString("XP Gained: " + gainedXP, 300, 410);
- g.drawString("XP TNL: " + xpToLevel, 300, 430);
- g.drawString("XP/H: " + xpPerHour, 300, 450);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment