Posted June 6, 20232 yr comment_93672 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, 20232 yr by GodJesseJames
Create an account or sign in to comment