Jump to content

Search the Community

Showing results for tags 'dueling'.



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 7 results

  1. Didn't see a release for this so I wanted to release it enjoy. Go to InventoryOptionsHandler.java search for [CODE]public static void handleItemOption6[/CODE] at the bottom add [CODE] else if (itemId >= 2552 && itemId <= 2566) player.getDialogueManager().startDialogue("Transportation", "Duel Arena", new WorldTile(3315, 3234, 0), "Castle Wars", new WorldTile(2442, 3088, 0), "Mobilising Armies", new WorldTile(2413, 2848, 0), "Fist of Guthix", new WorldTile(1679, 5599, 0), itemId);[/CODE] Go to Transportation.Java search for [CODE]if (item.getId() >= 3853 && item.getId() <= 3865 || item.getId() >= 10354 && item.getId() <= 10361) {[/CODE] replace with [CODE]if (item.getId() >= 3853 && item.getId() <= 3865 || item.getId() >= 10354 && item.getId() <= 10361 || item.getId() >= 2552 && item.getId() <= 2564) {[/CODE] find in same file [CODE]} else if (item.getId() == 3867 || item.getId() == 10362 { item.setId(-1);[/CODE] replace with [CODE]} else if (item.getId() == 3867 || item.getId() == 10362 || item.getId() == 2566) { item.setId(-1);[/CODE] Your done Thanks if your using it.
  2. Title says all, will thank and rep++ anyone that can help ASAP
  3. [CENTER][ATTACH=CONFIG]6659[/ATTACH] [SIZE="6"][FONT="Arial Narrow"][COLOR="Green"]We're back![/COLOR][/FONT][/SIZE][/CENTER] [B][COLOR="Orange"]Webclient: [url=http://titan614.com/home/index.php?page=play]Titan614 - Play Now![/url] Downloadable Client: [url]http://titan614.com/home/index.php?board=2.0[/url] Vote: [url=http://titan614.com/home/index.php?page=vote4cash]Titan614 - Vote4Cash[/url] Donate: [url=http://titan614.com/home/index.php?page=subscriptions]You must agree to the ToS[/url] Forum News Board: [url=http://titan614.com/home/index.php?board=1.0]News[/url][/COLOR][/B] [B]Our Objective[/B] [COLOR="DeepSkyBlue"]We have one primary objective for the Titan 614 project and that objective is to emulate a RuneScape private server with accurate, realistic content as accurate to RuneScape as possible. Alongside this objective we also want to have a great, positive community which is acceptable to all.[/COLOR] [b]Features[/b] [LIST] [*]Thieving Skill, all stalls in Ardy work [*]Potion refilling (using potions (1) on potions (20 etc.) [*]Able to clean all herbs which are thievable or buyable [*]Duel arena fully added! [*]Wrath prayer added [*]Command system rewritten for stability and efficiency [*]Fully re-arrangeable spell books (moderns, ancients, lunars) [*]Achievment tab contains useful game information about your account [*]Unique Tournament System [*]Fully working woodcutting system, all trees work [*]Morrigans throwing axe and javelins [*]All correct projectiles for ranged weapons [*]Ancients autocasting [*]Dicing arena for those who love gambling their money [*]Private message colouring [*]Voting for rewards [*]Working Clan Chats! [/LIST] [CENTER][b]How to play?[/b] [COLOR="DeepSkyBlue"]Well due to our anti cheat client protection you're unable to use a third party client. You MUST use the webclient or downloadable client available from Titan614.com[/CENTER][/COLOR] [b]Game Content[/b] [CENTER][b]Character Designing[/b] [IMG]http://titan614.com/images/redeisgn.png[/IMG] [b]Character Designing Continued[/b] [IMG]http://titan614.com/images/part2.png[/IMG] [b]Bank Pins[/b] [IMG]http://titan614.com/images/bankpon.png[/IMG] [b]Dueling/Staking[/b] [IMG]http://titan614.com/images/18805_20294.png[/IMG] [b]Private Chat Customisation[/b] [IMG]http://titan614.com/images/18805_20296.png[/IMG] [b]Tournaments![/b] [IMG]http://titan614.com/images/2ad34398100e75f02e5f88721996df50.png[/IMG] [b]Wrath[/b] [IMG]http://titan614.com/images/18805_20297.png[/IMG] [b]Woodcutting[/b] [IMG]http://titan614.com/images/0ff7851abe24ae2a48fcf54f116c04b1.png[/IMG] [b]Morrigans Spears[/b] [IMG]http://titan614.com/images/d24ad02a632b40c4bf53b9e7788afcb4.png[/IMG] [b]Morrigans Throwing Axes[/b] [IMG]http://titan614.com/images/ec3838da57df322237b4f3ce0e76f9fa.png[/IMG] [b]Donator Glow[/b] [IMG]http://titan614.com/images/glow.png[/IMG][/CENTER] Full image archive: [url=http://titan614.com/images/]Index of /images[/url] [B]Update Log:[/B] 20.10.2012 Fixed up all bugs to do with staking 21.10.2012 All dragon weapon special attacks work Melee accuracy formulae fixed (this is not the max hit formulae, it's the accuracy formulae)
  4. I'm using the Eyrescape 562/639 Dementhium source, And well, When you or your opponent dies in Dueling arena, You logout automaticly, Any stakes and spoils are lost in the process, And you aren't teleported out, This doesn't ALWAYS happen in friendly mode, but so far it has always happened in Staking mode. Please ask me if you need anymore information on the problem, and sorry I can't provide any now; I have no clue on what the problem could be caused by. Thanks so much in advance :D
  5. [code] package org.dementhium.model.player; import java.text.NumberFormat; import org.dementhium.model.Container; import org.dementhium.model.Item; import org.dementhium.net.ActionSender; import org.dementhium.util.Misc; import org.dementhium.model.player.*; public class DuelSession { private int config; private final Player dueler, partner; private boolean duelerDidAccept, partnerDidAccept; private boolean[] rules = new boolean[23]; public enum DuelState { STATE_ONE, STATE_TWO, } public ArrayList<Integer> appliedRuleConfigValues = new ArrayList<Integer>(); public void addRule(int buttonId){ int configValue = getConfigValueForButton(buttonId); //Make dis one, easy. appliedRuleConfigValues.add(configValue); reloadConfigs(dueler); reloadConfigs(partner); } public void reloadConfigs(Player p){ int total = 0; for (int conf : appliedRuleConfigValues){ total += conf; } ActionSender.sendConfig(p, 286, total); } private int getConfigValueForButton(int buttonId) { int[] buttons = {30,32,34,36,38,40,42,44,46,48,50,52,54,56,57,58,59,60,61,62,63,64,65,66}; int[] configValue = {16,32,64,4096,1,128,256,512,2,1024,268435456,8192,16384,32768,65536,134217728,131072,262144,524288,2097152,67108864,16777216,8388608}; for (int i = 0; i < buttons.length; i++) { if (buttonId == buttons[i]) { return configValue[i]; } } return -1; } private DuelState currentState = DuelState.STATE_ONE; public DuelSession(Player dueler, Player partner) { this.dueler = dueler; this.partner = partner; dueler.setAttribute("didRequestDuel", Boolean.FALSE); partner.setAttribute("didRequestDuel", Boolean.FALSE); openFirstDuelScreen(dueler); openFirstDuelScreen(partner); } public Player getOther(Player player) { return dueler == dueler ? partner : dueler; } public Player getDuelPartner() { return partner; } public void openFirstDuelScreen(Player p) { ActionSender.sendInterface(p, 631); ActionSender.sendInventoryInterface(p, 336); ActionSender.sendString(p, ""+Misc.formatPlayerNameForDisplay(p.equals(dueler) ? partner.getUsername() : dueler.getUsername()), 631, 25); ActionSender.sendString(p, ""+(p.equals(dueler) ? partner.getSkills().getCombatLevel() : dueler.getSkills().getCombatLevel()), 631, 27); ActionSender.sendString(p, "", 631, 28); partnerDidAccept = false; duelerDidAccept = false; } public void openSecondDuelScreen(Player p) { currentState = DuelState.STATE_TWO; partnerDidAccept = false; duelerDidAccept = false; ActionSender.sendInterface(p, 626); ActionSender.sendString(p, "", 626, 45); ActionSender.sendString(p, "Remember to read over the rules, you have been warned!", 626, 20); } /*public void openSecondInterface(Player player) { ActionSender.sendInterface(player, 626); }*/ public void acceptDuel(Player pl) { if (!duelerDidAccept && pl.equals(dueler)) { duelerDidAccept = true; } else if (!partnerDidAccept && pl.equals(partner)) { partnerDidAccept = true; } switch (currentState) { case STATE_ONE: if (pl.equals(dueler)) { if (partnerDidAccept && duelerDidAccept) { openSecondDuelScreen(dueler); openSecondDuelScreen(partner); partnerDidAccept = false; duelerDidAccept = false; } else { ActionSender.sendString(dueler, "Waiting for other player...", 631, 28); ActionSender.sendString(partner, "The other player has accepted", 631, 28); } } else if (pl.equals(partner)) { if (partnerDidAccept && duelerDidAccept) { openSecondDuelScreen(dueler); openSecondDuelScreen(partner); } else { ActionSender.sendString(partner, "Waiting for other player...", 631, 28); ActionSender.sendString(dueler, "The other player has accepted", 631, 28); } } break; case STATE_TWO: if (pl.equals(dueler)) { if (partnerDidAccept && duelerDidAccept) { closeDuel(dueler); closeDuel(partner); partnerDidAccept = false; duelerDidAccept = false; } else { ActionSender.sendString(dueler, "Waiting for other player...", 626, 45); ActionSender.sendString(partner, "The other player has accepted", 626, 45); } } else if (pl.equals(partner)) { if (partnerDidAccept && duelerDidAccept) { closeDuel(dueler); closeDuel(partner); partnerDidAccept = false; duelerDidAccept = false; } else { ActionSender.sendString(partner, "Waiting for other player...", 626, 45); ActionSender.sendString(dueler, "The other player has accepted", 626, 45); } } break; } } public void closeDuel(Player player) { ActionSender.closeInter(dueler); ActionSender.closeInter(partner); ActionSender.closeInventoryInterface(dueler); ActionSender.closeInventoryInterface(partner); ActionSender.sendLoginConfigurations(partner); ActionSender.sendLoginConfigurations(dueler); dueler.setDuelSession(null); partner.setDuelPartner(null); dueler.getInventory().refresh(); partner.getInventory().refresh(); partnerDidAccept = false; duelerDidAccept = false; } } [/code] In Player.java [code] private DuelSession currentDuelSession; private Player duelPartner;[/code] And [code] public boolean inDuelArena() { if(getLocation().getX() >= 3330 && getLocation().getX() <= 3360 && getLocation().getY() >= 3242 && getLocation().getY() <= 3260) { // || getLocation().getX() >= 2885 && getLocation().getX() <= 2733 && getLocation().getY() >= 5465 && getLocation().getY() <= 3256) { ActionSender.sendPlayerOption(this, "Attack", 1, false); return true; } else { return false; } } [/code] And [code] public DuelSession getDuelSession() { return this.currentDuelSession; } public void setDuelSession(DuelSession newSession) { currentDuelSession = newSession; } public void setDuelPartner(Player duelPartner) { this.duelPartner = duelPartner; } public Player getDuelPartner() { return duelPartner; } [/code] in PlayerOption.java add [code] private void handleDuelRequest(Player player, Message packet) { packet.readByte(); int partnerIndex = packet.readLEShortA(); int opcode = packet.getOpcode(); System.out.println("Message not handled: " + opcode); if (partnerIndex < 0 || partnerIndex >= Constants.MAX_AMT_OF_PLAYERS) { return; } Player partner = World.getWorld().getPlayers().get(partnerIndex); if (partner == null || !partner.isOnline()) { return; } player.turnTo(partner); player.requestPath(partner.getLocation().getX(), partner.getLocation().getY(), true); if (partner.getDuelSession() != null) { ActionSender.sendMessage(player, "The other player is busy."); return; } if (partner.getAttribute("didRequestDuel") == Boolean.TRUE) { player.setDuelSession(new DuelSession(player, partner)); partner.setDuelPartner(player); } else { ActionSender.sendMessage(player, "Sending duel request..."); ActionSender.sendFriendlyDuelReq(partner, player.getUsername(), "wishes to duel with you."); player.setAttribute("didRequestDuel", Boolean.TRUE); } System.out.println("Message not handled: " + opcode); } [/code] In ActionSender.java add [code] public static void sendFriendlyDuelReq(Player player, String user, String message) { MessageBuilder bldr = new MessageBuilder(18, PacketType.VAR_BYTE); bldr.writeByte(106); bldr.writeInt(0); bldr.writeByte(0x1); bldr.writeRS2String(Misc.formatPlayerNameForDisplay(user)); bldr.writeRS2String(message); player.getConnection().write(bldr.toMessage()); } /** TO DO public static void sendStakeDuelReq(Player player, String user, String message) { MessageBuilder bldr = new MessageBuilder(18, PacketType.VAR_BYTE); bldr.writeByte(105); bldr.writeInt(0); bldr.writeByte(0x1); bldr.writeRS2String(Misc.formatPlayerNameForDisplay(user)); bldr.writeRS2String(message); player.getConnection().write(bldr.toMessage()); }*/ [/code] And last but lost least, in ActionButtonHandler.java [code] case 631: //Duel First Screen System.out.println("interfaceId: " + interfaceId + ", buttonId: " + buttonId); switch(buttonId) { case 101: if (p.getDuelSession() != null) { p.getDuelSession().acceptDuel(p); } else if (p.getDuelPartner() != null) { p.getDuelPartner().getDuelSession().acceptDuel(p); } break; case 30: // No Range case 32: case 21: // No Melee case 34: case 36: case 25: // Fun Weapons case 38: case 27: // No Forfiet case 40: case 29: // No Drinks case 42: case 31: // No Food case 44: case 33: // No Prayer case 46: case 35: // No Movement case 48: case 37: // Obsticals case 52: case 39: // Enable Summoning case 50: case 56: case 45: // No Helms case 57: case 58: case 47: // No Ammys case 59: case 60: case 49: // No Weapons case 61: case 62: case 51: // No Shields case 63: case 64: case 53: // No Rings case 65: case 66: p.getDuelSession().addRule(buttonId); break; case 23: case 106: try { if (p.getDuelSession() != null) { p.getDuelSession().closeDuel(p); } else if (p.getDuelPartner() != null) { p.getDuelPartner().getDuelSession().closeDuel(p); } } catch (Exception e) { e.printStackTrace(); } } break; case 626: //Duel Second Screen System.out.println("interfaceId: " + interfaceId + ", buttonId: " + buttonId); switch(buttonId) { case 53: if (p.getDuelSession() != null) { p.getDuelSession().acceptDuel(p); } else if (p.getDuelPartner() != null) { p.getDuelPartner().getDuelSession().acceptDuel(p); } break; case 7: case 86: try { if (p.getDuelSession() != null) { p.getDuelSession().closeDuel(p); } else if (p.getDuelPartner() != null) { p.getDuelPartner().getDuelSession().closeDuel(p); } } catch (Exception e) { e.printStackTrace(); } } break; [/code] NOTE: case 86: for interface 626 in actionbuttonhandler is the WRONG button id, if you want decline to work properly get the button id your self. [COLOR="Red"][B][U]IF YOU USE, ALL I ASK IS A "THANK" ON THIS, AND FOR YOU TO REP ME, THAT IS ALL![/U][/B][/COLOR] if you get any errors, post them below. I know it might now be the best, but hey, it's my first "major" release, and I plan to release more stuff as I go along :D Credits: Mystic Flow Velocity Graham Luke132 Me(Yes, i am byte me from rune-server
  6. Delete this thread, posted on my other account
  7. [code] package org.dementhium.model.player; import java.text.NumberFormat; import org.dementhium.model.Container; import org.dementhium.model.Item; import org.dementhium.net.ActionSender; import org.dementhium.util.Misc; import org.dementhium.model.player.*; public class DuelSession { private final Player dueler, partner; private boolean duelerDidAccept, partnerDidAccept; public enum DuelState { STATE_ONE, STATE_TWO, } private DuelState currentState = DuelState.STATE_ONE; public DuelSession(Player dueler, Player partner) { this.dueler = dueler; this.partner = partner; dueler.setAttribute("didRequestDuel", Boolean.FALSE); partner.setAttribute("didRequestDuel", Boolean.FALSE); openFirstDuelScreen(dueler); openFirstDuelScreen(partner); } public Player getOther(Player player) { return dueler == dueler ? partner : dueler; } public Player getDuelPartner() { return partner; } public void openFirstDuelScreen(Player p) { ActionSender.sendInterface(p, 637); ActionSender.sendInventoryInterface(p, 336); ActionSender.sendString(p, "Dueling With:", 637, 15); ActionSender.sendString(p, " "+Misc.formatPlayerNameForDisplay(getOther(p).getUsername()), 637, 16); ActionSender.sendString(p, ""+(getOther(p).getSkills().getCombatLevel()), 637, 18); } public void openSecondInterface(Player player) { ActionSender.sendInterface(player, 639); } public void accept(Player pl) { switch(currentState) { case STATE_ONE: if(duelerDidAccept && partnerDidAccept) { currentState = currentState.STATE_TWO; duelerDidAccept = false; partnerDidAccept = false; openSecondInterface(dueler); openSecondInterface(partner); } else if(duelerDidAccept && !partnerDidAccept) { ActionSender.sendString(dueler, "Waiting for other player...", 637, 45); ActionSender.sendString(partner, "The other player has accepted.", 637, 45); } else if(!duelerDidAccept && partnerDidAccept) { ActionSender.sendString(dueler, "Waiting for other player...", 637, 45); ActionSender.sendString(partner, "The other player has accepted.", 637, 45); } else { ActionSender.sendString(partner, "", 637, 45); ActionSender.sendString(dueler, "", 637, 45); } break; case STATE_TWO: if(duelerDidAccept && partnerDidAccept) { duelerDidAccept = false; partnerDidAccept = false; dueler.dungtele(3351, 3252, 0); partner.dungtele(3337, 3252, 0); ActionSender.closeInter(dueler); ActionSender.closeInter(partner); dueler.combatWith = partner.getIndex(); partner.combatWith = dueler.getIndex(); ActionSender.sendOverlay(dueler, 638); ActionSender.sendOverlay(partner, 638); close(); } else if(duelerDidAccept && !partnerDidAccept) { ActionSender.sendString(dueler, "Waiting for other player...", 639, 33); ActionSender.sendString(partner, "The other player has accepted.", 639, 33); } else if(!duelerDidAccept && partnerDidAccept) { ActionSender.sendString(partner, "Waiting for other player...", 639, 33); ActionSender.sendString(dueler, "The other player has accepted.", 639, 33); } else { ActionSender.sendString(partner, "", 639, 33); ActionSender.sendString(dueler, "", 639, 33); } break; } } public void close() { ActionSender.closeInter(dueler); ActionSender.closeInter(partner); ActionSender.closeInventoryInterface(dueler); ActionSender.closeInventoryInterface(partner); dueler.getInventory().refresh(); partner.getInventory().refresh(); } } [/code] Tell me what to add or stuff you would change to make it better. Credits to Demon Dylan, for some methods. Most of the creds go to Graham, for trading methods, im just useing them as a base/start and i will change them later When I finish i will be releaseing so don't worry ;) If anyone can give me the dueling request packet, i will give u 3m on runescape :D Thanks guys Rate/Hate/Give me Advise :P
×