Jump to content

Need help with my first script


Recommended Posts

Posted

Hi

This is my first script, and I believe I have it compiled right and everything... But whenever I run it from OSBot it makes OSBot stop responding and closes it... Is it my crappy script or what? 

I don't want it to bank or anything, just sit in the goblin hut and kill them... Help please?

Thanks so much.

 

 

 

 

 

 

 

 

 

 

 

 

 

import org.osbot.rs07.api.model.NPC;

import org.osbot.rs07.api.model.Player;

import org.osbot.rs07.script.Script;

import org.osbot.rs07.script.ScriptManifest;

import java.awt.*;

@ScriptManifest(author = "Jards", info = "A Script", name = "Goblin Killer", version = 0.01, logo = "")

public class main extends Script {

 

@Override

public void onStart() {

  log("Welcome to gusegger's bot!");

}

// all the states we can be in

private enum State {

  IDLE, ATTACKING_GOBLIN, IN_COMBAT, AT_FIELD

      };

// if player is by the goblin field  

public boolean atField() {

  Player player = myPlayer();

  int x = player.getPosition().getX();

  int y = player.getPosition().getY();

//stating if we're in these positions

  if ((x > 3242) && (x < 3249) && (y > 3243) && (y < 3249)) {

   log("x : " + x + " y " + y);

   log("You're at the goblins son!");

   return true;

  }

  log("x : " + x + " y : " + y);

  return false;

}

// seeing if we're in combat

public boolean inCombat() {

  if(myPlayer().isUnderAttack()) {

   log("We're in combat!");

   return true;

  }

  log("We're not in combat yet, punk!");

  return false;

}

public void killingGoblin() {

  NPC Goblin = npcs.closest("Goblin");

  if (Goblin != null && Goblin.getHealth() != 0 && Goblin.isAttackable()

        && Goblin.getName().contains("Goblin")) {

   if (map.canReach(Goblin)) {

    log("Attacking that punk ass goblin!");

    Goblin.interact("Attack");

   

   }

     

      } else {

   log("No goblins found!");

}

}

 

private State getstate() {

// if we are at the field of goblins but not in combat

// if we are at the field and in combat, set to in_combat

if (atField() && !inCombat())

  return State.ATTACKING_GOBLIN;

// if we are under attack, set to in_combat

if (myPlayer().isUnderAttack())

  return State.IN_COMBAT;

//if nothing is happening, set to idle

return State.IDLE;

}

@Override

public int onLoop() throws InterruptedException {

  switch (getstate()) {

  case IN_COMBAT:

  break;

 

  case ATTACKING_GOBLIN:

   log("Start killing a goblin!");

   killingGoblin();

   break;

  }

  return random(100,300);

}

@Override

public void onExit() {

  log("Thanks for using gusegger's bot!");

}

 

@Override

public void onPaint(Graphics2D g) {

  //NYI

}

}

 

Posted


import org.osbot.rs07.api.model.NPC;

import org.osbot.rs07.api.model.Player;

import org.osbot.rs07.script.Script;

import org.osbot.rs07.script.ScriptManifest;

import java.awt.*;

@ScriptManifest(author = "Jards", info = "A Script", name = "Goblin Killer", version = 0.01, logo = "")

public class main extends Script {

@Override

public void onStart() {

log("Welcome to gusegger's bot!");

}

// all the states we can be in

private enum State {

IDLE, ATTACKING_GOBLIN, IN_COMBAT, AT_FIELD

};

// if player is by the goblin field

public boolean atField() {

Player player = myPlayer();

int x = player.getPosition().getX();

int y = player.getPosition().getY();

//stating if we're in these positions

if ((x > 3242) && (x < 3249) && (y > 3243) && (y < 3249)) {

log("x : " + x + " y " + y);

log("You're at the goblins son!");

return true;

}

log("x : " + x + " y : " + y);

return false;

}

// seeing if we're in combat

public boolean inCombat() {

if(myPlayer().isUnderAttack()) {

log("We're in combat!");

return true;

}

log("We're not in combat yet, punk!");

return false;

}

public void killingGoblin() {

NPC Goblin = npcs.closest("Goblin");

if (Goblin != null && Goblin.getHealth() != 0 && Goblin.isAttackable()

&& Goblin.getName().contains("Goblin")) {

if (map.canReach(Goblin)) {

log("Attacking that punk ass goblin!");

Goblin.interact("Attack");

}

} else {

log("No goblins found!");

}

}

private State getstate() {

// if we are at the field of goblins but not in combat

// if we are at the field and in combat, set to in_combat

if (atField() && !inCombat())

return State.ATTACKING_GOBLIN;

// if we are under attack, set to in_combat

if (myPlayer().isUnderAttack())

return State.IN_COMBAT;

//if nothing is happening, set to idle

return State.IDLE;

}

@Override

public int onLoop() throws InterruptedException {

switch (getstate()) {

case IN_COMBAT:

break;

case ATTACKING_GOBLIN:

log("Start killing a goblin!");

killingGoblin();

break;

}

return random(100,300);

}

@Override

public void onExit() {

log("Thanks for using gusegger's bot!");

}

@Override

public void onPaint(Graphics2D g) {

//NYI

}

}

  • Like 3

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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