rendered paste bodyimport java.awt.*;
import java.awt.event.KeyEvent;
import com.speljohan.rsbot.script.*;
import com.speljohan.rsbot.script.wrappers.*;
public class AutoHarpoonBuyer extends Script{
int bankGuy = 3824;
int harpoon = 311;
int Money = 995;
int trips = 0;
int harpoonTrip = 0;
public String getName() {
return "Auto harpoon Buyer";
}
public String getCategory() {
return "Harpoon Buyer";
}
public String getAuthor() {
return "Dan";
}
public double getVersion() {
return 0.1;
}
public boolean onStart(String[] args) {
return true;
}
public String getScriptDescription() {
String html = "";
html += "<html>\n";
html += "<body>\n";
html += "<h2>" + getName() + " v" + getVersion() + "</h2><br>\n";
html += "Author: " + getAuthor() + "<br>\n";
html += "Run this program up in Arnold's shop at Picatoris.<br> "
+ "It may glitch from time to time, I'm trying to fix, Please be aware<br>"
+ "Have fun buying Harpoons!";
html += "<br>";
html += "</body>\n";
html += "</html\n";
return html;
}
public int loop() {
RSNPC arnold = getNearestNPCByName("Arnold Lydspor");
atNPC(arnold, "Talk-To");
wait(random(1200, 1500));
if(RSInterface.getInterface(762).isValid() && inventoryContains(harpoon))
{
banking();
}
if(RSInterface.getInterface(762).isValid() && !inventoryContains(harpoon))
{
bankOpen();
}
if(RSInterface.getInterface(620).isValid() && !inventoryContains(harpoon))
{
buy();
}
if(RSInterface.getInterface(620).isValid() && inventoryContains(harpoon))
{
tradeOpen();
}
if (inventoryContains(harpoon)) {
banking();
}
if (!inventoryContains(harpoon)){
buy();
}
return 0;
}
public void buy()
{
RSNPC arnold = getNearestNPCByID(bankGuy); //check name
if (inventoryContains(Money) && !inventoryContains(harpoon))
{
atNPC(arnold, "Trade");
wait(random(1400, 1500));
if (RSInterface.getInterface(620).isValid()) {
clickMouse(116, 117, false);
wait(random(1000, 1500));
atMenu("Buy X");
wait(random(800, 1300));
sendText("27", true);
wait(random(800, 1300));
atInterface(INTERFACE_STORE, INTERFACE_STORE_BUTTON_CLOSE);
//clickMouse(486, 42, 1, 1, false);
//wait(random(800, 1300)); // used to close bank but i found a better code
//atMenu("Close");
}
banking();
}
if (inventoryContains(harpoon) && inventoryContains(Money)) {
banking();
}
}
public void banking()
{
RSObject Bank = findObject(bankGuy);
if (inventoryContains(harpoon))
{
RSNPC arnold = getNearestNPCByName("Arnold Lydspor"); //check name
atNPC(arnold, "Bank");
wait(random(500,1000));
if(RSInterface.getInterface(762).isValid())
{
bank.depositAllExcept(Money);
wait(random(529, 1260));
trips++;
harpoonTrip = trips*27;
log("# of Trips Done: " + trips + " equals # of Harpoon: " + harpoonTrip);
bank.close();
}
else
{
banking();
}
}
else{
buy();
}
buy();
}
public void bankOpen()
{
bank.close();
buy();
}
public void tradeOpen()
{
atInterface(INTERFACE_STORE, INTERFACE_STORE_BUTTON_CLOSE);
banking();
}
}