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.

Sadboys

Members
  • Joined

  • Last visited

  1. This looks sick bro
  2. Sadboys changed their profile photo
  3. Hey all, A lot of people don't like PI and I can understand why (for more experienced developers) but I personally think that it is great for beginners and is very simple to use and learn from. Here is a completely clean PI base, very slightly cleaned further by myself. Minimal, hardly any files and is only a 27.56MB package, with the client and cache included. I'm not going to post media as it is literally a stripped down package all the essential functionality login, logout, save, load, walking, running, consumables, basic skilling, clipping, a command base etc. All credits to Sanity for this base. Full Package: https://mega.nz/#!Krhx1ZJQ Enjoy!
  4. Hey all, This is a really simple tutorial for adding shift drop into your stock Project Insanity (PI) client. It's a cool feature, loved by all RuneScape players. In your Client.java (inside src, under models.players) Add the following code public static boolean shiftPressed = false; What are we doing here? (For newcomers) Here, we are creating a boolean that we can refer back to later to check if the shift key is currently pressed. This variable will be changed by key event listeners as seen later on in this tutorial. Then use CTRL+F or your IDE search tool to find the following condition: if (j == 1 && menuActionRow > 0) { And you should see something like this (although it may vary if you are not using a fresh/stock PI): if(j == 1 && menuActionRow > 0) { int i1 = menuActionID[menuActionRow - 1]; if(i1 == 632 || i1 == 78 || i1 == 867 || i1 == 431 || i1 == 53 || i1 == 74 || i1 == 454 || i1 == 539 || i1 == 493 || i1 == 847 || i1 == 447 || i1 == 1125) { int l1 = menuActionCmd2[menuActionRow - 1]; int j2 = menuActionCmd3[menuActionRow - 1]; RSInterface class9 = RSInterface.interfaceCache[j2]; Underneath RSInterface class9 = RSInterface.interfaceCache[j2]; add: if (shiftPressed){ boolean hasDrop = false; int dropId = 0; for (int i = 0; i < menuActionName.length; i++){ if (menuActionName[i] == null) { continue; } // To check for destroyable items too if (menuActionName[i].contains("Drop") || menuActionName[i].contains("Destroy") || menuActionName[i].contains("Release")) { hasDrop = true; dropId = i; } } if (hasDrop) { doAction(dropId); return; } } What are we doing here? (For newcomers) Here, we are using the boolean shiftPressed to: firstly, check if the shift key has been pressed (which is set by the below event listeners) and we are then executing code based on the answer. If the shift key is pressed, then we are checking that the item has a drop, destroy or release option and dropping it. Now close your client.java, as we are done with this class and are moving onto another. Open RSApplet.java and search for: public final void keyPressed(KeyEvent keyevent) { And you should see: public final void keyPressed(KeyEvent keyevent) { idleTime = 0; int i = keyevent.getKeyCode(); int j = keyevent.getKeyChar(); Under this, add: if(keyevent.isShiftDown()){ client.shiftPressed = true; } Please note, if your client.java file has a capital c (Client.java), you will need to change this to Client.shiftPressed = true; What are we doing here? (For newcomers) Here we are inside the keyPressed method which deals with keys that are pressed, we are identifying the character that has been pressed and in this case, int i represents the key code of the character. So we are comparing it to KeyEvent.VK_SHIFT (the shift key), and if their codes match and we are telling the client that the shift key has been pressed and storing the answer into a boolean that we can refer back to and check on. Now search for: public final void keyReleased(KeyEvent keyevent) { You should see: public final void keyReleased(KeyEvent keyevent) { idleTime = 0; int i = keyevent.getKeyCode(); char c = keyevent.getKeyChar(); Under the last line of the above, add: if (i == KeyEvent.VK_SHIFT) { client.shiftPressed = false; } Again, please note, if your client.java file has a capital c (Client.java), you will need to change this to Client.shiftPressed = true; What are we doing here? (For newcomers) Here we are inside the keyReleased method which deals with keys that are released (unpressed), we are identifying the character that has been released and in this case, int i represents the key code of the character. So we are comparing it to KeyEvent.VK_SHIFT (the shift key), and if their codes match and we are telling the client that the shift key is no longer pressed and storing the answer into a boolean that we can refer back to and check on. _______________________________________ Now save and build your source and you will be good to go. Any questions, feel free to ask!
  5. Usually it's in your command class, if the player executing the command's rights are lower than the required rights it will force that chat. It's a pretty stupid "feature" especially if it's been put into a random file. The hard code as seen above is a horrible way of doing things because then you're allowing anyone to bank regardless of their rights and it's just going to clunk up your chat packet class.

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.