Jump to content

Devs

Member
  • Content count

    12
  • Joined

  • Last visited

About Devs

  • Rank
    Bronze Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. If you guys need any plugins made, let me know
  2. Devs

    508 Clean Base

    A couple of updates that I thought I'd share with you guys. I won't post a new download yet as these updates are still a little messed up in places! I have started working on a quest system. Quest completion has been completed and the main structure has been done. Teleport tabs are now functioning. Coordinate facing is now added. You now face objects when clicked. Configured the summoning pouch/scroll creation interfaces. Small start on drop broadcasts.
  3. I wish you guys all the best. Fingers crossed on finding a new trustworthy developer!
  4. Devs

    508 Clean Base

    Eurm... This is my release from Rune-Server. never mind. I saw the bottom. Thanks for posting here
  5. Devs

    Incite - 2008

    Hahaha, just a habbit ;) Thanks :)
  6. Devs

    Incite - 2008

    I thought I would post my project on RuneLocus as well. It is currently halted but I do hope to continue with he project when I get more time. Incite is based on the 508 revision of Runescape. Why? RuneScape's peak time, only just releasing their HD version of the game. There is something about 508's graphics, they are stunning. Visuals is the main thing players look for and 508 has just that. If you are not a fan of RuneScape in HD, we will also offer a LD client once the server is public. Our main focus right now is to manipulate of the skills to roughly 90% completion. Once we have achieved that we will then expand on our combat system creating an addictive PVM experience. I shall be posting updates in new replies. Class this post as a landing page. To see even more progress, keep scrolling down to the comments. ]
  7. Devs

    Hello

    Your best bet is during your free time, expand your knowledge on Java and the way's RuneScape servers are programmed altogether before looking at hosting a game. It is never a good idea to download a source, move a few npc's, change the home around a bit and of course... change the welcome messages using notepad because that will get you no where and you'll be wasting your time. In order to get a successful server you either need to be lucky or create something unique which is very difficult to do nowa days. You also need to be willing to put money in at the very start to get money in return (VPN hosting, Web Hosting) ect... I'm not digging at you because we all wanted to host a server as soon as we can :P If you want help when it comes to learn a bit more about rsps and java, feel free to let me know and Ill show you a few things :)
  8. Devs

    setting up rs3?

    First, try running through eclipse and see what happens then. If its the same let us know.
  9. Devs

    Lotus - 569

    Bloody beautiful :)
  10. Devs

    Thieving

    It's not the best , ngl but it works very well considering it took me like 45 minutes. I am no good when creating formula's so there is no fail when you attempt to pick pocket or steal from a stall. If someone wishes to create a formula for this... That would be epic. It still needs configuring. I have done a few for you :) It needs tweaking. It would be better to use containers in the enum for the items and change the way the enum's are accessed. Enjoy :) Tested revision - 508 Create an Enum class named PocketData public enum PocketData { MAN(new int[] {1}, 1, 8.0, 1, new int[] {995, Misc.random(200)}); private int[] npcID; private int levelRequired; private double experience; private int damage; private int[][] loot; PocketData(int[] npcID, int levelRequired, double experience, int damage, int[]... loot) { this.npcID = npcID; this.levelRequired = levelRequired; this.experience = experience; this.damage = damage; this.loot = loot; } public int[] getNpcID() { return npcID; } public int getLevelRequired() { return levelRequired; } public double getExperience() { return experience; } public int getDamage() { return damage; } public int[][] getLoot() { return loot; } Create an Enum Class named StallData: public enum StallData { SILK_STALL(new int[][] { { 34383, 34381 } }, 1, new int[] { 950 }, 20, 24, 8000), FUR_STALL(new int[][] { { 34387, 34381 } }, 0, new int[] { 6814, 958 }, 35, 36, 1200), SPICE_STALL(new int[][] { { 34386, 34381 } }, 0, new int[] { 2007 }, 65, 81.3, 8000); private int[][] objectId; // The ID of the full stall, the id of the replacement private int face; //3 = West, 2 = South, 1 = East, 0 = North private int[] possibleLoot; // The possible loot private int requiredLevel; // The required level private double experience; // The experience given private int respawnTime; // The respawn time StallData(int[][] objectId, int face, int[] possibleLoot, int requiredLevel, double experience, int respawnTime) { this.objectId = objectId; this.face = face; this.possibleLoot = possibleLoot; this.requiredLevel = requiredLevel; this.experience = experience; this.respawnTime = respawnTime; } public int[][] getObjectId() { return objectId; } public int[] getPossibleLoot() { return possibleLoot; } public int getRequiredLevel() { return requiredLevel; } public double getExperience() { return experience; } public int getRespawnTime() { return respawnTime; } public int getFace() { return face; } public void setFace(int face) { this.face = face; } Create a new class called Thieving and add this: public class Thieving { private static final int STALL_ANIMATION = 832; //private static final String FAIL = "What do you think you're doing?!"; /** * Handles the stall * TODO: Add NPC attacking when a player fails * @param player * @param id * @param x * @param y * @return */ public static boolean attemptStall(Player player, int id, int x, int y) { for (StallData stall : StallData.values()) { if (id == stall.getObjectId()[0][0]) { if (player.getTemporaryAttribute("stallTimer") != null) { if (System.currentTimeMillis() - (Long) player.getTemporaryAttribute("stallTimer") < 2500) { return false; } } int randomItem = stall.getPossibleLoot()[Misc.random(stall.getPossibleLoot().length - 1)]; if (!player.getInventory().hasRoomFor(randomItem, 1)) { player.getPackets().sendMessage("Not enough space in your inventory."); return false; } if (player.getSkills().getLevel(Skills.THIEVING) < stall.getRequiredLevel()) { player.getPackets().sendMessage("You need a Thieving level of " + stall.getRequiredLevel() + " to steal from this stall."); return false; } player.animate(STALL_ANIMATION); player.setTemporaryAttribute("stallTimer", (Long) System.currentTimeMillis()); World.getInstance().registerEvent(new Event(1000) { @Override public void execute() { player.getPackets().sendCreateObject(stall.getObjectId()[0][1], player.getLocation().getZ(), x, y, stall.getFace(), 10); player.getPackets().sendMessage("You steal from the " + Misc.formatPlayerNameForDisplay(stall.name().toLowerCase()) + "."); player.getInventory().addItem(randomItem, 1); player.getSkills().addXp(Skills.THIEVING, stall.getExperience()); this.stop(); } }); World.getInstance().registerEvent(new Event(stall.getRespawnTime()) { @Override public void execute() { player.getPackets().sendCreateObject(id, player.getLocation().getZ(), x, y, stall.getFace(), 10); this.stop(); } }); return true; } } return false; } public static boolean attemptPick(Player player, int id) { for (PocketData pick : PocketData.values()) { if (id == pick.getNpcID().length) { if(player.isAttacking()){ player.getPackets().sendMessage("You can't pickpocket during combat."); return false; } if (player.getSkills().getLevel(Skills.THIEVING) < pick.getLevelRequired()) { player.getPackets().sendMessage("You need a Thieving level of " + pick.getLevelRequired() + " to pick the " + NPCDefinition.forId(id).getName() + "'s pocket."); return false; } player.animate(881); player.getPackets().sendMessage("You attempt to pick the " + NPCDefinition.forId(id).getName() + "'s pocket."); //START THE EVENT //TODO: ADD FAIL World.getInstance().registerEvent(new Event(1500) { @Override public void execute() { int[] random = pick.getLoot()[Misc.random(pick.getLoot().length-1)]; player.getInventory().addItem(random[0], random[1] + (random.length > 2 ? Misc.random(random[2]) : 0)); player.getPackets().sendMessage("You pick the " + NPCDefinition.forId(id).getName() + "'s pocket."); player.getSkills().addXp(Skills.THIEVING, pick.getExperience()); this.stop(); } }); return true; } } return false; } } Go to where you handle your Objects and NPC's and add this! if(Thieving.attemptStall(player, id, x, y)) { return; } if (Thieving.attemptPick(player, id)) { return; }
×