Jump to content

Search the Community

Showing results for tags 'tutorials'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • RuneLocus
    • News & Announcements
    • Information Booth
    • Website Support
    • Introductions
    • Chat
    • Forum Games
  • RuneScape Development
    • RSPS General
    • RuneScape Private Server (RS2)
    • RuneScape Private Server (503+)
    • RuneScape Private Server (EoC 742+)
  • Other
    • Digital Art
    • Gaming
    • Webdevelopment
    • Computers
  • Marketplace
    • RuneScape Market
    • RSPS Market
    • Others Market
    • Freelance Middleman Services
  • Super Secret Club's Topics

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Found 14 results

  1. Currently taking C++ and my professor has a thick accent so I can't understand her very well. I went on a mission to find some sort of tutorial that could help me, and I found this. It helped clarify a few things I didn't understand, sharing because it might help you too. Video tutorials are provided. [LIST] [*][url]http://www.sololearn.com/Courses/[/url] [*] [*]PHP, Java, C++, JS & more. [/LIST] Thanks to [MENTION=209875]Jett[/MENTION] for providing a few more sources that may help with Programming. I'd like to point out that you'll probably be doing more reading here rather than watching videos. [LIST] [*]Best free tutorials website (go to the "TUTORIALS LIBRARY" dropdown menu): [*][url=http://www.tutorialspoint.com/]Tutorials Point[/url] [*] [*]Quick link for programming languages: [*][url=http://www.tutorialspoint.com/computer_programming_tutorials.htm]Tutorials for Computer Programming Languages[/url] [/LIST] [quote name='Jett']This site provides quick references, guides, and complete tutorials for free. They even offer instructor led online training for lower prices than you will find most other places. I've taken a couple of their courses and can vouch that the instructors are professionals at the subject matter they teach.[/QUOTE]
  2. Hello everyone before I go any further I just have to say that I am releasing this because the developers of 2006Remade Kicked me out, so you know what? I told them not to fuck with me from the first moment so I present to you the only known 2006Scape source Noob-Friendly, With tutorials included. Anyways, 2006-Remade is one of the most advanced 2006 Remakes out there it is based off 2006Scape and has most of the bugs fixed Including ground-Item, Magic and Range. Heres a few pictures from the advertisement thread, CBF to add more. [center][img]http://i45.tinypic.com/vdg8p1.png[/img] [img]http://i50.tinypic.com/1rch9u.png[/img] [img]http://i48.tinypic.com/2rnhams.png[/img] [img]http://i45.tinypic.com/kapvt2.png[/img] [img]http://i47.tinypic.com/o91he1.png[/img] [img]http://i50.tinypic.com/23vah6v.png[/img] [img]http://i48.tinypic.com/orp2th.png[/img] [img]http://i48.tinypic.com/2ywtmra.png[/img] [img]http://i45.tinypic.com/pojv6.png[/img] [img]http://i47.tinypic.com/xcjbdk.png[/img] [img]http://i47.tinypic.com/2e3z710.png[/img] [img]http://i48.tinypic.com/a5ies.png[/img] [/center] Now the download links uploaded to 2 different hosting sites, Mediafire, and Uppit. I'm asking someone to keep a backup chances are I'm never going to remove these. [url]http://up.ht/15fpklj[/url] [url]http://up.ht/XTjnLc[/url] [url]http://www.mediafire.com/?08tovwyo6y2222p[/url] [url]http://www.mediafire.com/?nlc0lkh4imj07n7[/url] Before I say my goodbyes this song is dedicated to the developers. :) [youtube]http://www.youtube.com/watch?v=wWGwaXKlZEk[/youtube] Few Tutorials [b]How to Turn server on [/b] You might experience some errors like No-args to fix this make sure your using jdk7 to compile and run, I am not going to provide a compiler use netbeans or eclipse [b]Putting server online[/b] Server doesn't really like firewall so I suggest disabling Firewall this will allow the server to open 43594 socket, you can try to just open a socket in Firewall but i'm not sure it will work. I do not care if your going to leech, have fun. There is one bug you should be aware of, the Weird Drops, you will need to rewrite the DropControllers. I am off RSPS Sorry guys guess this is the end of the road. Goodbye.
  3. Ranger

    tutorials

    Hello Runelocus. I have found this website that is helping me learn the basics about HTML, PHP, Java Script, and CSS. It is 100% free no sign up. Just click the link below and choose which one you are wanting to learn. So far ive done HTML and CSS. Now im going onto PHP. Hope this help you all! [URL="http://www.html.net/tutorials/"]http://www.html.net/tutorials/[/URL]
  4. Please note, some of these where made by me a while ago, and some conventions/code my not be as good as it is now. [SPOILER=Squeal Of Fortune tuts] [SIZE=5][B][COLOR="#FF0000"]“Handling SoF Spins Accurately”[/COLOR][/B][/SIZE] Utils.java [CODE]public static int calculatePercent(double a, double b, int trials) { double syntax = 100 * a / b; double ratio = syntax / trials; Math.floor(ratio); return (int) ratio; }[/CODE] [CODE]public static int getRandomCommon() { int ran = Utils.random(6); if(ran == 1) { return 0; } else if(ran == 2) { return 3; } else if(ran == 3) { return 5; } else if(ran == 4) { return 7; } else if(ran == 5) { return 9; } else if(ran == 6) { return 11; } else { return 1; } } public static int getRandomUncommon() { int ran = Utils.random(3); if(ran == 1) { return 0; } else if(ran == 2) { return 2; } else { return 10; } } public static int getRandomRare() { int ran = Utils.random(3); if(ran == 1) { return 4; } else if(ran == 2) { return 8; } else { return 12; } } private static int getSpinChances() { int common = Utils.random(10, 12); int uncommon = Utils.random(10, 20); int rare = Utils.random(0, 40); int superRare = Utils.random(0, 3333);// it would take 2000 spins ~ to get a super rare in RS if(common == 10 || common == 11) { return getRandomCommon(); } else if(common != 10 || common != 11 && uncommon == 11 || uncommon == 14) { return getRandomUncommon(); } else if(common != 10 || common != 11 && uncommon != 11 || uncommon != 14 && rare == 12% 100 || rare == (10)) { return getRandomRare(); } else if(common != 10 || common != 11 && uncommon != 11 || uncommon != 14 && rare != 12% 100 || rare != (10) && superRare == Utils.calculatePercent(1, .333, 2)) {//2 sof spins p/day return 6;//super rare } else { return getRandomCommon(); } } [/CODE] i did as much research as possible, so this is as accurate as I could get it [url=http://tinypic.com/player.php?v=vg4rnt&s=6]Video - TinyPic - Free Image Hosting, Photo Sharing & Video Hosting[/url] [COLOR="#FF0000"][SIZE=5][B]Squeal of Fortune Claim Item[/B][/SIZE][/COLOR] Credits to [url]http://www.rune-server.org/runescape-development/rs-503-client-server/snippets/435687-squeal-fortune.html[/url] for configs [CODE]public static ItemsContainer<Item> items = new ItemsContainer<Item>(13, true);[/CODE] [CODE]public static int boxWon = -1;[/CODE] [CODE]public static void spin(Player player) { if(player.getSofSpins() < 1 || !player.canSpin()) { return; } int random = Utils.random(0, 13); player.getPackets().sendConfigByFile(10860, random); boxWon = random; player.getPackets().sendGlobalConfig(1781, 9); player.getPackets().sendGlobalConfig(1781, 1); }[/CODE] [CODE]public static Item getWonItem() { Item[] box = items.getItems(); return box[boxWon < 0 ? 12 : boxWon > 12 ? 12 : boxWon]; }[/CODE] [CODE]public static void claim(Player player) {// do W.E here when you claim your item player.getInventory().addItem(getWonItem()); items.clear(); boxWon = -1; player.setSofSpins(player.getSofSpins() - 1); if(player.getSofSpins() < 1) { player.setSquealSpinTime(1); } System.out.println(player.getDisplayName() + " : " + player.getSofSpins() + " : " + player.getSpinDelay()); }[/CODE] Happy leeching! [COLOR="#FF0000"][SIZE=5][B]A lot of SOF items[/B][/SIZE][/COLOR] [CODE]private static int[] SUPER_RARE_ITEM = { Utils.random(23679, 236700), Utils.random(23672, 23677), Utils.random(23713, 23817), }; private static int[] RARE_SLOT1 = { 23665, 23678, 23669 }, RARE_SLOT2 = { 23677, 23668, 23667, 23671, 23670 }, RARE_SLOT3 = { 23666, 23676, 23675, 23674, 23673, 23672 }; private static int[] UNCOMMON_SLOT1 = { 995, 23713, 23717, 23721, 23725, 5, 6, 333, 666 }, UNCOMMON_SLOT2 = {888, 222, 777, 23729, 23733, 23737, 23277, 23726 }, UNCOMMON_SLOT3 = { 999, 111, 123, 23730, 237340 }; private static int[] COMMON_SLOT1 = { Utils.random(113, 1403) }, COMMON_SLOT2 = { Utils.random(43, 48) }, COMMON_SLOT3 = { Utils.random(91, 452) }, COMMON_SLOT4 = { Utils.random(453, 751) }, COMMON_SLOT5 = { Utils.random(1413, 1664) }, COMMON_SLOT6 = { Utils.random(1761, 2364) };[/CODE] [COLOR="#FF0000"][SIZE=5][B]SOF Claim Item Message For A Rare Item[/B][/SIZE][/COLOR] I don't know if they still have this in runescape, but what dafuk evar. [CODE]/** * Returns the super rare item. * * @return */ public static Item getSuperRareItem() { return getItemInBox(7); }[/CODE] [CODE]public static Item getItemInBox(int slot) { Item[] box = items.getItems(); return ((boxWon <= 14 && boxWon >= 0) ? box[slot] : null); }[/CODE] in the Spin method [CODE]if (boxWon == 7) { World.sendWorldMessage( getWonItem().getId() == 995 ? "<col=ff0000><img=7>" + player.getDisplayName() + " has just won 200M GP from the Squeal Of Fortune!" : "<col=ff0000><img=7>" + player.getDisplayName() + " has just won a " + getSuperRareItem().getName() .toUpperCase() + "from the Squeal Of Fortune!", false);[/CODE] If you used my "Claim Item" snippet, this will work. Enjoy ;) [COLOR="#FF0000"][SIZE=5][B]SOF Spins Remaining Config[/B][/SIZE][/COLOR] [CODE]public void setSofSpins(int x) { SOFSpins = x; getPackets().sendConfigByFile(11026, x + 2); }[/CODE] Shows it on the tab interface, and the claim interface. Not the "Available spins" Box, though. I don't know why. Enjoy [COLOR="#FF0000"][SIZE=5][B]SOF Correct Message Configuration[/B][/SIZE][/COLOR] Logging in after 24 hours (when you get your spins back) [QUOTE]player.out("You have received your daily spins for the Squeal of Fortune");[/QUOTE] When you claim a prize that happens to be money [QUOTE]player.out("Your reward has been added to your money pouch.");[/QUOTE] When you claim a prize that is a lamp [QUOTE]player.out("Your prize has been placed in your inventory.");[/QUOTE] When you claim any other prize [QUOTE]player.out("Your prize has been placed in your bank.");[/QUOTE] When you close the "Yelps!" interface [QUOTE]player.out("You can access the Squeal of Fortune from the side pannel, and you can show the"); player.out("button again by logging out and back in.");[/QUOTE] When you don't have your spins yet [QUOTE]player.out("Your will receive your spins for the Squeal of Fortune in [time] hours or [time] minutes");[/QUOTE] If you use one of these, showing appreciation would be highly necessary.[/SPOILER] [SPOILER=Misc Stuff] [COLOR="#FF0000"][SIZE=5][B]Demon Teleport[/B][/SIZE][/COLOR] [CODE]package com.rs.game.player.actions; import com.rs.game.Animation; import com.rs.game.ForceMovement; import com.rs.game.Graphics; import com.rs.game.WorldTile; import com.rs.game.player.Player; import com.rs.game.player.content.Magic; import com.rs.game.tasks.WorldTask; import com.rs.game.tasks.WorldTasksManager; import com.rs.utils.Utils; public class NewTeleport extends Action { [MENTION=15855]Over[/MENTION]ride public boolean start(Player player) { return process(player); } [MENTION=15855]Over[/MENTION]ride public boolean process(Player player) { if (player.getAttackedByDelay() + 10000 > Utils.currentTimeMillis()) { player.getPackets() .sendGameMessage( "You can't home teleport until 10 seconds after the end of combat."); return false; } processWithDelay(player); return true; } private int currentTime; private WorldTile tile = HomeTeleport.tile; public NewTeleport(Player player) { start(player); } private final int HOME_ANIMATION = 16385, HOME_GRAPHIC = 3017; [MENTION=15855]Over[/MENTION]ride public int processWithDelay(final Player player) { if (player.hasSpaceForOversizedAction(true, "Your demon cannot be called in such a tight space!")) { WorldTasksManager.schedule(new WorldTask() { [MENTION=15855]Over[/MENTION]ride public void run() { if (currentTime == 0) { player.setNextAnimation(new Animation(17108)); player.setNextGraphics(new Graphics(3225)); } else if (currentTime == 18) { player.setNextWorldTile(tile.transform(0, 1, 0)); player.getControlerManager().magicTeleported( Magic.MAGIC_TELEPORT); if (player.getControlerManager().getControler() == null) Magic.teleControlersCheck(player, tile); player.setNextFaceWorldTile(new WorldTile(tile .getX(), tile.getY(), tile.getPlane())); player.setDirection(6); } else if (currentTime == 19) { player.setNextGraphics(new Graphics( HOME_GRAPHIC + 1)); player.setNextAnimation(new Animation( HOME_ANIMATION + 1)); } else if (currentTime == 23) { player.setNextWorldTile(tile); } else if (currentTime == 24) { player.setNextAnimation(new Animation(819)); player.setNextForceMovement(new ForceMovement(tile .transform(0, 1, 0), 0, tile, 1, ForceMovement.SOUTH)); } currentTime++; } }, 0, 1); } return 0; } [MENTION=15855]Over[/MENTION]ride public void stop(Player player) { player.setNextAnimation(new Animation(-1)); player.setNextGraphics(new Graphics(-1)); } } [/CODE] I know, it's sloppy. I did it in 5 seconds, deal with it. HomeTeleport.java [CODE]package com.rs.game.player.actions; import com.rs.game.Animation; import com.rs.game.ForceMovement; import com.rs.game.Graphics; import com.rs.game.WorldTile; import com.rs.game.player.Player; import com.rs.game.player.content.Magic; import com.rs.utils.Utils; public class HomeTeleport extends Action { private final int HOME_ANIMATION = 16385, HOME_GRAPHIC = 3017; public static final WorldTile LUMBRIDGE_LODE_STONE = new WorldTile(3233, 3221, 0), BURTHORPE_LODE_STONE = new WorldTile(2899, 3544, 0), LUNAR_ISLE_LODE_STONE = new WorldTile(2085, 3914, 0), BANDIT_CAMP_LODE_STONE = new WorldTile(3214, 2954, 0), TAVERLY_LODE_STONE = new WorldTile(2878, 3442, 0), ALKARID_LODE_STONE = new WorldTile(3297, 3184, 0), VARROCK_LODE_STONE = new WorldTile(3214, 3376, 0), EDGEVILLE_LODE_STONE = new WorldTile(3067, 3505, 0), FALADOR_LODE_STONE = new WorldTile(2967, 3403, 0), PORT_SARIM_LODE_STONE = new WorldTile(3011, 3215, 0), DRAYNOR_VILLAGE_LODE_STONE = new WorldTile(3105, 3298, 0), ARDOUGNE_LODE_STONE = new WorldTile(2634, 3348, 0), CATHERBAY_LODE_STONE = new WorldTile(2831, 3451, 0), YANILLE_LODE_STONE = new WorldTile(2529, 3094, 0), SEERS_VILLAGE_LODE_STONE = new WorldTile(2689, 3482, 0); private int currentTime; public static WorldTile tile; public HomeTeleport(WorldTile tile, Player player) { HomeTeleport.tile = tile; if(player.hasNewTele()) { player.getActionManager().setAction(new NewTeleport(player)); } } [MENTION=15855]Over[/MENTION]ride public boolean start(final Player player) { if (!player.getControlerManager().processMagicTelepor t(tile)) return false; return process(player); } [MENTION=15855]Over[/MENTION]ride public int processWithDelay(Player player) { if(!player.hasNewTele()) { if (currentTime++ == 0) { player.setNextAnimation(new Animation(HOME_ANIMATION)); player.setNextGraphics(new Graphics(HOME_GRAPHIC)); } else if (currentTime == 18) { player.setNextWorldTile(tile.transform(0, 1, 0)); player.getControlerManager().magicTeleported(Magic .MAGIC_TELEPORT); if (player.getControlerManager().getControler() == null) Magic.teleControlersCheck(player, tile); player.setNextFaceWorldTile(new WorldTile(tile.getX(), tile.getY(), tile.getPlane())); player.setDirection(6); } else if (currentTime == 19) { player.setNextGraphics(new Graphics(HOME_GRAPHIC + 1)); player.setNextAnimation(new Animation(HOME_ANIMATION + 1)); } else if (currentTime == 23) { player.setNextForceMovement(new ForceMovement(tile.transform(0, 1, 0), 0, tile, 1, ForceMovement.SOUTH)); player.setNextWorldTile(tile); player.setNextAnimation(new Animation(819)); } else if (currentTime == 24) return -1; } return 0; } [MENTION=15855]Over[/MENTION]ride public boolean process(Player player) { if (player.getAttackedByDelay() + 10000 > Utils.currentTimeMillis()) { player.getPackets() .sendGameMessage( "You can't home teleport until 10 seconds after the end of combat."); return false; } return true; } [MENTION=15855]Over[/MENTION]ride public void stop(Player player) { player.setNextAnimation(new Animation(-1)); player.setNextGraphics(new Graphics(-1)); } } [/CODE] player.java [CODE]public boolean hasSpaceForOversizedAction(boolean sendMessage, String messageToSend) { if (!World.canMoveNPC(getPlane(),getX(), getY(), 3)) { if (sendMessage) { out(messageToSend); } return false; } return true; }[/CODE] [CODE]private boolean hasNewTele = false; public boolean hasNewTele() { return hasNewTele; } public void setHasNewTele() { hasNewTele = true; unlockedDemon = true; } public boolean unlockedDemon = false; public boolean unlockedHorse = false; public boolean unlockedcopter = false;[/CODE] [COLOR="#FF0000"][SIZE=5][B]Custom Titles And Colors 718[/B][/SIZE][/COLOR] [CODE]/** * Custom title's */ private String i; private boolean hasCustomTitle; /** * Set's the title of a player using the parameters AcxxX * * Param AcxxX * - The String of the title */ public void setCustomTitle(String AcxxX) { this.i = getTitleColor() + "" + AcxxX + "</col>"; this.hasCustomTitle = true; } public String hex; public void setTitleColor(String color) { if (color.length() != 6) { out("<col=ff0000>The color of your title in HTML format has to be 6 characters long.", 0); return; } else if (color.contains("_")) { out("<col=ff0000>The color of your title in HTML format cannot contain spaces", 0); return; } else if (Utils.containsInvalidCharacter(color)) { out("<col=ff0000>The color of your title in HTML format MUST be in HTML format.", 0); return; } this.hex = "<col=" + color + ">"; } public String getTitleColor() { // Doesn't have a custom color return hex == null ? "<col=C12006>" : hex; } public String getCustomTitle() { return hasCustomTitle ? i : null; } public boolean hasCustomTitle() { return hasCustomTitle; } public void resetCustomTitle() { this.i = null; this.hasCustomTitle = false; }[/CODE] appearence.java [CODE]if(title != 0) { String titleName = title == 0x97e2aff && player.hasCustomTitle() ? player.getCustomTitle() + " " : ClientScriptMap.getMap(male ? 1093 : 3872).getStringValue(title); stream.writeGJString(titleName); }[/CODE] [COLOR="#FF0000"][SIZE=5][B]Toy Horsey[/B][/SIZE][/COLOR] [CODE]package com.rs.game.player.content; import com.rs.game.Animation; import com.rs.game.ForceTalk; import com.rs.game.player.Player; import com.rs.utils.Utils; /** * Slappin' dat marcupial. * [MENTION=52317]auth[/MENTION]or Taylor Moon<Axter> * */ public class ToyHorsey { public static String[] chats = {//Weird ikr? "Come on Dobbin, we can win the race!", "Hi-ho, Silver and away!", "Neaahhhyyy! " }; public static Animation anims[] = { new Animation(918), new Animation(919), new Animation(920), new Animation(921) }; /** * uses the horsey. * [MENTION=75098]Para[/MENTION]m player */ public static void useHorsey(Player player) { player.lock(); int random = Utils.random(3); int i = Utils.random(3); player.setNextForceTalk(new ForceTalk(chats[random])); player.setNextAnimation(anims[i]); player.unlock(); } } [/CODE] [COLOR="#FF0000"][SIZE=5][B]Hosting 2 world with 1 server[/B][/SIZE][/COLOR] For this you need 2 clients, 1 with the port of 43595. [CODE]private ServerChannelHandler() { channels = new DefaultChannelGroup(); bootstrap = new ServerBootstrap(new NioServerSocketChannelFactory( CoresManager.serverBossChannelExecutor, CoresManager.serverWorkerChannelExecutor, CoresManager.serverWorkersCount)); bootstrap.getPipeline().addLast("handler", this); bootstrap.setOption("reuseAddress", true); // reuses adress for bind bootstrap.setOption("child.tcpNoDelay", true); bootstrap.setOption("child.TcpAckFrequency", true); bootstrap.setOption("child.keepAlive", true); String world = JOptionPane.showInputDialog("Select a world to run"); int parsedWorld = Integer.parseInt(world); if(parsedWorld > 2 || parsedWorld < 0) { bootstrap.bind(new InetSocketAddress(43594)); JOptionPane.showMessageDialog(null, "The world you selected is invalid."); return; } if(parsedWorld == 1) { bootstrap.bind(new InetSocketAddress(43594)); System.out.println("Hosting on world 1."); return; } else if (parsedWorld == 2); bootstrap.bind(new InetSocketAddress(43595)); System.out.println("Hosting on world 2."); }[/CODE] Now you need to send some client packets in log in decoder to fix the bugs. Get crackin'. [COLOR="#FF0000"][SIZE=5][B]Player location Saving[/B][/SIZE][/COLOR] Not hard, but convenient. [CODE]/** * Location saving */ private WorldTile savedLocation;[/CODE] [CODE]/** * Saves a location. * @<a href="http://www.runelocus.com/forums/member.php?u=75098" target="_blank">Para</a>m trash - save the location, or make it null. */ public void saveLocation(boolean trash) { if (trash) savedLocation = null; else if (!trash) if (controlerManager.getControler() != null) { return; } savedLocation = new WorldTile(getX(), getY(), getPlane()); }[/CODE] [CODE]/** * Returns the players saved location. * * @return - savedLocatiom */ public WorldTile getSavedLocation() { return savedLocation; }[/CODE] [CODE]/** * Teleports a player to their saved location * * @<a href="http://www.runelocus.com/forums/member.php?u=75098" target="_blank">Para</a>m delayTime * - Time in which the player must be teleported * @<a href="http://www.runelocus.com/forums/member.php?u=75098" target="_blank">Para</a>m event * - what you want to player to preform before the delay time * runs out * @<a href="http://www.runelocus.com/forums/member.php?u=75098" target="_blank">Para</a>m timeEvent * - true if you want the event to run when the delaytime is * peaked */ public void sendToSavedLocation(final int delayTime, final Runnable event, final boolean timeEvent) { if (savedLocation == null) { return; } if (delayTime < 1) { try { lock(); setNextWorldTile(savedLocation); event.run(); unlock(); } catch (NullPointerException e) { unlock(); } } else if (delayTime > 0) { try { lock(); event.run(); WorldTasksManager.schedule(new WorldTask() { int delay; @<a href="http://www.runelocus.com/forums/member.php?u=15855" target="_blank">Over</a>ride public void run() { if (delay == delayTime) unlock(); setNextWorldTile(savedLocation); unlock(); stop(); delay++; } }, 0, 1); } catch (NullPointerException e) { unlock(); } } }[/CODE] I included a runnable event in there if you want to run something before or while the teleport takes place. enjoy. [COLOR="#FF0000"][SIZE=5][B]Fixing Trade Right Click Glitch 667[/B][/SIZE][/COLOR] [CODE]} else if (packetId == PLAYER_TRADE_OPTION_PACKET) { //if (!player.hasStarted() || !player.clientHasLoadedMapRegion() || player.isDead()) //return; int junk = stream.readShort(); int playerIndex = stream.readByte(); //if (playerIndex < 0 || playerIndex >= Settings.PLAYERS_LIMIT) { //return; //} final Player other = (Player) World.getPlayers().get(playerIndex); if (other.getTemporaryAttributtes().get("didRequestTrade") == Boolean.TRUE) { player.getPackets().sendGameMessage("Someone has already traded you! Click the purple text to accept the trade."); return; } //if (player.getStopDelay() > System.currentTimeMillis()) // return; // if (other == null || !other.hasStarted() || player.getIndex() == other.getIndex()) { // player.stopAll(false, false); // return; //} //player.stopAll(false, false); if (other.getTemporaryAttributtes().get("didRequestTrade") == Boolean.TRUE && (Integer) other.getTemporaryAttributtes().get("tradeWithIndex") == player.getIndex()) { Trade session = new Trade(player, other); player.setTradeSession(session); other.setTradeSession(session); other.setTradePartner(player); player.setTradePartner(other); session.start(); } else { player.getPackets().sendGameMessage("Sending trade request..."); other.getPackets().sendTradeRequestMessage(player) ; player.getTemporaryAttributtes().put("tradeWithIndex", other.getIndex()); player.getTemporaryAttributtes().put("didRequestTrade", Boolean.TRUE); } } else if (packetId == 46) { stream.readByte(); int index = stream.readShort(); Player other = World.getPlayers().get(index); if (other.getTemporaryAttributtes().get("didRequestTrade") == Boolean.TRUE && (Integer) other.getTemporaryAttributtes().get("tradeWithIndex") == player.getIndex()) { Trade session = new Trade(player, other); player.setTradeSession(session); other.setTradeSession(session); other.setTradePartner(player); player.setTradePartner(other); session.start(); } else { player.getPackets().sendGameMessage("Sending trade request..."); other.getPackets().sendTradeRequestMessage(player) ; player.getTemporaryAttributtes().put("tradeWithIndex", other.getIndex()); player.getTemporaryAttributtes().put("didRequestTrade", Boolean.TRUE); }[/CODE] It just doesn't let you trade a player that has ALREADY traded you, you have to click the purple text. Easy fix but it stops a lot of bugs ;) [SIZE=5][B]Developer Console Commands 718[/B][/SIZE] [CODE]/* Class419 - Decompiled by JODE * Visit http://jode.sourceforge.net/ */ import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; public class Class419 { static char[] aCharArray5340 = { '\u20ac', '\0', '\u201a', '\u0192', '\u201e', '\u2026', '\u2020', '\u2021', '\u02c6', '\u2030', '\u0160', '\u2039', '\u0152', '\0', '\u017d', '\0', '\0', '\u2018', '\u2019', '\u201c', '\u201d', '\u2022', '\u2013', '\u2014', '\u02dc', '\u2122', '\u0161', '\u203a', '\u0153', '\0', '\u017e', '\u0178' }; static int anInt5341; Class419() throws Throwable { throw new Error(); } public static void method5602(int[] is, Object[] objects, int i, int i_0_, int i_1_) { try { if (i < i_0_) { int i_2_ = (i_0_ + i) / 2; int i_3_ = i; int i_4_ = is[i_2_]; is[i_2_] = is[i_0_]; is[i_0_] = i_4_; Object object = objects[i_2_]; objects[i_2_] = objects[i_0_]; objects[i_0_] = object; int i_5_ = 2147483647 == i_4_ ? 0 : 1; for (int i_6_ = i; i_6_ < i_0_; i_6_++) { if (is[i_6_] < (i_6_ & i_5_) + i_4_) { int i_7_ = is[i_6_]; is[i_6_] = is[i_3_]; is[i_3_] = i_7_; Object object_8_ = objects[i_6_]; objects[i_6_] = objects[i_3_]; objects[i_3_++] = object_8_; } } is[i_0_] = is[i_3_]; is[i_3_] = i_4_; objects[i_0_] = objects[i_3_]; objects[i_3_] = object; method5602(is, objects, i, i_3_ - 1, -641027314); method5602(is, objects, i_3_ + 1, i_0_, -641027314); } } catch (RuntimeException runtimeexception) { throw Class346.method4175(runtimeexception, new StringBuilder() .append("rj.x(").append(')').toString()); } } static boolean method5603(IComponentDefinition class105, int i) { try { Class298_Sub38 class298_sub38 = client.method2801(class105); if (class298_sub38.method3493((byte) 1) > 0) return true; if (class298_sub38.method3496(-1320707999)) return true; if (null != class105.aClass105_1233) return true; return false; } catch (RuntimeException runtimeexception) { throw Class346.method4175(runtimeexception, new StringBuilder() .append("rj.lo(").append(')').toString()); } } static final void method5604(Class403 class403, int i) { try { ((Class403) class403).anIntArray5244[((((Class403) class403).anInt5239 += -391880689) * 681479919 - 1)] = Class165.aClass319_6366 .method3878(1767596149) ? 1 : 0; ((Class403) class403).anIntArray5244[((((Class403) class403).anInt5239 += -391880689) * 681479919 - 1)] = Class165.aClass319_6366 .method3887(1474356836) ? 1 : 0; ((Class403) class403).anIntArray5244[((((Class403) class403).anInt5239 += -391880689) * 681479919 - 1)] = Class165.aClass319_6366 .method3880((byte) -46) ? 1 : 0; } catch (RuntimeException runtimeexception) { throw Class346.method4175(runtimeexception, new StringBuilder() .append("rj.vg(").append(')').toString()); } } public static void method5605(String string, boolean bool, boolean bool_9_, int i) { try { do { try { if (string.equalsIgnoreCase("commands") || string.equalsIgnoreCase("help")) { Class255.method2435("commands - This command", 186560885); Class255.method2435("cls - Clear console", 1228482885); Class255 .method2435( "displayfps - Toggle FPS and other information", 553669962); Class255 .method2435( "renderer - Print graphics renderer information", 757390347); Class255.method2435( "heap - Print java memory information", 1394924823); Class255 .method2435( "getcamerapos - Print location and direction of camera for use in bug reports", 1131153902); } else if (string.equalsIgnoreCase("cls")) { Class8.anInt102 = 0; Class8.anInt103 = 0; } else if (string.equalsIgnoreCase("displayfps")) { client.aBoolean8667 = !client.aBoolean8667; if (client.aBoolean8667) Class255.method2435("FPS on", 899052076); else Class255.method2435("FPS off", 1184714257); } else if (string.equals("renderer")) { Class58 class58 = Class373.aClass_ra4071.method4987(); Class255 .method2435( new StringBuilder() .append("Toolkit ID: ") .append( Class422_Sub25.aClass298_Sub48_8425.aClass422_Sub1 4_7571 .method5677(-481266690)) .toString(), 1038434697); Class255.method2435(new StringBuilder().append( "Vendor: ") .append(class58.anInt574 * 267107087) .toString(), 212944002); Class255.method2435(new StringBuilder() .append("Name: ").append(class58.aString582) .toString(), 723527437); Class255.method2435(new StringBuilder().append( "Version: ").append( class58.anInt581 * 1959468245).toString(), 1382813939); Class255.method2435(new StringBuilder().append( "Device: ").append(class58.aString577) .toString(), 536857078); Class255.method2435(new StringBuilder().append( "Driver Version: ").append( class58.aLong583 * 703334160035735425L) .toString(), 1218429557); } else if (string.equals("heap")) Class255.method2435(new StringBuilder() .append("Heap: ").append( Class291.maximumMemory * 1126040225) .append("MB").toString(), 170718628); else { if (!string.equalsIgnoreCase("getcamerapos")) break; Class341 class341 = client.aClass283_8716 .method2628(681479919); Class255 .method2435( new StringBuilder() .append("Pos: ") .append( Class287.myPlayer.plane) .append(",") .append( ((-1740717447 * Class367.anInt4000 >> 9) + class341.gameSceneBaseX * -1760580017) >> 6) .append(",") .append( ((Class146.anInt1575 * -299812095 >> 9) + 283514611 * class341.gameSceneBaseY) >> 6) .append(",") .append( (-1760580017 * class341.gameSceneBaseX + (-1740717447 * Class367.anInt4000 >> 9)) & 0x3f) .append(",") .append( (class341.gameSceneBaseY * 283514611 + (-299812095 * Class146.anInt1575 >> 9)) & 0x3f) .append(" Height: ") .append( (Class356 .method4271( Class367.anInt4000 * -1740717447, Class146.anInt1575 * -299812095, (Class287.myPlayer.plane), -1453034846)) - Class110.anInt6403 * 1449634147) .toString(), 306448697); Class255 .method2435( new StringBuilder() .append("Look: ") .append( Class287.myPlayer.plane) .append(",") .append( (-1125224763 * Class_xa.anInt6292 + class341.gameSceneBaseX * -1760580017) >> 6) .append(",") .append( (283514611 * class341.gameSceneBaseY + IPAddress.anInt5959 * -1758389953) >> 6) .append(",") .append( (class341.gameSceneBaseX * -1760580017 + -1125224763 * Class_xa.anInt6292) & 0x3f) .append(",") .append( (283514611 * class341.gameSceneBaseY + -1758389953 * IPAddress.anInt5959) & 0x3f) .append(" Height: ") .append( (Class356 .method4271( Class_xa.anInt6292 * -1125224763, -1758389953 * IPAddress.anInt5959, (Class287.myPlayer.plane), -860898067)) - 771695069 * Class18.anInt255) .toString(), 1171744016); } } catch (Exception exception) { Class255.method2435(Tradution.aClass470_5782.metho d6049( Class321.aClass429_3357, -875414210), 247216384); } return; } while (false); if (Class242.aClass401_2708 != Class401.aClass401_6557 || 1806357379 * client.playerRights >= 2) { try { if (string.equalsIgnoreCase("wm1")) { Class357.method4276(1, -1, -1, false, 1791719030); if (Class190.method1859((byte) -15) == 1) Class255.method2435("Success", 1472876448); else Class255.method2435("Failure", 1016209121); return; } if (string.equalsIgnoreCase("wm2")) { Class357.method4276(2, -1, -1, false, -674111799); if (Class190.method1859((byte) -79) == 2) Class255.method2435("Success", 1308535348); else Class255.method2435("Failure", 863221927); return; } if (Class452.aBoolean5642 && string.equalsIgnoreCase("wm3")) { Class357.method4276(3, 1024, 768, false, 1894568246); if (Class190.method1859((byte) -25) == 3) Class255.method2435("Success", 2072006321); else Class255.method2435("Failure", 1988552564); return; } if (string.equalsIgnoreCase("tk0")) { Class370.method4578(0, false, 622850291); if (Class422_Sub25.aClass298_Sub48_8425.aClass422_Sub 14_7571 .method5677(-1547826526) == 0) { Class255.method2435("Success", 267543271); Class422_Sub25.aClass298_Sub48_8425 .method3540( (Class422_Sub25.aClass298_Sub48_8425.aClass422_Sub 14_7570), 0, -458723189); Class3.method300(656179282); client.aBoolean8666 = false; } else Class255.method2435("Failure", 268000194); return; } if (string.equalsIgnoreCase("tk1")) { Class370.method4578(1, false, 622850291); if (Class422_Sub25.aClass298_Sub48_8425.aClass422_Sub 14_7571 .method5677(-957568446) == 1) { Class255.method2435("Success", 1271200712); Class422_Sub25.aClass298_Sub48_8425 .method3540( (Class422_Sub25.aClass298_Sub48_8425.aClass422_Sub 14_7570), 1, -72348841); Class3.method300(656179282); client.aBoolean8666 = false; } else Class255.method2435("Failure", 1851865795); return; } if (string.equalsIgnoreCase("tk2")) { Class370.method4578(2, false, 622850291); if (Class422_Sub25.aClass298_Sub48_8425.aClass422_Sub 14_7571 .method5677(-565622932) == 2) { Class255.method2435("Success", 1728166997); Class422_Sub25.aClass298_Sub48_8425 .method3540( (Class422_Sub25.aClass298_Sub48_8425.aClass422_Sub 14_7570), 2, 345084383); Class3.method300(656179282); client.aBoolean8666 = false; } else Class255.method2435("Failure", 807691994); return; } if (string.equalsIgnoreCase("tk3")) { Class370.method4578(3, false, 622850291); if (Class422_Sub25.aClass298_Sub48_8425.aClass422_Sub 14_7571 .method5677(-1899485997) == 3) { Class255.method2435("Success", 2073339182); Class422_Sub25.aClass298_Sub48_8425 .method3540( (Class422_Sub25.aClass298_Sub48_8425.aClass422_Sub 14_7570), 3, 1121469356); Class3.method300(656179282); client.aBoolean8666 = false; } else Class255.method2435("Failure", 1035326643); return; } if (string.equalsIgnoreCase("tk5")) { Class370.method4578(5, false, 622850291); if (Class422_Sub25.aClass298_Sub48_8425.aClass422_Sub 14_7571 .method5677(-996545824) == 5) { Class255.method2435("Success", 892097548); Class422_Sub25.aClass298_Sub48_8425 .method3540( (Class422_Sub25.aClass298_Sub48_8425.aClass422_Sub 14_7570), 5, -1087457820); Class3.method300(656179282); client.aBoolean8666 = false; } else Class255.method2435("Failure", 1743942992); return; } if (string.equalsIgnoreCase("clientdrop")) { if (0 == client.anInt8752 * -1233866115) SubIncommingPacket.method1923(554378996); else if (17 == -1233866115 * client.anInt8752) client.aClass25_8711.aBoolean347 = true; return; } if (string.equalsIgnoreCase("breakcon")) { Class25[] class25s = client.aClass25Array8679; for (int i_10_ = 0; i_10_ < class25s.length; i_10_++) { Class25 class25 = class25s[i_10_]; if (class25.method387(537308016) != null) class25.method387(537308016).method3867( (byte) 100); } Class248.aClass247_2752.method2353((short) 2067); return; } if (string.startsWith("getclientvarpbit")) { int i_11_ = Integer.parseInt(string.substring(17)); Class255.method2435(new StringBuilder().append( "varpbit=").append( Class128.aClass148_6331.method250(i_11_, (byte) 49)).toString(), 812809440); return; } if (string.startsWith("getclientvarp")) { int i_12_ = Integer.parseInt(string.substring(14)); Class255.method2435(new StringBuilder().append("varp=") .append( Class128.aClass148_6331.method252( i_12_, (byte) 25)).toString(), 1156644577); return; } if (string.startsWith("directlogin")) { String[] strings = (Class365_Sub1_Sub3_Sub1.method4508( string.substring(12), ' ', 1545850593)); if (2 == strings.length) Class63.method741(strings[0], strings[1], 2101690439); return; } if (string.startsWith("snlogin ")) { String[] strings = (Class365_Sub1_Sub3_Sub1.method4508( string.substring(8), ' ', 259158417)); int i_13_ = Integer.parseInt(strings[0]); Class124.method1385(i_13_, (byte) -22); return; } if (string.startsWith("setoutput ")) { File file = new File(string.substring(10)); if (file.exists()) { file = new File(new StringBuilder().append( string.substring(10)).append(".").append( Class122.method1319((byte) 1)).append( ".log").toString()); if (file.exists()) { Class255.method2435("file already exists!", 1609687254); return; } } if (null != Class78.aFileOutputStream731) { Class78.aFileOutputStream731.close(); Class78.aFileOutputStream731 = null; } try { Class78.aFileOutputStream731 = new FileOutputStream( file); } catch (FileNotFoundException filenotfoundexception) { Class255.method2435(new StringBuilder().append( "Could not create ").append(file.getName()) .toString(), 2057720306); } catch (SecurityException securityexception) { Class255.method2435(new StringBuilder().append( "Cannot write to ").append(file.getName()) .toString(), 651886745); } return; } if (string.equals("closeoutput")) { if (Class78.aFileOutputStream731 != null) Class78.aFileOutputStream731.close(); Class78.aFileOutputStream731 = null; return; } if (string.startsWith("runscript ")) { File file = new File(string.substring(10)); if (!file.exists()) { Class255.method2435("No such file", 1833830484); return; } byte[] is = Class362.method4311(file, -1944658057); if (null == is) { Class255.method2435("Failed to read file", 1208919662); return; } String[] strings = (Class365_Sub1_Sub3_Sub1.method4508( (Class123.method1378(Class146.method1598(is, 1704231187), '\r', "", (short) 316)), '\n', 714918179)); Class55.method606(strings, 408166320); } if (client.anInt8752 * -1233866115 == 0) { Class298_Sub36 class298_sub36 = Class18.method359( OutcommingPacket.COMMANDS_PACKET, (client.aClass25_8711.aClass449_330), (byte) 6); class298_sub36.aClass298_Sub53_Sub2_7396.writeByte ( string.length() + 3); class298_sub36.aClass298_Sub53_Sub2_7396.writeByte ( bool ? 1 : 0); class298_sub36.aClass298_Sub53_Sub2_7396.writeByte ( bool_9_ ? 1 : 0); class298_sub36.aClass298_Sub53_Sub2_7396.writeStri ng( string, 2127017558); client.aClass25_8711.method390(class298_sub36, (byte) -55); } } catch (Exception exception) { Class255.method2435(Tradution.aClass470_5782.metho d6049( Class321.aClass429_3357, -875414210), 417864665); return; } } if (client.anInt8752 * -1233866115 != 0) Class255.method2435(new StringBuilder().append( Tradution.aClass470_5805.method6049( Class321.aClass429_3357, -875414210)).append( string).toString(), 276776266); } catch (RuntimeException runtimeexception) { throw Class346.method4175(runtimeexception, new StringBuilder() .append("rj.t(").append(')').toString()); } } } [/CODE] Directlogin - username pass runscrpit - fileid etc etc [COLOR="#FF0000"][SIZE=5][B]Clan Citadel Tier Map Base Coords[/B][/SIZE][/COLOR] [CODE]public int[] ObeliskMap = {646, 505}; public int[] TreeMap = {650, 505}; public int[] TheatreMap = {616, 501}; public int[] MiningMap = {622, 505}; public int[] ResourceMap = {662, 505}; public int[] LoomMap = {666, 505};[/CODE] Since I don't know how to copy 2 maps and overlay them, i'll just give you guys them to see if you can do it. [CODE]public Tier(int teir) { switch(teir) { case 0: //Normal break; case 1: RegionBuilder.copyAllPlanesMap(ObeliskMap[0], ObeliskMap[1], Citadel.mapBaseCoords[0], Citadel.mapBaseCoords[1], 3); break;[/CODE] Just doesn't work that way though ;/ [/SPOILER] [SPOILER=Reporting] [COLOR="#FF0000"][SIZE=5][B]Report Datase[/B][/SIZE][/COLOR] Blackmark.java [CODE]package com.rs.game.Punishment; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import com.rs.Settings; import com.rs.game.player.Player; import com.rs.utils.Utils; /** * * [MENTION=52317]auth[/MENTION]or Taylor<Axter> * */ public class Blackmark { /** * Cunstructor ads a blackmark to a players 'record' * [MENTION=75098]Para[/MENTION]m player * [MENTION=75098]Para[/MENTION]m reset */ public Blackmark(final Player player, final boolean reset) { if (reset) { player.BlackMarks = 0; player.out("<col=ff0000>Your black marks have been reset.", 0); return; } player.BlackMarks +=1; if (needMute(player)) { player.setMuted(Utils.currentTimeMillis() + (player.getRights() >= 1 ? (48 * 60 * 60 * 1000) : (1 * 60 * 60 * 1000))); player.out("<col=ff0000>You have been muted due to to many reports. If you feel this is a mistake,", 0); player.out("<col=ff0000>please visit " + Settings.WEBSITE_LINK + "", 0); } else if (needIPMute(player)) { player.setMuted(Utils.currentTimeMillis() + (player.getRights() >= 1 ? (48 * 60 * 60 * 1000) : (1 * 60 * 60 * 1000))); } else if (needBan(player)) { try { new Blackmark(player, false); BufferedWriter bf = new BufferedWriter(new FileWriter( "Needed Banned/" + player.getDisplayName() + " Ban.txt", true)); bf.append("=================================================="); bf.newLine(); bf.write("Current BlackMarks: "+ player.getBlackMarks() + ""); bf.newLine(); bf.write("Offence: " + player.offence + ""); bf.newLine(); bf.write("Rank: " + player.getRank() + ""); bf.newLine(); bf.write("Type: Ban"); bf.newLine(); bf.write("Status: " + player.getReportLevel(player.getBlackMarks(), player) + ""); bf.newLine(); bf.append("=================================================="); bf.newLine(); bf.flush(); bf.close(); } catch (IOException ignored) { } } else if (needIPBan(player)) { try { new Blackmark(player, false); BufferedWriter bf = new BufferedWriter(new FileWriter( "Needed Banned/" + player.getDisplayName() + " Ban.txt", true)); bf.append("=================================================="); bf.newLine(); bf.write("Current BlackMarks: "+ player.getBlackMarks() + ""); bf.newLine(); bf.write("Offence: " + player.offence + ""); bf.newLine(); bf.write("Rank: " + player.getRank() + ""); bf.newLine(); bf.write("Type: IP Ban"); bf.newLine(); bf.write("Status: " + player.getReportLevel(player.getBlackMarks(), player) + ""); bf.newLine(); bf.append("=================================================="); bf.newLine(); bf.flush(); bf.close(); } catch (IOException ignored) { } } } /** * Determines if he or she needs to be muted * [MENTION=75098]Para[/MENTION]m player * @return */ public boolean needMute(Player player) { if(player.getOffence().equals("chat") && player.getBlackMarks() == 5) { return true; } return false; } /** * Determines if he or she needs to be muted * [MENTION=75098]Para[/MENTION]m player * @return */ public boolean needIPMute(Player player) { if(player.getOffence().equals("chat") && player.getBlackMarks() == 10) { return true; } return false; } /** * Determines if he or she needs to be banned * [MENTION=75098]Para[/MENTION]m player * @return */ public boolean needBan(Player player) { if(player.getOffence().equals("non-chat") && player.getBlackMarks() == 5) { return true; } return false; } /** * Determines if he or she needs to be banned * [MENTION=75098]Para[/MENTION]m player * @return */ public boolean needIPBan(Player player) { if(player.getOffence().equals("non-chat") && player.getBlackMarks() == 10) { return true; } return false; } } [/CODE] Report.java [CODE]package com.rs.game.Punishment; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.util.Calendar; import com.rs.game.player.Player; /** * * [MENTION=52317]auth[/MENTION]or Taylor<Axter> * */ public class Report { /** * Sends a report out to a folder named "Report Database". * The report will contain the following information: * * Current BlackMarks: (players blackmarks) * Offence: (The offence) 2 options, "chat" or "non-chat". no others will work. * Status: (players current status) Example: Green Zone * * [MENTION=75098]Para[/MENTION]m player * [MENTION=75098]Para[/MENTION]m offence */ public Report(Player player, String offence) { try { new Blackmark(player, false); player.offence = offence; BufferedWriter bf = new BufferedWriter(new FileWriter( "Report Database/" + player.getDisplayName() + " Offences.txt", true)); bf.append("=================================================="); bf.newLine(); bf.write("Current BlackMarks: "+ player.getBlackMarks() + ""); bf.newLine(); bf.write("Offence: " + offence + ""); bf.newLine(); //bf.write("Other details: " + details + ""); //bf.newLine(); bf.write("Status: " + player.getReportLevel(player.getBlackMarks(), player) + ""); bf.newLine(); bf.append("=================================================="); bf.newLine(); bf.flush(); bf.close(); } catch (IOException ignored) { } } } [/CODE] [CODE]/** * Report system * * @return */ public int getBlackMarks() { return BlackMarks; } private int BlackMarks; private String offence; public String getOffence() { if (offence == null) { return "none"; } return offence; } public String getReportLevel(int BlackMarks, Player player) { switch (BlackMarks) { case 0: return "Safe (0 black marks)"; case 1: return "Green Zone"; case 2: return "Yellow Zone"; case 3: return "ORANGE ZONE"; case 4: return "RED ZONE"; case 5: return "" + player.getOffence().equals("chat") != null ? "Muted(chance to recover)" : "Banned(chance to recover)"; case 6: return "EXTREME RED ZONE"; case 7: return "EXTREME RED ZONE (Requires $5)"; case 8: return "EXTREME RED ZONE (Requires $10)"; case 9: return "EXTREME RED ZONE (Requires $15)"; case 10: return "(Requires $25)"; case 11: return "(Requires $30)"; case 12: return "(Requires $40)"; case 13: return "permanently " + "" + player.getOffence().equals("chat") != null ? "Muted" : "Banned"; } return "permanently " + "" + player.getOffence().equals("chat") != null ? "Muted" : "Banned"; } [/CODE] if the offence = chat, its mute. if the offence = other, it's banned. If there are any problems, let me know. And by problems i mean PROBLEMS, BUGS not "How do i send a report". Enjoy [/SPOILER] [SPOILER=Creating A Dynamic Region] C[COLOR="#FF0000"][SIZE=5][B]Creating a dynamic region for Matrix Fameworks[/B][/SIZE][/COLOR] step one, make sure you have this in you class [CODE]public void StartGame() { p.setInfiniteStopDelay(); CoresManager.slowExecutor.execute(new Runnable() { [MENTION=15855]Over[/MENTION]ride public void run() { try { boolean needDestroy = mapBaseCoords != null; final int[] oldMapBaseCoords = mapBaseCoords; mapBaseCoords = RegionBuilder.findEmptyMap(8, 8); [COLOR="#FF0000"]RegionBuilder.copyAllPlanesMap(0, 0, mapBaseCoords[0], mapBaseCoords[1], 8);[/COLOR] [COLOR="#FF0000"]PlacePlayerInGame();[/COLOR] if (needDestroy) { WorldTasksManager.schedule(new WorldTask() { [MENTION=15855]Over[/MENTION]ride public void run() { CoresManager.slowExecutor .execute(new Runnable() { [MENTION=15855]Over[/MENTION]ride public void run() { try { RegionBuilder .destroyMap( oldMapBaseCoords[0], oldMapBaseCoords[1], 8, 8); } catch (Exception e) { e.printStackTrace(); } catch (Error e) { e.printStackTrace(); } } }); } }); } } catch (Exception e) { e.printStackTrace(); } catch (Error e) { e.printStackTrace(); } } }); }[/CODE] [COLOR="#FF0000"]RegionBuilder.copyAllPlanesMap(0, 0, mapBaseCoords[0], mapBaseCoords[1], 8);[/COLOR] this will copy the selected region you want to be moved to an empty map, the (0, 0, will be the id's, regionID x and RegionID Y. [COLOR="#FF0000"]PlacePlayerInGame();[/COLOR], this is how your going to get your subject in the region that was created on the map. [CODE]private void PlacePlayerInGame() { p.resetStopDelay(); p.setNextWorldTile(new WorldTile(getBaseX() + 3, getBaseY() + 3, 0)); }[/CODE] You can start a controller if you have one, you can also play music.. etc Now lets find a region to move. [IMG]http://i49.tinypic.com/33nw7eh.png[/IMG] Im going to use Fight caves as an example, iv'e labled the x, and y in green. the top left corner is x, and the bottom right corner is y. [CODE][COLOR="#FF0000"]RegionBuilder.copyAllPlanesMap(0, 0, mapBaseCoords[0], mapBaseCoords[1], 8);[/COLOR][/CODE] we are going to insert the ids in there. the ids happen to be [COLOR="#FF0000"]296, 632[/COLOR] so we're going to put that in there. [CODE][COLOR="#FF0000"]RegionBuilder.copyAllPlanesMap(296, 632, mapBaseCoords[0], mapBaseCoords[1], 8);[/COLOR][/CODE] Now lets add a method for leaving the area. [CODE]public void DestroyRegion(final boolean logout, int mode) { WorldTile tile = new WorldTile(0, 0, 0); if (logout) p.setLocation(tile); else { p.getControlerManager().removeControlerWithoutChec k(); p.setInfiniteStopDelay(); p.setNextWorldTile(tile); NpcsToKill = 0; NpcsKilled = 0; CurrentWave = 0; } WorldTasksManager.schedule(new WorldTask() { [MENTION=15855]Over[/MENTION]ride public void run() { CoresManager.slowExecutor.execute(new Runnable() { [MENTION=15855]Over[/MENTION]ride public void run() { try { RegionBuilder.destroyMap(mapBaseCoords[0], mapBaseCoords[1], 8, 8); if (!logout) { mapBaseCoords = null; p.resetStopDelay(); } } catch (Exception e) { e.printStackTrace(); } catch (Error e) { e.printStackTrace(); } } }); } }, 1); } }[/CODE] [CODE][COLOR="#FF0000"]WorldTile tile = new WorldTile(0, 0, 0); if (logout) p.setLocation(tile);[/COLOR][/CODE] this means if you log out it will put you in the x and y locations you chose. Now you also need to put this in the class somewhere :3 [CODE]} public int getBaseX() { return mapBaseCoords[0] << 3; } public int getBaseY() { return mapBaseCoords[1] << 3; }[/CODE] [COLOR="#FF0000"]I had some trouble figuring this out so i decided to explian it a little bit. Thanks bye :)[/COLOR] [/SPOILER] Have fun :)
  5. [CENTER]I've found this on the internet and packed it. Most of its from Rune-Server but I don't like the idea of it being there because I don't like them. But I hope you get the most out of this list as I did because its pretty decent. Data, Misc, Maps, all the things that combine with 317 PI or Delta, can be found there. And hopefully soon or later, we convert all tutorials from their to here. Please change [U][B]****************[/B][/U] in all links to rune-server(dot)org and switch the (dot) to a period. Feel free to use my registered account on their forums to view the thread if it does not let you. [QUOTE] Username: MyLocus Password: rune-server-sucks Email: [email][email protected][/email] * NOT VALID email. * [/QUOTE] [SIZE=6]Archives's[/SIZE] [URL="www.runelocus.com/tools/tutorials.html"]Tutorial[/URL] [URL="http://www.runelocus.com/forums/forumdisplay.php?74-RSPS-Snippets"]Snippet[/URL] [SIZE=6]Tutorials and Snippets[/SIZE] [URL="http://www.****************/runescape-development/rs2-client/snippets/307867-new-text-engine-converted-work-galkons.html#post2589886"]New Text Engine[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/411665-renamed-load-save-username-password.html#post3376884"]Load/Save Username and Password[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/404646-enabling-disabling-crc-checking-jaggrab.html#post3316740"]Enabling/Disabling CRC Checking (JAGGRAB)[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/402896-renamed-gameupdater-cachedownloader.html#post3303407"]GameUpdater > CacheDownloader[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/398511-changing-look-feel.html#post3267565"]Changing Client Look-and-feel[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/398361-change-all-runescape-your-servername.html#post3266463"]Changing all RuneScape Strings to YourServerName[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/384200-ref-random-login-message-spoonfed.html#post3157011"]Random Login Message[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/373467-how-jar-sign-your-client.html#post3069899"]How to Jar & Sign a Client[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/370476-pi-removing-flames-adding-custom-background.html#post3046803"]Remove Flames & Add Custom BackGround[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/364326-screenshot-buttong-jmenu.html#post3004491"]Screenshot Option in JMenu[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/363912-video-how-make-interfaces-cache-packed.html#post3001406"]How to make Interface (Cache Packed)[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/353377-basic-dialog-when-launching-client.html#post2925836"]Basic Dialogue box When Launching Client[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/351967-how-add-new-items-into-your-client.html#post2915508"]How to newer items[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/351848-better-chat-tags.html#post2914642"]Improved Chat Tags[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/413217-galkons-adding-new-color-s.html#post3390846"]Adding new Text Colours[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/411684-mouse-cords-custom-loginscreen.html#post3377036"]Mouse Cords on Login Screen[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/410100-seq-packer.html#post3363110"]seq Packer[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/386718-pi-perfect-updatecache.html#post3176922"]Perfect Update Cache[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/408562-data-dat-interface-cache-writer.html#post3349107"]data.dat (Interface Cache) Writer[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/379021-enchanced-minimap.html#post3114656"]Enhanced Mini-map[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/129700-teleport-option-friends-list.html#post1125054"]Teleport Option on Friends List[/URL] (scroll down for renamed.) [URL="http://www.****************/runescape-development/rs2-client/tutorials/270009-galkons-refactored-new-loading-bar-almost-100-a.html#post2306271"]Custom/New Loading Bar[/URL] (May be deleted.) [URL="http://www.****************/runescape-development/rs2-client/tutorials/270009-galkons-refactored-new-loading-bar-almost-100-a.html#post2306271"]Alert/Notification System[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/338887-skin-color-improved.html#post2820968"]More Skin Colour Options[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/418376-draw-npc-ids-above-npcs-head.html#post3430608"]Draw NPC IDs Above NPCs Head[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/206876-sprite-outlining-magic-interface.html#post1799194"]Magic Sprite Outlining[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/372096-new-proper-context-menu-transparent.html#post3058884"]New Context Menus[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/402329-super-simple-changing-default-java-icon-taskbar-window-frame.html#post3298234"]Updating Java Icon[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/362011-ref-current-hitmarks-icon-maxhit.html#post2987177"]Modern Hit-marks + Server-side Support[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/236030-new-text-engine-like-459-a.html#post2046171"]459 Text Engine[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/363314-sounds-music.html#post2996901"]Sound & Music System[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/368914-pi-makeing-your-client-write-all-item-ids.html#post3035870"]Client Writes Item ID's[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/391079-checksum-version-list-writers.html#post3211265"]Checksum & Version List Writers[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/345994-how-get-cool-lightning-your-players.html#post2872663"]Object Lighting Adjustments[/URL] [URL="http://www.****************/runescape-development/rs2-client/tutorials/291160-galkons-zoom-out-buttons.html#post2480424"]Zoom in/out Buttons[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/172362-adding-autocast-option-like-runescape.html#post1498473"]Auto-cast Option[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/172362-adding-autocast-option-like-runescape.html#post1498473"]Friend Finder[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/323269-index-repacking.html"]Index Repacking[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/382173-unique-npc-object-item-searching.html#post3140843"]NPC, Object & Item Searching[/URL] [URL="http://www.****************/runescape-development/rs2-client/snippets/383223-hover-tooltip-over-npcs-objects-players.html#post3149240"]NPC's, Objects, & Player Hover Tool Tips[/URL] More will be added soon. Please visit the link below and use the tutorials from there. Will update time from time, as it has taken me over 2 hours to put all the links above together. [url]http://www.****************/runescape-development/rs2-client/tutorials/419990-galkons-refactored-tutorials-snippets-interfaces-data-bug-fixes.html[/url] Good luck, and please reputate, or thank me if you can lolking.[/CENTER]
  6. Hey guys. I made a youtube channel for RSPS to help (Only) starters of RSPS. If you like it Subscribe/comment. I made this awhile back but if I start to see people watching it I will add more to the RSPS series and so forth. After the RSPS series I will do web development. [url]www.youtube.com/turnontutorials[/url]
  7. I was wanting to get around to this when I was still an admin, but unfortunately things don't work out. Archive all the tutorials that are actually informative, useful, and provide high-quality content that deserve some recognition but instead get piled up in the usual sum of crap that get posted every now and then. This is appropriate for the RSPS boards, and even web development. Not only will this inspire people to be better tutorial writers, but it will also inspire better content which can also help server owners look for that next big feature rather than a subtle command or new interface. Keep quantity alive, but put quality where it deserves.
  8. [b]Hello World, your first program[/b] [code]//The package is the group of floders that contains the java class file package helloworld; //All of your code goes inside of the class, with out declaring that it's a class, it won't work public class HelloWorld { //This is the main method, this method declares that this class can run on its own public static void main(String args[]){ //This line prints the text onto the command consol System.out.println("Hello World!"); } }//end of class[/code] [b]Variables[/b] [code]//integers work in whole values like 2, 4, 6, 8 int i; int a = 2; //Doubles work in decimals like shown below double b; double d = .7; //Booleans are true and false operators. boolean e; boolean w = false; //char is the primative version of String, which we will talk about later char o; char r = 'a'; //The string variable is a branch of of 'char', it's used a lot for text farses IE below String u; String q = "The dog that could";[/code] [b]Getting user input[/b] This is important for making user based programs. [code]package input; //imports all of the classes in the util package import java.util.*; public class Input { public static void main(String[] args) { //Declares the scanner, so it can be used. Scanner input = new Scanner(System.in); //String variable used on later. String name; System.out.println("What's your name?"); //Allows user to type in info' name = input.next(); //when you put a variable name into a print statement, it will print it out. System.out.println(name + ", what a lovely name."); } }[/code] [b]Math operators[/b] [code]package math; public class Math { public static void main(String[] args) { int a, b, c; //Sets integer a to 2 a = 2; //Sets integer b to 5 b = 5; //adds a, and b together c = a + b; //Prints c System.out.println(c); System.out.println(a + b); //Minus System.out.println(a - b); //Multiple System.out.println(a * b); //Divide System.out.println(a / b); } }[/code] [b] Increment Operators[/b] [code]int a = 5; //Adds 1 to a before the process ++a; //Adds 1 to a after the process a++; //Minuses 1 to a before the process --a; //Minuses 1 to a after the process a--; //Adds 5 to a, if you just put = it would delete the old value a += 5; //Minuses 5 from a a -= 5;[/code] of course you can you all the math operates IE *=; [b]If statement[/b] [code]package pkgif; public class If { public static void main(String[] args) { int i = 4; if(i == 4){ System.out.println("True"); }else{ System.out.println("False"); } } }[/code] [b]Else if[/b] [code]package pkgelse.pkgif; public class ElseIf { public static void main(String[] args) { int i = 0; //With else-if you can test multiply variables at once if(i < 5)//true System.out.println("True"); else if(i > 5)//false System.out.println("False"); } }[/code] [b]Nested if-statement[/b] [code]package nested.pkgif; public class NestedIf { public static void main(String[] args) { int i = 0; //A nest'd if-statement is when you test something inside of an existing if-statement if(i == 0){ i++; if(i == 1) System.out.println("false"); } } }[/code] [b]Conditional Operator[/b] [code]package conditional.operator; public class ConditionalOperator { public static void main(String[] args) { String i = "Ethan"; //The conditional operator is much like the if-statement //The conditional operator is a boolean type, testing true, or false System.out.println(i.equals("Ethan") ? "True" : "False"); } }[/code] [b]Switch/cases[/b] [code]package pkgswitch; public class Switch { public static void main(String[] args) { char c = 'a'; //Switch creats cases, which can make your programs more organized switch(c){ case 'a': System.out.println("a"); case 'b': System.out.println("b"); case 'c': System.out.println("c"); } } }[/code] [b]While loops [/b] [code]package pkgwhile; public class While { public static void main(String[] args) { int i = 1; //While loops test variables, and proforms tasks. while(i == 1){ System.out.println("Hello."); i++; } } }[/code] [b]For Loop[/b] [code]package pkgfor; public class For { public static void main(String[] args) { //This program will loop until I equals 1000, it reads the program and adds one every time it's done using i++. for(int i = 0; i <= 1000; i++){ System.out.println("I say this 1000 times"); } } } [/code] [b]Start to methods[/b] [b] Method.java [/b] [code]package methods; public class Methods { //This is a method, this is like the main method public static void main(String args[]) public void method(){ System.out.println("I'm a method"); } }[/code] [b] Main.java [/b] [code]package methods; public class Main { public static void main(String args[]){ //Declaring the method Methods m = new Methods(); //Now the 'code' in the class Methods method 'method' will prefrom m.method(); } } [/code] [b]Constructor[/b] [code] public class Constructor { public static void main(String[] args) { new Constructor(); } //The constructor is in a sense the body of the class. Instead of calling the class //then calling the method, this code will perform right as you call the class public Constructor() { System.out.println("I'm called when ever you call this class"); } } [/code] [b]Parameters[/b] [code] class Parameters { //The main method it's self take a string as a parameter public static void main(String args) { new Parameters().method("Hello World! :D"); } //Parameters are very useful, They can be used when you call the method to insert information, like a string, on an integer public void method(String text) { System.out.println(text); } }[/code] [b]Over Loaded Constructors[b] [code] class OverLoaded { public static void main(String[] args) { new OverLoaded("dog"); new OverLoaded("The value of \"i\" is", 23); new OverLoaded("The value of \"b\" is", 23); } /** * @param text */ public OverLoaded(String text) { System.out.println(text); } /** * @param text * @param i */ public OverLoaded(String text, int i) { System.out.printf("%s: %s", text, i); } /** * @param text * @param b */ public OverLoaded(String text, double b) { System.out.printf("%s: %s", text, b); } } [/code] [b]Enums[/b] [code] class Enum { public static void main(String[] args) { new Enum(information.PERSON1).formateInformation(); } /** * Enum properties are all capitalized 'cause they're constants */ public enum PersonsInformation { PERSON1("Ethan", "Honer", 15), PERSON2("Liam", "Dempsey", 16); private String firstName, lastName; private int age; /** * Enum constructor * @param firstName * @param lastName * @param age */ private PersonsInformation(String firstName, String lastName, int age) { this.firstName = firstName; this.lastName = lastName; this.age = age; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public int getAge() { return age; } } private static PersonsInformation information; public Enum(PersonsInformation information){ this.information = information; } public static void formateInformation(){ System.out.printf("%s, %s, %s\n", information.getFirstName(), information.getLastName(), information.getAge()); } }[/code] More tutorials coming soon.
  9. Do you want leechers? or [B][I][U]Do you want No tutorials![/U][/I][/B] my answer
  10. Hello thank your for reading this. My problem is that I have changed my ip in the client and all that fun stuff and when I load the client it loads perfectly fine andf I am able to login. But I had downloaded a different cache awhile ago so I think that is why it loads because I had jarred and signed the client and put it up still worked for me. But my friends when they go on there all it says is connecting to update server but when I go on the status checker on here and look it up it says online. So I checked out the cache it downloads and it doesnt download it all. Like for instance it doesnt download a few items that it needs. So when I gave the cache that I had to them and they replaced it, it worked. So is there a way to change the link that downloads the cache?
  11. ok guys follow this link and tell me what u think of his guides... its a series tutorials on java..like 87 videos. I thought it was the coolest damn thing just wonderin what u guy think... It should begin autoplaying the playlist... theres like 87 videos each a few minutes long and u can skip over things u know
  12. Okay, I'm sure there's a Tutorial for this but I'm not allowed to search such "basic terms" so I can't find it. I need to know what file to edit and what to put in, I want to add men and rock crabs to the rock crab place and maybe guards to edgeville..
  13. Quote:this is 100% my server my friend gave me a blank z508 source we added stuff then he quit so i finished this by myself so this IS NOT LEECHED!! old server name Project UFO owner Mod Matt ================================================================== - Route 62 formly known as Project UFO client: www.route-62-client.tk fourms: www.projectufo.darkbb.com Added Donater cape! gives 20+ str bonus for donaters only xD Added music cape gives 10+ str bonus for lower donaters xD Training and money making xD Quest tab Pvp Our Home with santa! Edgeville pvp Pvp rules: No farcasting unless your attacking a mager No xlogging even though it’s fixed No duping even though i fixed it all xD No xfering for aid Server rules: No not swear at people unless they deserve it lol No multilogging No not beg for cash No keep asking mod matt if you can be staff >.> More rules! not updating atm ------------------------------------------- Only donate to Mod Matt at: [email protected] That’s paypal only! ------------------------------------------- 20$+ can get you amazing rewards including any 2 99s donater cape + more! ===Our Features=== - Training at custom locations - Fast xp not too fast - Medium money making - 90% PvN "Player vs Npc" - 7 working skills! - Pvp timers! 8secs - small delay for Blitz/dbow - working void effects - Amazing ECO - Amazing donater rewards and more! === alot more! come check us out! === Route 62! All your dreams will come true!
×