EDIT: go to frames.java and search for: replace it with this:
Code:
/**
* Send the map region and other positioning info to the client.
* @param p The Player which the frame should be created for.
*/
public void setMapRegion(Player p) {
if (p == null || p.stream == null || p.disconnected[0]) {
return;
}
p.getByteVector().createFrameVarSizeWord(142);
p.getByteVector().writeWordA(p.mapRegionX);
p.getByteVector().writeWordBigEndianA(p.currentY);
p.getByteVector().writeWordA(p.currentX);
boolean forceSend = true;
if ((((p.mapRegionX / 8) == 48) || ((p.mapRegionX / 8) == 49)) && ((p.mapRegionY / 8) == 48)) {
forceSend = false;
}
if (((p.mapRegionX / 8) == 48) && ((p.mapRegionY / 8) == 148)) {
forceSend = false;
}
for (int xCalc = (p.mapRegionX - 6) / 8; xCalc <= ((p.mapRegionX + 6) / 8); xCalc++) {
for (int yCalc = (p.mapRegionY - 6) / 8; yCalc <= ((p.mapRegionY + 6) / 8); yCalc++) {
int region = yCalc + (xCalc << 8); //1786653352
int[] mapData = Engine.mapData.getMapData(region);
if (mapData == null) {
p.getByteVector().writeDWord(0);
p.getByteVector().writeDWord(0);
p.getByteVector().writeDWord(0);
p.getByteVector().writeDWord(0);
} else {
p.getByteVector().writeDWord(mapData[0]);
p.getByteVector().writeDWord(mapData[1]);
p.getByteVector().writeDWord(mapData[2]);
p.getByteVector().writeDWord(mapData[3]);
}
}
}
p.getByteVector().writeByteC(p.heightLevel);
p.getByteVector().writeWord(p.mapRegionY);
p.getByteVector().endFrameVarSizeWord();
}
there you go, you can now walk the full tutorial island incl. the dungeon!!
Coords:
3094, 3107, 0 -- Tut Island
3110, 9512, 0 -- Tut Dungeon
Credits: Tony12 for his original thread for 562 revision:
[Only registered and activated users can see links. ]