Jump to content

[F2P][33k EXP/HR][80k GP/HR] jak's Free Gold Amulet (u) Crafter


justanotherkid

Recommended Posts

jak's Free Gold Amulet (u) Crafter


91gIRco.png


  • 33k Crafting Exp/hr
  • ~80k+ Profit/hr
  • F2P
  •  

​Features:


  • Start from any location (Uses webwalking)
  • Will log out when you run out of gold bars in the bank
  •  

Requirements:


  • Lv8 Crafting
  • Amulet mould and Gold bars (have required items in inventory or bank)

Progress Reports


6d2e2ca01fa9aaba09c59bf80439c9da.png


f435171e7b6e4ddca5602d608dc35ff7.png


658762276be5c0e3339fafde375a603f.png


 


Download Link


If you'd like to show your appreciation, a proggy would be nice QwPha8E.png


 


http://www.mediafire.com/download/lmw047jaet804bf/30crafting.jar


 


[OPENSOURCE]



import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;

import org.osbot.rs07.api.map.Area;
import org.osbot.rs07.api.map.Position;
import org.osbot.rs07.api.model.Entity;
import org.osbot.rs07.api.ui.Skill;
import org.osbot.rs07.event.WalkingEvent;
import org.osbot.rs07.script.Script;
import org.osbot.rs07.script.ScriptManifest;
import org.osbot.rs07.utility.Condition;
import org.osbot.rs07.utility.ConditionalSleep;

@ScriptManifest(author = "justanotherkid", info = "", name = "Gold Amulet Crafter", version = 1.0, logo = "")
public class main extends Script {

long totalgold;
String state;
long startTime;
Area alkharid = new Area(new Position[] { new Position(3274,3188,0), new Position(3284,3188,0), new Position(3285,3179,0), new Position(3280,3179,0), new Position(3280,3165,0), new Position(3280,3164,0), new Position(3279,3163,0), new Position(3269,3165,0), new Position(3269,3178,0), new Position(3276,3178,0), new Position(3276,3183,0), new Position(3274,3184,0),});
Position[] path2bank = new Position[] { new Position(3274,3186,0), new Position(3278,3179,0), new Position(3273,3167,0), new Position(3269,3167,0),};
Position bank = new Position (3269,3167,0);
Position furnace = new Position (3274,3186,0);
Position[] path2furnace = new Position[] { new Position(3272,3167,0), new Position(3275,3174,0), new Position(3279,3181,0), new Position(3274,3186,0),};
@Override
public void onStart()
{
startTime = System.currentTimeMillis();
for(Skill skill : new Skill[]{Skill.CRAFTING}) {
getExperienceTracker().start(skill); }
}

private enum State
{
BANKAMULETS,MAKEAMULETS,IDLE,WALK2ALKHARID
}

private State getState()
{
if(getSkills().getDynamic(Skill.CRAFTING) >= 8 && !alkharid.contains(myPlayer()))
{
return State.WALK2ALKHARID;
}
if(getSkills().getDynamic(Skill.CRAFTING) >= 8 && alkharid.contains(myPlayer()) && !getInventory().contains("Amulet mould") || !getInventory().contains("Gold bar"))
{
return State.BANKAMULETS;
}
if(getSkills().getDynamic(Skill.CRAFTING) >= 8 && alkharid.contains(myPlayer()) && getInventory().contains("Amulet mould", "Gold bar"))
{
return State.MAKEAMULETS;
}
return State.IDLE;
}

@Override
public int onLoop() throws InterruptedException
{
WalkingEvent walkingEvent1 = new WalkingEvent(bank);
walkingEvent1.setBreakCondition(new Condition() {
@Override
public boolean evaluate() {
return bank.distance(myPosition()) <= 6;
}
});

WalkingEvent walkingEvent2 = new WalkingEvent(furnace);
walkingEvent2.setBreakCondition(new Condition() {
@Override
public boolean evaluate() {
return furnace.distance(myPosition()) <= 4;
}
});

switch(getState())
{
case WALK2ALKHARID:
state = "Walking To Alkharid";
getWalking().webWalk(alkharid);
break;

case BANKAMULETS:
state = "Walking To The Bank";
execute(walkingEvent1);
state = "Banking";
getObjects().closest("Bank booth").interact("Bank");
new ConditionalSleep(2500)
{
@Override
public boolean condition() throws InterruptedException
{
return getBank().isOpen();
}
}.sleep();
sleep(random(300,600));
if(getBank().isOpen())
{
totalgold = getInventory().getAmount("Gold bar") + getBank().getAmount("Gold bar");
if(totalgold < 1)
{
getBank().close();
sleep(random(75,150));
getLogoutTab().open();
sleep(random(75,150));
getLogoutTab().logOut();
stop();
}
getBank().depositAllExcept("Amulet mould");
sleep(random(100,200));
if(!getInventory().contains("Amulet mould"))
{
getBank().withdraw("Amulet mould", 1);
sleep(random(100,200));
}
getBank().withdrawAll("Gold bar");
sleep(random(100,200));
getBank().close();
}
break;

case MAKEAMULETS:
state = "Walking To The Furnace";
execute(walkingEvent2);
state = "Crafting Amulets";
if(getWidgets().isVisible(446, 32))
{
getWidgets().interact(446,32,"Make-X");
sleep(random(1200,2100));
long amount = getInventory().getAmount("Gold bar");
String amount1 = String.valueOf(amount);
getKeyboard().typeString(amount1, true);
sleep(random(1000,2300));
new ConditionalSleep(50000)
{
@Override
public boolean condition() throws InterruptedException
{
return !getInventory().contains("Gold bar") || getDialogues().inDialogue();
}
}.sleep();
}
else
{
Entity furnace = objects.closest("Furnace");
getInventory().interact("Use", "Gold bar");
sleep(random(150,300));
furnace.interact("Use");
new ConditionalSleep(5000)
{
@Override
public boolean condition() throws InterruptedException
{
return getWidgets().isVisible(446, 32);
}
}.sleep();
sleep(random(300,900));
}
break;

case IDLE:
state = "You do not have lv8 Crafting!";
break;
}
return random(300,600);
}

@Override
public void onExit() {

}


@Override
public void onPaint(Graphics2D g)
{
long ss = (System.currentTimeMillis() - startTime) / 1000;
long mm = ss / 60;
long hh = mm / 60;
Font font = new Font("Sans-Serif", Font.BOLD, 14);
g.setColor(Color.BLACK);
g.setFont(font);
g.drawString("EXP Gained: " + getExperienceTracker().getGainedXP(Skill.CRAFTING) + " (" + getExperienceTracker().getGainedXPPerHour(Skill.CRAFTING) + ")", 8, 333);
g.drawString("Run time: " + hh + "h" + ":" + mm%60 + "m" + ":" + ss%60 + "s" , 8, 318);
g.drawString("Status: " + state, 8, 303);
}

}

Edited by justanotherkid
  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...