Posted September 28, 20177 yr comment_13282 Note, if you want to keep a track of clues completed simply create clue scroll points and have them called there. (String 47703) Client (RsInterface) : public static void clueScrolls(TextDrawingArea wid[]) { RSInterface tab = addInterface(47700); addSpriteLoader(47701, 959); addText(47702, "Clues Completed", wid, 1, 16750623, true, true); addText(47703, "-", wid, 2, 0xffffff, true, true); addText(47704, "Dig somewhere in the Edgeville bank", wid, 1, 16750623, true, true); addCloseButton(47705, 18535, 18536); tab.children(5); tab.child(0, 47701, 35, 60); tab.child(1, 47702, 93, 100); tab.child(2, 47703, 103, 123); tab.child(3, 47704, 252, 222); tab.child(4, 47705, 453, 77); } 959.png: Source: Create a Class called Clues: public class Clues { public static void dig(final Player player) { if(!player.getClickDelay().elapsed(2000)) return; player.getMovementQueue().reset(); player.getPacketSender().sendMessage("You start digging for clues.."); player.performAnimation(new Animation(830)); TaskManager.submit(new Task(2, player, false) { @Override public void execute() { /** * Clue scrolls */ if (inOneSpot(player.getPosition(), 1748, 5327) && player.getInventory().contains(2677)) { player.getPA().sendMessage("@gre@ You find a Casket!"); player.getInventory().delete(2677, 1); player.getInventory().add(2818, 1); } else if (inOneSpot(player.getPosition(), 3213, 3421) && player.getInventory().contains(2678)) { player.getPA().sendMessage("@gre@ You find a Casket!"); player.getInventory().delete(2678, 1); player.getInventory().add(2818, 1); } else if (inOneSpot(player.getPosition(), 3094, 3496) && player.getInventory().contains(2679)) { player.getPA().sendMessage("@gre@ You find a Casket!"); player.getInventory().delete(2679, 1); player.getInventory().add(2818, 1); } else if (inOneSpot(player.getPosition(), 3229, 3298) && player.getInventory().contains(2680)) { player.getPA().sendMessage("@gre@ You find a Casket!"); player.getInventory().delete(2680, 1); player.getInventory().add(2818, 1); } else if (inOneSpot(player.getPosition(), 2861, 3539) && player.getInventory().contains(2681)) { player.getPA().sendMessage("@gre@ You find a Casket!"); player.getInventory().delete(2681, 1); player.getInventory().add(2818, 1); } else if (inOneSpot(player.getPosition(), 3204, 3264) && player.getInventory().contains(2682)) { player.getPA().sendMessage("@gre@ You find a Casket!"); player.getInventory().delete(2682, 1); player.getInventory().add(2818, 1); System.out.println("inOneSpot"); } else player.getPacketSender().sendMessage("You find nothing of interest."); player.getMovementQueue().reset(); player.getPacketSender().sendClientRightClickRemoval(); player.getSkillManager().stopSkilling(); stop(); player.getMovementQueue().reset(); }}); player.getClickDelay().reset(); return; } static boolean hasClue(Player player) { if(player.getInventory().containsAny(2677, 2678, 2679, 2680, 2681, 2682)); return true; } private static boolean inOneSpot(Position pos, int x, int y) { return pos.getX() == x && pos.getY() == y; } } The sample I showed you (the clue) is done through ItemActionPacketListener Example of item usage: case 2677: player.getPacketSender().sendString(47704, "Dig in the Ancient Cavern Teleport Area").sendInterface(47700); break; case 2678: player.getPacketSender().sendString(47704, "Dig South of Varrock Square").sendInterface(47700); break; case 2679: player.getPacketSender().sendString(47704, "Dig Somewhere In Edgeville Bank").sendInterface(47700); break; case 2680: player.getPacketSender().sendString(47704, "Dig Somewhere In The Chicken Coop").sendInterface(47700); break; case 2681: player.getPacketSender().sendString(47704, "Dig somewhere In The Warrior Guild Teleport").sendInterface(47700); break; case 2682: player.getPacketSender().sendString(47704, "Dig somewhere in the Yak field").sendInterface(47700); break; Credits: Zivik/Tyler
December 19, 20186 yr comment_25746 Thank you for the snippet I will be sure to look into this some time! Keep them coming
February 1, 20205 yr comment_44427 Good Release, Appreciate your post sharing with the community, pretty helpful! Keep It G
Create an account or sign in to comment