Jump to content
View in the app

A better way to browse. Learn more.

RuneSuite RSPS Development

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted
comment_13282

 

d022dcf7b22ea07ad3dba706e7096b60.png

 

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:

29dhifr.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

  • 1 year later...
  • 3 months later...
  • 4 months later...
  • 5 months later...
  • 3 weeks later...
  • 2 years later...
  • 3 months later...

Create an account or sign in to comment

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.