I'm having a bit of trouble drawing an image of a level using a GuiDrawingPanel control. The script draws the level's tiles, chops pics1.png up using Dusty's TilesToImage() function and then positions them on the panel to create an image of the level, but for some reason I'm having some strange issues. The saved image only manages to draw a single line of tiles instead of the whole level (look at the screen shot to see what I mean). Can anybody offer any suggestions on why it's doing this?
PHP Code:
//#CLIENTSIDE
function onCreated() {
this.panel = new GuiDrawingPanel();
this.panel.visible = true;
this.panel.width = 64 * 16;
this.panel.height = 64 * 16;
this.panel.x = 0;
this.panel.y = 0;
this.panel.clearall();
for (temp.i = 0; temp.i < (64 * 64); temp.i ++) {
temp.tilex = (i % 64);
temp.tiley = int(i / 64);
temp.tile = tiles[temp.tilex, temp.tiley];
temp.imagetile = tilestoimage(temp.tile);
temp.obj = findimg(200);
temp.obj.image = "pics1.png";
temp.obj.partx = temp.imagetile[0];
temp.obj.party = temp.imagetile[1];
temp.obj.partw = 16;
temp.obj.parth = 16;
this.panel.drawObject(temp.tilex * 16, temp.tiley * 16, temp.obj);
}
this.panel.saveimage("tiles.png");
this.panel.destroy();
}
function TilesToImage(t) {
if (t.type() == 0) {
temp.px = (int(t%16)*16)+(int(t/512)*256);
temp.py = (int(t/16)*16)%512;
return {px,py};
} else if (t.type() == 3) {
temp.imgarray = new[0];
for (temp.i : t) {
temp.px = (int(i%16)*16)+(int(i/512)*256);
temp.py = (int(i/16)*16)%512;
imgarray.add({px,py});
}
return imgarray;
} else return -1;
}
Image Start
Image End