00-Tech_Demo.snuvi 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. event.load("level_reset");
  2. event.load("tile_interact");
  3. event.load("tile_hit");
  4. @main
  5. wait();
  6. if(event == "level_reset")
  7. {
  8. onLevelReset();
  9. }
  10. elseif(event == "tile_interact")
  11. {
  12. onInteract(tile_x, tile_y);
  13. }
  14. elseif(event == "tile_hit")
  15. {
  16. onTileHit(tile_x, tile_y, entity);
  17. }
  18. goto(@main);
  19. function onLevelReset()
  20. {
  21. hero = entity.getHero();
  22. x = tile.toTileCoord(entity.getX(hero));
  23. y = tile.toTileCoord(entity.getY(hero));
  24. y -= 1;
  25. x = tile.toLevelCoord(x);
  26. y = tile.toLevelCoord(y);
  27. entity.teleport(hero, x, y);
  28. index = level.getBackgroundIndex();
  29. level.setTile(index, 0, 12, 70);
  30. level.setTile(index, 4, 12, -1);
  31. level.setTile(index, 2, 12, 70);
  32. level.setTile(index, 1, 9, 71);
  33. level.setTile(index, 4, 8, 71);
  34. level.setTile(index, 10, 8, 70);
  35. }
  36. function onInteract(x, y)
  37. {
  38. if(x == 0 && y == 12)
  39. {
  40. level.setTile(level.getBackgroundIndex(), 4, 12, 3);
  41. level.addMessage("Bla bla, I new block has appeared.");
  42. level.addMessage("This is another page.");
  43. level.addMessage("And another page.");
  44. }
  45. elseif(x == 2 && y == 12)
  46. {
  47. entity.setMotionY(entity.getHero(), -100);
  48. }
  49. elseif(x == 10 && y == 8)
  50. {
  51. entity.spawn(2, tile.toLevelCoord(14), tile.toLevelCoord(4));
  52. }
  53. }
  54. function onTileHit(x, y, ent)
  55. {
  56. if(x == 1 && y == 9)
  57. {
  58. level.addMessage("I'm an info block. ");
  59. }
  60. elseif(x == 4 && y == 8)
  61. {
  62. level.setTile(level.getBackgroundIndex(), 4, 7, 3);
  63. }
  64. }