Jump to content

jet kai

Extreme Donator
  • Content count

    274
  • Joined

  • Last visited

About jet kai

  • Rank
    Super Donator!
  • Birthday 06/30/1994

Recent Profile Visitors

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

  1. Look in Combat.java Search for: [QUOTE]if(p.getConnection().getChannel().getRemoteAddress().toString().contains(ip)) {[/QUOTE] Delete All Of: [QUOTE]if(p.getConnection().getChannel().getRemoteAddress().toString().contains(ip)) { p.getFrames().sendChatMessage(0,"You can't attack this person on the same ip as you."); this.removeTarget(); queuedSet = false; return; }[/QUOTE] Look in Packets.java Search For: [QUOTE]if(p.getConnection().getChannel().getRemoteAddress().toString().contains(ip)) {[/QUOTE] Delete All Of: [QUOTE]if(p.getConnection().getChannel().getRemoteAddress().toString().contains(ip)) { p.getFrames().sendChatMessage(0,"You can't attack this person on the same ip as you."); return; }[/QUOTE] Tell me if this doesn't worked. Haven't touched this source in awhile.
  2. Myself have gotten a few threats about spawnscape, and I know fatality614 just shut their doors this morning.
  3. Username: Jet Kai Which service do you want: Experienced Additional Information: Please add skype due to me being very active on it. PayPal: MSN: [email][email protected][/email] Skype: dylan.ryan94 Timezone: Eastern
  4. [quote name='hellman2741']I've only seen this on one server (besides my own. Probably on others, but I've only seen on one) So, I thought I'd put it on my server. And seeing as if I said something like "one of the only servers with a bank pin system" to advertise my server, other coders could easily make one. So, easier just to say I was one of the first to make a tutorial on it ;) This will add bank pins to players accounts in case they get hacked. Quite easy, just, if you have a bank pin. You have to type ::bankpin (pin) to use it. You can still open a bank without, but it'll give you a message warning you to get a bank pin to be more secure. [CENTER]-----------------------------------------------------------------[/CENTER] Let's get started. First, open up player.java and just below [CODE]public final class Player extends Entity {[/CODE] add [CODE] public String bankPin;[/CODE] Then search "rights" and you'll see [CODE] public int rights = 0;[/CODE] Below that, add [CODE]public int haspin = 0; public int typedpin = 0;[/CODE] Close player.java Next, open commandpackethandler and add this in [CODE] if(cmd[0].equals("delpin")) { if(cmd[1].equals(""+player.bankPin+"")) { player.haspin = 0; player.sm("You have deleted your bank pin, do ::setpin to make a new one"); } else { player.sm("That is not the correct pin"); player.sm("The command is '::delpin (pin)'"); } } if(cmd[0].equals("changepin")) { String setPin = cmd[2]; String oldPin = cmd[1]; String name = ""; for(int i = 2; i < cmd.length; i++) { name += cmd[1]; name += " "; } if (cmd[1].equals(""+player.bankPin+"")) { player.bankPin = ""+setPin+""; player.sm("Your new pin is "+setPin+". Write it down!"); XStreamPlayerLoader.punish.writeTo(player.getUsername() + " has changed their bankpin from "+oldPin+" to "+setPin+"/"+ player.getSession().getRemoteAddress(), "data/text/pinchanges"); } else { player.sm("Correct sytax is ::changepass (oldpass) (newpass)"); player.sm("If you have forgotten your bankpin, please talk to <img=1>Worldofwar or <img=1>Cody"); } } if(cmd[0].equals("setpin")) { if(player.haspin == 0) { String setPin = cmd[1]; String name = ""; for(int i = 2; i < cmd.length; i++) { name += cmd[1]; name += " "; } player.bankPin = ""+setPin+""; player.sm("Your new bank pin is "+setPin+". Write it down somewhere!"); player.haspin = 1; } else { player.sm("You already have a bank pin"); } }[/CODE] add the same into commandspackethandler, just add "::" infront of the commands... (or add . infront of them and put all in commandspackethandler if you're using a dotsystem) now, still in commandpackethandler, find your bank command (command that opens your bank) and replace it with this [CODE] if (cmd[0].equals("bank")) { if (player.haspin == 0) { player.getBank().openBank(); player.sm("You've opened your bank."); player.sm("<col=FF0000>For extra security, please do ::setpin (pin) to set a bank pin"); } else if(player.haspin == 1 && player.typedpin == 0) { player.sm("Please enter your pin by doing ::bankpin (pin) first"); } else if (player.haspin == 1 && player.typedpin == 1) { player.getBank().openBank(); player.sm("You've opened your bank."); } }[/CODE] You can also add it to your commandspackethandler if you want a command for a normal player/mod to be able to use it, but you'll have to add in the wilderness variables and stuff. Now, open up your object1packethandler, objectpackethandler, npcpackethandler, and summonpackethandler. In all of them, search "openbank" and replace the banking method with this [CODE] case ####:// if (player.haspin == 0) { player.getBank().openBank(); player.sm("You've opened your bank."); player.sm("<col=FF0000>For extra security, please do ::setpin (pin) to set a bank pin"); } else if(player.haspin == 1 && player.typedpin == 0) { player.sm("Please enter your pin by doing ::bankpin (pin) first"); } else if (player.haspin == 1 && player.typedpin == 1) { player.getBank().openBank(); player.sm("You've opened your bank."); } break;[/CODE] You may have to change "player" to just "p" for some of the files. Finally, in actionsender, search for "starter" and add [CODE]player.typedpin = 0;[/CODE] under it and the [CODE]} else {[/CODE] And that's it. You have a 95% bank pin People set a pin by doing ::setpin (pin) Change their pin by doing ::changepin (oldpin) (newpin) delete their pin by doing ::delpin (pin) and finally, they enter their pins by doing ::bankpin (pin) Hope you liked.[/QUOTE] Really nice man, thanks for the release. :)
  5. When I type ";;claim" it gives me a big error and nulls the server and makes the person that did the command logout. The error is posted below and any help would be great. [CODE]java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at com.rs.utils.VoteManager.createConnection(VoteManager.java:17) at com.rs.utils.VoteManager.checkVote(VoteManager.java:32) at com.rs.game.player.content.Commands.processNormalCommand(Commands.java:2815) at com.rs.game.player.content.Commands.processCommand(Commands.java:92) at com.rs.net.decoders.WorldPacketsDecoder.processPackets(WorldPacketsDecoder.java:1693) at com.rs.net.decoders.WorldPacketsDecoder.decode(WorldPacketsDecoder.java:419) at com.rs.net.ServerChannelHandler.messageReceived(ServerChannelHandler.java:127) at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:95) at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:563) at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:558) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:91) at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:373) at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:247) at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35) at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102) at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) [/CODE]
  6. Are you using no-ip or ur vps's ip?
  7. [quote name='item 0'][b]Making your server compatible with additional bonuses in the item.cfg[/b] PLEASE NOTE: THIS HAS BEEN RELEASED FOR PEOPLE ADDING THE 732 ITEM.CFG I'VE UPLOADED WHICH CONTAINS ALL NEW BONUSES! Those of you that are planning on using my 732 item.cfg (All bonuses included) you will need to do this first. First open up player.java and find: [code] public int[] playerBonus = new int[12]; [/code] change it to: [code] public int[] playerBonus = new int[18]; [/code] Next open up itemAssistant.java and find: [code] public final String[] BONUS_NAMES = { [/code] Replace everything in it with this: [code] public final String[] BONUS_NAMES = { "Stab", "Slash", "Crush", "Magic", "Range", "Stab", "Slash", "Crush", "Magic", "Range", "Strength", "Prayer", "Summoning", "Absorb Melee", "Absorb Magic", "Absorb Ranged","Ranged Strength","Magic Damage" }; [/code] Now you'll need to open up itemHandler.java and find: [code] if (token.equals("item")) { int[] Bonuses = new int[12]; if (token3[(6 + 0)] != null) { } for (int i = 0; i < 12; i++) { if (token3[(6 + i)] != null) { Bonuses[i] = Integer.parseInt(token3[(6 + i)]); } else { break; } [/code] Replace the "[12]" with "[18]" so it looks like this: [code] if (token.equals("item")) { int[] Bonuses = new int[18]; if (token3[(6 + 0)] != null) { } for (int i = 0; i < 18; i++) { if (token3[(6 + i)] != null) { Bonuses[i] = Integer.parseInt(token3[(6 + i)]); } else { break; } [/code] [hr] The bonuses have been dumped by me via RuneWiki, so ALL items have all extra bonuses added to them (If required). Here's an example of what is inside the item.cfg file: [code] item = 20140 Torva_platebody _An_ancient_warrior's_Platebody. 1 1 0 0 0 0 -31 -11 156 140 120 -10 160 4 1 65 6 0 12 0 0 [/code] This is the layout (New bonuses) item = 20140 Torva_platebody _An_ancient_warrior's_Platebody. 1 1 0 0 0 0 -31 -11 156 140 120 -10 160 4 1 [color=red]Summ MeleeAbs MageAbs RangeAbs RangeStr Magedamage[/color] Screenshot: [img]http://oi49.tinypic.com/24yp9wi.jpg[/img] [B]Advance notice:[/B] If you've got custom items you'll need to add 6 extra 0's to your items or you'll get an error when you run your server. NOTE: IF ANYONE TRIES TO SELL THIS FOR RSGP I DON'T CARE! PLEASE DON'T PM ME AND TELL ME ITS BEING SOLD! 732 item.cfg (Soaking included All correct bonus) download link: [url]http://www.mediafire.com/?88js9ucls9stnrx[/url][/QUOTE] Helpful but might not use :/ But thanks anyways! :)
  8. [quote name='Citellum']Hey RuneLocus No-Lifers, Today, I present my second snippet! :D This is sorta followed by the thread named "Demon Teleport". Let's start. Step: 1. Locate your HomeTeleport Class Step: 2. Change the GFX and Animations to [code]GFX: 3223 EMOTE:17106[/code] Step: 3. Save (Compile if not using an IDE) Step: 4. Teleport using LodeStone Network Step: 5. Thank Citellum! If you get problems with this, I feel sorry for you. Enjoy :)[/QUOTE] Thanks for the release. :)
  9. [quote name='axter']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; /** * * @author Taylor<Axter> * */ public class Blackmark { /** * Cunstructor ads a blackmark to a players 'record' * @param player * @param 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 * @param 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 * @param 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 * @param 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 * @param 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; /** * * @author 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 * * @param player * @param 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[/QUOTE] Imma try to make this work with my forums too, thanks for the release. :)
  10. [quote name='cofee']Hey everyone, umm i haven't really released anything in a while so here a lil something. I have lots of 718 quests so why not release one to you guys, i know many will leech but w/e, im giving you guys the dialogues , your going to have to use the dialogues to create a quest, not releasing how to do that :P Dialogues are 100% runescape. Show some respect and hit the thanks button POSTED FIRST ON RUNE-SERVER BY EXTINCTIONX = I AM EXTINCTIONX Ghost Code: [CODE]package com.rs.game.player.dialogues.lumbridge.quests; import com.rs.game.player.dialogues.Dialogue; /* * @Author Goran <RuneApple Owner> * @RuneApple.com Copyrights * * Dialogue for Ghost once the player is wearing a ghost speaking amulet. */ public class Ghost extends Dialogue { int npcId; @Override public void start() { sendPlayerDialogue( 9827, "Hello, ghost, how are you?"); } @Override public void run(int interfaceId, int componentId) { if (stage == -1) { sendNPCDialogue(457, 9827, "Not very good, actually" ); stage = 1; } else if (stage == 1) { sendPlayerDialogue( 9827, "Whats wrong?"); stage = 2; } else if (stage == 2) { sendNPCDialogue(457, 9827, "Did you just understand what i said?" ); stage = 3; } else if (stage == 3) { sendPlayerDialogue( 9827, "Yep. Now, tell me what the problem is."); stage = 4; } else if (stage == 4) { sendNPCDialogue(457, 9827, "Wow! this is incredible! i didn't expect anyone ","" + "to ever understand me!"); stage = 5; } else if (stage == 5) { sendPlayerDialogue( 9827, "Okay, okay i can understand you."); stage = 7; } else if (stage == 7) { stage = 8; sendPlayerDialogue( 9827, "But have you any idea why you're doomed to be a ghost?"); } else if (stage == 8) { sendNPCDialogue(457, 9827, "Well, to be honest , i'm not sure, ", "I should think it's becuse i've lost my head."); stage = 9; player.getPackets().sendGameMessage("You are making progress"); player.RG = 4; } else if (stage == 9) { sendPlayerDialogue( 9827, "what? I can se ur head perfectly fine. well, see ", "through it at least"); stage = 10; } else if (stage == 10) { sendNPCDialogue(457, 9827, "No, no I mean from my REAL body. If you look in my coffin you'll ", "see my corpse is without its skull. Last thing I remeber I was being", "attacked by a warlock while I was mining. it was at the mine just", "south of the graveyard."); stage = 11; } else if (stage == 11) { sendPlayerDialogue( 9827, "Okay. I'll try to get your skull back for you so you", "can rest in peace."); end(); } else if (stage == 21) { switch (componentId) { case 1: break; } } else { end(); } } public void finish() { } }[/CODE] Searching for skull GhostFind.java Code: [CODE]Package com.rs.game.player.dialogues.lumbridge.quests; import com.rs.game.player.dialogues.Dialogue; /* * @Author Goran <RuneApple Owner> * @RuneApple.com Copyrights * * Starts the gunars ground quest */ public class Ghostfind extends Dialogue { int npcId; @Override public void start() { sendNPCDialogue(457, 9827, "How are you doing finiding my skull?" ); } @Override public void run(int interfaceId, int componentId) { if (stage == -1) { sendPlayerDialogue( 9827, "im still searching"); stage = 1; } else if (stage == 1) { sendNPCDialogue(457, 9827, "ok, thanks for your help!" ); end(); player.RG = 4; } else if (stage == 21) { switch (componentId) { case 1: break; } } else { end(); } } public void finish() { } }[/CODE] Player without the amulet Code: [CODE]package com.rs.game.player.dialogues.lumbridge.quests; import com.rs.game.player.dialogues.Dialogue; /* * @Author Goran <RuneApple Owner> * @RuneApple.com Copyrights * * Dialogue for Ghost - Dialogue when player does not have the ghost speak amulet */ public class GhostWo extends Dialogue { int npcId; @Override public void start() { sendPlayerDialogue( 9827, "blies, marajs, tea fef tu?"); } @Override public void run(int interfaceId, int componentId) { if (stage == -1) { sendNPCDialogue(457, 9827, "muhs rejo te la" ); stage = 1; } else if (stage == 1) { sendPlayerDialogue( 9827, " im sorry i dont understand?"); stage = 2; } else if (stage == 2) { sendNPCDialogue(457, 9827, "par muaj oks oeie umd!" ); end(); } else if (stage == 21) { switch (componentId) { case 1: break; } } else { end(); } } public void finish() { } }[/CODE] father aereck Code: [CODE]package com.rs.game.player.dialogues.lumbridge.quests; import com.rs.game.player.dialogues.Dialogue; /* * @Author Goran <RuneApple Owner> * @RuneApple.com Copyrights * * Starts the gunars ground quest */ public class FARestlessghost extends Dialogue { int npcId; @Override public void start() { sendNPCDialogue(456, 9827, "Welcome to the church of holy Saradomin." ); } @Override public void run(int interfaceId, int componentId) { if (stage == -1) { sendPlayerDialogue(9827, "I'm looking for a quest." ); stage = 1; } else if (stage == 1) { sendNPCDialogue(456, 9827, "Thats lucky, I need someone to do a quest for me." ); stage = 2; } else if (stage == 2) { sendPlayerDialogue(9827, "sure!"); stage = 3; } else if (stage == 3) { sendNPCDialogue(456, 9827, "Thank you. the problem is there's a ghost in the graveyard crypt", "of this church. I would like you to get rid of it." ); stage = 4; } else if (stage == 4) { sendNPCDialogue(456, 9827, "You'll need the help of my freind, Father Urhney,", "who is a bit of"); stage = 5; } else if (stage == 5) { sendNPCDialogue(456, 9827, "He's currently living in a little shack in the south of Lumbridge", "Swamps, neat the coast."); stage = 7; player.RG = 2; player.getPackets().sendGameMessage("<col=0000ff>You have started the restless ghost<col=0000ff>,"); //todo - open the interface id } else if (stage == 7) { sendPlayerDialogue( 9827, "Ok ill go find him now,"); end(); } else if (stage == 21) { switch (componentId) { case 1: break; } } else { end(); } } public void finish() { } }[/CODE] father aereck 2 [CODE]package com.rs.game.player.dialogues.lumbridge.quests; import com.rs.game.player.dialogues.Dialogue; public class FA2 extends Dialogue { int npcId; @Override public void start() { npcId = (Integer) parameters[0]; sendNPCDialogue(npcId, 9827, "have you got rid of the ghost yet?" ); } @Override public void run(int interfaceId, int componentId) { if (stage == -1) { stage = 0; sendPlayerDialogue( 9827, " I had to talk with Father Urhney. He has given me", "a funny amulet for talking to ghosts."); } else if (stage == 0) { sendNPCDialogue(npcId, 9827, "I always wondered what that amulet was. well,", "I hope it's useful. Tell me when you get rid of the ghost."); } else end(); } @Override public void finish() { } }[/CODE] Father urhney [CODE]package com.rs.game.player.dialogues.lumbridge.quests; import com.rs.game.player.dialogues.Dialogue; public class FURestlessghost extends Dialogue { int npcId; @Override public void start() { sendNPCDialogue(456, 9827, "Go away! I'm meditating!" ); } @Override public void run(int interfaceId, int componentId) { if (stage == -1) { stage = 0; sendOptionsDialogue("What would you like to say?", "well, that's friendly", "Okay,okay sheesh, what a grouch.", "Father Aereck sent me to talk to you."); } else if (stage == 0) { if (componentId == OPTION_1) { stage = 2; sendPlayerDialogue( 9827, "well, that's friendly" ); } else if (componentId == OPTION_2) { stage = 25; sendPlayerDialogue( 9827, "Okay,okay sheesh, what a grouch." ); } else if (componentId == OPTION_3) { stage = 4; sendPlayerDialogue( 9827, "Father Aereck sent me to talk to you. " ); } else end(); //option 1 } else if (stage == 2) { stage = 25; sendNPCDialogue(456, 9827, "I said go away!" ); //option end //option 2 } else if (stage == 4) { stage = 5; sendNPCDialogue(456, 9827, "I suppose i'd better talk to you then.", "What has he got himself into this time?"); //why are you down here ? option end! } else if (stage == 5) { stage = 6; sendPlayerDialogue( 9827, "A ghost is haunthing his graveyard." ); } else if (stage == 6) { stage = 7; sendNPCDialogue(456, 9827, "OH, the silly old fool." ); } else if (stage == 7) { stage = 8; sendNPCDialogue(456, 9827, "i leave townoo for five months and he's already haveing problems." ); } else if (stage == 8) { stage = 9; sendNPCDialogue(456, 9827, "Well, i can't go back and exorcise it,", "i vowed not to leave this place untill", "i've spent a full two years praying and meditating."); } else if (stage == 9) { stage = 10; sendNPCDialogue(456, 9827, "I'll tell you what I can do, though - take this amulet." ); player.getInventory().addItem(552, 1); player.RG = 3; } else if (stage == 10) { stage = 11; sendNPCDialogue(456, 9827, "It is a ghostspeack amulet." ); } else if (stage == 11) { stage = 12; sendNPCDialogue(456, 9827, "It's called that because, when you wear it, you can speak", "ghosts, many ghosts are doomed to remain in this world", "because they have some important task left uncompleted."); } else if (stage == 12) { stage = 25; sendPlayerDialogue( 9827, "Thank you, I'll give it a try." ); //option endings } else if (stage == 12) { stage = 25; sendPlayerDialogue(9827, "umm ok then."); } else if (stage == 13) { stage = 25; sendPlayerDialogue(9827, "umm ok thanks i guess?"); } else if (stage == 25) { end(); //options endings end } else end(); } @Override public void finish() { } }[/CODE][/QUOTE] Will use! Thanks again for the great release. :)
  11. [quote name='axter']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'.[/QUOTE] Very nice, already got it working :D thanks for the release!
  12. I will use this in the future maybe.
  13. Looking for a vote4cash system with callback links to make sure they voted... If you help me add to my server then I will pay you 10$ or 20m rsgp, you're choice... only contact me via Skype plz.... Skype Name: dylan.ryan94
  14. [quote name='YourThreadReply']idk. just give them like 6 hours of game time if they win[/QUOTE] What?
×