Steve
February 21st, 2011, 20:47
Finally got around to interfaces. Btw this won't work for those 562/602 clients. If anyone needs me to convert it'll cost like 2m rsgp.
Anyway,
Go to Class126.java and scroll down till you find this in method1108
class173.method2459(new Stream(is), 65535);
Below that is where you will edit the code for an interface.
Interfaces are loaded(i think at least) like this, the client loads the interface id, then the amount of components it holds(components being buttons, text, scrollbars). It then loads the information for the component, like it's position, size, sprite id, etc..
The variables for the interface id is arg1, and the component id is i_25_. So here look at this example for changing button positions on the bank,
if (arg1 == 762 && i_25_ == 19 || i_25_ == 18) {
class173.anInt2432 = 100; //x position
} else if (arg1 == 762 && i_25_ == 16 || i_25_ == 17) {
class173.anInt2445 = 300; //x position
} else if (arg1 == 762 && i_25_ == 14 || i_25_ == 15) {
class173.anInt2445 = 260; //x position
}
That code above will obviously go beneath the new Stream(is), 65535); stuff. If you are having trouble, this is what your method should look like now.
public static boolean method1108(byte arg0, int arg1) {
try {
anInt1697++;
if (Class67.aBooleanArray913[arg1])
return true;
if (!Class150.aClass158_1994.method2367(arg1, (byte) 42))
return false;
int i = Class150.aClass158_1994.method2368(arg1, (byte) -72);
if (i == 0) {
Class67.aBooleanArray913[arg1] = true;
return true;
}
if (Class131_Sub2_Sub9.aClass173ArrayArray5684[arg1] == null)
Class131_Sub2_Sub9.aClass173ArrayArray5684[arg1]
= new Class173[i];
if (arg0 != -92)
aString1702 = null;
for (int i_25_ = 0; (i_25_ ^ 0xffffffff) > (i ^ 0xffffffff);
i_25_++) {
if (Class131_Sub2_Sub9.aClass173ArrayArray5684[arg1][i_25_]
== null) {
byte[] is
= Class150.aClass158_1994.method2364(i_25_, arg1, 0);
if (is != null) {
Class173 class173
= (Class131_Sub2_Sub9.aClass173ArrayArray5684
[arg1][i_25_]
= new Class173());
class173.anInt2455 = i_25_ + (arg1 << 1597590704);
if (is[0] != -1)
class173.method2453(new Stream(is),
arg0 + -9688);
else
class173.method2459(new Stream(is), 65535);
if (arg1 == 762 && i_25_ == 19 || i_25_ == 18) {
class173.anInt2432 = 100; //x position
} else if (arg1 == 762 && i_25_ == 16 || i_25_ == 17) {
class173.anInt2445 = 300; //x position
} else if (arg1 == 762 && i_25_ == 14 || i_25_ == 15) {
class173.anInt2445 = 260; //x position
}
}
}
}
Class67.aBooleanArray913[arg1] = true;
return true;
} catch (RuntimeException runtimeexception) {
throw Class131_Sub2_Sub6.method1495(runtimeexception,
("nc.D(" + arg0 + ',' + arg1
+ ')'));
}
}If you then compile and run your client, and open the bank, it will now look like:
Only the registered members can see the link.
You can do this for most interfaces, probably even create your own off of a useless interface, oh and i'm still refactoring. Here's what i have at the moment:
//class173.anInt2455//parent id hash
//class173.anInt2322 //height
//class173.anInt2440 // width
//class173.anInt2445 //y position
//class173.anInt2432 //x position
Anyway,
Go to Class126.java and scroll down till you find this in method1108
class173.method2459(new Stream(is), 65535);
Below that is where you will edit the code for an interface.
Interfaces are loaded(i think at least) like this, the client loads the interface id, then the amount of components it holds(components being buttons, text, scrollbars). It then loads the information for the component, like it's position, size, sprite id, etc..
The variables for the interface id is arg1, and the component id is i_25_. So here look at this example for changing button positions on the bank,
if (arg1 == 762 && i_25_ == 19 || i_25_ == 18) {
class173.anInt2432 = 100; //x position
} else if (arg1 == 762 && i_25_ == 16 || i_25_ == 17) {
class173.anInt2445 = 300; //x position
} else if (arg1 == 762 && i_25_ == 14 || i_25_ == 15) {
class173.anInt2445 = 260; //x position
}
That code above will obviously go beneath the new Stream(is), 65535); stuff. If you are having trouble, this is what your method should look like now.
public static boolean method1108(byte arg0, int arg1) {
try {
anInt1697++;
if (Class67.aBooleanArray913[arg1])
return true;
if (!Class150.aClass158_1994.method2367(arg1, (byte) 42))
return false;
int i = Class150.aClass158_1994.method2368(arg1, (byte) -72);
if (i == 0) {
Class67.aBooleanArray913[arg1] = true;
return true;
}
if (Class131_Sub2_Sub9.aClass173ArrayArray5684[arg1] == null)
Class131_Sub2_Sub9.aClass173ArrayArray5684[arg1]
= new Class173[i];
if (arg0 != -92)
aString1702 = null;
for (int i_25_ = 0; (i_25_ ^ 0xffffffff) > (i ^ 0xffffffff);
i_25_++) {
if (Class131_Sub2_Sub9.aClass173ArrayArray5684[arg1][i_25_]
== null) {
byte[] is
= Class150.aClass158_1994.method2364(i_25_, arg1, 0);
if (is != null) {
Class173 class173
= (Class131_Sub2_Sub9.aClass173ArrayArray5684
[arg1][i_25_]
= new Class173());
class173.anInt2455 = i_25_ + (arg1 << 1597590704);
if (is[0] != -1)
class173.method2453(new Stream(is),
arg0 + -9688);
else
class173.method2459(new Stream(is), 65535);
if (arg1 == 762 && i_25_ == 19 || i_25_ == 18) {
class173.anInt2432 = 100; //x position
} else if (arg1 == 762 && i_25_ == 16 || i_25_ == 17) {
class173.anInt2445 = 300; //x position
} else if (arg1 == 762 && i_25_ == 14 || i_25_ == 15) {
class173.anInt2445 = 260; //x position
}
}
}
}
Class67.aBooleanArray913[arg1] = true;
return true;
} catch (RuntimeException runtimeexception) {
throw Class131_Sub2_Sub6.method1495(runtimeexception,
("nc.D(" + arg0 + ',' + arg1
+ ')'));
}
}If you then compile and run your client, and open the bank, it will now look like:
Only the registered members can see the link.
You can do this for most interfaces, probably even create your own off of a useless interface, oh and i'm still refactoring. Here's what i have at the moment:
//class173.anInt2455//parent id hash
//class173.anInt2322 //height
//class173.anInt2440 // width
//class173.anInt2445 //y position
//class173.anInt2432 //x position