Jump to content

Empires

Members
  • Posts

    11
  • Joined

  • Last visited

  • Feedback

    0%

Profile Information

  • Gender
    Male

Recent Profile Visitors

681 profile views

Empires's Achievements

Newbie

Newbie (1/10)

1

Reputation

  1. Thanks a lot for this, really easy to understand and helped me out )
  2. Lol its a bit of a habit its how they have us explain everything in my CS course, ill tone it down next time :L
  3. chill. well it is my first time writing one so its obviously gonna be a bit meh, but I did just ask you why it sucks so if you can list stuff can you let me know what about it that makes it bad?
  4. omg it works hahaha thanks so much ) been stuck for literally like 2 hours -_-
  5. Thanks for reply, would you be able to hint me on how to do that? I tried using playerInventory.initializeModule() at the start of my onLoop() and it compiled but still crashed. Am I doing that right? sorry for basic bitch question, first time scripting ://
  6. I'm trying to make a basic chicken killer that collects feathers and buries bones. I had it attacking and collecting feathers fine but as soon as I added the bury option/case it breaks completely as it just stands there doing nothing. On top of this the client is also unresponsive forcing me to use task manager to close down the bot. Any ideas? Thanks import org.osbot.rs07.api.Inventory; import org.osbot.rs07.api.model.Character; 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.script.Script; import org.osbot.rs07.script.ScriptManifest; import java.awt.*; @ScriptManifest(name = "EmpiresChickenKiller", author = "Empires", version = 1.0, info = "", logo = "") public class EmpiresChickenKiller extends Script { @Override public void onStart() { log("Welcome to EmpiresChickenKiller."); log("Lets get started..."); } private enum State { ATTACK, WAIT, BURY }; private Inventory playerInventory; private State getState(){ if(myPlayer().isMoving() || combat.isFighting() || myPlayer().isUnderAttack()) return State.WAIT; else if(playerInventory.getEmptySlotCount() > 0) return State.ATTACK; else return State.BURY; } @Override public int onLoop() throws InterruptedException { switch(getState()) { case ATTACK: GroundItem featherCollect = groundItems.closest("Feather"); if(featherCollect != null) featherCollect.interact("Take"); sleep(random(500,700)); GroundItem bonesCollect = groundItems.closest("Bones"); if(bonesCollect != null) bonesCollect.interact("Take"); sleep(random(400,600)); NPC targetChicken = npcs.closest("Chicken"); if(!targetChicken.isOnScreen()) camera.toEntity(targetChicken); if(targetChicken != null && !targetChicken.isUnderAttack() && (targetChicken.getHealth() != 0)) targetChicken.interact("Attack"); sleep(random(500,800)); break; case WAIT: sleep(random(300,500)); break; case BURY: playerInventory.dropAllExcept("Feathers", "Bones"); while(playerInventory.contains("Bones")) playerInventory.interact("Bury", "Bones"); sleep(random(200,310)); break; } return 100; } @Override public void onExit() { log("Thanks for using my script!"); } @Override public void onPaint(Graphics2D g) { //This is where you will put your code for paint(s) } }
  7. Hi guys, I'm new to scripting, and since this is my first time programming without guidance I had a quick question to try and get me off to a good start. Lets say I had a basic chicken killer script that kills chickens in either Lumbridge or Falador depending on what the user selects in the GUI. How would I structure this program into classes to minimise the redundant code regarding the methods between the two locations would be slightly different. Would I be able to build a class hierarchy based around the two locations and then inherit from the class that matches the users needs based on the location selected? Basically I'm just wanting to know what functionality should I be grouping together in my classes to allow minimum processing time and redundant code, and if I'm able to inherit from specific classes based on the GUI input (unless this isnt necessary/possible or theres a better way). Sorry for the noob question, I just want to be off to a good start, tyty:)
×
×
  • Create New...