Adding new maps to the Worldmap![Final release]
Purpose:
Ok this tutorial will allow you to add your own maps onto worldmap with a simple txt file, this also can be used to change existing maps
Difficulty:
0/0
Assumed Knowledge:
COPY AND PASTE!
Classes Modified: Client.java
Refactored/Non-Refactored?: non
ok lets start by declaring this
Code:
public int positions[] = new int[2000];
public int landScapes[] = new int[2000];
public int objects[] = new int[2000];
public void setNewMaps(){
try {
BufferedReader in = new BufferedReader(new FileReader("./mapConfig.txt"));
String s;
int D = 0;
while ((s = in.readLine()) != null)
{
positions[D] = Integer.parseInt(s.substring(s.indexOf("=")+1,s.indexOf("(")));
landScapes[D] = Integer.parseInt(s.substring(s.indexOf("(")+1,s.indexOf(")")));
objects[D] = Integer.parseInt(s.substring(s.indexOf("[")+1,s.indexOf("]")));
D++;
}
System.out.println("Total of "+D+" Maps added on the world map!");
}
catch (IOException e) {e.printStackTrace();}
}
ok what this does is load the file mapConfig and sets 3 arrays for new maps
now lets add the actual map loading
GO and find ur class22 and replace whole method with this
Code:
public final void method22(boolean flag)
{
try
{
anInt985 = -1;
aClass19_1056.method256();
aClass19_1013.method256();
Class30_Sub2_Sub1_Sub3.method366(anInt846);
method23(false);
aClass25_946.method274(619);
System.gc();
for(int i = 0; i < 4; i++)
aClass11Array1230[i].method210();
for(int l = 0; l < 4; l++)
{
for(int k1 = 0; k1 < 104; k1++)
{
for(int j2 = 0; j2 < 104; j2++)
aByteArrayArrayArray1258[l][k1][j2] = 0;
}
}
Class7 class7 = new Class7(aByteArrayArrayArray1258, -60, 104, 104, anIntArrayArrayArray1214);
int k2 = aByteArrayArray1183.length;
for(int A = 0; A < k2; A++)
for(int B = 0; B < 2000; B++)
if(anIntArray1234[A] == positions[B])
{
anIntArray1235[A] = landScapes[B];
anIntArray1236[A] = objects[B];
}
aClass30_Sub2_Sub2_1192.method397((byte)6, 0);
if(!aBoolean1159)
{
for(int i3 = 0; i3 < k2; i3++)
{
int i4 = (anIntArray1234[i3] >> 8) * 64 - anInt1034;
int k5 = (anIntArray1234[i3] & 0xff) * 64 - anInt1035;
byte abyte0[] = aByteArrayArray1183[i3];
if (FileOperations.FileExists("./FloorMaps/"+anIntArray1235[i3]+".dat"))
abyte0 = FileOperations.ReadFile("./FloorMaps/"+anIntArray1235[i3]+".dat");
if(abyte0 != null)
class7.method180(abyte0, k5, i4, (anInt1069 - 6) * 8, (anInt1070 - 6) * 8, (byte)4, aClass11Array1230);
}
for(int j4 = 0; j4 < k2; j4++)
{
int l5 = (anIntArray1234[j4] >> 8) * 64 - anInt1034;
int k7 = (anIntArray1234[j4] & 0xff) * 64 - anInt1035;
byte abyte2[] = aByteArrayArray1183[j4];
if(abyte2 == null && anInt1070 < 800)
class7.method174(k7, 64, 0, 64, l5);
}
anInt1097++;
if(anInt1097 > 160)
{
anInt1097 = 0;
aClass30_Sub2_Sub2_1192.method397((byte)6, 238);
aClass30_Sub2_Sub2_1192.method398(96);
}
aClass30_Sub2_Sub2_1192.method397((byte)6, 0);
for(int i6 = 0; i6 < k2; i6++)
{
byte abyte1[] = aByteArrayArray1247[i6];
if (FileOperations.FileExists("./ObjectMaps/"+anIntArray1236[i6]+".dat"))
abyte1 = FileOperations.ReadFile("./ObjectMaps/"+anIntArray1236[i6]+".dat");
if(abyte1 != null)
{
int l8 = (anIntArray1234[i6] >> 8) * 64 - anInt1034;
int k9 = (anIntArray1234[i6] & 0xff) * 64 - anInt1035;
class7.method190(l8, aClass11Array1230, k9, 7, aClass25_946, abyte1);
}
}
}
if(aBoolean1159)
{
for(int j3 = 0; j3 < 4; j3++)
{
for(int k4 = 0; k4 < 13; k4++)
{
for(int j6 = 0; j6 < 13; j6++)
{
int l7 = anIntArrayArrayArray1129[j3][k4][j6];
if(l7 != -1)
{
int i9 = l7 >> 24 & 3;
int l9 = l7 >> 1 & 3;
int j10 = l7 >> 14 & 0x3ff;
int l10 = l7 >> 3 & 0x7ff;
int j11 = (j10 / 8 << 8) + l10 / 8;
for(int l11 = 0; l11 < anIntArray1234.length; l11++)
{
if(anIntArray1234[l11] != j11 || aByteArrayArray1183[l11] == null)
continue;
class7.method179(i9, l9, aClass11Array1230, 9, k4 * 8, (j10 & 7) * 8, aByteArrayArray1183[l11], (l10 & 7) * 8, j3, j6 * 8);
break;
}
}
}
}
}
for(int l4 = 0; l4 < 13; l4++)
{
for(int k6 = 0; k6 < 13; k6++)
{
int i8 = anIntArrayArrayArray1129[0][l4][k6];
if(i8 == -1)
class7.method174(k6 * 8, 8, 0, 8, l4 * 8);
}
}
aClass30_Sub2_Sub2_1192.method397((byte)6, 0);
for(int l6 = 0; l6 < 4; l6++)
{
for(int j8 = 0; j8 < 13; j8++)
{
for(int j9 = 0; j9 < 13; j9++)
{
int i10 = anIntArrayArrayArray1129[l6][j8][j9];
if(i10 != -1)
{
int k10 = i10 >> 24 & 3;
int i11 = i10 >> 1 & 3;
int k11 = i10 >> 14 & 0x3ff;
int i12 = i10 >> 3 & 0x7ff;
int j12 = (k11 / 8 << 8) + i12 / 8;
for(int k12 = 0; k12 < anIntArray1234.length; k12++)
{
if(anIntArray1234[k12] != j12 || aByteArrayArray1247[k12] == null)
continue;
class7.method183(aClass11Array1230, aClass25_946, k10, j8 * 8, (i12 & 7) * 8, true, l6, aByteArrayArray1247[k12], (k11 & 7) * 8, i11, j9 * 8);
break;
}
}
}
}
}
}
aClass30_Sub2_Sub2_1192.method397((byte)6, 0);
class7.method171(aClass11Array1230, aClass25_946, 2);
aClass15_1165.method237(0);
aClass30_Sub2_Sub2_1192.method397((byte)6, 0);
int k3 = Class7.anInt145;
if(k3 > anInt918)
k3 = anInt918;
if(k3 < anInt918 - 1)
k3 = anInt918 - 1;
if(aBoolean960)
aClass25_946.method275(Class7.anInt145, -34686);
else
aClass25_946.method275(0, -34686);
for(int i5 = 0; i5 < 104; i5++)
{
for(int i7 = 0; i7 < 104; i7++)
method25(i5, i7);
}
anInt1051++;
if(anInt1051 > 98)
{
anInt1051 = 0;
aClass30_Sub2_Sub2_1192.method397((byte)6, 150);
}
method63(-919);
}
catch(Exception exception) { }
Class46.aClass12_785.method224();
aBoolean1157 &= flag;
if(super.aFrame_Sub1_15 != null)
{
aClass30_Sub2_Sub2_1192.method397((byte)6, 210);
aClass30_Sub2_Sub2_1192.method402(0x3f008edd);
}
if(aBoolean960 && signlink.cache_dat != null)
{
int j = aClass42_Sub1_1068.method555(79, 0);
for(int i1 = 0; i1 < j; i1++)
{
int l1 = aClass42_Sub1_1068.method559(i1, -203);
if((l1 & 0x79) == 0)
Class30_Sub2_Sub4_Sub6.method461(116, i1);
}
}
System.gc();
Class30_Sub2_Sub1_Sub3.method367(20, true);
aClass42_Sub1_1068.method566(0);
int k = (anInt1069 - 6) / 8 - 1;
int j1 = (anInt1069 + 6) / 8 + 1;
int i2 = (anInt1070 - 6) / 8 - 1;
int l2 = (anInt1070 + 6) / 8 + 1;
if(aBoolean1141)
{
k = 49;
j1 = 50;
i2 = 49;
l2 = 50;
}
for(int l3 = k; l3 <= j1; l3++)
{
for(int j5 = i2; j5 <= l2; j5++)
if(l3 == k || l3 == j1 || j5 == i2 || j5 == l2)
{
int j7 = aClass42_Sub1_1068.method562(0, 0, j5, l3);
if(j7 != -1)
aClass42_Sub1_1068.method560(j7, 3, false);
int k8 = aClass42_Sub1_1068.method562(1, 0, j5, l3);
if(k8 != -1)
aClass42_Sub1_1068.method560(k8, 3, false);
}
}
}
now we still need to make the new configs load we will do that on start up only takes like 0.001sec =)
Search for
Code:
method13(80, (byte)4, "Unpacking media");
Right above add this
now all you got to do is add this to your folder
[Only registered and activated users can see links. Click Here To Register...]
The current mapConfig has all 508 maps added to your world map
the current objectmaps are all 508 maps decrypted(all maps we currently got on 508)
the current Floormaps are all 474 floors. if you want 508 dump them from 508.
----------------
----------------
----------------
----------------
----------------
----------------
How to use.
open mapConfig.txt
Add a new line as
position=*1*(*2*)[*3*]
1 = position on your map
2 = floor map
3 = object map
now if you get bugs its your own fault not mine dont bug me with it
Some bugs that i know
Floor black, No objects
You have or;
Wrong model loaded on a object
object not added at all
wrong file loaded
as soon as the client finds a bug with objects it quit drawing the map and the other objects
add all 508 objects and you got 100% 508 worldmap.
enjoy, flame all you want i dont give a fuck
I would like to thank ppl who saw me as there hero or example. To them i would like to say thanks for the support
this is my final release im now perm out of the rsps world i will be still around on the forum meh my RSPS life ends here.
dont ask me for help because i wont. So i bow out. all ill talk to you later it was a great time being here.
Bye, thanks for all the flaming it made my days
MEH now screens(dont note the crates this is a 317 deob with no new objects so it shows these)
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]