Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package other;
- import org.rspeer.runetek.adapter.component.InterfaceComponent;
- import org.rspeer.runetek.adapter.scene.Npc;
- import org.rspeer.runetek.adapter.scene.Pickable;
- import org.rspeer.runetek.adapter.scene.Player;
- import org.rspeer.runetek.adapter.scene.SceneObject;
- import org.rspeer.runetek.api.Game;
- import org.rspeer.runetek.api.commons.Time;
- import org.rspeer.runetek.api.component.GrandExchangeSetup;
- import org.rspeer.runetek.api.component.Interfaces;
- import org.rspeer.runetek.api.component.tab.*;
- import org.rspeer.runetek.api.scene.Npcs;
- import org.rspeer.runetek.api.scene.Pickables;
- import org.rspeer.runetek.api.scene.Players;
- import org.rspeer.runetek.api.scene.SceneObjects;
- import org.rspeer.runetek.event.listeners.RenderListener;
- import org.rspeer.runetek.event.listeners.TickListener;
- import org.rspeer.runetek.event.types.RenderEvent;
- import org.rspeer.runetek.event.types.TickEvent;
- import org.rspeer.script.Script;
- import org.rspeer.script.ScriptMeta;
- import org.rspeer.ui.Log;
- @ScriptMeta(developer = "Jort", name = "RSPeer Sample script", desc = "Sample script for RSPeer demonstrating the API.")
- public class BasicTestScript extends Script implements TickListener{ //you got a lot of listeners
- public RenderListener renderListener = this::onRenderEvent;
- public int tickCounter = 0;
- @Override
- public void onStart() { //does not require user to be logged in
- Log.fine("Sample script started."); //can log to file
- Game.getEventDispatcher().register(renderListener); //register this listener separately because of some conflict with tick listener
- }
- public final int delay = 10;
- @Override
- public int loop() {
- Log.info("Loop()");
- if(Players.getLocal().getTarget() == null){
- Player player = Players.getNearest(player1 -> player1 != null); //use predicates aka conditions
- if(player == null){
- return delay;
- }
- if(!player.interact("Follow")){
- return delay;
- }
- if(!Time.sleepUntil(() -> Players.getLocal().getTarget() != null, 2000)){
- return delay;
- }
- }
- Npc npc = Npcs.getNearest("Chicken");
- SceneObject bank = SceneObjects.getNearest("Bank"); //everything is static, no need to pass script instance to other classes
- Pickable groundItem = Pickables.getNearest("Bones");
- Magic.Autocast.isSpellSelected(Spell.Modern.WATER_STRIKE);
- GrandExchangeSetup.increasePrice(4);
- Prayers.isActive(Prayer.THICK_SKIN);
- Combat.getAttackStyle().equals(Combat.AttackStyle.DEFENSIVE);
- Equipment.contains("Rune platebody");
- return 2000;
- }
- @Override
- public void onStop() {
- Log.severe("Sample script stopped.");
- Game.getEventDispatcher().deregister(renderListener);
- }
- @Override
- public void notify(TickEvent tickEvent) {
- tickCounter++;
- }
- public void onRenderEvent(RenderEvent renderEvent) {
- renderEvent.getSource().drawString("Jort sample script", 10, 40);
- renderEvent.getSource().drawString("Tick: " + tickCounter, 10, 60);
- InterfaceComponent widget = Interfaces.getComponent(548, 40);
- if(widget != null){
- widget.draw(renderEvent.getSource());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment