Для тех, кто хочет побаловаться с копированием квадратов.
Подвинуть все статикмеши на карте(необходимо подключить L2smr.jar):
PHP код:
import l2smr.L2UnrealPackageFile;
import java.io.IOException;
import static l2smr.StaticMeshActorUtil.*;
public class MoveStaticMesh {
public static void main(String[] args) throws Exception {
if (args.length != 3){
System.out.println("USAGE: MoveStaticMesh unr dx dy");
System.exit(1);
}
float dx = Float.parseFloat(args[1]);
float dy = Float.parseFloat(args[2]);
try (L2UnrealPackageFile map = new L2UnrealPackageFile(args[0], false)) {
for (L2UnrealPackageFile.ExportEntry entry : map.getExportTable()) {
if (!entry.getObjectClass().getObjectName().getName().equals("StaticMeshActor"))
continue;
System.out.print(entry);
byte[] rawData = entry.getObjectRawData();
Offsets offsets = getOffsets(rawData, map);
float[] location = getLocation(rawData, offsets);
System.out.print(" ["+location[0]+","+location[1]+"]");
location[0] += dx;
location[1] += dy;
System.out.print("->["+location[0]+","+location[1]+"]");
setLocation(rawData, offsets, location[0], location[1], location[2]);
entry.setObjectRawData(rawData);
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}