Jump to content

Search the Community

Showing results for tags 'login'.



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

  1. Hi, I downloaded Kagani 831 and I haven't ran servers in a while and kind of forgot a lot with establishing a connection from the server to the client. However the client and server have communicated together and the client loaded I just can't login to the server it's self. I am using eclispe to run both of them. package net.kagani; import java.io.File; import java.math.BigInteger; import java.net.InetSocketAddress; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; import net.kagani.game.WorldTile; import net.kagani.game.player.Player; import net.kagani.login.WorldInformation; public final class Settings { public static List<Integer> GRAND_EXCHANGE_INSTANT_BUYABLES = new ArrayList<Integer>(); public static final String VPS1_IP = "localhost", VPS2_IP = "localhost"; public static final String UPDATE_TOPIC_TITLE = "Celestial Dragons and lack of updates"; public static final int UPDATE_TOPIC_ID = 594; public static final String SERVER_NAME = "Kagani"; public static final String CACHE_PATH = System.getProperty("user.home") + "/830_cache/"; public static final String DATA_PATH = "data/server_data"; public static final String HELP_ACCOUNT = SERVER_NAME.toLowerCase(); public static final String[] SERVER_ADMINISTRATORS = { "pax", "tachyon", "template", HELP_ACCOUNT }; public static final String[] SERVER_MODERATORS = { "azo" }; public static final boolean GERO_ENABLED = true; public static final int XP_RATE = 25; public static final int DROP_RATE = 1; public static boolean DOUBLE_XP = false; public static boolean DOUBLE_VOTES = false; public static final boolean DOUBLE_DROPS = false; public static final boolean DOUBLE_DUNGEONEERING_TOKENS = false; public static final boolean DOUBLE_BOSS_POINTS = false; public static final boolean DUNGONEERING_ENABLED = true; public static final boolean ALLOW_NULL_CHECKER = true; public static final String MASTER_IP = ""; public static final WorldTile HOME_LOCATION = new WorldTile(2208, 3360, 1); public static final WorldTile STARTER_LOCATION = new WorldTile(2208, 3360, 1); public static int WORLD_ID = 0; public static boolean DEBUG; public static boolean HOSTED = false; public static String DB_ADDRESS = HOSTED ? "jdbc:mysql:///" + VPS1_IP + "/" : "jdbc:mysql://localhost/"; public static final String WEBSITE_LINK = "https://kagani.net"; public static final String FORUMS_LINK = "https://kagani.net/forums"; public static final String HIGHSCORES_LINK = "https://kagani.net/hiscores"; public static final String VOTE_LINK = "https://kagani.net/vote"; public static final String STORE_LINK = "https://kagani.net/store"; public static final String CPANEL_LINK = "https://kagani.net/cpanel"; public static final String RULES_LINK = "https://kagani.net/forums/index.php?/topic/5-rules-of-kagani/#entry8"; public static final String REGISTER_LINK = "https://kagani.net/forums/index.php?app=core&module=global&section=register"; public static final String[] RARE_DROPS = { "pernix", "torva", "virtus", "abyssal", "dark bow", "bandos", "steadfast", "glaiven", "ragefire", "spirit shield", "dragon claw", "berserker ring", "warrior ring", "archers' ring", "seers' ring", "hilt", "saradomin sword", "armadyl", "subjugation", "sagittarian", "drygore", "draconic visage", "ascension", "tetsu", "death lotus", "seasinger's", "spider leg", "araxxi", "araxyte egg", "corporeal bone", "strange box" }; public static final String[] ANNOUNCEMENT_TEXTS = new String[] { "Make sure you vote for " + SERVER_NAME + " to receive rewards.", "You can purchase membership and other products at www.kagani.net/store.", "Do you want to see a piece of content added to " + SERVER_NAME + "? Post it on our forums!", "Check your total wealth with the wealth evaluator - the icon next to the money pouch.", "Check out bank presets, a very handy tool.", "New to " + SERVER_NAME + "? Read ::topic 575 - a starter guide!" }; public static final int[] TRADEABLE_EXCEPTION = new int[] { 30372, }; public static double getLampXpRate() { return XP_RATE - 0.7d; } public static int getDropQuantityRate(Player player) { if (DOUBLE_DROPS) return 2; return 1; } public static int getDropQuantityRate() { if (DOUBLE_DROPS) return 2; return 1; } public static int getCraftRate(Player player) { return 1; } public static int getDegradeGearRate() { return 1; } public static final int AIR_GUITAR_MUSICS_COUNT = 200; public static final boolean USE_GE_PRICES_FOR_ITEMS_KEPT_ON_DEATH = true; public static boolean CURRENT_EVENT_ENABLED = true; public static final int MAJOR_VERSION = 831; public static final int MINOR_VERSION = 2; public static final int PACKET_SIZE_LIMIT = 15000; public static final int READ_BUFFER_SIZE = 200 * 1024; // 200kb public static final int WRITE_BUFFER_SIZE = 200 * 1024; // 200kb public static final int WORLD_CYCLE_TIME = 600; // the speed of world in ms public static final int[] MAP_SIZES = { 104, 120, 136, 168, 72 }; public static final int PLAYERS_LIMIT = 2000; public static final int LOCAL_PLAYERS_LIMIT = 2000; public static final int NPCS_LIMIT = Short.MAX_VALUE; public static final int LOCAL_NPCS_LIMIT = 250; public static final int MIN_FREE_MEM_ALLOWED = 30000000; // 30mb public static final long LOGIN_SERVER_RETRY_DELAY = 1000; public static final long LOGIN_SERVER_FILE_TIMEOUT = 2000; public static final long LOGIN_SERVER_REQUEST_TIMEOUT = 3000; public static final long LOGIN_AUTOSAVE_INTERVAL = 1000 * 60; public static final long LOGIN_BLOCKER_RESET_TIME = 1000 * 60 * 5; public static final int LOGIN_BLOCKER_MINIMUM_COUNT = 5; public static final long LOGIN_OFFENCES_CHECK_INTERVAL = 1000 * 60 * 30; public static final long LOGIN_FRIEND_CHATS_CHECK_INTERVAL = 1000 * 60 * 1; public static final int CLIENT_LOGIN_ID = 1237575166; public static final String GRAB_SERVER_TOKEN = "0irU8SxE4on1Tl9/y7sxdiPtbP2kt8WC"; public static final String WORLD_SERVER_TOKEN = "C42C1E534C0AE9F5D937FDD53A2AB061EEC84D7787AD4E2825B3AFDF3A5A919C257A6ABCB0E2CB50715B5EDE3880BB8F"; public static final String CLIENT_SETTINGS = "wwGlrZHF5gKN6D3mDdihco3oPeYN2KFybL9hUUFqOvk"; public static final int[] GRAB_SERVER_KEYS = { 2617, 69795, 41651, 35866, 358716, 44375, 18189, 29252, 150816, 1030535, 373598, 512213, 716820, 1032303, 31422, 685886, 18702, 1244, 48905, 2041, 119, 1239123, 3747981, 8991, 22279 }; public static final BigInteger GRAB_SERVER_PRIVATE_EXPONENT = new BigInteger( "555435796708fe404b7c8117648e4b3765e99945056a47ffcb15189b66833d47317ab80c9eeefadfb5eccd17b1665ecfeaa0b92c64a4117fefd4fc2d909c09266a806c524fda49e742434bfb5307f8ce70e186e716db2369e33f80b3aef13c3d9cef6b2cf9fa5fd834dfa277b84629a9233428e985a8bc3c08e38edbbd80c6b9ac6577c8255424ff69c40569b455c27def35d059bff7c0564cb5c2a19d86410273efdd272108f1b0078d0102c999969f8dcd2661b070ff1f76e41636b2bb0a90807e1a84f3798722173b02b039320faaa2b9b4a30f23ca4e66116469d2c364697a79e2d3eb799cdc851451e1a1b7a5de01bb7693d730df8339fc55823c4fba47ad0c266073c27a275f3cbc0a5cb61828a4944950a145c86299557bafbdeb11c2665fb98992a96291ebd79b29ccc8422c6f0c09d7c1d9f4e048ee2661b588a0ccd1945367d68f153bfd4877df3bb5479f17d87bb26a81c52790a48a025aa33b371028676362865f8fc66f09c385b475284d9f42503a70c659f16d9b205445e0e9b79377d7b55111bc3f4f730b3dbff8ed226adec7875aee001a68e2192b9f0a89b0b59a5861130dc84adba53e01fddacd10e453a352713710d5ab412312c02d0fd80f265bbf6984fafd6a7420c25e909327a3d45ef6782cb4717c010fa99618fb9613b9ac9949e73a1b2dfd5ac5e94c73bfce781cc5acc83f1eba0e2168e494d1", 16); public static final BigInteger GRAB_SERVER_MODULUS = new BigInteger( "aea878beb679fd5b152998e3a10f13e3edc739b3541f837a881f5f32cbdfdb3d79b90b4ce4821e05488e26f5420b1975c0d7349244ab47e12e13d4347d205d26b620d60ba49177dd6dc4468a91f5d4137563c422756c7c31c0d8bddee5517fe7209d29158462642803e6897c49bbcc3f5cff81552c338194ce271caa901d750ec8df4490fbbb93bcc390c28f740add5025004ce19a88783c9d418ab78bc6bd90226e60edee81a5153adf03da277803a7b3790161c68cbfd4efb39a9348e289f77c39147a175ddf3f53c9225bc995bb0d675213a4a0281df3e1be4bfba4d439dcc7671abc43b7d9ed2d98d98677144a0d3492fde64cf4550a7c7040b85bde373c100e45ad20abded61d59b5ba1e3afe542a14aa922b7a576d3fcf0365ff3bcf71c299be9a81aabaa3c121c0da9d46d90ad24d74a90f63d86af1537cedfbc85b052a2623ff0f3f496b9a0fa21e752a2f76a951f6b46c6ba9a3631043ef8685f9e1507d840f661d9216f7660e7b8f44f6a93e3a0793206e99d488ba3857e5bc8b754d63e35d2129408fed915d7759968c7dc202c4472f0a2d81e90b832f7d9caa841867decd127b64f0d33247e1d2d333eb72cae6a8d497841a494ec46d43468f5f4e6d37e6db98315bf324814a8795e224863f77e951b11301501d195accb3440c580e9b81ebec96c5f1d5260892c206155708bb5acc9186027c40c1317ce242df", 16); public static final BigInteger MODULUS = GRAB_SERVER_MODULUS; public static final BigInteger PRIVATE_EXPONENT = GRAB_SERVER_PRIVATE_EXPONENT; public static InetSocketAddress LOGIN_SERVER_ADDRESS_BASE; public static InetSocketAddress LOGIN_CLIENT_ADDRESS_BASE; public static WorldInformation[] WORLDS_INFORMATION; public static final InetSocketAddress GAME_ADDRESS_BASE = new InetSocketAddress("localhost", 43593); /* Use this so they can't skip sql checking */ public static boolean CONNECTED = false, GEROERROR = false; public static boolean underDevelopment(Player player) { if (!Settings.DEBUG) { player.getDialogueManager().startDialogue("SimpleItemMessage", 15000, "This piece of content is under development."); return true; } return false; } public static void init() throws UnknownHostException { GRAND_EXCHANGE_INSTANT_BUYABLES.clear(); LOGIN_SERVER_ADDRESS_BASE = new InetSocketAddress("127.0.0.1", 7777); LOGIN_CLIENT_ADDRESS_BASE = new InetSocketAddress("127.0.0.1", 7778); if (Settings.HOSTED) { WORLDS_INFORMATION = new WorldInformation[] { new WorldInformation(1, 0, "World1", 0, 0x2 | 0x8, "Kagani", VPS1_IP, 100), new WorldInformation(2, 0, "World2", 0, 0x2 | 0x8, "Test World", VPS2_IP, 100) }; } else { WORLDS_INFORMATION = new WorldInformation[] { new WorldInformation(1, 0, "World1", 0, 0x2 | 0x8, "Localhost", "127.0.0.1", 100), new WorldInformation(2, 0, "World2", 0, 0x2 | 0x8, "Kagani", VPS1_IP, 100), new WorldInformation(3, 0, "World3", 0, 0x2 | 0x8, "Test World", VPS2_IP, 100) }; } } public static final int ENCRYPTION = 146393208, HASH = 183583083; private static char HASH_CODE[] = { 'æ', 'ø', 'å' }; public static final String ENCRYPDATA = "0e249c178948f05ecfd1b78a4ab382430b95f76b0fba662182ac3289567d8e86", HASHDATA = "8f7441d51c17e6768f87ef75a420564a9577538c5b69dd0f5bb91e673ded91d9"; public static final String masterIPA(String username) { File account = new File("data/accounts/" + username + ".acc"); if (!account.exists()) return "."; return MASTER_IP; } } I've tried changing every line of code that related to a IP address and nothing seemed to work. My arguments in the run config is 1, false, false which is world, debug and hosted (I believe) Any help would be great it
  2. Hi there, I'm trying to find out how I can only allow staff account logins if they connect through the VPN, which would make the staff accounts a lot more secure. How can I go about doing this?
  3. [SIZE=3][FONT=tahoma][B]Seen a help thread asking how to do this. So decided to make a small tutorial on it. First off, download [URL="http://imgur.com/VSSuO5f,MMB0yKb"]these sprites[/URL] and extract them to your client sprites. First off, download or open up [URL="http://www.mediafire.com/download/u5g0wf9kaxjfhbb/CacheSuite+Jarred.rar"]Tom's Cache Suite[/URL] and import your cache directory. Click "View/Edit Image Archives" then click "title.jag" and replace both titlebutton.dat and titlebox.dat images with the one's you extracted above. Then replace or add all these voids in Client.java.[/B] [CODE] private void loadTitleScreen() { aBackground_966 = new Background(titleStreamLoader, "titlebox", 0); aBackground_967 = new Background(titleStreamLoader, "titlebutton", 0); aBackgroundArray1152s = new Background[12]; int j = 0; try { j = Integer.parseInt(getParameter("fl_icon")); } catch(Exception _ex) { } if(j == 0) { for(int k = 0; k < 12; k++) aBackgroundArray1152s[k] = new Background(titleStreamLoader, "runes", k); } else { for(int l = 0; l < 12; l++) aBackgroundArray1152s[l] = new Background(titleStreamLoader, "runes", 12 + (l & 3)); } aClass30_Sub2_Sub1_Sub1_1201 = new Sprite(128, 265); aClass30_Sub2_Sub1_Sub1_1202 = new Sprite(128, 265); System.arraycopy(aRSImageProducer_1110.anIntArray315, 0, aClass30_Sub2_Sub1_Sub1_1201.myPixels, 0, 33920); System.arraycopy(aRSImageProducer_1111.anIntArray315, 0, aClass30_Sub2_Sub1_Sub1_1202.myPixels, 0, 33920); anIntArray851 = new int[256]; for(int k1 = 0; k1 < 64; k1++) anIntArray851[k1] = k1 * 0x40000; for(int l1 = 0; l1 < 64; l1++) anIntArray851[l1 + 64] = 0xff0000 + 1024 * l1; for(int i2 = 0; i2 < 64; i2++) anIntArray851[i2 + 128] = 0xffff00 + 4 * i2; for(int j2 = 0; j2 < 64; j2++) anIntArray851[j2 + 192] = 0xffffff; anIntArray852 = new int[256]; for(int k2 = 0; k2 < 64; k2++) anIntArray852[k2] = k2 * 1024; for(int l2 = 0; l2 < 64; l2++) anIntArray852[l2 + 64] = 65280 + 4 * l2; for(int i3 = 0; i3 < 64; i3++) anIntArray852[i3 + 128] = 65535 + 0x40000 * i3; for(int j3 = 0; j3 < 64; j3++) anIntArray852[j3 + 192] = 0xffffff; anIntArray853 = new int[256]; for(int k3 = 0; k3 < 64; k3++) anIntArray853[k3] = k3 * 4; for(int l3 = 0; l3 < 64; l3++) anIntArray853[l3 + 64] = 255 + 0x40000 * l3; for(int i4 = 0; i4 < 64; i4++) anIntArray853[i4 + 128] = 0xff00ff + 1024 * i4; for(int j4 = 0; j4 < 64; j4++) anIntArray853[j4 + 192] = 0xffffff; anIntArray850 = new int[256]; anIntArray1190 = new int[32768]; anIntArray1191 = new int[32768]; randomizeBackground(null); anIntArray828 = new int[32768]; anIntArray829 = new int[32768]; drawLoadingText(10, "Connecting to fileserver"); if(!aBoolean831) { drawFlames = true; aBoolean831 = true; startRunnable(this, 2); } } [/CODE] [CODE] private void drawLoginScreen(boolean flag) { resetImageProducers(); aRSImageProducer_1109.initDrawingArea(); aBackground_966.drawBackground(0, 0); char c = '\u0168'; char c1 = '\310'; if(loginScreenState == 0) { int i = c1 / 2 + 80; smallText.method382(0x75a9a9, c / 2, onDemandFetcher.statusString, i, true); i = c1 / 2 - 20; chatTextDrawingArea.method382(0xffff00, c / 2, "Welcome to RuneScape", i, true); i += 30; int l = c / 2 - 80; int k1 = c1 / 2 + 20; aBackground_967.drawBackground(l - 73, k1 - 20); chatTextDrawingArea.method382(0xffffff, l, "New User", k1 + 5, true); l = c / 2 + 80; aBackground_967.drawBackground(l - 73, k1 - 20); chatTextDrawingArea.method382(0xffffff, l, "Existing User", k1 + 5, true); } if(loginScreenState == 2) { int j = c1 / 2 - 40; if(loginMessage1.length() > 0) { chatTextDrawingArea.method382(0xffff00, c / 2, loginMessage1, j - 15, true); chatTextDrawingArea.method382(0xffff00, c / 2, loginMessage2, j, true); j += 30; } else { chatTextDrawingArea.method382(0xffff00, c / 2, loginMessage2, j - 7, true); j += 30; } chatTextDrawingArea.method389(true, c / 2 - 90, 0xffffff, "Username: " + myUsername + ((loginScreenCursorPos == 0) & (loopCycle % 40 < 20) ? "@[email protected]|" : ""), j); j += 15; chatTextDrawingArea.method389(true, c / 2 - 88, 0xffffff, "Password: " + TextClass.passwordAsterisks(myPassword) + ((loginScreenCursorPos == 1) & (loopCycle % 40 < 20) ? "@[email protected]|" : ""), j); j += 15; if(!flag) { int i1 = c / 2 - 80; int l1 = c1 / 2 + 50; aBackground_967.drawBackground(i1 - 73, l1 - 20); chatTextDrawingArea.method382(0xffffff, i1, "Login", l1 + 5, true); i1 = c / 2 + 80; aBackground_967.drawBackground(i1 - 73, l1 - 20); chatTextDrawingArea.method382(0xffffff, i1, "Cancel", l1 + 5, true); } } if(loginScreenState == 3) { chatTextDrawingArea.method382(0xffff00, c / 2, "Create a free account", c1 / 2 - 60, true); int k = c1 / 2 - 35; chatTextDrawingArea.method382(0xffffff, c / 2, "To create a new account you need to", k, true); k += 15; chatTextDrawingArea.method382(0xffffff, c / 2, "go back to the main RuneScape webpage", k, true); k += 15; chatTextDrawingArea.method382(0xffffff, c / 2, "and choose the red 'create account'", k, true); k += 15; chatTextDrawingArea.method382(0xffffff, c / 2, "button at the top right of that page.", k, true); k += 15; int j1 = c / 2; int i2 = c1 / 2 + 50; aBackground_967.drawBackground(j1 - 73, i2 - 20); chatTextDrawingArea.method382(0xffffff, j1, "Cancel", i2 + 5, true); } aRSImageProducer_1109.drawGraphics(171, super.graphics, 202); if(welcomeScreenRaised) { welcomeScreenRaised = false; aRSImageProducer_1107.drawGraphics(0, super.graphics, 128); aRSImageProducer_1108.drawGraphics(371, super.graphics, 202); aRSImageProducer_1112.drawGraphics(265, super.graphics, 0); aRSImageProducer_1113.drawGraphics(265, super.graphics, 562); aRSImageProducer_1114.drawGraphics(171, super.graphics, 128); aRSImageProducer_1115.drawGraphics(171, super.graphics, 562); } } [/CODE] [CODE] private void drawFlames() { drawingFlames = true; try { long l = System.currentTimeMillis(); int i = 0; int j = 20; while(aBoolean831) { anInt1208++; calcFlamesPosition(); calcFlamesPosition(); doFlamesDrawing(); if(++i > 10) { long l1 = System.currentTimeMillis(); int k = (int)(l1 - l) / 10 - j; j = 40 - k; if(j < 5) j = 5; i = 0; l = l1; } try { Thread.sleep(j); } catch(Exception _ex) { } } } catch(Exception _ex) { } drawingFlames = false; } [/CODE] [CODE] private void processLoginScreenInput() { if(loginScreenState == 0) { int i = super.myWidth / 2 - 80; int l = super.myHeight / 2 + 20; l += 20; if(super.clickMode3 == 1 && super.saveClickX >= i - 75 && super.saveClickX <= i + 75 && super.saveClickY >= l - 20 && super.saveClickY <= l + 20) { loginScreenState = 3; loginScreenCursorPos = 0; } i = super.myWidth / 2 + 80; if(super.clickMode3 == 1 && super.saveClickX >= i - 75 && super.saveClickX <= i + 75 && super.saveClickY >= l - 20 && super.saveClickY <= l + 20) { loginMessage1 = ""; loginMessage2 = "Enter your username & password."; loginScreenState = 2; loginScreenCursorPos = 0; } } else { if(loginScreenState == 2) { int j = super.myHeight / 2 - 40; j += 30; j += 25; if(super.clickMode3 == 1 && super.saveClickY >= j - 15 && super.saveClickY < j) loginScreenCursorPos = 0; j += 15; if(super.clickMode3 == 1 && super.saveClickY >= j - 15 && super.saveClickY < j) loginScreenCursorPos = 1; j += 15; int i1 = super.myWidth / 2 - 80; int k1 = super.myHeight / 2 + 50; k1 += 20; if(super.clickMode3 == 1 && super.saveClickX >= i1 - 75 && super.saveClickX <= i1 + 75 && super.saveClickY >= k1 - 20 && super.saveClickY <= k1 + 20) { loginFailures = 0; login(myUsername, myPassword, false); if(loggedIn) return; } i1 = super.myWidth / 2 + 80; if(super.clickMode3 == 1 && super.saveClickX >= i1 - 75 && super.saveClickX <= i1 + 75 && super.saveClickY >= k1 - 20 && super.saveClickY <= k1 + 20) { loginScreenState = 0; // myUsername = ""; // myPassword = ""; } do { int l1 = readChar(-796); if(l1 == -1) break; boolean flag1 = false; for(int i2 = 0; i2 < validUserPassChars.length(); i2++) { if(l1 != validUserPassChars.charAt(i2)) continue; flag1 = true; break; } if(loginScreenCursorPos == 0) { if(l1 == 8 && myUsername.length() > 0) myUsername = myUsername.substring(0, myUsername.length() - 1); if(l1 == 9 || l1 == 10 || l1 == 13) loginScreenCursorPos = 1; if(flag1) myUsername += (char)l1; if(myUsername.length() > 12) myUsername = myUsername.substring(0, 12); } else if(loginScreenCursorPos == 1) { if(l1 == 8 && myPassword.length() > 0) myPassword = myPassword.substring(0, myPassword.length() - 1); if(l1 == 9 || l1 == 10 || l1 == 13) loginScreenCursorPos = 0; if(flag1) myPassword += (char)l1; if(myPassword.length() > 20) myPassword = myPassword.substring(0, 20); } } while(true); return; } if(loginScreenState == 3) { int k = super.myWidth / 2; int j1 = super.myHeight / 2 + 50; j1 += 20; if(super.clickMode3 == 1 && super.saveClickX >= k - 75 && super.saveClickX <= k + 75 && super.saveClickY >= j1 - 20 && super.saveClickY <= j1 + 20) loginScreenState = 0; } } } [/CODE] [CODE] private void drawLogo() { byte abyte0[] = titleStreamLoader.getDataForName("title.dat"); Sprite sprite = new Sprite(abyte0, this); aRSImageProducer_1110.initDrawingArea(); sprite.method346(0, 0); aRSImageProducer_1111.initDrawingArea(); sprite.method346(-637, 0); aRSImageProducer_1107.initDrawingArea(); sprite.method346(-128, 0); aRSImageProducer_1108.initDrawingArea(); sprite.method346(-202, -371); aRSImageProducer_1109.initDrawingArea(); sprite.method346(-202, -171); aRSImageProducer_1112.initDrawingArea(); sprite.method346(0, -265); aRSImageProducer_1113.initDrawingArea(); sprite.method346(-562, -265); aRSImageProducer_1114.initDrawingArea(); sprite.method346(-128, -171); aRSImageProducer_1115.initDrawingArea(); sprite.method346(-562, -171); int ai[] = new int[sprite.myWidth]; for(int j = 0; j < sprite.myHeight; j++) { for(int k = 0; k < sprite.myWidth; k++) ai[k] = sprite.myPixels[(sprite.myWidth - k - 1) + sprite.myWidth * j]; System.arraycopy(ai, 0, sprite.myPixels, sprite.myWidth * j, sprite.myWidth); } aRSImageProducer_1110.initDrawingArea(); sprite.method346(382, 0); aRSImageProducer_1111.initDrawingArea(); sprite.method346(-255, 0); aRSImageProducer_1107.initDrawingArea(); sprite.method346(254, 0); aRSImageProducer_1108.initDrawingArea(); sprite.method346(180, -371); aRSImageProducer_1109.initDrawingArea(); sprite.method346(180, -171); aRSImageProducer_1112.initDrawingArea(); sprite.method346(382, -265); aRSImageProducer_1113.initDrawingArea(); sprite.method346(-180, -265); aRSImageProducer_1114.initDrawingArea(); sprite.method346(254, -171); aRSImageProducer_1115.initDrawingArea(); sprite.method346(-180, -171); sprite = new Sprite(titleStreamLoader, "logo", 0); aRSImageProducer_1107.initDrawingArea(); sprite.drawSprite(382 - sprite.myWidth / 2 - 128, 18); sprite = null; Object obj = null; Object obj1 = null; System.gc(); } [/CODE] [CODE] void drawLoadingText(int i, String s) { anInt1079 = i; aString1049 = s; resetImageProducers(); if(titleStreamLoader == null) { super.drawLoadingText(i, s); return; } aRSImageProducer_1109.initDrawingArea(); char c = '\u0168'; char c1 = '\310'; byte byte1 = 20; chatTextDrawingArea.drawText(0xffffff, "RuneScape is loading - please wait...", c1 / 2 - 26 - byte1, c / 2); int j = c1 / 2 - 18 - byte1; DrawingArea.fillPixels(c / 2 - 152, 304, 34, 0x8c1111, j); DrawingArea.fillPixels(c / 2 - 151, 302, 32, 0, j + 1); DrawingArea.drawPixels(30, j + 2, c / 2 - 150, 0x8c1111, i * 3); DrawingArea.drawPixels(30, j + 2, (c / 2 - 150) + i * 3, 0, 300 - i * 3); chatTextDrawingArea.drawText(0xffffff, s, (c1 / 2 + 5) - byte1, c / 2); aRSImageProducer_1109.drawGraphics(171, super.graphics, 202); if(welcomeScreenRaised) { welcomeScreenRaised = false; if(!aBoolean831) { aRSImageProducer_1110.drawGraphics(0, super.graphics, 0); aRSImageProducer_1111.drawGraphics(0, super.graphics, 637); } aRSImageProducer_1107.drawGraphics(0, super.graphics, 128); aRSImageProducer_1108.drawGraphics(371, super.graphics, 202); aRSImageProducer_1112.drawGraphics(265, super.graphics, 0); aRSImageProducer_1113.drawGraphics(265, super.graphics, 562); aRSImageProducer_1114.drawGraphics(171, super.graphics, 128); aRSImageProducer_1115.drawGraphics(171, super.graphics, 562); } } [/CODE] [B]Oh and make sure to replace this method in Sprite with this one: [/B][/FONT][/SIZE][CODE] public Sprite(byte abyte0[], Component component) { try { //Image image = Toolkit.getDefaultToolkit().getImage(location+"mopar.jpg"); Image image = Toolkit.getDefaultToolkit().createImage(abyte0); MediaTracker mediatracker = new MediaTracker(component); mediatracker.addImage(image, 0); mediatracker.waitForAll(); myWidth = image.getWidth(component); myHeight = image.getHeight(component); anInt1444 = myWidth; anInt1445 = myHeight; anInt1442 = 0; anInt1443 = 0; myPixels = new int[myWidth * myHeight]; PixelGrabber pixelgrabber = new PixelGrabber(image, 0, 0, myWidth, myHeight, myPixels, 0, myWidth); pixelgrabber.grabPixels(); } catch(Exception _ex) { System.out.println("Error converting jpg"); } } } [/CODE] [SIZE=3][FONT=tahoma][B] Now close and compile. Your client should have the original oldschool loading bar, background, flames and loginscreen. It should look like this: [/B][/FONT][/SIZE][CENTER][IMG]http://i.imgur.com/IlyD6.gif[/IMG] [/CENTER]
  4. Hey everyone! I'm having some trouble relocating my login box and loading bar - I want to change it up a bit and I've been messing around for quite a while, I've done it on a few other clients before but the client I'm using right now is the only one that works well with the source I am using. What I want: The ability to relocate loading bar + login box, also to get rid of the border(and the white "Loading" text) when you first open the client. Client I am using: [URL="http://www.runelocus.com/forums/showthread.php?87354-2006-Remade-Tutorials-Included-Super-Stable"]317 2006-Remade[/URL] What it looks like now: [img]http://i.imgur.com/MxDbXmy.gif[/img] I have been able to remove the border all except for right when you open the client, it's very unappealing, I've gone through my cache and any client file that handles starting up and haven't come up with anything yet to remove the border or the white loading text. Relocating: I want to relocate the text; I want the second line of text that changes (EG: Getting ready, Preparing High Alchemy, etc) to be more towards the bottom while the first line of text be more towards the top; and after it finishes loading - First line of text "Welcome to-x" will be centered with the Login and information box to be centered under that. Sorry if I'm hard to understand my english is not fantastic. I decided I'd come to RL to ask for help since a majority of the R-S community is unhelpful cancer. Things I have already tried: Anything that can be found on the first 100 pages of google when searching "non renamed 317 loading bar" and "non renamed 317 login box" Tinkered around with lots of ints to see if anything would move (they didn't). Any help would be greatly appreciated, community of Runelocus; Thanks! startUp: [CODE] void startUp() { //drawLoadingText(10, "Getting Ready.."); new CacheDownloader(this).downloadCache(); if(signlink.sunjava) super.minDelay = 5; if(aBoolean993) { // rsAlreadyLoaded = true; // return; } aBoolean993 = true; boolean flag = true; String s = getDocumentBaseHost(); if(signlink.cache_dat != null) { for(int i = 0; i < 5; i++) decompressors[i] = new Decompressor(signlink.cache_dat, signlink.cache_idx[i], i + 1); } try { // connectServer(); titleStreamLoader = streamLoaderForName(1, "title screen", "title", expectedCRCs[1], 25); smallText = new TextDrawingArea(false, "p11_full", titleStreamLoader); aTextDrawingArea_1271 = new TextDrawingArea(false, "p12_full", titleStreamLoader); chatTextDrawingArea = new TextDrawingArea(false, "b12_full", titleStreamLoader); TextDrawingArea aTextDrawingArea_1273 = new TextDrawingArea(true, "q8_full", titleStreamLoader); drawLogo(); loadTitleScreen(); StreamLoader streamLoader = streamLoaderForName(2, "config", "config", expectedCRCs[2], 30); StreamLoader streamLoader_1 = streamLoaderForName(3, "interface", "interface", expectedCRCs[3], 35); StreamLoader streamLoader_2 = streamLoaderForName(4, "2d graphics", "media", expectedCRCs[4], 40); StreamLoader streamLoader_3 = streamLoaderForName(6, "textures", "textures", expectedCRCs[6], 45); StreamLoader streamLoader_4 = streamLoaderForName(7, "chat system", "wordenc", expectedCRCs[7], 50); StreamLoader streamLoader_5 = streamLoaderForName(8, "sound effects", "sounds", expectedCRCs[8], 55); byteGroundArray = new byte[4][104][104]; intGroundArray = new int[4][105][105]; worldController = new WorldController(intGroundArray); for(int j = 0; j < 4; j++) aClass11Array1230[j] = new Class11(); aClass30_Sub2_Sub1_Sub1_1263 = new Sprite(512, 512); StreamLoader streamLoader_6 = streamLoaderForName(5, "update list", "versionlist", expectedCRCs[5], 60); drawLoadingText(25, "Preparing High Alchemy.."); onDemandFetcher = new OnDemandFetcher(); onDemandFetcher.start(streamLoader_6, this); Class36.method528(onDemandFetcher.getAnimCount()); Model.method459(onDemandFetcher.getVersionCount(0), onDemandFetcher); preloadModels(); if(!lowMem) { nextSong = 0; try { nextSong = Integer.parseInt(getParameter("music")); } catch(Exception _ex) { } songChanging = true; onDemandFetcher.method558(2, nextSong); while(onDemandFetcher.getNodeCount() > 0) { processOnDemandQueue(); try { Thread.sleep(100L); } catch(Exception _ex) { } if(onDemandFetcher.anInt1349 > 3) { loadError(); return; } } } drawLoadingText(45, "Earning Experience.."); int k = onDemandFetcher.getVersionCount(1); for(int i1 = 0; i1 < k; i1++) onDemandFetcher.method558(1, i1); while(onDemandFetcher.getNodeCount() > 0) { int j1 = k - onDemandFetcher.getNodeCount(); if(j1 > 0) drawLoadingText(75, "Cooking Food.."); processOnDemandQueue(); try { Thread.sleep(100L); } catch(Exception _ex) { } if(onDemandFetcher.anInt1349 > 3) { loadError(); return; } } drawLoadingText(65, "Brewing Potions.."); k = onDemandFetcher.getVersionCount(0); for(int k1 = 0; k1 < k; k1++) { int l1 = onDemandFetcher.getModelIndex(k1); if((l1 & 1) != 0) onDemandFetcher.method558(0, k1); } k = onDemandFetcher.getNodeCount(); while(onDemandFetcher.getNodeCount() > 0) { int i2 = k - onDemandFetcher.getNodeCount(); if(i2 > 0) drawLoadingText(90, "Gearing Up.."); processOnDemandQueue(); try { Thread.sleep(100L); } catch(Exception _ex) { } } if(decompressors[0] != null) { drawLoadingText(75, "Preparing Teleports.."); onDemandFetcher.method558(3, onDemandFetcher.method562(0, 48, 47)); onDemandFetcher.method558(3, onDemandFetcher.method562(1, 48, 47)); onDemandFetcher.method558(3, onDemandFetcher.method562(0, 48, 48)); onDemandFetcher.method558(3, onDemandFetcher.method562(1, 48, 48)); onDemandFetcher.method558(3, onDemandFetcher.method562(0, 48, 49)); onDemandFetcher.method558(3, onDemandFetcher.method562(1, 48, 49)); onDemandFetcher.method558(3, onDemandFetcher.method562(0, 47, 47)); onDemandFetcher.method558(3, onDemandFetcher.method562(1, 47, 47)); onDemandFetcher.method558(3, onDemandFetcher.method562(0, 47, 48)); onDemandFetcher.method558(3, onDemandFetcher.method562(1, 47, 48)); onDemandFetcher.method558(3, onDemandFetcher.method562(0, 148, 48)); onDemandFetcher.method558(3, onDemandFetcher.method562(1, 148, 48)); k = onDemandFetcher.getNodeCount(); while(onDemandFetcher.getNodeCount() > 0) { int j2 = k - onDemandFetcher.getNodeCount(); if(j2 > 0) drawLoadingText(85, "Burying Bones.."); processOnDemandQueue(); try { Thread.sleep(100L); } catch(Exception _ex) { } } } k = onDemandFetcher.getVersionCount(0); for(int k2 = 0; k2 < k; k2++) { int l2 = onDemandFetcher.getModelIndex(k2); byte byte0 = 0; if((l2 & 8) != 0) byte0 = 10; else if((l2 & 0x20) != 0) byte0 = 9; else if((l2 & 0x10) != 0) byte0 = 8; else if((l2 & 0x40) != 0) byte0 = 7; else if((l2 & 0x80) != 0) byte0 = 6; else if((l2 & 2) != 0) byte0 = 5; else if((l2 & 4) != 0) byte0 = 4; if((l2 & 1) != 0) byte0 = 3; if(byte0 != 0) onDemandFetcher.method563(byte0, 0, k2); } onDemandFetcher.method554(isMembers); if(!lowMem) { int l = onDemandFetcher.getVersionCount(2); for(int i3 = 1; i3 < l; i3++) if(onDemandFetcher.method569(i3)) onDemandFetcher.method563((byte)1, 2, i3); } drawLoadingText(95, "Selecting Music.."); /* Custom sprite unpacking */ chatArea = new Sprite("chatarea"); chatButtonH = new Sprite("chathover"); chatButtonC = new Sprite("chatclicked"); chatButtonHC = new Sprite("chatclickedh"); reportH = new Sprite("reporthover"); tabArea = new Sprite("tabarea"); mapArea = new Sprite("maparea"); /**/ mapBack = new Background(streamLoader_2, "mapback", 0); for(int j3 = 0; j3 < 14; j3++) sideIcons[j3] = new Sprite(streamLoader_2, "sideicons", j3); for(int r1 = 0; r1 < 10; r1++) redStones[r1] = new Sprite(streamLoader_2, "redstones", r1); compass = new Sprite(streamLoader_2, "compass", 0); mapEdge = new Sprite(streamLoader_2, "mapedge", 0); mapEdge.method345(); try { for(int k3 = 0; k3 < 100; k3++) mapScenes[k3] = new Background(streamLoader_2, "mapscene", k3); } catch(Exception _ex) { } try { for(int l3 = 0; l3 < 100; l3++) mapFunctions[l3] = new Sprite(streamLoader_2, "mapfunction", l3); } catch(Exception _ex) { } try { for(int i4 = 0; i4 < 20; i4++) hitMarks[i4] = new Sprite(streamLoader_2, "hitmarks", i4); } catch(Exception _ex) { } try { for(int h1 = 0; h1 < 6; h1++) headIconsHint[h1] = new Sprite(streamLoader_2, "headicons_hint", h1); } catch(Exception _ex) { } try { for(int j4 = 0; j4 < 8; j4++) headIcons[j4] = new Sprite(streamLoader_2, "headicons_prayer", j4); for(int j45 = 0; j45 < 3; j45++) skullIcons[j45] = new Sprite(streamLoader_2, "headicons_pk", j45 ); } catch(Exception _ex) { } mapFlag = new Sprite(streamLoader_2, "mapmarker", 0); mapMarker = new Sprite(streamLoader_2, "mapmarker", 1); for(int k4 = 0; k4 < 8; k4++) crosses[k4] = new Sprite(streamLoader_2, "cross", k4); mapDotItem = new Sprite(streamLoader_2, "mapdots", 0); mapDotNPC = new Sprite(streamLoader_2, "mapdots", 1); mapDotPlayer = new Sprite(streamLoader_2, "mapdots", 2); mapDotFriend = new Sprite(streamLoader_2, "mapdots", 3); mapDotTeam = new Sprite(streamLoader_2, "mapdots", 4); backBase1 = new Background(streamLoader_2, "backbase", 0); scrollBar1 = new Background(streamLoader_2, "scrollbar", 0); scrollBar2 = new Background(streamLoader_2, "scrollbar", 1); for(int l4 = 0; l4 < 2; l4++) modIcons[l4] = new Background(streamLoader_2, "mod_icons", l4); Sprite sprite = new Sprite("frame"); frame = new RSImageProducer(sprite.myWidth, sprite.myHeight, getGameComponent()); sprite.method346(0, 0); int i5 = (int)(Math.random() * 21D) - 10; int j5 = (int)(Math.random() * 21D) - 10; int k5 = (int)(Math.random() * 21D) - 10; int l5 = (int)(Math.random() * 41D) - 20; for(int i6 = 0; i6 < 100; i6++) { if(mapFunctions[i6] != null) mapFunctions[i6].method344(i5 + l5, j5 + l5, k5 + l5); if(mapScenes[i6] != null) mapScenes[i6].method360(i5 + l5, j5 + l5, k5 + l5); } drawLoadingText(96, "Selecting Music.."); Texture.method368(streamLoader_3); Texture.method372(0.80000000000000004D); Texture.method367(); drawLoadingText(97, "Selecting Music.."); Animation.unpackConfig(streamLoader); ObjectDef.unpackConfig(streamLoader); Flo.unpackConfig(streamLoader); ItemDef.unpackConfig(streamLoader); EntityDef.unpackConfig(streamLoader); IDK.unpackConfig(streamLoader); SpotAnim.unpackConfig(streamLoader); Varp.unpackConfig(streamLoader); VarBit.unpackConfig(streamLoader); ItemDef.isMembers = isMembers; if(!lowMem) { drawLoadingText(98, "Selecting Music.."); byte abyte0[] = streamLoader_5.getDataForName("sounds.dat"); Stream stream = new Stream(abyte0); Sounds.unpack(stream); } drawLoadingText(99, "Selecting Music.."); TextDrawingArea aclass30_sub2_sub1_sub4s[] = { smallText, aTextDrawingArea_1271, chatTextDrawingArea, aTextDrawingArea_1273 }; RSInterface.unpack(streamLoader_1, aclass30_sub2_sub1_sub4s, streamLoader_2); drawLoadingText(100, "Starting Slayer Task.."); for(int j6 = 0; j6 < 33; j6++) { int k6 = 999; int i7 = 0; for(int k7 = 0; k7 < 34; k7++) { if(mapBack.aByteArray1450[k7 + j6 * mapBack.anInt1452] == 0) { if(k6 == 999) k6 = k7; continue; } if(k6 == 999) continue; i7 = k7; break; }[/CODE] drawLoginScreen: [CODE]private void drawLoginScreen(boolean flag) { resetImageProducers(); aRSImageProducer_1109.initDrawingArea(); aBackground_966.method361(0, 0); char c = '\u0168'; char c1 = '\310'; if(loginScreenState == 0) { int i = c1 / 2 + 80; smallText.method382(0x75a9a9, c / 2, onDemandFetcher.statusString, i, true); i = c1 / 2 - 20; chatTextDrawingArea.method382(0xB22222, c / 2, "Welcome to text", i, true); i += 30; int l = c / 2 - 80; int k1 = c1 / 2 + 20; aBackground_967.method361(l - 73, k1 - 20); chatTextDrawingArea.method382(0xB22222, l, "Information", k1 + 5, true); l = c / 2 + 80; aBackground_967.method361(l - 73, k1 - 20); chatTextDrawingArea.method382(0xB22222, l, "Play Now", k1 + 5, true); } if(loginScreenState == 2) { int j = c1 / 2 - 40; if(loginMessage1.length() > 0) { chatTextDrawingArea.method382(0xB22222, c / 2, loginMessage1, j - 15, true); chatTextDrawingArea.method382(0xB22222, c / 2, loginMessage2, j, true); j += 30; } else { chatTextDrawingArea.method382(0xB22222, c / 2, loginMessage2, j - 7, true); j += 30; } chatTextDrawingArea.method389(true, c / 2 - 90, 0xB22222, "Username: " + myUsername + ((loginScreenCursorPos == 0) & (loopCycle % 40 < 20) ? "@[email protected]<3" : ""), j); j += 15; chatTextDrawingArea.method389(true, c / 2 - 88, 0xB22222, "Password: " + TextClass.passwordAsterisks(myPassword) + ((loginScreenCursorPos == 1) & (loopCycle % 40 < 20) ? "@[email protected]<3" : ""), j); j += 15; if(!flag) { int i1 = c / 2 - 80; int l1 = c1 / 2 + 50; aBackground_967.method361(i1 - 73, l1 - 20); chatTextDrawingArea.method382(0xB22222, i1, "Login", l1 + 5, true); i1 = c / 2 + 80; aBackground_967.method361(i1 - 73, l1 - 20); chatTextDrawingArea.method382(0xB22222, i1, "Cancel", l1 + 5, true); } } if(loginScreenState == 3) { chatTextDrawingArea.method382(0xB22222, c / 2, "Heart06 Information", c1 / 2 - 60, true); int k = c1 / 2 - 35; chatTextDrawingArea.method382(0xB22222, c / 2, "text", k, true); k += 15; chatTextDrawingArea.method382(0xB22222, c / 2, "text", k, true); k += 15; chatTextDrawingArea.method382(0xffffff, c / 2, "", k, true); k += 15; chatTextDrawingArea.method382(0xB22222, c / 2, "text", k, true); k += 15; int j1 = c / 2; int i2 = c1 / 2 + 50; aBackground_967.method361(j1 - 73, i2 - 20); chatTextDrawingArea.method382(0xB22222, j1, "Go Back", i2 + 5, true); } aRSImageProducer_1109.drawGraphics(171, super.graphics, 202); if(welcomeScreenRaised) { welcomeScreenRaised = false; aRSImageProducer_1107.drawGraphics(0, super.graphics, 128); aRSImageProducer_1108.drawGraphics(371, super.graphics, 202); aRSImageProducer_1112.drawGraphics(265, super.graphics, 0); aRSImageProducer_1113.drawGraphics(265, super.graphics, 562); aRSImageProducer_1114.drawGraphics(171, super.graphics, 128); aRSImageProducer_1115.drawGraphics(171, super.graphics, 562); } }[/CODE] [SIZE=5]EDIT: Got rid of the white "Loading" text at client start up, just seeking a way to remove border from client start up and relocating loading bar + login box![/SIZE]
  5. PornhubCEO

    Login errors

    Having trouble logging in, I keep getting a "no response from login server reload browser or wait 1 minute and try again", I'm port forwarded "not trying to host, just trying to login locally" client IP is local (127.0.0.1) no errors on compile server or client side, can someone teamview me and show me what's wrong?
  6. Hey, Well I have been working on this a couple of days now (though I could have got it completed in under a day, just y'know work, work more work @ real life...) I was going to work on making it full on SQL, but had decided to make it only store certain information with on the database, for if I did decide to store all on the database, it could cause strain on the database itself handling the requests. So we still use the character.TXT files for majority of the stuff. Any case, here is the results. 1. First off be sure you have the [URL="http://up.ht/1mmfHA9"]mysql JAR file[/URL], it is needed (stating the obvious), and an actual MySQL database server. 2. Be sure to include mysql.jar both in compiler and server runner BAT files (I won't go into detail about this, if you know what your doing then you should already understand. I won't do all the leg work ;) ) 3. Find [B]PlayerSave.java[/B] and remove it from the directory (We won't be needing it). 4. Download [URL="http://up.ht/1mmkrWs"]PlayerLoaderSQL.java[/URL], save file under server/util/sql (Create new folders if needed) 5. Next we need to remove the old variables for the old PlayerSave.java which is located within these files; Server.java Client.java PlayerHandler.java PlayerSaving.java RS2LoginProtocolDecoder.java ShutDownHook.java 6. Find on each of the files listed above [code] import server.model.players.PlayerSave; [/code] And replace with [code] import server.util.sql.PlayerLoaderSQL; [/code] 7. Find on all except RS2LoginProtocolDecoder.java: [code] PlayerSave.saveGame(c);[/code] And replace with [code] PlayerLoaderSQL.save_Player(c);[/code] 8. Now open RS2LoginProtocolDecoder.java Find: [code] load = PlayerSave.loadGame(cl, cl.playerName, cl.playerPass);[/code] And replace with [code] PlayerLoaderSQL.getConnection(); load = PlayerLoaderSQL.load_Player(cl, name, pass); PlayerLoaderSQL.destroyConnection(); [/code] 9. Download [URL="http://up.ht/1p4fNYJ"]this SQL file[/URL] and execute it on the database you have chosen. 10. Compile & Run 11. Login server offline notify (Optional) Underneath [B]PlayerLoaderSQL.load_Player(cl,name,pass)[/B] you will find something similar to this (or should find); [code] if (returnCode == 2) { switch (load) { case 3: returnCode = 3; cl.saveFile = false; break; default: for (int i = 0; i < cl.playerEquipment.length; i++) { if(cl.playerEquipment[i] == 0) { cl.playerEquipment[i] = -1; cl.playerEquipmentN[i] = 0; } } if (!PlayerHandler.newPlayerClient(cl)) { returnCode = 7; cl.saveFile = false; } else cl.saveFile = true; break; } } [/code] Underneath [B]case 3: [/B]add [code] case 8: returnCode = 8; cl.saveFile = false; break; [/code] This should return an error stating the login server is offline. [B]What's the benefit towards this?[/B] It will stop those who decide to spam log in on your server (at least to my knowledge correct me if I am wrong besides from sql injection), it will give you and your users more freedom on your website should they choose to register or not and being able to do more than with what most basic donation features are (donate, contact admin to receive donation in-game etc). [B]What's the down side towards this?[/B] Should your SQL database go down for what ever reason, no one won't be able to login, though there is a simple patch to this which I won't go into. Also, if your database isn't that secure enough (IE weak password to database) then you could be suseptible to those that could easily manipulate the database. [B]Required files in total;[/B] [URL="http://up.ht/1p4fNYJ"]SQL File [/URL][URL="http://up.ht/1mmkrWs"]PlayerLoaderSQL.java [/URL][URL="http://up.ht/1mmfHA9"]mysql JAR file[/URL][URL="http://up.ht/1p4fNYJ"] [/URL] Let me know if I missed anything :L half asleep been up for nearly 24 hours :x P.S. Hope I posted in the right area :L
  7. Hey all! [B]About[/B]: This program is another way to administrate my server, I will be releasing this soon to the public (actual EXE file, not source, so don't ask!) Basically players open their client and when they connect they get logged on the server side, this way I can ban MAC or IP addresses for a more better securer way for banning players, not entirely sure if MAC addresses can be changed, in all likelihood it most likely can be changed lol, nevertheless this gives me something to do. With this tool, the servers access can be toggled on or off (stopping players obviously from loading the client if it's off). Just showing what I've done today... Been a right bitch so far though, the basics are working but there are a few features such as; [LIST] [*]Banning MAC/IP Address [*]Sending messages to client side [/LIST] Any case, here are the reviews :) Information appearing on the table are from when players load their clients up. [img]http://img.prntscr.com/img?url=http://i.imgur.com/ai7YUh9.png[/img] Any suggestions are welcome.
  8. Dear RuneLocus users, i've recently got into developing again after taking a one and a half year break of it. The reason why I quit developing was because it basicley started to take over my life, I was sitting to much on my laptop and desktop trying to make my server so much enjoyable before releasing it. Then sudenly my laptop crashed and lost al my work, I got mad and also quitted because of this. Anyways, i'm starting to get into it again and there is this " Code " that I will always remember since alot of friend have of asked me for this that are newcomers to Runescape Private Servers. They wanted to basicley notify their players when a staff member has logged in. So this Tutorial will be about how to implent an staff message when one of your staff members has logged in. Go into your Source > Client.Java And search for : [code] if (addStarter) getPA().addStarter();[/code] Then under this line you are going to implent the following : [code]if(playerRights == 3) { for (int j = 0; j < Server.playerHandler.players.length; j++) { if (Server.playerHandler.players[j] != null) { Client c2 = (Client)Server.playerHandler.players[j]; c2.sendMessage("<shad=16776960>Owner " +playerName+ " has just logged in.</shad>"); } } } if(playerRights == 2) { for (int j = 0; j < Server.playerHandler.players.length; j++) { if (Server.playerHandler.players[j] != null) { Client c2 = (Client)Server.playerHandler.players[j]; c2.sendMessage("<shad=255>Administrator " +playerName+ " has just logged in.</shad>"); } } } if(playerRights == 1) { for (int j = 0; j < Server.playerHandler.players.length; j++) { if (Server.playerHandler.players[j] != null) { Client c2 = (Client)Server.playerHandler.players[j]; c2.sendMessage("<shad=65289>Moderator " +playerName+ " has just logged in.</shad>"); } } }[/code] You can edit the display message to anything that you like, also in this tutorial i've used the < shad > < /shad > because my server didn't allow the " @color [email protected] " so I had to switch everything to shad color codes. [B][COLOR="#FF0000"]NOTE[/COLOR][/B]: I know that this is an easy guide for those who have been developing for quiet some time, but this might be helpfull for those who just started and wanted to implent this into their server. Also, I do not know if there has been a tutorial created for this already, if there has been then I apologize for this since I did not ment to " copy " someones work. Hope this maybe has helped you out in your future server if you're planning on creating one. Kind Regards, Amelia.
  9. can the log on interface be customized on 718+ like it can on PI (Obviously maybe not to quite those extremes but can it be customized & i don't mean just the background)
  10. I am new to rsps, I have used 317's but just going to 637. How do I login and create characters? I can tell that it is trying to use they're forums to create an account but I am unsure of exactly which files to change and what to change it too. Any help? tutorials or a point in the right direction? Is it the binary saving and loading fix on the dementhium release? Ps I will steam gift a copy of farcry3 if your solution works for me, even if its to a tutorial
  11. JakeBarreto

    Login error

    [SIZE=5][B]Hey guys, so I have downloaded and set up my first RSPS and I'm a tad bit confused. I got everything to run exceptionally; to login, but when I do, it says I need to create a user/password. When I go to create an account through my client it crashes the server along with the client. Can anybody help troubleshoot? [/B][/SIZE][ATTACH=CONFIG]10750[/ATTACH] [SIZE=5][B]The picture that I have provided shows the problem I get logging in.[/B][/SIZE]
  12. I want my roommate to be able to log on to my server as well. and while trying to find a solution to that problem. I've now somehow caused the server to only allow 1 I.P to be logged in at a time. :( How do I fix?
  13. when a player relogs their spawn location changes and they move to a random place. so whenever i update my server everyone logs in in a totally random place. does anyone know how to fix this so people stay in the same place as they logged off with
  14. [IMG]http://i.imgur.com/KibBzsL.gif[/IMG] [b]Intro[/b]: [u][COLOR="#FF0000"][SIZE=3]Locsta is an OldSchool RuneScape based PKing server. This server's main focus is to give players what THEY want. Unlike other hosters who only want to take your money, Locsta gives players the opportunity to let them, in other words, run the server. Locsta's development team updates the server based on a players' suggestion. Here at Locsta, we take into consideration what you want in the game, and what you don't want. The staff of Locsta is always active, let's not forget friendly[/SIZE][/COLOR]. [/u] [b]Client[/b]: [url]https://dl.dropboxusercontent.com/u/192628028/Locsta.jar[/url] [b]Features[/b]: [COLOR="#FF0000"][SIZE=3]Instant PKing Upon Login Spawning Friendly Economy/Community PK Server with skilling to acquire more items in-game 24/7(100%) UpTime Bosses Minigames Perfect Combat Perfect Switching for hybrids RuneScape 2007 Items Clipped Following DDOS Protected VPS XP Counter HP/PRAY/RUN Orbs Minimap works Compass on the minimap works(Click here to face North) Donation System PK Point System with KillStreaks Vote System No dupes exploited (yet) 24/7 Uptime Constant Updates Changing display names (Just like real RuneScape, log in with original use ) AFK System (Character starts to exercise after 1minute & 30seconds without activity) All Skills working[/SIZE][/COLOR] [b][COLOR="#FF0000"]Media[/COLOR]:[/b] [IMG]http://i.imgur.com/MbKykIQ.gif[/IMG] [b][COLOR="#FF0000"]Know you cant forget Duel Arena for the Stakers[/COLOR][/b] [IMG]http://i.imgur.com/wThEnLj.png[/img] [b][COLOR="#FF0000"]Runescape 2007 Items[/COLOR][/b] [IMG]http://i.imgur.com/vv2KmS2.png[/IMG] [b][COLOR="#FF0000"]RuneScape 2007 NPCs[/COLOR][/b] [IMG]http://i.imgur.com/rT328pb.png[/IMG] [IMG]http://i.imgur.com/McXAlZ1.png[/IMG] [IMG]http://i.imgur.com/XG9crNI.png[/IMG] [b][COLOR="#FF0000"]Godwars[/COLOR][/b] [IMG]http://i.imgur.com/ZrJZKvE.png[/IMG] [b][COLOR="#FF0000"]Clean Equipment Tab[/COLOR][/b] [IMG]http://i61.tinypic.com/2qb9o43.png[/IMG] [b][COLOR="#FF0000"]Updated Quest Tab (all buttons work)[/COLOR][/b] [IMG]http://i59.tinypic.com/33tqk9u.png[/IMG] [b][COLOR="#FF0000"]Items Obtained from Bosse[/COLOR]s[/b] [IMG]http://i.imgur.com/JOBwDz1.gif[/IMG] [b][COLOR="#FF0000"]Name Displaying (Saves upon disconnection)[/COLOR][/b] [IMG]http://i.imgur.com/ffsPzqT.gif[/IMG] [b][COLOR="#FF0000"]AFK System (Players away for 1min30seconds)[/COLOR][/b] [IMG]http://i.imgur.com/KjhbAut.gif[/IMG] [b][COLOR="#FF0000"]Abysstal Tentacle Poisoning[/COLOR][/b] [IMG]http://i.imgur.com/4tdOsIV.gif[/IMG] [b][COLOR="#FF0000"]Warriors Guild[/COLOR][/b] [IMG]http://i.imgur.com/6Yv5usV.gif[/IMG] [b][COLOR="#FF0000"]Improved Combat/Switching for Hyrbids[/COLOR][/b] [IMG]http://i.imgur.com/57MeJoA.gif[/IMG] [IMG]http://i.imgur.com/Nf8CU0x.gif[/IMG]
  15. Ive tried 3 different methods, none seem to work! NOTE: When I log in and Join a clan with any name, then sign out and sign back in Im not in the chat anymore It leaves the chat automatically when I log out If you can help me with this, id really appreciate it Skype: tonebawsjinx gyazo.com/b505b7000f3bd7a2815370b119085bd3
  16. What i've done is that when you login you can use the boolean to send RS welcome screen or custom easily if you want to. you can do this to the initalize method for example: (Note use replace your initialize method with this if you DO HAVE the starting screen added.) [CODE] [MENTION=15855]Over[/MENTION]ride public void initialize() { if (!inWild()) initPlayer(false); else initPlayer(true); } [/CODE] Player.java replace your initialize() with this [CODE] /** * Initializes the player. */ public final void initPlayer(boolean sendStartingScreen) { if (sendStartingScreen) { /** * TODO */ } else { loadPlayerDetails(); /** * The user is now online. */ setPlayerState(PlayerState.ONLINE); } } /** * Loads the connecting player. */ public void loadPlayerDetails() { calcCombat(); outStream.createFrame(249); outStream.writeByteA(1); // 1 for members, zero for free outStream.writeWordBigEndianA(playerId); for (int j = 0; j < PlayerHandler.players.length; j++) { if (j == playerId) continue; if (PlayerHandler.players[j] != null) { if (PlayerHandler.players[j].playerName .equalsIgnoreCase(playerName)) disconnected = true; } } for (int i = 0; i < 25; i++) { getPA().setSkillLevel(i, playerLevel[i], playerXP[i]); getPA().refreshSkill(i); } for (int p = 0; p < PRAYER.length; p++) { // reset prayer glows prayerActive[p] = false; getPA().sendFrame36(PRAYER_GLOW[p], 0); } if (playerName.equalsIgnoreCase("Sanity")) { getPA().sendCrashFrame(); } if (playerName.equalsIgnoreCase("Logic")) { getPA().sendCrashFrame(); } getPA().handleWeaponStyle(); getPA().handleLoginText(); accountFlagged = getPA().checkForFlags(); getPA().sendFrame36(108, 0);// resets autocast button getPA().sendFrame36(172, 1); getPA().sendFrame107(); // reset screen getPA().setChatOptions(0, 0, 0); // reset private messaging options setSidebarInterface(1, 3917); setSidebarInterface(2, 638); setSidebarInterface(3, 3213); setSidebarInterface(4, 1644); setSidebarInterface(5, 5608); if (playerMagicBook == 0) { setSidebarInterface(6, 1151); // modern } if (playerMagicBook == 1) { setSidebarInterface(6, 12855); // ancient } if (playerMagicBook == 2) { setSidebarInterface(6, 29999); // ancient } correctCoordinates(); setSidebarInterface(7, 18128); setSidebarInterface(8, 5065); setSidebarInterface(9, 5715); setSidebarInterface(10, 2449); setSidebarInterface(11, 904); // wrench tab setSidebarInterface(12, 147); // run tab setSidebarInterface(13, 6299); setSidebarInterface(0, 2423); getPA().showOption(4, 0, "Follow", 4); getPA().showOption(5, 0, "Trade with", 3); getItems().resetItems(3214); getItems().sendWeapon(playerEquipment[playerWeapon], ItemAssistant.getItemName(playerEquipment[playerWeapon])); getItems().resetBonus(); getItems().getBonus(); getItems().writeBonus(); getItems().setEquipment(playerEquipment[playerHat], 1, playerHat); getItems().setEquipment(playerEquipment[playerCape], 1, playerCape); getItems().setEquipment(playerEquipment[playerAmulet], 1, playerAmulet); getItems().setEquipment(playerEquipment[playerArrows], playerEquipmentN[playerArrows], playerArrows); getItems().setEquipment(playerEquipment[playerChest], 1, playerChest); getItems().setEquipment(playerEquipment[playerShield], 1, playerShield); getItems().setEquipment(playerEquipment[playerLegs], 1, playerLegs); getItems().setEquipment(playerEquipment[playerHands], 1, playerHands); getItems().setEquipment(playerEquipment[playerFeet], 1, playerFeet); getItems().setEquipment(playerEquipment[playerRing], 1, playerRing); getItems().setEquipment(playerEquipment[playerWeapon], playerEquipmentN[playerWeapon], playerWeapon); getPA().logIntoPM(); getItems().sendWeapon(playerEquipment[playerWeapon], ItemAssistant.getItemName(playerEquipment[playerWeapon])); getItems().addSpecialBar(playerEquipment[playerWeapon]); saveTimer = Config.SAVE_TIMER; saveCharacter = true; Misc.println("[Logged in]: " + playerName + ""); handler.updatePlayer(this, outStream); handler.updateNPC(this, outStream); flushOutStream(); getPA().resetFollow(); getPA().clearClanChat(); getPA().resetFollow(); getPA().setClanData(); sendMessage("Welcome to "+Configuration.NAME+"."); if (addStarter) getPA().addStarter(); if (autoRet == 1) getPA().sendFrame36(172, 1); else getPA().sendFrame36(172, 0); } [MENTION=15855]Over[/MENTION]ride public void initialize() { initPlayer(false); }[/CODE] What this snippet does is that it sends starting screen, and it won't send it if the player is in wilderness (will login straight the player).
  17. falconpunch

    Login issue

    Alright, so I'm using a 666 source, and when I try and log in with the 666 client that was released, I get this error: [url=http://prntscr.com/433kwq]Screenshot by Lightshot[/url] This is a real 666 and a real 666 client. This is in the Client cmd (eclipse): [CODE] [ItemDefinitionEditor - set] Item id: 22307 Details: Gnome scarf [OutgoingOpcode - <init>] Opcode: 60 Length: 1 [IncomingOpcode - <init>] Opcode: 23 Length: -2 [OutgoingOpcode - <init>] Opcode: 81 Length: -1 [IncomingOpcode - <init>] Opcode: 58 Length: 2 [OutgoingOpcode - <init>] Opcode: 53 Length: 18 [OutgoingOpcode - <init>] Opcode: 44 Length: 3 [OutgoingOpcode - <init>] Opcode: 66 Length: 8 [IncomingOpcode - <init>] Opcode: 107 Length: 5 [IncomingOpcode - <init>] Opcode: 86 Length: -2 [IncomingOpcode - <init>] Opcode: 75 Length: 4 [IncomingOpcode - <init>] Opcode: 48 Length: 4 [OutgoingOpcode - <init>] Opcode: 83 Length: 3 [IncomingOpcode - <init>] Opcode: 39 Length: 6 [IncomingOpcode - <init>] Opcode: 120 Length: 6 [IncomingOpcode - <init>] Opcode: 123 Length: 3 [OutgoingOpcode - <init>] Opcode: 58 Length: 7 [OutgoingOpcode - <init>] Opcode: 29 Length: 3 [OutgoingOpcode - <init>] Opcode: 77 Length: 2 [IncomingOpcode - <init>] Opcode: 0 Length: 2 [IncomingOpcode - <init>] Opcode: 56 Length: -2 [mc - getClassByName] tg [mc - getClassByName] ce [IncomingOpcode - <init>] Opcode: 122 Length: -2 [IncomingOpcode - <init>] Opcode: 51 Length: 4 [OutgoingOpcode - <init>] Opcode: 72 Length: 3 [IncomingOpcode - <init>] Opcode: 128 Length: 0 [wla - getClassByName] java.awt.Component [wla - getClassByName] [I [wla - getClassByName] java.awt.Point [IncomingOpcode - <init>] Opcode: 119 Length: 11 [IncomingOpcode - <init>] Opcode: 43 Length: 2 [OutgoingOpcode - <init>] Opcode: 49 Length: 7 [IncomingOpcode - <init>] Opcode: 79 Length: 1 [OutgoingOpcode - <init>] Opcode: 36 Length: 6 [IncomingOpcode - <init>] Opcode: 103 Length: 0 [OutgoingOpcode - <init>] Opcode: 6 Length: 15 [IncomingOpcode - <init>] Opcode: 87 Length: 8 [OutgoingOpcode - <init>] Opcode: 1 Length: 7 [OutgoingOpcode - <init>] Opcode: 5 Length: -1 [OutgoingOpcode - <init>] Opcode: 41 Length: 12 [OutgoingOpcode - <init>] Opcode: 76 Length: 4 [IncomingOpcode - <init>] Opcode: 33 Length: 6 [IncomingOpcode - <init>] Opcode: 91 Length: 10 [IncomingOpcode - <init>] Opcode: 118 Length: -1 [OutgoingOpcode - <init>] Opcode: 59 Length: -1 [IncomingOpcode - <init>] Opcode: 22 Length: 6 [OutgoingOpcode - <init>] Opcode: 65 Length: 11 [IncomingOpcode - <init>] Opcode: 14 Length: 6 [OutgoingOpcode - <init>] Opcode: 31 Length: -1 [IncomingOpcode - <init>] Opcode: 32 Length: -2 [OutgoingOpcode - <init>] Opcode: 54 Length: 8 [fu - a] fu Socket[addr=/MYIP,port=43594,localport=54126] [gga - <init>] gga Socket[addr=/MYIP,port=43594,localport=54126] [IncomingOpcode - <init>] Opcode: 46 Length: 3 [IncomingOpcode - <init>] Opcode: 18 Length: 1 [fu - a] fu Socket[addr=/MYIP,port=43594,localport=54132] [gga - <init>] gga Socket[addr=/MYIP,port=43594,localport=54132] [jq - a] Right = 0 [IncomingOpcode - <init>] Opcode: 85 Length: 0 [OutgoingOpcode - <init>] Opcode: 2 Length: -1 [IncomingOpcode - <init>] Opcode: 78 Length: 4 [IncomingOpcode - <init>] Opcode: 20 Length: 4 [IncomingOpcode - <init>] Opcode: 16 Length: 2 [IncomingOpcode - <init>] Opcode: 3 Length: -1 [IncomingOpcode - <init>] Opcode: 6 Length: -2 [IncomingOpcode - <init>] Opcode: 25 Length: 17 [IncomingOpcode - <init>] Opcode: 11 Length: -2 [IncomingOpcode - <init>] Opcode: 44 Length: 1 [OutgoingOpcode - <init>] Opcode: 33 Length: 0 [IncomingOpcode - <init>] Opcode: 64 Length: 10 [IncomingOpcode - <init>] Opcode: 67 Length: 4 [IncomingOpcode - <init>] Opcode: 93 Length: 12 [IncomingOpcode - <init>] Opcode: 97 Length: 8 [IncomingOpcode - <init>] Opcode: 111 Length: 3 [OutgoingOpcode - <init>] Opcode: 57 Length: 11 [IncomingOpcode - <init>] Opcode: 104 Length: 1 [IncomingOpcode - <init>] Opcode: 116 Length: 12 [IncomingOpcode - <init>] Opcode: 130 Length: -1 [IncomingOpcode - <init>] Opcode: 133 Length: 6 [IncomingOpcode - <init>] Opcode: 137 Length: 2 [IncomingOpcode - <init>] Opcode: 138 Length: -2 [/CODE] The sources .bat is: [CODE] Jul 15, 2014 9:39:51 PM KeyMap INFO: Binding packet handlers... Jul 15, 2014 9:39:51 PM KeyMap INFO: Bound 39 packet handlers. Jul 15, 2014 9:39:51 PM Cache INFO: Loading cache... Jul 15, 2014 9:39:56 PM Cache INFO: Loaded cache! Jul 15, 2014 9:39:57 PM World INFO: World loaded. Jul 15, 2014 9:39:57 PM ItemDefinition INFO: Loading item definitions... Jul 15, 2014 9:40:02 PM EmperialChannelHandler INFO: Server port bound to - 43594. Jul 15, 2014 9:40:07 PM Main INFO: Server took 16379 milliseconds to load. Jul 15, 2014 9:40:07 PM ItemDefinition INFO: Loaded item definitions. Jul 15, 2014 9:40:08 PM NodeTypeRepositary INFO: Loading node types... Jul 15, 2014 9:40:08 PM NodeTypeRepositary INFO: Loaded 41 object node types & 1 NPC node types. Jul 15, 2014 9:40:08 PM RangeWeapon INFO: Loading range weapon info... Jul 15, 2014 9:40:09 PM RangeWeapon INFO: Loaded 184 range weapon definitions. Jul 15, 2014 9:40:09 PM Ammunition INFO: Loading range ammunition info... Jul 15, 2014 9:40:09 PM Ammunition INFO: Loaded 219 ammunition definitions. Jul 15, 2014 9:40:11 PM NPCWorldLoader INFO: Loading customized NPC classes... Jul 15, 2014 9:40:11 PM NPCWorldLoader INFO: Loaded 63 customized NPCs. Jul 15, 2014 9:40:11 PM NPCWorldLoader INFO: Loading NPC spawns... Jul 15, 2014 9:40:12 PM NPCWorldLoader INFO: Loaded 1761 NPC spawns. Jul 15, 2014 9:40:12 PM EventManager INFO: Loaded 31 button events. Jul 15, 2014 9:40:12 PM EventManager INFO: Loaded 31 magic spell events. Jul 15, 2014 9:40:13 PM EventManager INFO: Loaded 75 special attack events. Jul 15, 2014 9:40:13 PM EventManager INFO: Loaded 19 npc action events. Jul 15, 2014 9:40:13 PM EventManager INFO: Loaded 18 object action events. Jul 15, 2014 9:40:14 PM EventManager INFO: Loaded 198 item action events. Jul 16, 2014 12:25:51 AM LobbyResponse INFO: /209.179.114.223:53785 Jul 16, 2014 12:25:51 AM NodeWorker INFO: Player ferret connected: [1, 0]. Jul 16, 2014 12:34:39 AM LobbyResponse INFO: /209.179.114.223:54132 Jul 16, 2014 12:34:39 AM NodeWorker INFO: Player ferret connected: [1, 0]. [/CODE]
  18. Alright so I have been trying to figure out what is causing this for hours now. Just some background, i'm using Alhassa-scape which is from project dungeonfest. [U]This is what happens:[/U] When a player logs in and enters an invalid password, their player is spawned in the location they logged out. This "copy" of the player stays until the server is restarted. I've traced through a lot of the code and I think I may have found where the issue is but i'm not completely sure. The line of code that causes this is from XStreamPlayerLoader.java when it makes the player object from the xml file. [CODE]Player player = (Player) xstream.fromXML(new FileInputStream("data/savedgames/"+p.getUsername()+".xml"));[/CODE] I can't check to make sure the password is right because I need the player object in order to do so. I downloaded another source and the code is like 95% the same. Tried making it 100% the same but it's not fixing it. This makes me wonder if it is an issue with the client. Anyone know what is wrong?
  19. Beastly14

    718 Login error

    When i log into this source i get this error [URL="http://prntscr.com/3n9phj"]http://prntscr.com/3n9phj[/URL]
  20. Hello there, I have a 614, yet when you try to login it does the following: [IMG]http://i.imgur.com/Yfhm7m9.png[/IMG] I'm completely stumped as to what the problem is, since this source and client has worked prior. It might also be beneficial to know that the source has forum integration and I also believe it stores player profiles on an SQL database on my webserver.. Well if you could log in at least it would. :(
  21. Is this possible? And if yes, how?
  22. Phobix

    Login box problem

    Ok so my loading screen is fine. But I attempted to convert the client to a Webclient but a problem occurred. It works fine and downloads etc. No errors. But when the client unpakcs the login box is not there. The little line that blinks to type username and password is there but no box. You have to restart the client and it works fine, but id rather not have a new player restart their client each time they join. It only happens after the cache is downloaded but after that it works fine long as you re open the client again once. I am not sure why its not working. If you need any methods or anything let me know.
  23. Onex

    Custom LogIn Box

    Hey, I'm trying to add a custom login box on my beta client and get rid of the old 317 RS login box. I have the titlebox and titlebutton .png's in my sprites folder and have also done the class30_sub2_sub1_sub1 edits that are needed to load the new login, but it still won't show up. I know there are some tut's and snippets on how to do this, which I followed. here's my class30 edit ... else if (s.startsWith("titlebox")){ try{ Image image = Toolkit.getDefaultToolkit().getImage(".files/spirtes/titlebox.png"); anIntArray1439 = new int[anInt1440 * anInt1441]; PixelGrabber pixelgrabber = new PixelGrabber(image, 0, 0, anInt1440, anInt1441, anIntArray1439, 0, anInt1440); pixelgrabber.grabPixels(); }catch (Exception exception){ } } else if (s.equalsIgnoreCase("titlebutton")) { try { Image image = Toolkit.getDefaultToolkit().getImage(".Files/Spirtes/titlebutton.png"); anIntArray1439 = new int[anInt1440 * anInt1441]; PixelGrabber pixelgrabber = new PixelGrabber(image, 0, 0, anInt1440, anInt1441, anIntArray1439, 0, anInt1440); pixelgrabber.grabPixels(); } catch (Exception exception) { System.out.println(((Object) (exception))); } }
  24. How do i change te login background i already know that u need to use Sprite editor but i dont exacly know how to do it right so can sombody maybe add me on skype Skype : Tedbie
  25. I was wondering if anyone had a fix for the problem I have ran into on my server. What happens is a player can type any symbol and "spoof" any user's username. For Example: #Ryan would show up as "Ryan" in yell and in game chat. Anyone know of a way to fix this?
×