Title says it all. I built a rsps and I Recoded the Seneration client completely, but when i uploaded the client for my friends to use and to put on my site everyone who opens the run.bat file gets the error in the title above. Idk how to fix it my client works perfectly, I got team viewer if anyone can take a look at this i really dont know where the problem is or how to fix it. Please help.
After i did the run.bat your way i got this error:
java.lang.NullPointerException
at Class36.methodCustomAnimations(Class36.java:23)
at Animation.unpackConfig(Animation.java:76)
at client.startUp(client.java:7521)
at RSApplet.run(RSApplet.java:33)
at client.run(client.java:4686)
at java.lang.Thread.run(Unknown Source)
I got team viewer if you could take a look.
One's an actual error, the other is a runtime exception
Originally Posted by sonscape
at Class36.methodCustomAnimations(Class36.java:23)
Red is the name of the file in which the exception occurred, green is the line number on which the exception occurred.
You should navigate to that location to try to figure out what happened. If you can figure it out, post the entire method block that contains the line here.
[Only registered and activated users can see links. ]
This is my whole class36 i dont see anything wrong with it.
// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
// Jad home page: [Only registered and activated users can see links. ]
// Decompiler options: packimports(3)
import sign.signlink;
public final class Class36
{
public static void method528(int i) {
i = 50000;
aClass36Array635 = new Class36[i + 1];
aBooleanArray643 = new boolean[i + 1];
for(int j = 0; j < i + 1; j++)
aBooleanArray643[j] = true;
}
public static int offset = 33600;
public static void methodCustomAnimations(boolean flag, int file) {
byte abyte0[];
abyte0 = FileOperations.ReadFile("c:/Rune-X-scape/data/" + file + ".dat");
Animation.FrameStart[file] = offset;
Stream stream = new Stream(abyte0);
stream.currentOffset = abyte0.length - 8;
int i = stream.readUnsignedWord();
int j = stream.readUnsignedWord();
int k = stream.readUnsignedWord();
int l = stream.readUnsignedWord();
int i1 = 0;
Stream stream_1 = new Stream(abyte0);
stream_1.currentOffset = i1;
i1 += i + 2;
Stream stream_2 = new Stream(abyte0);
stream_2.currentOffset = i1;
i1 += j;
Stream stream_3 = new Stream(abyte0);
stream_3.currentOffset = i1;
i1 += k;
Stream stream_4 = new Stream(abyte0);
stream_4.currentOffset = i1;
i1 += l;
Stream stream_5 = new Stream(abyte0);
stream_5.currentOffset = i1;
if(flag) {
for(int j1 = 1; j1 > 0; j1++);
}
Class18 class18 = new Class18(stream_5);
int k1 = stream_1.readUnsignedWord();
int ai[] = new int[500];
int ai1[] = new int[500];
int ai2[] = new int[500];
int ai3[] = new int[500];
for(int l1 = 0; l1 < k1; l1++) {
int i2 = stream_1.readUnsignedWord();
i2 = offset;
offset++;
Class36 class36 = aClass36Array635[i2] = new Class36();
class36.anInt636 = stream_4.readUnsignedByte();
class36.aClass18_637 = class18;
int j2 = stream_1.readUnsignedByte();
int k2 = -1;
int l2 = 0;
for(int i3 = 0; i3 < j2; i3++) {
int j3 = stream_2.readUnsignedByte();
if(j3 > 0) {
if(class18.anIntArray342[i3] != 0) {
for(int l3 = i3 - 1; l3 > k2; l3--) {
if(class18.anIntArray342[l3] != 0)
continue;
ai[l2] = l3;
ai1[l2] = 0;
ai2[l2] = 0;
ai3[l2] = 0;
l2++;
break;
}
}
ai[l2] = i3;
char c = '\0';
if(class18.anIntArray342[i3] == 3)
c = '\200';
if((j3 & 1) != 0)
ai1[l2] = stream_3.method421();
else
ai1[l2] = c;
if((j3 & 2) != 0)
ai2[l2] = stream_3.method421();
else
ai2[l2] = c;
if((j3 & 4) != 0)
ai3[l2] = stream_3.method421();
else
ai3[l2] = c;
k2 = i3;
l2++;
if(class18.anIntArray342[i3] == 5)
aBooleanArray643[i2] = false;
}
}
class36.anInt638 = l2;
class36.anIntArray639 = new int[l2];
class36.anIntArray640 = new int[l2];
class36.anIntArray641 = new int[l2];
class36.anIntArray642 = new int[l2];
for(int k3 = 0; k3 < l2; k3++) {
class36.anIntArray639[k3] = ai[k3];
class36.anIntArray640[k3] = ai1[k3];
class36.anIntArray641[k3] = ai2[k3];
class36.anIntArray642[k3] = ai3[k3];
}
}
}
public static void method529(byte abyte0[])
{
Stream stream = new Stream(abyte0);
stream.currentOffset = abyte0.length - 8;
int i = stream.readUnsignedWord();
int j = stream.readUnsignedWord();
int k = stream.readUnsignedWord();
int l = stream.readUnsignedWord();
int i1 = 0;
Stream stream_1 = new Stream(abyte0);
stream_1.currentOffset = i1;
i1 += i + 2;
Stream stream_2 = new Stream(abyte0);
stream_2.currentOffset = i1;
i1 += j;
Stream stream_3 = new Stream(abyte0);
stream_3.currentOffset = i1;
i1 += k;
Stream stream_4 = new Stream(abyte0);
stream_4.currentOffset = i1;
i1 += l;
Stream stream_5 = new Stream(abyte0);
stream_5.currentOffset = i1;
Class18 class18 = new Class18(stream_5);
int k1 = stream_1.readUnsignedWord();
int ai[] = new int[500];
int ai1[] = new int[500];
int ai2[] = new int[500];
int ai3[] = new int[500];
for(int l1 = 0; l1 < k1; l1++)
{
int i2 = stream_1.readUnsignedWord();
Class36 class36 = aClass36Array635[i2] = new Class36();
class36.anInt636 = stream_4.readUnsignedByte();
class36.aClass18_637 = class18;
int j2 = stream_1.readUnsignedByte();
int k2 = -1;
int l2 = 0;
for(int i3 = 0; i3 < j2; i3++)
{
int j3 = stream_2.readUnsignedByte();
if(j3 > 0)
{
if(class18.anIntArray342[i3] != 0)
{
for(int l3 = i3 - 1; l3 > k2; l3--)
{
if(class18.anIntArray342[l3] != 0)
continue;
ai[l2] = l3;
ai1[l2] = 0;
ai2[l2] = 0;
ai3[l2] = 0;
l2++;
break;
}
public static boolean method532(int i)
{
return i == -1;
}
private Class36()
{
}
private static Class36[] aClass36Array635;
public int anInt636;
public Class18 aClass18_637;
public int anInt638;
public int anIntArray639[];
public int anIntArray640[];
public int anIntArray641[];
public int anIntArray642[];
private static boolean[] aBooleanArray643;
No i just never had this problem before. If you can tell me or show me then im sure i can figure it out. This is just the first time i ever got this error and i didnt get this error until i changed the run.bat file.