event.load("level_reset"); event.load("tile_interact"); event.load("tile_hit"); @main wait(); if(event == "level_reset") { onLevelReset(); } elseif(event == "tile_interact") { onInteract(tile_x, tile_y); } elseif(event == "tile_hit") { onTileHit(tile_x, tile_y, entity); } goto(@main); function onLevelReset() { hero = entity.getHero(); x = tile.toTileCoord(entity.getX(hero)); y = tile.toTileCoord(entity.getY(hero)); y -= 1; x = tile.toLevelCoord(x); y = tile.toLevelCoord(y); entity.teleport(hero, x, y); index = level.getBackgroundIndex(); level.setTile(index, 0, 12, 70); level.setTile(index, 4, 12, -1); level.setTile(index, 2, 12, 70); level.setTile(index, 1, 9, 71); level.setTile(index, 4, 8, 71); level.setTile(index, 10, 8, 70); } function onInteract(x, y) { if(x == 0 && y == 12) { level.setTile(level.getBackgroundIndex(), 4, 12, 3); level.addMessage("Bla bla, I new block has appeared."); level.addMessage("This is another page."); level.addMessage("And another page."); } elseif(x == 2 && y == 12) { entity.setMotionY(entity.getHero(), -100); } elseif(x == 10 && y == 8) { entity.spawn(2, tile.toLevelCoord(14), tile.toLevelCoord(4)); } } function onTileHit(x, y, ent) { if(x == 1 && y == 9) { level.addMessage("I'm an info block. "); } elseif(x == 4 && y == 8) { level.setTile(level.getBackgroundIndex(), 4, 7, 3); } }