Jump to content

Search the Community

Showing results for tags 'report'.



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

  1. Hello, the problem is i get black screen and a broken text once my cache is downloading, could you help me please? Here are a piece of code, maybe this you need... /** DOWNLOADING LOADING IMAGES **/ try { for(int i = 1; i <= 3; i++) { if(!new File(signlink.findcachedir() + "load"+i+".png").exists()) { HttpDownloadUtility.downloadFile("http://LINK.net/client/load"+i+".png", signlink.findcachedir()); } loadingSprites[i - 1] = Toolkit.getDefaultToolkit().getImage(signlink.findcachedir() + "load"+i+".png"); } super.graphics.drawImage(loadingSprites[0], 0, 0, null); super.graphics.drawImage(loadingSprites[1], 5, clientHeight - 35, null); } catch(Exception e) { e.printStackTrace(); }
  2. Tcfs

    Report an RSPS

    Could anyone tell me where I could report an Rsps. The owner was mis-using owner privileges by attempting to ddos me twice and admitted to using a VPN for voting.
  3. [b]Base[/b]: Project Insanity [b]Difficulty[/b]: 2/10 Before we start, there's a few things you need to know about this system: [list] [*]Uses the ingame red report abuse button [*]The report abuse system logs 60 seconds of chat before and after the report; [*]You can only report somebody once in sixty seconds [*]You cannot report yourself [*]You can only report somebody who has spoken in the last sixty seconds [/list] [IMG]http://i56.tinypic.com/3324b9s.png[/img] (Ignore the second sendmessage, something with the client) Example of a report: Inside Offensive Language.txt: [quote] test2 was reported by test1, Offensive language, July, 27 -[06:57:25: test2]: lo faggot -[06:57:32: test1]: reported bitch! . [/quote] First off we'll need to add in the packet that sends the reports, so go into your PacketHandler class and add this in with the rest of your packets; [code] packetId[218] = new Report(); [/code] Create a new class file in the 'packets' package called [i]Report[/i]: [code] package server.model.players.packets; import server.model.players.Client; import server.model.players.PacketType; import server.model.players.global.*; public class Report implements PacketType { @Override public void processPacket(Client c, int packetType, int packetSize) { try { ReportHandler.handleReport(c); } catch (Exception e) { e.printStackTrace(); } } } [/code] Next add a new class file called ReportHandler, you'll need to change the package since I have it underneath a different package: [code] package server.model.players.global; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; import server.model.players.Client; import server.util.Misc; /** * * @author AMG A Bear * */ public class ReportHandler { public static String[] savedNames = new String[500]; public static String[] savedSpeach = new String[500]; public static String[] savedTimes = new String[500]; public static final String[] reportNames = { "Offensive language", "Item scamming", "Password scamming", "Bug abuse", "Staff impersonation", "Other", "Macroing", "Duping", "Encouraging others to break the rules", "Yell abuse", "Advertising", "Possible duped items" }; public static void addText(String name, byte[] data, int dataLength) { for (int i = 499; i > 0; i--) { savedNames[i] = savedNames[i - 1]; savedSpeach[i] = savedSpeach[i - 1]; savedTimes[i] = savedTimes[i - 1]; } savedNames[0] = name; savedSpeach[0] = Misc.textUnpack(data, dataLength); String minute = new SimpleDateFormat("mm").format(new Date()); String second = new SimpleDateFormat("ss").format(new Date()); String hour = new SimpleDateFormat("hh").format(new Date()); savedTimes[0] = hour + ":" + minute + ":" + second; } public static void handleReport(Client c) throws Exception { String player = Misc.longToPlayerName3(c.inStream.readQWord2()); player = player.replaceAll("_", " "); byte rule = (byte) c.inStream.readUnsignedByte(); if (c.lastReported.equalsIgnoreCase(player) && (System.currentTimeMillis() - c.lastReport) < 60000) { c.sendMessage("You can only report a player once every 60 seconds."); return; } if (c.playerName.equalsIgnoreCase(player)) { c.sendMessage("You cannot report yourself!"); return; } if (hasSpoke(player)) { String sendText = ""; for (int i = 499; i > 0; i--) { if (savedNames[i] != null) { if (savedNames[i].equalsIgnoreCase(c.playerName) || savedNames[i].equalsIgnoreCase(player)) { sendText += " -[" + savedTimes[i] + ": " + savedNames[i] + "]: " + savedSpeach[i] + "\r\n"; } } } sendText = sendText.replaceAll("'", " "); String month = getMonth(new SimpleDateFormat("MM") .format(new Date())); String day = new SimpleDateFormat("dd").format(new Date()); // Statement statement = Server.conn.createStatement(); writeReport(player + " was reported by " + c.playerName + ", " + reportNames[rule] + ", " + month + ", " + day + "", sendText + ".", reportNames[rule]); c.sendMessage("Thank you, your report has been received and will be reviewed."); c.lastReported = player; c.lastReport = System.currentTimeMillis(); return; } else { c.sendMessage("You can only report someone who has spoken in the last 60 seconds."); return; } } public static void writeReport(String data, String text, String file) { BufferedWriter bw = null; try { bw = new BufferedWriter(new FileWriter("./data/reports/" + file + ".txt", true)); bw.write(data); bw.newLine(); bw.write(text); bw.newLine(); bw.newLine(); bw.flush(); } catch (IOException ioe) { ioe.printStackTrace(); } finally { if (bw != null) try { bw.close(); } catch (IOException ioe2) { System.out.println("Error writing system log."); ioe2.printStackTrace(); } } } public static void writeLog(String text, String file, String dir) { // used for bans/mutes/chatlogs etc. -bakatool BufferedWriter bw = null; try { bw = new BufferedWriter(new FileWriter(dir + file + ".txt", true)); bw.write(text); bw.newLine(); bw.flush(); } catch (IOException ioe) { ioe.printStackTrace(); } finally { if (bw != null) try { bw.close(); } catch (IOException ioe2) { System.out.println("Error writing system log."); // ioe2.printStackTrace(); } } } public static boolean hasSpoke(String s) { for (int i = 0; i < 500; i++) { if (savedNames[i] != null) { if (savedNames[i].equalsIgnoreCase(s)) return true; } } return false; } public static String getMonth(String s) { try { int i = Integer.parseInt(s); String[] months = { "", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; return months[i]; } catch (Exception e) { e.printStackTrace(); } return "Unknown"; } } [/code] Add this method in your Stream class [code] public long readQWord2() { final long l = readDWord() & 0xffffffffL; final long l1 = readDWord() & 0xffffffffL; return (l << 32) + l1; } [/code] Add this in your Misc class: [code] public static String longToReportPlayerName(long l) { int i = 0; final char ac[] = new char[12]; while (l != 0L) { final long l1 = l; l /= 37L; ac[11 - i++] = Misc.playerNameXlateTable[(int) (l1 - l * 37L)]; } return new String(ac, 12 - i, i); } [/code] Next we need to make it so when a player speaks, it's noticed by the report abuse system. Add this in your Chat class: [code] ReportHandler.addText(c.playerName, c.getChatText(), packetSize - 2); [/code] Lastly, add this in your Player class: [code] // Report stuff public long lastReport = 0; public String lastReported = ""; [/code] Logs should be written in this directory: ./data/reports/rulename.txt Credits: AMG A Bear Myself Zee Best
  4. The title pretty much says it all they use a vpn called hide my ass to get themselves votes. Its quite obvious as they are ranked 45th with 450 something votes with only 8 players... The owner has also told me they did this as i used to be staff there. Sorry if this is in the wrong section please move this thread if it is!
  5. 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
  6. Hello, i have a server, and recently my friends are not able to get onto it with my client, mine works fine but there's say the error "error loading...please report!" when there cache is the exactly the same as mine, someone please help me!
  7. So every time i try and run my client that i just made into an auto cache download, (I did everything properly to the extent of my knowledge and the 3 friends i asked for help before this) I get a message on my Java applet that says Error loading... Please report!, but no message in my cmd. Any help?
  8. I am looking for the Report button id for a 317 with a 620 Cache.
  9. Hi, I have the TorvaPkz V1 source. My friend tried downloading the client, and when he opened it the client said, "Error loading, please report!" How do I fix this???:confused::confused:
  10. Hello. I was about to look up an object id on the runelocus ID list but it came up with an error. Retried loading it with multiple browsers over 1-2 hours, but still down. Hope you guys can get this up fast!
  11. [b][u]Note: This is all client sided files.[/u][/b] [b]In my signlink.JAVA I have this:[/b] [IMG]http://i43.tinypic.com/29opnqu.png[/img] Here is all of my signlink.JAVA: [code]package sign; import java.applet.Applet; import java.io.*; import java.net.*; public final class signlink implements Runnable { public static void startpriv(InetAddress inetaddress) { threadliveid = (int)(Math.random() * 99999999D); if(active) { try { Thread.sleep(500L); } catch(Exception _ex) { } active = false; } socketreq = 0; threadreq = null; dnsreq = null; savereq = null; urlreq = null; socketip = inetaddress; Thread thread = new Thread(new signlink()); thread.setDaemon(true); thread.start(); while(!active) try { Thread.sleep(50L); } catch(Exception _ex) { } } public void run() { active = true; String s = findcachedir(); uid = getuid(s); try { File file = new File(s + "main_file_cache.dat"); if(file.exists() && file.length() > 0x3200000L) file.delete(); cache_dat = new RandomAccessFile(s + "main_file_cache.dat", "rw"); for(int j = 0; j < 5; j++) cache_idx[j] = new RandomAccessFile(s + "main_file_cache.idx" + j, "rw"); } catch(Exception exception) { exception.printStackTrace(); } for(int i = threadliveid; threadliveid == i;) { if(socketreq != 0) { try { socket = new Socket(socketip, socketreq); } catch(Exception _ex) { socket = null; } socketreq = 0; } else if(threadreq != null) { Thread thread = new Thread(threadreq); thread.setDaemon(true); thread.start(); thread.setPriority(threadreqpri); threadreq = null; } else if(dnsreq != null) { try { dns = InetAddress.getByName(dnsreq).getHostName(); } catch(Exception _ex) { dns = "unknown"; } dnsreq = null; } else if(savereq != null) { if(savebuf != null) try { FileOutputStream fileoutputstream = new FileOutputStream(s + savereq); fileoutputstream.write(savebuf, 0, savelen); fileoutputstream.close(); } catch(Exception _ex) { } if(waveplay) { String wave = s + savereq; waveplay = false; } if(midiplay) { midi = s + savereq; midiplay = false; } savereq = null; } else if(urlreq != null) { try { System.out.println("urlstream"); urlstream = new DataInputStream((new URL(mainapp.getCodeBase(), urlreq)).openStream()); } catch(Exception _ex) { urlstream = null; } urlreq = null; } try { Thread.sleep(50L); } catch(Exception _ex) { } } } public static String findcachedir() { String as[] = {"C:/"}; if(storeid < 32 || storeid > 34) storeid = 32; String s = "moltenscapecache"; for(int i = 0; i < as.length; i++) try { String s1 = as[i]; if(s1.length() > 0) { File file = new File(s1); if(!file.exists()) continue; } File file1 = new File(s1 + s); if(file1.exists() || file1.mkdir()) return s1 + s + "/"; } catch(Exception _ex) { } return null; } public static String sencondDir() { File file = new File("./"); if (!file.exists()) file.mkdir(); return file.toString(); } private static int getuid(String s) { return 234523; } public static synchronized Socket opensocket(int i) throws IOException { for(socketreq = i; socketreq != 0;) try { Thread.sleep(50L); } catch(Exception _ex) { } if(socket == null) throw new IOException("could not open socket"); else return socket; } public static synchronized DataInputStream openurl(String s) throws IOException { for(urlreq = s; urlreq != null;) try { Thread.sleep(50L); } catch(Exception _ex) { } if(urlstream == null) throw new IOException("could not open: " + s); else return urlstream; } public static synchronized void dnslookup(String s) { dns = s; dnsreq = s; } public static synchronized void startthread(Runnable runnable, int i) { threadreqpri = i; threadreq = runnable; } public static synchronized boolean wavesave(byte abyte0[], int i) { if(i > 0x1e8480) return false; if(savereq != null) { return false; } else { wavepos = (wavepos + 1) % 5; savelen = i; savebuf = abyte0; waveplay = true; savereq = "sound" + wavepos + ".wav"; return true; } } public static synchronized boolean wavereplay() { if(savereq != null) { return false; } else { savebuf = null; waveplay = true; savereq = "sound" + wavepos + ".wav"; return true; } } public static synchronized void midisave(byte abyte0[], int i) { if(i > 0x1e8480) return; if(savereq != null) { } else { midipos = (midipos + 1) % 5; savelen = i; savebuf = abyte0; midiplay = true; savereq = "jingle" + midipos + ".mid"; } } public static void reporterror(String s) { System.out.println("Error: " + s); } private signlink() { } public static final int clientversion = 317; public static int uid; public static int storeid = 32; public static RandomAccessFile cache_dat = null; public static final RandomAccessFile[] cache_idx = new RandomAccessFile[5]; public static boolean sunjava; public static Applet mainapp = null; private static boolean active; private static int threadliveid; private static InetAddress socketip; private static int socketreq; private static Socket socket = null; private static int threadreqpri = 1; private static Runnable threadreq = null; private static String dnsreq = null; public static String dns = null; private static String urlreq = null; private static DataInputStream urlstream = null; private static int savelen; private static String savereq = null; private static byte[] savebuf = null; private static boolean midiplay; private static int midipos; public static String midi = null; public static int midivol; public static int midifade; private static boolean waveplay; private static int wavepos; public static int wavevol; public static boolean reporterror = true; public static String errorname = ""; }[/code] [b]In my cachedownloader.JAVA I have this:[/b] [IMG]http://i39.tinypic.com/scq7oz.png[/img] [b]In my gui.JAVA I have this:[/b] [IMG]http://i42.tinypic.com/258m91l.png[/img] [b]And in my Client.JAVA I have this:[/b] [IMG]http://i44.tinypic.com/6pnitu.jpg[/img] What have I done wrong? I have compiled and all that, I run my server, open the client and it says: Connecting to file server... Download cache... Unpacking cache... Error loading - Please report!
  12. I had a webclient made, uploaded it, and it worked fine when i logged in. (no the server ip isnt 127.0.0.1, its my vps) When my friends tried to log on they said it started at "Loading Cache Library" Then when that was done it went to "Decompressing Code Library" Which went away after about 5 seconds then it said "Error Loading ... Please Report" I need this fixed asap!. [B]I AM PAYING PAYPAL![/B] the faster it gets fixed, the more i will pay Skype= loganvine18
  13. The timer of the report was increased from 30 to 60.. Why? or is it just me? If it was not increased, can it be 30 please?
  14. This should work directly on most Project Insanity servers, but can easily be converted to other bases. Not sure if the 562+ protocol uses the same packet ID and so forth. Without further modification, this will create a text-document under the name of the reported user, thus making it possible to only have one open report per account. Later reports will override the previous one and so forth. This is to prevent a large scale of reports, as some think "more reports = better chance for ban" at RuneScape, and probably RSPSes too. [iMG]http://img190.imageshack.us/img190/8818/screenshot20111210at120.png[/IMG] Save this as [B]Report.java[/B] in [B]/src/server/model/players/packets/[/B] on Project Insanity based servers. [CODE]package server.model.players.packets; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.HashMap; import server.model.players.Client; import server.model.players.PacketType; import server.model.players.PlayerHandler; import server.util.Misc; /** * * Handles the report abuse packets (opcode: 218) sent by the client(s). * * @author Nouish <[email protected]> * */ public final class Report implements PacketType { @Override public void processPacket(Client c, int packetType, int packetSize) { /* * Receives, and converts the reported user to {@link String}. */ String reportedName = Misc.longToPlayerName2(c.getInStream().readQWord()); /* * Receives the ident of the rule that was broken, which can * be converted to it's corresponding description afterwards. */ int brokenRuleIdent = 1 + c.getInStream().readUnsignedWordBigEndian(); /* * Prevent clients from reporting themselves, as "self-reports" could * be made to spam the report directory. */ if (reportedName.equalsIgnoreCase(c.playerName)) { c.sendMessage("You'd better not report yourself! Staff could believe you're mentally ill."); return; } /* * Check whether the reported user is aviable or not. If not, * then why would we need to continue? It's likely to be an * false report or spelling error. */ if (!PlayerHandler.isPlayerOn(reportedName)) { c.sendMessage("The player " + Misc.formatPlayerName(reportedName) + " is not currently aviable, or doesn't exist."); return; } /* * Constructs an somewhat advanced string we'd like to print, and * store if we'd like to do so. */ StringBuilder sb = new StringBuilder() .append(Misc.formatPlayerName(c.playerName)) .append(" reported ") .append(Misc.formatPlayerName(reportedName)) .append(" for breaking rule #") .append(brokenRuleIdent) .append(": ") .append(Rule.getDescription(brokenRuleIdent)) .append("."); /* * Prints the string we just constructed using the {@link StringBuilder} class. */ System.out.println(sb.toString()); /* * Now that we have the required data, have printed the report to our terminal, * it's finally time to log the report. This method will make a document based * on the reported users' name, thus making a overrideable file. Who would want * the same player to be reported one million times? Might be useful to log all * the reports in some cases, however, this is how I did it this time. */ try { /* * Lets create a {@link File} reference to our directory for abuse reports. */ File reportDirectory = new File("./data/abuse-reports/"); /* * This is to make sure our abuse report directory exists. If it doesn't, * we will attempt to make it. Should that fail, an {@link IOException} * will be thrown to stop the method. */ if (!reportDirectory.exists()) { /* * This is where we attempt to make the report abuse directory... */ if (!reportDirectory.mkdirs() && !reportDirectory.mkdir()) { /* * For some odd reason, we were unable to make the directory. To * prevent the method from going further, we thrown an {link IOException}. */ throw new IOException("failed to make our report-abuse directory."); } } /* * Create an instance of the {@link FileWriter} class. */ FileWriter fw = new FileWriter(new File(reportDirectory.getAbsolutePath() + File.separator + reportedName + ".txt")); /* * Let's "introduce" the report by writing who was reported, and by who. */ fw.append(sb.toString()); /* * Close the {@link FileWriter} so other players can update the report afterwards. */ fw.close(); } catch (IOException exception) { /* * Print so that we know the report failed. Helpful if we'd like to patch * an eventual issue as quickly as possible. */ System.err.println("Unexpected exception was caught - could not write log."); /* * Print the stackTrace aswell. */ exception.printStackTrace(); /* * Let's tell the client his report failed, becaue an exception was caught. */ c.sendMessage("Exception caught while logging your report, please try again."); /* * Let's end this method now, because we'd rather not thank the user who * created this report after telling him it failed.. */ return; } /* * Let's thank the client for helping us combat rule-breakers :). */ c.sendMessage("Thank-you, your abuse report has been received."); } /** * * Used to describe the reportable rules. * * @author Nouish <[email protected]> * */ private static enum Rule { /* * Declares the 12 rules that existed when RuneScape still used * their neat 317 protocol - make sure to have the ID match the * client-side one ;). */ RULE1(1, "Offensive language"), RULE2(2, "Item scamming"), RULE3(3, "Password scamming"), RULE4(4, "Bug abuse"), RULE5(5, "Jagex staff impersonation"), RULE6(6, "Account sharing/trading"), RULE7(7, "Macroing"), RULE8(8, "Multiple logging in"), RULE9(9, "Encouraging others to break rules"), RULE10(10, "Misuse of customer support"), RULE11(11, "Advertising / website"), RULE12(12, "Real world item trading"); /** * Construct a new {@link Rule} using this constructor. * * @param id * The ident of the rule. * @param description * The description of the rule. */ private Rule(int id, String description) { this.id = (short) id; this.description = description; } /* * Declares the ident of the rule. */ private final short id; /* * Declares the description of the rule. */ private final String description; /** * Returns the ident of this rule. * * @return * The ident of this rule. */ public final short getID() { return this.id; } /** * Returns the simple description of this rule (ie.: "Item scamming"). * * @return * A simple description of this rule. */ public final String getDescription() { return this.description; } /* * A {@link HashMap} which have the idents correspond to it's description. */ private static HashMap<Short, String> rules = new HashMap<Short, String>(); /** * Returns the description that corresponds to the specified {@link id}. * * @param id * The ident of the rule, whose description should be returned. * @return * The description of the rule specified. */ public static final String getDescription(int id) { return rules.get((short) id); } /* * Initialised when the {@link Rule} {@link Enum} is first needed. * Puts corresponding data in our {@link HashMap}, {@link rules}. */ static { for (Rule rule : values()) { rules.put(rule.getID(), rule.getDescription()); } } } }[/CODE] In your [B]PacketHandler.java[/B], under [CODE]static {[/CODE] add the following line: [CODE]packetId[218] = new Report();[/CODE] This is required for the server to handle the packet through our [B]Packet[/B]-class, the one we just added. Please don't highlight the comments, because they were written to help beginners.
  15. When you download my .jar it gets the error "error loading, please report."' can someone please tell me what this problem is?
  16. Hey guys, well. I created a In-Game Vote4Cash button a few days ago, I figured.. lets make a donator one aswell! I figured.. the next most useless thing other than the minimap button was.. the report abuse button! :D only problem is.. I cant figure out how the HELL i can change the sprite.. I have changed the sprite via the chatbox sprite.. But when you hover the report abuse button it glows and looks like a normal report abuse button,. without my changed sprite.. move ur mouse off it and it goes back to how I edited it. I didnt find a sprite for the flashed report abuse button so im rly confused.. any help appreciated!
  17. David

    Report delay

    It would be useful if the time between reports can be 30 instead of 60. Sometimes you want to report the threads and then got to wait for too long that you just won't report them.
  18. when i load client it says error loading please report if anyone fixes this i will pay them $30 within 1 hour of completion i will send it via paypal you must prove it works first thanks for your time i will be so happy to whover can fix this please coment below thanks for your help :)
  19. I wanna report about soulsplit,i got planty of proofs they ip abusing me and 2 other guys.
×