GodJesseJames 912 Posted June 6, 2023 Report Share Posted June 6, 2023 (edited) Hello i will be sharing how to update the client to load 211+ maps everything your going to be editing is in ObjectManager. underlays and underlays got changed from a byte to a short. you will see something like this aByteArrayArrayArray142[l][k9][i8] & 0xf for this underlays[l][x][z] & 0xff same thing for overlays the & 0xff needs to be & 0x3FFF Make sure you do both overlays and underlays you will see something like this private void method181(int i, int j, Buffer stream, int k, int l, int i1, int k1) { try { if (k >= 0 && k < 104 && i >= 0 && i < 104) { int absX = (k1 + k); int absY = (j + i); int absZ = (i1 + l); tileFlags[l][k][i] = 0; do { int l1 = stream.readUnsignedByte(); if (l1 == 0) if (l == 0) { tileHeights[0][k][i] = -calculateVertexHeight(0xe3b7b + k + k1, 0x87cce + i + j) * 8; return; } else { tileHeights[l][k][i] = tileHeights[l - 1][k][i] - 240; return; } if (l1 == 1) { int j2 = stream.readUnsignedByte(); if (j2 == 1) j2 = 0; if (l == 0) { tileHeights[0][k][i] = -j2 * 8; return; } else { tileHeights[l][k][i] = tileHeights[l - 1][k][i] - j2 * 8; return; } } if (l1 <= 49) { overlays[l][k][i] = stream.readSignedByte(); overlayTypes[l][k][i] = (byte) ((l1 - 2) / 4); overlayOrientations[l][k][i] = (byte) ((l1 - 2) + i1 & 3); } else if (l1 <= 81) tileFlags[l][k][i] = (byte) (l1 - 49); else underlays[l][k][i] = (byte) (l1 - 81); } while (true); } do { int i2 = stream.readUnsignedByte(); if (i2 == 0) break; if (i2 == 1) { stream.readUnsignedByte(); return; } if (i2 <= 49) stream.readUnsignedByte(); } while (true); } catch (Exception e) { } } make sure it looks like this private void method181(int i, int j, Buffer stream, int k, int l, int i1, int k1) { try { if (k >= 0 && k < 104 && i >= 0 && i < 104) { int absX = (k1 + k); int absY = (j + i); int absZ = (i1 + l); tileFlags[l][k][i] = 0; do { int l1 = stream.readUShort(); if (l1 == 0) if (l == 0) { tileHeights[0][k][i] = -calculateVertexHeight(0xe3b7b + k + k1, 0x87cce + i + j) * 8; return; } else { tileHeights[l][k][i] = tileHeights[l - 1][k][i] - 240; return; } if (l1 == 1) { int j2 = stream.readUnsignedByte(); if (j2 == 1) j2 = 0; if (l == 0) { tileHeights[0][k][i] = -j2 * 8; return; } else { tileHeights[l][k][i] = tileHeights[l - 1][k][i] - j2 * 8; return; } } if (l1 <= 49) { overlays[l][k][i] = (short) stream.readSignedWord(); overlayTypes[l][k][i] = (byte) ((l1 - 2) / 4); overlayOrientations[l][k][i] = (byte) ((l1 - 2) + i1 & 3); } else if (l1 <= 81) tileFlags[l][k][i] = (byte) (l1 - 49); else underlays[l][k][i] = (short) (l1 - 81); } while (true); } do { int i2 = stream.readUShort(); if (i2 == 0) break; if (i2 == 1) { stream.readUnsignedByte(); return; } if (i2 <= 49) stream.readSignedWord(); } while (true); } catch (Exception e) { } }that should do it Edited June 11, 2023 by GodJesseJames Link to comment Share on other sites More sharing options...
nick491 0 Posted July 5, 2023 Report Share Posted July 5, 2023 solid work 😁 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now