Can anyone figur this out?
[ERROR][06/30 05:57:53 PM]: Failed to load jar file : UnicowSlayer.jar
[ERROR][06/30 05:57:53 PM]: Failed to load local scripts!
java.lang.NullPointerException
at org.osbot.Con.iiIIiiIIII(d:209)
at org.osbot.nUl.IiIIIiIIII(i:210)
at org.osbot.BotApplication.IIIIiiIIII(hn:419)
at org.osbot.BotApplication.main(hn:119)
[INFO][06/30 05:57:53 PM]: Loaded 0 local scripts and 0 custom random solvers!
[DEBUG][06/30 05:57:53 PM]: OSBot is now ready!
And heres the script
import java.awt.Graphics;
import org.osbot.rs07.script.MethodProvider;
import org.osbot.rs07.script.Script;
import org.osbot.rs07.script.ScriptManifest;
import org.osbot.rs07.api.map.Position;
import org.osbot.rs07.api.model.GroundItem;
import org.osbot.rs07.api.model.NPC;
import org.osbot.rs07.api.model.Player;
import org.osbot.rs07.api.model.RS2Object;
import org.osbot.rs07.api.Bank;
import org.osbot.rs07.api.Inventory;
import org.osbot.rs07.api.ui.Spell;
@ScriptManifest(author = "Ikke", name = "2", version = 1.0, info = "3")
public class UnicowSlayer extends Script {
int walkpath;
private int[][] BankToTowerDoor = new int[][]{
{2637,3289},
{2618,3290},
{2608,3275},
{2616,3257},
{2634,3251},
{2636,3234},
{2649,3225},
};
private int[][] ToAltar = new int[][]{
{3038,4376},
{3032,4392},
{3020,4405},
{3019,4409},
};
int parent = 241;
int child = 3;
int opendoor;
int climbdown;
public int onLoop() throws InterruptedException{
Inventory i = client.getInventory();
Player p = client.getMyPlayer();
RS2Object door = closestObjectForName("Tower door");
RS2Object trapdoor = closestObjectForName("Trapdoor");
RS2Object bank = closestObjectForName("booth");
RS2Object altar = closestObjectForName("Symbol of life");
NPC cow = closestAttackableNPCForName("Unicow");
GroundItem horn = closestGroundItemForName("Unicorn horn");
Bank b = client.getBank();
int amount = i.getItemForName("Unicorn horn").getAmount();
if(i.contains("Cowhide") && i.contains("Unicorn horn") && altar == null && trapdoor == null){
WalkAlongPath(BankToTowerDoor , true);
}
if(door != null){
if(door.isVisible()){
door.interact("Open");
opendoor++;
sleep(random(1300 , 1700));
walkExact(new Position(2648,3213 , 0));
if(trapdoor != null){
if(trapdoor.isVisible()){
trapdoor.interact("Climb-down");
climbdown++;
sleep(random(1300 , 1700));
WalkAlongPath(ToAltar , true);
}
}
}
}
if(altar != null){
if(altar.isVisible()){
if(i.contains("Cowhide") && i.contains("Unicorn horn") && client.getInterface(241).getChild(3) == null && cow == null){
i.interactWithName("Unicorn horn", "Use");
sleep(random(1300 , 1700));
i.interactWithName("Cowhide", "Use");
sleep(random(1300 , 1700));
altar.interact("Activate");
client.getInterface(241).getChild(3).interact("Click here to continue");
}
}
}
if(cow != null){
if(cow.isVisible()){
if(!cow.isUnderAttack()){
if(p.isUnderAttack()){
cow.interact("Attack");
sleep(random(1300 , 1700));
}
}
}
}
if(horn != null){
if(horn.isVisible()){
horn.interact("Take");
sleep(random(1300 , 1700));
}
}
if(altar != null){
if(altar.isVisible()){
if(!i.contains("Cowhide")){
magicTab.castSpell(Spell.ARDOUGNE_TELEPORT);
opendoor--;
climbdown--;
sleep(random(1300 , 1700));
walkExact(new Position(2652,3290,0));
walkExact(new Position(2663,3304,0));
sleep(random(4000 , 6000));
if(bank != null){
if(bank.isVisible()){
bank.interact("Bank");
sleep(random(1100 , 1700));
}
}
}
}
}
if(i.contains("Cowhide") && b.isOpen()){
if(amount >= 2){
b.deposit(237 , 100);
}
sleep(random(1100 , 1700));
b.withdraw10(1739);
sleep(random(1100 , 1700));
b.withdraw1(237);
}
return 50;
}
public void onPlayerMessage(String username, String message) throws InterruptedException {
}
public void onMessage(String message) {
}
public void onPaint(Graphics graphics) {
}
public void onStart() {
}
public void onExit() {
}
public boolean WalkAlongPath(int[][] path, boolean AscendThroughPath, int distanceFromEnd) {
if (distanceToPoint(AscendThroughPath ? path[path.length - 1][0] : path[0][0],
AscendThroughPath ? path[path.length - 1][1] : path[0][1]) <= distanceFromEnd)
return true;
else {
WalkAlongPath(path, AscendThroughPath);
return false;
}
}
public void WalkAlongPath(int[][] path, boolean AscendThroughPath) {
int destination = 0;
for (int i = 0; i < path.length; i++)
if (distanceToPoint(path[i][0], path[i][1]) < distanceToPoint(path[destination][0], path[destination][1]))
destination = i;
if (client.getMyPlayer().isMoving() && distanceToPoint(path[destination][0], path[destination][1]) > (isRunning() ? 3 : 2))
return;
if (AscendThroughPath && destination != path.length - 1 || !AscendThroughPath && destination != 0)
destination += (AscendThroughPath ? 1 : -1);
try {
log("Walking to node:" + destination);
walk(new Position(path[destination][0], path[destination][1], 0));
Thread.sleep(700 + MethodProvider.random(600));
} catch (InterruptedException e) {
e.printStackTrace();
}
}
private int distanceToPoint(int pointX, int pointY) {
return (int) Math.sqrt(Math.pow(client.getMyPlayer().getX() - pointX, 2)
+ Math.pow(client.getMyPlayer().getY() - pointY, 2));
}
}