Login | Register
Results 1 to 2 of 2

Thread: rsps client hack


  1. hiyav1 Grunt

    Join Date Aug 2010

    Posts 62

    Membership Standard

    Reputation: 14

    08-07-2010 12:25 AM #1 rsps client hack

    Veng gfx fix
    Purpose: Making veng gfx work
    Difficulty: 1/10
    Knowledge To read and C&P
    Classes Modified: Spotanim.java, cache, playerassistant.java

    first go to your Playerassistant and search for

    Code:
    //c.gfx100(604);//Just use c.gfx100remove the //
    Now save and compile

    now go into your spotanim.java (Client sided)
    search for ur vengeance method and replace

    Code:
    if(j == 604){//Red skull
    cache[j].anInt405 = 1500;
    cache[j].anInt406 = 4417;
    cache[j].aAnimation_407 = Animation.anims[cache[j].anInt406];
    }with this :

    Code:
    if(j == 604){//Red skull
    cache[j].anInt405 = 12411;
    cache[j].anInt406 = 4417;
    cache[j].aAnimation_407 = Animation.anims[cache[j].anInt406];
    }i just changed the model id but its a bit easyer now since that is the original model

    now we are going to add the model


    put this in Your cache /Raw
    UppIT - Free File hosting - 12411.dat
    compile and use ur veng





    Adding World Map Hovering/Button
    Purpose: To add hovering for your world map icon, and giving it an actionID.
    Difficulty: 1/10, if you have common sense and basic client/Java knowledge.
    Assumed Knowledge: Basic client knowledge, basic Java knowledge.
    Classes Modified: client.java and Sprite.java
    Client Base: [Only registered and activated users can see links. ]

    I do not give permission for my tutorials to be converted to non-renamed and released.

    NOTE: This will only work right away for my refactored base. You can configure it for yours, but this is for mine.

    Step 1: Getting the sprite to load.

    Download this sprite(save it): http://i32.tinypic.com/sutysw.jpg. Make sure it is saved as mapiconh.png, in the Sprites folder.


    Now, to make the sprite load correctly, we must edit Sprite.java, and client.java. First, lets do Sprite.java. In Sprite.java, find:


    Code:
    } else if (img.equalsIgnoreCase("mapicon")) {simply replace it with:

    Code:
    } else if (img.equalsIgnoreCase("mapicon") || img.equalsIgnoreCase("mapiconh")) {Now save and close Sprite.java. Open up client.java, and find:

    Code:
    worldMapIcon = new Sprite("mapicon");Under it, add:

    Code:
    worldMapIconH = new Sprite("mapiconh");Find:

    Code:
    private Sprite worldMapIcon;Under it, add:

    Code:
    private Sprite worldMapIconH;Find:

    Code:
    worldMapIcon = null;Under it, add:

    Code:
    worldMapIconH = null;That will load the sprite. But you aren't finished.


    Step 2: Getting the mouse-over to work.

    Find "public int logIconHPos = 0;", and below that add:

    Code:
    public int worldMapHPos = 0;Then find "public void processMapAreaClick() {", and replace that method with:

    Code:
    public void processMapAreaClick() {
    if(super.mouseX >= 742 && super.mouseX <= 764 && super.mouseY >= 1 && super.mouseY <= 23) {
    logIconHPos = 1;
    } else {
    logIconHPos = 0;
    }
    if(super.mouseX >= 527 && super.mouseX <= 560 && super.mouseY >= 126 && super.mouseY <= 159) {
    worldMapHPos = 1;
    } else {
    worldMapHPos = 0;
    }
    }Now find "public void drawWorldMapButton() {", and replace that whole method with:

    Code:
    public void drawWorldMapButton() {
    if(worldMapHPos == 0) {
    worldMapIcon.drawSprite(8, 124);
    } else if(worldMapHPos == 1) {
    worldMapIconH.drawSprite(8, 124);
    }
    }This will make it so if you mouse over the world map icon, it draws the hover sprite.


    Step 3: Making it a button with an action.

    Find "public void rightClickMapArea() {", and replace the entire method with:

    Code:
    private void rightClickMapArea() {
    if(super.mouseX >= 742 && super.mouseX <= 764 && super.mouseY >= 1 && super.mouseY <= 23 && tabInterfaceIDs[10] != -1) {
    menuActionName[1] = "Logout";
    menuActionID[1] = 1004;
    menuActionRow = 2;
    } else if(super.mouseX >= 527 && super.mouseX <= 560 && super.mouseY >= 126 && super.mouseY <= 159) {
    menuActionName[1] = "World Map";
    menuActionID[1] = 1005;
    menuActionRow = 2;
    }
    }Now find "if(l == 1004) {" and above that, add:

    Code:
    if(l == 1005) {
    //World map action
    pushMessage("The world map feature is currently disabled.", 0, "");
    }Now I don't know what you want it to do, but you can make it do anything you want by putting it in there.
    __________________________

    Now thats it, you're done. Save, compile, try it out. If you have any errors, feel free to ask about them.

    Credits to Galkon.





    Last Updated: August 22, 2009
    Difficulty: Look at poll
    Purpose: To make a webclient for your server/site.
    Browser's Tested on: Google Chrome (with the java plugin), Internet Explorer, Mozilla Firefox, Opera.
    Client's Tested on: Mine But should work on all 317 clients
    Classes Modified: Signlink.java, Client.java, Class30_Sub2_Sub1_Sub1.java
    Table of Contents:

    --------------------------------------------------------------------------------------------------------------

    Section 1 - Updates/Requirements
    1.1 - Revision History:

    Code:
    1/2/09 - Downloading cache percentage will appear in the client(no more jframe)
    1/3/09 - Downloads cache faster.
    4/1/09 - Tutorial re-written.
    4/2/09 - Uploaded "Cache + Sprites Zipping" video from uppit to youtube.
    4/25/09 - Tutorial updated.
    4/28/09 - Step 2.6 was updated.
    5/3/09 - Step 2.3 was updated.
    8/22/09 - New FAQ question and updated browser's tested on list.1.2 - Requirements
    1. Regular Web host or VPS(Virtual Private Server) or Dedi(Dedicated Server) - For the web client page, client.jar(Should be around 600kb), cache.zip(usually is around 16mb)
    2. Jar maker - Download below
    3. A Client
    4. Patience and Time

    1.3 - Files to download:
    1. Jar Maker: [Only registered and activated users can see links. ]

    Incase above don't work:
    [Only registered and activated users can see links. ]

    Section 2 - Tutorial:
    This video is to help you see what you gotta do.
    Webclient tutorial video: [ame=http://www.youtube.com/watch?v=l7o4uNTrdEQ&fmt=22]YouTube - &#x202a;Webclient Tutorial Video&#x202c;&lrm;[/ame]
    Subscribe for future videos. I might make a new webclient video or something.
    --------------------------------------------------------------------------------------------------------------

    2.1 - Step 1 - Signlink.java
    Open up Signlink.java and search for findcachedir() and replace that method with this one:



    replace yourclientname with the name of your client. For example: C:/.ricscape_file_store_32/
    Save signlink.java and close it.

    --------------------------------------------------------------------------------------------------------------

    2.2 - Step 2 - Client.java
    Open up client.java and search for Class44 method67 and replace that method with this one:


    Code:
    private Class44 method67(int i, String s, String s1, int j, byte byte0, int k)
    {
    byte abyte0[] = null;
    int l = 5;
    try
    {
    if(aClass14Array970[0] != null)
    {
    abyte0 = aClass14Array970[0].method233(true, i);
    }
    if(abyte0 == null)
    {
    method13(15, (byte)4, "Downloading Cache");
    downloadcache("YOUR CACHE URL LINK HERE", "cache.zip", "", "cache");
    }
    if(aClass14Array970[0] != null)
    {
    abyte0 = aClass14Array970[0].method233(true, i);
    }
    }
    catch(Exception exception) { }
    if(abyte0 != null);
    if(abyte0 != null)
    {
    Class44 class44 = new Class44(44820, abyte0);
    return class44;
    }
    int i1 = 0;
    do
    {
    if(abyte0 != null)
    {
    break;
    }
    String s2 = "Unknown error";
    method13(k, (byte)4, "Client updated - please reload client");
    //method13(k, (byte)4, (new StringBuilder()).append("Requesting ").append(s).toString());
    Object obj = null;
    try
    {
    int j1 = 0;
    DataInputStream datainputstream = method132((new StringBuilder()).append(s1).append(j).toString());
    byte abyte1[] = new byte[6];
    datainputstream.readFully(abyte1, 0, 6);
    Class30_Sub2_Sub2 class30_sub2_sub2 = new Class30_Sub2_Sub2(abyte1, 891);
    class30_sub2_sub2.anInt1406 = 3;
    int l1 = class30_sub2_sub2.method412() + 6;
    int i2 = 6;
    abyte0 = new byte[l1];
    for(int j2 = 0; j2 < 6; j2++)
    {
    abyte0[j2] = abyte1[j2];
    }

    while(i2 < l1)
    {
    int k2 = l1 - i2;
    if(k2 > 1000)
    {
    k2 = 1000;
    }
    int l2 = datainputstream.read(abyte0, i2, k2);
    if(l2 < 0)
    {
    s2 = (new StringBuilder()).append("Length error: ").append(i2).append("/").append(l1).toString();
    throw new IOException("EOF");
    }
    i2 += l2;
    int i3 = (i2 * 100) / l1;
    if(i3 != j1)
    {
    method13(k, (byte)4, (new StringBuilder()).append("Loading ").append(s).append(" - ").append(i3).append("%").toString());
    }
    j1 = i3;
    }
    datainputstream.close();
    try
    {
    if(aClass14Array970[0] != null)
    {
    aClass14Array970[0].method234(abyte0.length, abyte0, (byte)2, i);
    }
    }
    catch(Exception exception3)
    {
    aClass14Array970[0] = null;
    }
    }
    catch(IOException ioexception)
    {
    if(s2.equals("Unknown error"))
    {
    s2 = "Connection error";
    }
    abyte0 = null;
    }
    catch(NullPointerException nullpointerexception)
    {
    s2 = "Null error";
    abyte0 = null;
    if(!signlink.reporterror)
    {
    return null;
    }
    }
    catch(ArrayIndexOutOfBoundsException arrayindexoutofboundsexception)
    {
    s2 = "Bounds error";
    abyte0 = null;
    if(!signlink.reporterror)
    {
    return null;
    }
    }
    catch(Exception exception1)
    {
    s2 = "Unexpected error";
    abyte0 = null;
    if(!signlink.reporterror)
    {
    return null;
    }
    }
    if(abyte0 == null)
    {
    for(int k1 = l; k1 > 0; k1--)
    {
    if(i1 >= 3)
    {
    method13(k, (byte)4, "Game updated - please reload page");
    k1 = 10;
    } else
    {
    method13(k, (byte)4, (new StringBuilder()).append(s2).append(" - Retrying in ").append(k1).toString());
    }
    try
    {
    Thread.sleep(1000L);
    }
    catch(Exception exception2) { }
    }

    l *= 2;
    if(l > 60)
    {
    l = 60;
    }
    aBoolean872 = !aBoolean872;
    }
    } while(true);
    Class44 class44_1 = new Class44(44820, abyte0);
    if(byte0 != -41)
    {
    throw new NullPointerException();
    } else
    {
    return class44_1;
    }
    }Replace the following:
    YOUR CACHE URL LINK HERE
    cache.zip
    which is in this line:
    downloadcache("YOUR CACHE URL LINK HERE", "cache.zip", "", "cache");
    You only replace what's in the first 2 quotes.

    The first quote is your link.
    Your cache link must end with .zip
    For example:
    [Only registered and activated users can see links. ]

    The second quote is the extraction so it would like this:
    "cache.zip"
    Unless your zip file has a different name. If it does then you would put:
    "zipfilename.zip"

    This is the most important method and without it your client will not download the cache.
    On top of Class44 method67 put this:

    Code:
    /*
    Made by Ric914
    */
    public String name;
    public String dir;

    public void downloadcache(String url, String name1, String dir1, String type)
    {
    dir = dir1;
    name = name1;
    try
    {
    URLConnection connection = (new URL(url)).openConnection();
    String f[] = url.split("/");
    File file = new File(f[f.length - 1]);
    int length = connection.getContentLength();
    InputStream instream = connection.getInputStream();
    try{new File(signlink.findcachedir()+dir).mkdir();}catch(E xception e){}
    FileOutputStream outstream = new FileOutputStream(signlink.findcachedir()+dir+file) ;
    int size = 0;
    int copy;
    byte[] buffer = new byte[4096];
    while((copy = instream.read(buffer)) != -1)
    {
    outstream.write(buffer, 0, copy);
    size+= copy;
    int percentage = (int)(((double)size / (double)length) * 100D);
    method13(percentage, (byte)4, "Downloading Cache - "+percentage+"%");
    }
    if(length != size)
    {
    instream.close();
    outstream.close();
    } else
    {
    method13(5, (byte)4, "Unpacking files...");
    instream.close();
    outstream.close();
    unZipFile();
    deleteFile();
    method13(10, (byte)4, "Unpacking was complete");
    }
    }
    catch(Exception e)
    {
    System.err.println("Error connecting to server.");
    e.printStackTrace();
    }
    }
    public void writeStream(InputStream In, OutputStream Out) throws IOException
    {
    byte Buffer[] = new byte[4096];
    int Len;
    while((Len = In.read(Buffer)) >= 0)
    {
    Out.write(Buffer, 0, Len);
    }
    In.close();
    Out.close();
    }

    public void unZipFile()
    {
    try
    {
    ZipFile ZipFile = new ZipFile(signlink.findcachedir()+dir+name);
    for(Enumeration Entries = ZipFile.entries(); Entries.hasMoreElements()
    {
    ZipEntry Entry = (ZipEntry)Entries.nextElement();
    if(Entry.isDirectory())
    {
    (new File(signlink.findcachedir()+dir+Entry.getName())) .mkdir();
    } else
    {
    writeStream(ZipFile.getInputStream(Entry), new BufferedOutputStream(new FileOutputStream(signlink.findcachedir()+dir+Entry .getName())));
    }
    }
    ZipFile.close();
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    }

    public void deleteFile()
    {
    try
    {
    File file = new File(signlink.findcachedir()+dir+name);
    file.delete();
    }
    catch(Exception e)
    {
    e.printStackTrace();
    }
    }Once you have added those method's in your client.java, scroll all the way up still you see import's then add the following under the rest of them.

    Code:
    import java.awt.Dimension;
    import java.net.URL;
    import java.net.URLConnection;
    import javax.swing.*;
    import java.util.Enumeration;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipFile;--------------------------------------------------------------------------------------------------------------

    2.3 - Step 3 - Class30_Sub2_Sub1_Sub1.java(Sprites)
    Now for the sprite part. Which most people don't do right.
    Open up Class30_Sub2_Sub1_Sub1.java and replace all:

    with this

    Like this:

    Do the same for the background

    Once you have changed the location your client reads the sprites from your gonna wanna save the file and close it.

    --------------------------------------------------------------------------------------------------------------

    2.4 - Jarring and Signing
    Before we start make sure you have downloaded the jar maker.(link located on top)
    If you have already downloaded it then run the jar maker and watch this video.

    Jarring and signing video: [ame=http://www.youtube.com/watch?v=9obXgxm_9qY&fmt=18]YouTube - &#x202a;Jaring and Signing client&#x202c;&lrm;[/ame]

    Once you have jarred and signed the client do the following:
    Put the cache files(Everything inside the cache folder) and sprite "folder" together in a zip file.

    To understand what i mean watch this video:
    Cache + Sprites/Background Zipping:
    Youtube: [ame=http://www.youtube.com/watch?v=KUPvCEObZuk]YouTube - &#x202a;Cache + Sprites Zipping&#x202c;&lrm;[/ame]

    --------------------------------------------------------------------------------------------------------------

    2.5 - Webclient Web Page

    Replace yourclientname with the name of your client.

    --------------------------------------------------------------------------------------------------------------

    2.6 - End of tutorial details
    This is what your webclient should do if you did this tutorial right:
    [ame=http://www.youtube.com/watch?v=4wzI6JJP-Ds&fmt=22]YouTube - &#x202a;Finished Webclient&#x202c;&lrm;[/ame]

    --------------------------------------------------------------------------------------------------------------

    Section 3 - Extra
    3.1 - Frequently Asked Questions
    Question: What's a good file host for my cache?
    Answer: You can use any host that allows direct linking. Here are some that allow direct linking:
    [Only registered and activated users can see links. ]
    [Only registered and activated users can see links. ]

    Question: Ric, it's too hard. Can you make it for me?
    Answer: No, I don't do this for people anymore. You gotta learn how to make a webclient for when you update your client.

    Question: I have found a error or a misspelled word on your tutorial, what do I do?
    Answer: Send me a private message with the error or misspelled word.

    Question: The java console says it cannot find client.class, What should I do?
    Answer: I recommend deleting all the class files and recompile your client.

    Question: I get the 1,2,3,4,5 error. What do I do?
    Answer: Make sure you have the cache and sprites in cache.zip and that the client reads the cache and sprites from *where your cache.zip downloads/extracts to*

    Question: I get a java heap space error, What do I do?
    Answer: Make sure you have <param name="java_arguments" value="-Xmx1024m"> in your applet code.
    --------------------------------------------------------------------------------------------------------------

    3.2 - Credit:
    Ric914 - Writing/Releasing this tutorial.
    Moparisthebest - I used some stuff from his downloader


    No Credits to me bc its Ric's Tut
    I only posted this bc i thought We need a Webclient Tut !
    urgamingneeds.tk

  2. The Following User Says Thank You to hiyav1 For This Useful Post:


  3. orange12 Space Ninja

    Join Date Aug 2009

    Posts 832

    Membership Standard

    Reputation: 314

    08-07-2010 10:55 AM #2

    3.2 - Credit:
    Ric914 - Writing/Releasing this tutorial.
    Moparisthebest - I used some stuff from his downloader


    No Credits to me bc its Ric's Tut
    I only posted this bc i thought We need a Webclient Tut !
    1. what exactly does this do ?
    2. did you copy and paste from another site ?
    MW3 boosting ? pm me i will join your lobby

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •