TheTechGuide Forum
General Category => Frag Fest => General Discussion => Topic started by: Mr K on December 10, 2008, 01:20:26 AM
-
I need 1 of 2 things. 1. Either a good FREE autofighter that can heal itself on Monks, or one that can just eat food at a certain HP level, and log out when it runs out and gets low. Or 2. an auto-woodcutter that banks everything.
Both need anti-random capabilities too.. Thanks.
P.S.: I can't seem to find one free that actually works.
-
use scar with scar scripts?
-
Does anyone make a script like that though? I too am looking for something along those lines.
-
here u go buddy, if it dosent work in scar pm me and ill give u more info on a dif autoer u can use that comes with 75-117 scripts
import com.speljohan.rsbot.script.Script;
import com.speljohan.rsbot.script.Skills;
import com.speljohan.rsbot.script.wrappers.*;
import com.speljohan.rsbot.event.listeners.PaintListener;
import com.speljohan.rsbot.bot.*;
import java.awt.*;
public class MonkMasher2 extends Script implements PaintListener{
/* Variable declaration */
int State; //State var
int fightStyle; //var from args
int antiBanned, walkbacked, lost, hometeled, fled; //counters
int currentPlane; //environment variables
int maxHP, startXP; //player stat
int runInt = random(1, 100);
int XPThing = 0;
double monksKilled;
int attack = Skills.getStatIndex("Attack");
int strength = Skills.getStatIndex("Strength");
int defence = Skills.getStatIndex("Defence");
int hitpoints = Skills.getStatIndex("Hitpoints");
int startAtkXp = skills.getCurrentSkillExp(attack);
int startStrXp = skills.getCurrentSkillExp(strength);
int startDefXp = skills.getCurrentSkillExp(defence);
int startHPXp = skills.getCurrentSkillExp(hitpoints);
int startAtkLvl = skills.getCurrentSkillLevel(attack);
int startStrLvl = skills.getCurrentSkillLevel(strength);
int startDefLvl = skills.getCurrentSkillLevel(defence);
boolean heal; //healing related vars
boolean globalDebug = true; //Gloabal settings
boolean timeDebug = true;
long startTime;
Graphics repaint;
RSNPC temp;
//Deathwalk Tiles
public static final RSTile[] walkback1 = new RSTile[] {
new RSTile(3234, 3219), new RSTile(3228, 3232),
new RSTile(3222, 3246), new RSTile(3217, 3260),
new RSTile(3216, 3273), new RSTile(3203, 3279),
new RSTile(3189, 3287), new RSTile(3189, 3300),
new RSTile(3176, 3310), new RSTile(3160, 3310),
new RSTile(3149, 3318), new RSTile(3145, 3329),
new RSTile(3144, 3343), new RSTile(3141, 3356),
new RSTile(3137, 3369), new RSTile(3129, 3382),
new RSTile(3127, 3383), new RSTile(3112, 3390),
new RSTile(3103, 3400), new RSTile(3089, 3400),
new RSTile(3080, 3408), new RSTile(3070, 3419),
new RSTile(3066, 3433), new RSTile(3056, 3441),
new RSTile(3051, 3454), new RSTile(3052, 3466),
new RSTile(3052, 3481), new RSTile(3051, 3489)};
public static final RSTile[] walkback2 = new RSTile[]{
new RSTile(3233, 3218), new RSTile(3230, 3231),
new RSTile(3222, 3239), new RSTile(3218, 3253),
new RSTile(3216, 3263), new RSTile(3216, 3276),
new RSTile(3203, 3279), new RSTile(3190, 3283),
new RSTile(3176, 3284), new RSTile(3161, 3286),
new RSTile(3149, 3295), new RSTile(3134, 3296),
new RSTile(3125, 3305), new RSTile(3124, 3317),
new RSTile(3132, 3328), new RSTile(3135, 3340),
new RSTile(3136, 3352), new RSTile(3137, 3365),
new RSTile(3133, 3377), new RSTile(3122, 3384),
new RSTile(3110, 3391), new RSTile(3102, 3400),
new RSTile(3089, 3399), new RSTile(3076, 3401),
new RSTile(3069, 3414), new RSTile(3067, 3428),
new RSTile(3064, 3439), new RSTile(3053, 3447),
new RSTile(3045, 3458), new RSTile(3052, 3470),
new RSTile(3052, 3476), new RSTile(3052, 3476)};
public RSTilePath toAbby = new RSTilePath(randomizePath(walkback1, 2, 3), this);
/* END Variable declaration */
/* Script and argument setup. */
public double getVersion() {
return(2.10);
}
public String getName() {
return("Monk Masher v.2!");
}
public String getAuthor( ) {
return("Ruroken");
}
public String getScriptCategory() {
return("Fighting - By Ruroken");
}
public String getScriptDescription() {
String html = "";
html += "<html>\n";
html += "<body>\n";
html += "<h2>" + getName() + " v" + getVersion() + "</h2><br>\n";
html += "Author: " + getAuthor() + "<br><br>\n";
html += "Description: Fights monks, heals at the abbot, if lost will tele to lumby and walkback, if dead will deathwalk.";
html += "<br>";
html += "Please enter an attack style. 0 = atk. 1 = str. 2 = def. 3 = shared xp.";
html += "<br>";
html += "<br>";
html += "Arguments:<input type=\"text\" name=\"args\">";;
html += "</body>\n";
html += "</html\n";
return(html);
}
public boolean onStart(String[] args) {
Bot.getEventManager().addListener(PaintListener.class, this);
startTime = System.currentTimeMillis();
fightStyle = Integer.parseInt(args[0]);
if (fightStyle < 0 || fightStyle > 4 || args[0] == null){
log("Please enter a CORRECT argument below.");
log("0 = atk. 1 = str. 2 = def. 3 = mixed XP.");
}
State = 0;
return(true);
}
public void onFinish() {
Bot.getEventManager( ).removeListener(PaintListener.class, this);
}
/* END script and argument setup. */
public int loop(){
try
{
switch (State)
{
case 0: //The first time setup. Will set all the vars and settings to default.
setCameraAltitude(true);
ruroSetRun(true, globalDebug);
enableRetaliate(true, globalDebug);
setFightMode(fightStyle);
maxHP = skills.getLvlByExp(skills.getCurrentSkillExp(hitpoints));
monksKilled = 0;
antiBanned = 0;
walkbacked = 0;
hometeled = 0;
lost = 0;
heal = false;
State++;
if (globalDebug) log("Finished the setup.");
return random(100, 200);
case 1: //Run this after every loop. Will tell the script where to go next.
maxHP = skills.getLvlByExp(skills.getCurrentSkillExp(hitpoints));
if ((skills.getCurrentSkillLevel(hitpoints) >= maxHP)) heal = false;
if (heal(false)) heal = true;
currentPlane = getPlane();
runInt = random(1, 100);
//if (globalDebug) progressReport();
if (findCombatRandoms()){
ruroSetRun(true, globalDebug);
flee();
}
temp = getNearestFreeNPCByName("Monk");
if (random(1, 100) +- 5 == 5 || (temp == null && inMonkArea())){
State = 6;
if (globalDebug) log("STATE = "+State);
return random(100, 200);
}
if (inMonkArea() && !heal){
State = 2; //Fight monks
if (globalDebug) log("STATE = "+State);
return random(100, 200);
}
if (heal && !getMyPlayer().isInCombat() && !getMyPlayer().isMoving() &&
getMyPlayer().getAnimation() != 0 && inMonkArea()){
State = 3; //Heal @ Abbot
if (globalDebug) log("STATE = "+State);
return random(500, 1000);
}
if (inLumby()){
State = 4; //Deathwalk
if (globalDebug) log("STATE = "+State);
return random(500, 1000);
}
if (!inMonkArea() && !inLumby() || currentPlane != 0){
State = 5; //Lost + Tele
if (globalDebug) log("STATE = "+State);
return random(500, 1000);
}
//if (globalDebug) log("State = "+State);
if (globalDebug) log("Couldnt pick a state!");
return random(100, 200);
case 2: //Fight the Monks
if (runInt+-random(20, 30) == getEnergy() && !isRunning() || getEnergy() == 100) ruroSetRun(true, globalDebug);
attackMonk();
State = 1;
return random(0, 500);
case 3: //Heal if needed
ruroSetRun(true, globalDebug);
talkToAbbot(globalDebug);
State = 1;
return random(500, 1000);
case 4: //Deathwalk
int a = random(1, 3);
if (a != 3){
toAbby = new RSTilePath(randomizePath(walkback1, 3, 3), this);
}else toAbby = new RSTilePath(randomizePath(walkback2, 3, 3), this);
toAbby.walkToEnd();
if (getMyPlayer().isMoving()) wait(random(1000, 1500));
walkbacked++;
State = 1;
return random(500, 1000);
case 5: //Lost + Tele
if (currentPlane != 0 && globalDebug) log("Plane is NOT zero. Lost.");
if (globalDebug) log("LOST!");
lost++;
homeTele();
State = 1;
return random(500, 1000);
case 6: //anti-ban
antiBan();
antiBanned++;
State = 1;
return random(500, 1000);
default: //If it somehow messes up, it will bring it back to stage 1.
log("RETURNING TO SATGE 1");
State = 1;
return random(100, 200);
}
}
catch (Exception e){
e.printStackTrace();
}
return random(500,1500);
}
/*ANTI-BAN*/
public void antiBan(){
int b = getFightMode();
int randFightMode = random(0, 3);
int x = Math.round(random(1, 10));
if (x == 2)
moveMouse(random(1, 450), random(1, 600));
if (x == 3)
openTab(random(0, 13));
if (x == 4)
clickMouse(random(1, 515), random(1, 337), false);
if (x == 5)
setCameraRotation(random(0, 360));
if (x == 6){
setFightMode(randFightMode);
wait(random(500, 1000));
setFightMode(
/cool.gif\' class=\'bbc_emoticon\' alt=\'B)\' />;
}
/*if (x == 7)
wait(random(500, 700));
if (x == 8)
wait(random(0, 10000));
if (x == 9)
wait(random(100, 400));*/
}
/*END ANTI-BAN*/
/* User Controlled Random Detection */
public boolean findCombatRandoms(){
String[] BAD_MONSTERS = {"Rock Golem", "Tree Spirit",
"Shade", "Evil Chicken", "Swarm", "River Troll", "Strange plant"};
int[] BAD_IDS = {421};
if (!isLoggedIn()){
return false;
}
RSCharacter interact = getMyPlayer().getInteracting();
if (interact instanceof RSNPC) {
RSNPC npc = (RSNPC) interact;
String name = npc.getName();
for (int n : BAD_IDS) {
if (npc.getID() == n) {
return true;
}
}
for (String n : BAD_MONSTERS) {
if (n.equals(name)) {
return true;
}
}
}
return false;
}
//SecurityBook, StrangeBox, Lamp, Talking
public boolean findFastRandoms(){
if (inventoryContains(9003)) return true;
if (inventoryContains(3062)) return true;
if (inventoryContains(2528)) return true;
String[] RandomNames = {"Mysterious Old Man",
"Drunken Dwarf", "Genie", "Security Guard", "Rick Turpentine",
"Dr Jekyll", "Cap'n Hand"};
RSNPC talker = getNearestNPCByName(RandomNames);
if (talker != null
&& talker.getMessage().contains(getMyPlayer().getName())) return true;
return false;
}
//NEED TO INCLUDE PILLORY AND GRAVE DIGGER.
//Certer, DrillDemon, FreakyForester, Frog, LostAndFound, Maze, Mime, Molly, PrisonPete.
//QuizShow, SandwichLady, ScapeRuneIsland.
public boolean findRandoms(){
if (findFastRandoms()) return true;
String[] randomNames = {"Niles", "Miles", "Giles"};
RSNPC rNPC = getNearestNPCByName(randomNames);
if (rNPC != null && rNPC.getMessage().contains(getMyPlayer().getName())) {
return true;
}
RSNPC demon = getNearestNPCByID(2790);
RSObject sign = findObject(10068);
if (sign != null || demon != null) return true;
RSNPC forester = getNearestNPCByName("Freaky Forester");
if (forester != null) {
wait(random(2000, 3000));
forester = getNearestNPCByName("Freaky Forester");
if (forester != null) return true;
}
RSTile frogTile = new RSTile(2464, 4782);
RSNPC frog = getNearestNPCByID(2470);
if((distanceTo(frogTile) <= 25) ||
(frog != null && frog.getMessage().contains(getMyPlayer().getName()))) return true;
RSTile LOSTANDFOUND = new RSTile(2338, 4747);
if (distanceTo(LOSTANDFOUND) <= 25) return true;
if (findObject(3626) != null) return true;
if (getNearestNPCByID(1056) != null) return true;
RSNPC molly = getNearestNPCByName("Molly");
RSObject chair = findObject(14997);
RSObject claw = findObject(14978);
if (molly != null && chair != null || claw != null) return true;
int[] tags = new int[] {15000, 15002, 15004, 15006, 15008};
if (findObject(15, tags) != null) return true;
if(getNearestNPCByID(3118) != null && distanceTo(new RSTile(2100, 4467)) < 30) return false;
RSNPC quizer = getNearestFreeNPCByID(2477);
if (quizer != null && RSInterface.getInterface(191).isValid());
RSNPC lady = getNearestNPCByID(3117);
if (lady.isInteractingWithLocalPlayer()) return true;
if (findObject(8985) != null) return true;
return false;
}
/* END User Controlled Random Detection */
/*SETTINGS SETTERS AND DETECTORS*/
public boolean enableRetaliate(boolean Do, boolean debug){
if (isRetaliateEnabled() == Do){
if (debug) log("isRetaliateEnabled = "+isRetaliateEnabled());
if (debug) log("!isRetaliateEnabled = "+!isRetaliateEnabled());
if (debug) log("!isRetaliateEnabled() == Do");
return false;
}else{
if (debug) log("isRetaliateEnabled = "+isRetaliateEnabled());
if (debug) log("!isRetaliateEnabled = "+!isRetaliateEnabled());
openTab(TAB_ATTACK);
wait(random(0, 1000));
clickMouse(random(575, 710), random(360, 395), true);
wait(random(0, 1000));
return true;
}
}
//by Guthan, edit by me.
public int runPercent(){
RSInterfaceChild runEnergy = RSInterface.getChildInterface(750, 4);
return(Integer.parseInt(runEnergy.getText()));
}
public void ruroSetRun(boolean enable, boolean debug) {
if (isRunning() == enable) {
if (debug) log("isRunning = "+isRunning());
if (debug) log("!isRunning = "+!isRunning());
if (debug) log("isRunning() == enable");
return;
}
if (debug) log("isRunning = "+isRunning());
if (debug) log("!isRunning = "+!isRunning());
if (getCurrentTab() != TAB_OPTIONS) {
openTab(TAB_OPTIONS);
}
clickMouse(random(627, 656), random(417, 440), true);
}
/*END SETTING SETTERS AND DETECTORS*/
/*PROGRESS REPORT METHODS*/
public void progressReport(){
//Time calculations by Aelin
long hours = 0, minutes = 0, seconds = 0;
long time;
time = System.currentTimeMillis( ) - startTime;
seconds = (time / 1000);
if ( seconds >= 60 ) {
minutes = (seconds / 60);
seconds -= (minutes * 60);
}
if ( minutes >= 60 ) {
hours = (minutes / 60);
minutes -= (hours * 60);
}
log("Attacked "+ monksKilled + " monks."+
" Walked back: "+walkbacked+". Lost: "+lost+". Teleported: "+hometeled+". Anti-Banned: "+antiBanned+". " +
"Fled: "+fled+".");
log("Gained " + (skills.getCurrentSkillLevel(attack) - startAtkLvl) + " ATK lvls, "
+ (skills.getCurrentSkillLevel(strength) - startStrLvl) + " STR lvls, "
+ (skills.getCurrentSkillLevel(defence) - startDefLvl) + " DEF lvls, "
+ ((hitpointsLvl()) + " HP lvls."));
log("Gained " + (skills.getCurrentSkillExp(attack) - startAtkXp) + " ATK XP, "
+ (skills.getCurrentSkillExp(strength) - startStrXp) + " STR XP, "
+ (skills.getCurrentSkillExp(defence) - startDefXp) + " DEF XP, "
+ (skills.getCurrentSkillExp(hitpoints) - startHPXp) + " HP XP.");
log(skills.getXPToNextLevel(attack) + " xp to the next ATK lvl. "+skills.getPercentToNextLevel(attack)+"% done.");
log(skills.getXPToNextLevel(strength) + " xp to the next STR lvl. "+skills.getPercentToNextLevel(strength)+"% done.");
log(skills.getXPToNextLevel(defence) + " xp to the next DEF lvl. "+skills.getPercentToNextLevel(defence)+"% done.");
if (hitpointsLvl() == maxHP) log(skills.getXPToNextLevel(hitpoints) + " xp to the next HP lvl. "+skills.getPercentToNextLevel(hitpoints)+"% done.");
log("Time Running: "+hours+" Hours, "+minutes+" Minutes, "+seconds+" Seconds.");
}
/*END PROGRESS REPORT METHODS*/
/*AREA DETECTION*/
public boolean inArea (int x1, int y1, int x2, int y2, boolean debug) {
int CurX, CurY;
CurX = getMyPlayer().getLocation().getX();
CurY = getMyPlayer().getLocation().getY();
if (x1 < x2 && y1 < y2) {
if (CurX >= x1 && CurY >= y1 && CurX <= x2 && CurY <= y2){
return true;
}
}
if (debug) {
log("NOT in the area of " + x1 + ", " + y1 + ", " + x2 + ", " + y2 + ".");
}
return false;
}
public boolean inMonkArea(){
return(inArea(3041, 3479, 3062, 3501, false));
}
public boolean inLumby(){
return(inArea(3217, 3213, 3226, 3225, false));
}
/*END AREA DETECTION*/
/*HEALING RELATED*/
public boolean heal(boolean debug){
double a = skills.getCurrentSkillLevel(hitpoints);
double z = random(5, 9);
if (debug) log("Health is : " + a + ". Will heal at : " + z);
if (a == z +- 2 || a <= 5) return true;
return false;
}
public int hitpointsLvl(){
if (skills.getCurrentSkillLevel(hitpoints) >= skills.getLvlByExp(startHPXp)){
maxHP = skills.getLvlByExp(hitpoints);
return skills.getCurrentSkillLevel(hitpoints) - skills.getLvlByExp(startHPXp);
}
return 0;
}
/*END HEALING RELATED*/
/*ATTACKING METHODS*/
public boolean attackMonk(){
RSNPC monk = getNearestFreeNPCByName("Monk");
int startHPXP = skills.getCurrentSkillExp(STAT_HITPOINTS);
if (monk != null && !monk.isInCombat() && !monk.isInteractingWithLocalPlayer()){
atNPC(monk, "Attack");
wait(500);
while (getMyPlayer().isMoving()) wait(random(100, 200));
wait(random(2500, 3000));
while (skills.getCurrentSkillExp(STAT_HITPOINTS) < startHPXP + Math.round(15 * 1.3333)
&& getMyPlayer().isInCombat()){
wait(100);
log((startHPXP + Math.round(15 * 1.3333))+":"+skills.getCurrentSkillExp(STAT_HITPOINTS));
}
if (globalDebug) log("Done fighting");
wait(1500);
return true;
}
return false;
}
/*ATTACKING METHODS*/
/*ABBOT RELATED METHODS*/
public void recalibrate(){
RSTile c = new RSTile(random(3048, 3059), random(3489, 3492));
walkTileMM©;
wait(random(100, 300));
while (getMyPlayer().isMoving()) wait(random(100, 300));
}
public void toAbbot(){
RSTile c = new RSTile(random(3055, 3059), random(3489, 3493));
RSTile d = new RSTile(random(3058, 3059), random(3485, 3488));
int f = random(1, 2);
if (!inArea(3054, 3481, 3059, 3488, true)) recalibrate();
wait(500 + random(200, 400) - random(0, 200));
while (getMyPlayer().isMoving() || getMyPlayer().isInCombat())
wait(200 + random(200, 400) - random(0, 200));
if (f == 1 && !inArea(3054, 3481, 3059, 3488, true)){
walkTileMM©;
} if (f == 2 && !inArea(3054, 3481, 3059, 3488, true)) {
walkTileMM(d);
}
wait(500 + random(200, 400) - random(0, 200));
while (getMyPlayer().isMoving()) wait(200 + random(200, 400) - random(0, 200));
}
public void talkToAbbot(boolean debug){
if (!inArea(3054, 3481, 3059, 3488, true)) recalibrate();
if (getMyPlayer().isInCombat() || getMyPlayer().isMoving()) {
if (debug){
log("Waiting to get out of combat / movement before talking.");
}
wait(500 + random(200, 400) - random(0, 200));
while (getMyPlayer().isMoving() || getMyPlayer().isInCombat())
wait(200 + random(200, 400) - random(0, 200));
}
RSNPC abbot = getNearestNPCByID(801);
if (debug) log("Tried to find the abbot by ID.");
if (abbot == null){
log("Abbot is null!");
return;
}else log("Abbot has been found.");
RSTile me = new RSTile(getMyPlayer().getLocation().getX(), getMyPlayer().getLocation().getY());
RSTile him = new RSTile(abbot.getLocation().getX(), abbot.getLocation().getY());
if (distanceBetween(me, him) > 10 || !tileOnMap(him)){
toAbbot();
}
while (getMyPlayer().isMoving()) wait(random(400, 100));
wait(random(100, 400));
while (getMyPlayer().isMoving()) wait(random(400, 100));
abbot = getNearestNPCByID(801);
atNPC(abbot, "talk");
wait(2000 + random(200, 400) - random(0, 200));
while (getMyPlayer().isMoving()) wait(random(400, 100));
wait(random(1000, 2000));
if (canContinue()){
clickContinue();
wait(random(1000, 2000));
clickMouse(random(160, 360), random(390, 400), true);
wait(random(1000, 2000));
while (canContinue()) clickContinue();
}
}
/*END ABBOT RELEATED METHODS*/
/*HOME TELE/LOST RELATED METHODS*/
public boolean isTeleing(){
int[] teleAnims = {1722, 1723, 1724, 1725, 2798, 2799, 2800, 3195,
4643, 4645, 4847, 4848, 4850, 4851, 4852};
for(int i = 0; i < teleAnims.length; i++) {
if(getMyPlayer().getAnimation() == teleAnims)
{
return true;
}
}
return false;
}
/**
* public void logout(int w)
* By: Ruroken
* Use: Use to logout.
* @param w : how log you want to logout for. -1 if you want to logout and stop all scripts.
*/
public void logout(int w){
int a = 0;
clickMouse(753, 9, 5, 10, true);
wait(random(300, 700));
if (getCurrentTab() == TAB_LOGOUT){
clickMouse(578, 366, 120, 20,true);//coords by alowaniak
if (w == -1) stopAllScripts();
wait(w);
login();
}else{
log("LOGOUT TAB IS GONE! TIMING OUT!");
while (!isLoginScreen() || a < 2400) {
wait(100);
a++;
}
if (isLoggedIn()) log("TIMEOUT FAILED! STOPING ALL SCRIPTS ANYWAY!");
stopAllScripts();
}
}
public boolean homeTele(){
if (!isTeleing()){
if(getCurrentTab() != TAB_MAGIC){
openTab(TAB_MAGIC);
wait(random(500, 2000));
}
if (getCurrentTab() == TAB_MAGIC) {
castSpell(1);
}
wait(random(2000, 2500));
if (!isTeleing() && getCurrentTab() == TAB_MAGIC && !inLumby()) {
log("Home Telport is still cooling down. Waiting.");
logout(1800000 + random(300000 / 2, 300000));
return false;
}else{
while (isTeleing()) wait(random(2000, 2500));
wait(random(2000, 2500));
hometeled++;
return inLumby();
}
}
return false;
}
/*HOME TELE/LOST RELATED METHODS*/
//By Darkmax, modded to my liking. No sense reinventing the wheel
/tongue.gif\' class=\'bbc_emoticon\' alt=\':P\' />
public boolean flee() {
RSTile a, b, c;
a = getMyPlayer().getLocation();
b = new RSTile(a.getX() +- 10 +- random(0, 3), a.getY() +- 10 +- random(0, 3));
walkTileMM(
/cool.gif\' class=\'bbc_emoticon\' alt=\'B)\' />;
wait(random(10000, 20000));
c = new RSTile(a.getX() +- random(0, 2), a.getY() +- random(0, 2));
walkTileMM©;
if (globalDebug) log("FLED!");
fled++;
return true;
}
//A good portion of this is only here thanks to the guidance and borrowed code of Guthan.
//Three cheers for Guthan!
public void onRepaint(Graphics g){
int d;
Color BLACK = new Color(0, 0, 0, 100);
Color GREEN = new Color(0, 255, 0, 255);
Color ORANGE = new Color(255, 128, 0, 255);
if(isLoggedIn()){
StringBuilder b = new StringBuilder();
attack = Skills.getStatIndex("Attack");
strength = Skills.getStatIndex("Strength");
defence = Skills.getStatIndex("Defence");
hitpoints = Skills.getStatIndex("Hitpoints");
long runTime = System.currentTimeMillis() - startTime;
long TotalSecs = runTime / 1000;
long TotalMins = TotalSecs / 60;
long TotalHours = TotalMins / 60;
int seconds = (int) TotalSecs % 60;
int minutes = (int) TotalMins % 60;
int hours = (int) TotalHours % 60;
if (hours < 10) b.append('0');
b.append(hours);
b.append(':');
if (minutes < 10) b.append('0');
b.append(minutes);
b.append(':');
if (seconds < 10) b.append('0');
b.append(seconds);
g.setColor(BLACK);
g.fill3DRect(5, 215, 350, 122, true);
g.setColor(GREEN);
g.drawString("Time Running " + b, 9, 230);
g.setColor(ORANGE);
monksKilled = Math.floor(((skills.getCurrentSkillExp(hitpoints) - startHPXp) / 1.3333) / 15);
g.drawString("Killed "+ monksKilled + " monks."+" Anti-Banned: "+antiBanned+". " +"Fled: "+fled+".", 9, 245);
d = (walkbacked-hometeled);
if (d < 0) d = 0;
g.drawString("Died: "+ d +". Walked back: "+walkbacked+". Lost: "+lost+". Teleported: "+hometeled+".", 9, 260);
g.drawString(skills.getXPToNextLevel(attack) + " xp to the next ATK lvl. "+skills.getPercentToNextLevel(attack)+"% done.", 9, 275);
g.drawString(skills.getXPToNextLevel(strength) + " xp to the next STR lvl. "+skills.getPercentToNextLevel(strength)+"% done.", 9, 290);
g.drawString(skills.getXPToNextLevel(defence) + " xp to the next DEF lvl. "+skills.getPercentToNextLevel(defence)+"% done.", 9, 305);
g.drawString("Gained " + (skills.getCurrentSkillLevel(attack) - startAtkLvl) + " ATK lvls. "
+ (skills.getCurrentSkillLevel(strength) - startStrLvl) + " STR lvls. "
+ (skills.getCurrentSkillLevel(defence) - startDefLvl) + " DEF lvls. "
+ ((hitpointsLvl()) + " HP lvls."), 9, 320);
g.drawString("Gained " + (skills.getCurrentSkillExp(attack) - startAtkXp) + " ATK XP. "
+ (skills.getCurrentSkillExp(strength) - startStrXp) + " STR XP. "
+ (skills.getCurrentSkillExp(defence) - startDefXp) + " DEF XP. "
+ (skills.getCurrentSkillExp(hitpoints) - startHPXp) + " HP XP.", 9, 335);
}
}
}
srry bout the lengthy reply guys =S
-
seems like a good code. My only concern is all the spelling mistakes :s and that smiley face. lol
-
ha, srry some of the stuff must have converted wen i pasted or sumthing idk
-
code tags bro, l2 use them.
-
even tho descrete got all his autos from me if u want some autos i got a legit one that does randoms and takes break like every 15-45 min then logs you back in, and you never get banned with it if u auto while ur near comp and u dont f up the randoms
IZ AMAZN and descrete has it too so if im not on and that doosh is skippin school again like he said he did today then get it from him or u can wait for me cuz im so much cooler
-
i got a sweet 1 is does everyting
-
i didnt get any of my scripts from american arm -.-
but death angel could u send me ur msn or that script?