00-Tech_Demo.snuvi 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. event.load("level_reset");
  2. event.load("tile_interact");
  3. event.load("tile_hit");
  4. event.load("auto_tile_interact");
  5. //event.load("entity_spawn");
  6. sgoto(200, @test);
  7. @main
  8. wait();
  9. if(event == "level_reset")
  10. {
  11. onLevelReset();
  12. }
  13. elseif(event == "tile_interact")
  14. {
  15. onInteract(tile_x, tile_y, entity);
  16. }
  17. elseif(event == "tile_hit")
  18. {
  19. onTileHit(tile_x, tile_y, entity);
  20. }
  21. elseif(event == "auto_tile_interact")
  22. {
  23. onAutoInteract(tile_x, tile_y, entity);
  24. }
  25. elseif(event == "entity_spawn")
  26. {
  27. print(entity.getType(entity));
  28. }
  29. goto(@main);
  30. @test
  31. //entity.remove($platform);
  32. //level.finish();
  33. goto(@main);
  34. function onLevelReset()
  35. {
  36. hero = entity.getHero();
  37. x = tile.toTileCoord(entity.getX(hero));
  38. y = tile.toTileCoord(entity.getY(hero));
  39. y -= 1;
  40. x = tile.toLevelCoord(x);
  41. y = tile.toLevelCoord(y);
  42. entity.teleport(hero, x, y);
  43. index = level.getBackgroundIndex();
  44. level.setTile(index, 0, 12, 72);
  45. level.setTile(index, 2, 12, 72);
  46. level.setTile(index, 10, 8, 72);
  47. level.setTile(index, 4, 12, -1);
  48. level.setTile(index, 4, 7, -1);
  49. level.setTile(index, 1, 9, 70);
  50. level.setTile(index, 4, 8, 71);
  51. level.setTile(index, 7, 11, 73);
  52. level.setTile(index, 8, 10, 74);
  53. $platform = platform.spawn(tile.toLevelCoord(3), tile.toLevelCoord(3), 3);
  54. platform.addmove($platform, tile.toLevelCoord(0), tile.toLevelCoord(9), 1, 2, 50);
  55. platform.addmove($platform, tile.toLevelCoord(3), tile.toLevelCoord(3), 1, 2, 50);
  56. }
  57. function onInteract(x, y, ent)
  58. {
  59. if(x == 0 && y == 12)
  60. {
  61. level.setTile(level.getBackgroundIndex(), 4, 12, 3);
  62. level.addMessage("Bla bla, I new block has appeared.");
  63. level.addMessage("This is another page.");
  64. level.addMessage("And another page.");
  65. }
  66. elseif(x == 2 && y == 12)
  67. {
  68. entity.setMotionY(entity.getHero(), -100);
  69. }
  70. elseif(x == 10 && y == 8)
  71. {
  72. entity.spawn(2, tile.toLevelCoord(14), tile.toLevelCoord(4));
  73. }
  74. }
  75. function onTileHit(x, y, ent)
  76. {
  77. if(x == 1 && y == 9)
  78. {
  79. level.addMessage("I'm an info block. ");
  80. }
  81. elseif(x == 4 && y == 8)
  82. {
  83. level.setTile(level.getBackgroundIndex(), 4, 7, 3);
  84. }
  85. }
  86. function onAutoInteract(x, y, ent)
  87. {
  88. if(x == 7 && y == 11)
  89. {
  90. entity.setMotionY(ent, tile.scale(-40));
  91. }
  92. elseif(x == 8 && y == 10)
  93. {
  94. //entity.setMotionY(ent, tile.scale(-80));
  95. entity.addHealth(entity.getHero(), -1);
  96. }
  97. }