floralisdorf.txt 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. //Todo stages: Spinnweben entfernen,
  2. setVar("spawnloc", read.location("games:2051:95:5982:90:0"));
  3. setVar("allstages", "xy");
  4. setVar("no-join", true);
  5. map.new("villagers");
  6. map.add($villagers, "Viola", read.location("games:2044:95:5987")); //Gärtnerei
  7. map.add($villagers, "Rosenhaupt", read.location("games:2004:99:5978")); //Rathaus
  8. map.add($villagers, "Lilifred", read.location("games:2004:103:5976")); //Dorfarchiv
  9. map.add($villagers, "Herbert", read.location("games:2022:95:5994")); //Herberge
  10. map.add($villagers, "Olivia", read.location("games:2020:99:5991")); //Reisender Zimmer 3
  11. map.add($villagers, "Charles", read.location("games:2028:95:5969")); //Imkerei
  12. entity.teleport($player, $spawnloc);
  13. command("clear ", $player-name);
  14. sb.reset($player);
  15. entity.setHealth($player, 20);
  16. player.setHunger($player, 20);
  17. player.setSaturation($player, 5);
  18. if(player.hasFly($player)) command("fly ", $player-name, " off");
  19. if(notequal(player.getGameMode($player), "SURVIVAL")) command("gamemode SURVIVAL ", $player-name);
  20. title.setTime($player, 20, 0, 20);
  21. title.send($player, "§2Questdorf Floralis");
  22. setVar("stage", ggv($player-name, "floralisstage"));
  23. sb.add($player, 3, "§2Floralis");
  24. sb.add($player, 2, concat("Fortschritt: ", $stage, "/", $allstages));
  25. if(equal($stage, null)) {
  26. sgv($player-name, "floralisstage", 0);
  27. setVar("stage", 0);
  28. }
  29. if(equal($stage, 0)) goto("stage0");
  30. if(equal($stage, 1)) goto("stage1");
  31. if(equal($stage, 2)) goto("stage2");
  32. if(equal($stage, 3)) goto("stage3");
  33. if(equal($stage, 4)) goto("stage4");
  34. if(equal($stage, 5)) goto("stage5");
  35. @stage0
  36. player.speak($player, "§2Floralis", "§rWillkomen in Floralis, ", $player-name, "!");
  37. player.speak($player, "§2Floralis", "§rDie Dorfbewohner haben dich bereits sehnsüchtig für das Blumenfest erwartet! Bitte stelle dich ihnen vor.");
  38. event.load("entity-click");
  39. list.new("templist");
  40. list.add($templist, "Viola");
  41. list.add($templist, "Rosenhaupt");
  42. list.add($templist, "Lilifred");
  43. list.add($templist, "Herbert");
  44. list.add($templist, "Charles");
  45. setVar("tempstage", 0);
  46. sb.add($player, 1, concat("Villager: ", $tempstage, "/5"));
  47. @waitstage0
  48. wait();
  49. if(equal($event, "entity-click")) {
  50. if(equal($entity-name, "Olivia")) {
  51. player.speak($player, "§2Olivia", "Ist es schon morgen? Ist das Blumenfest fertig? Nicht?! Warum weckst du mich dann?!");
  52. goto("waitstage0");
  53. }
  54. if(list.contains($templist, $entity-name)) {
  55. if(equal($entity-name, "Viola")) {
  56. player.speak($player, "§2Viola", "Für das Fest brauchen wir sicher viele Blumen. Da ich dafür zuständig bin, würde ich dir sehr zu Dank verpflichtet sein, wenn du mir später bei meinen Arbeiten hilfst.");
  57. }
  58. if(equal($entity-name, "Rosenhaupt")) {
  59. player.speak($player, "§2Rosenhaupt", "Guten Tag, ", $player-name, "! Ich bin der Bürgermeister unseres kleinen Dörfchens und bin sehr erfreut, dich hier bei uns zu sehen. Für das Blumenfest, für dessen Organisation ich zuständig bin, haben wir bisher sehr viele Preise gewonnen.");
  60. player.speak($player, "§2Rosenhaupt", "Für weitere Fragen bezüglich vergangener Feste, kann dir unser Dorfarchivist Lilifred behilflich sein.");
  61. }
  62. if(equal($entity-name, "Lilifred")) {
  63. player.speak($player, "§2Lilifred", "Bei mir sind alle Geheimnisse der Stadt gut aufbewahrt. Sofern du bei Arbeiten rund ums Blumenfest Hilfe brauchst, bin ich immer der richtige Ansprechpartner.");
  64. }
  65. if(equal($entity-name, "Herbert")) {
  66. player.speak($player, "§2Herbert", "Bei mir kommen die Gäste während des Blumenfestes unter. Im Moment schläft in Zimmer 3 Olivia, also stör sie bitte nicht.");
  67. }
  68. if(equal($entity-name, "Charles")) {
  69. player.speak($player, "§2Charles", "Mein Honig ist weit über die Stadtgrenzen von Floralis bekannt. Mein Bienen bringen mir täglich den süßesten Honig.");
  70. }
  71. list.remove($templist, $entity-name);
  72. inc("tempstage");
  73. sb.add($player, 1, concat("Villager: ", $tempstage, "/5"));
  74. if(equal(list.getSize($templist), 0)) {
  75. removeVar("templist");
  76. removeVar("tempstage");
  77. sb.remove($player, 1);
  78. event.unload("entity-click");
  79. inc("stage");
  80. sgv($player-name, "floralisstage", $stage);
  81. sb.add($player, 2, concat("Fortschritt: ", $stage, "/", $allstages));
  82. sgoto(40, "stage1");
  83. }
  84. }
  85. }
  86. goto("waitstage0");
  87. @stage1
  88. player.speak($player, "§2Floralis", "§rDa du nun alle Einwohner kennst, hier deine erste Aufgabe.");
  89. player.speak($player, "§2Viola", "Ich bräuchte zur Dekoration viele unterschiedliche Blumenarten. Bitte gehe zur Blumenwiese, pflücke 9 unterschiedliche Sorten und bring sie mir.");
  90. event.load("block-click");
  91. event.load("villager-give");
  92. setVar("tempstage", 0);
  93. sb.add($player, 1, concat("Blumen abgegeben: ", $tempstage, "/9"));
  94. list.new("templist");
  95. list.new("flowers");
  96. list.add($flowers, "RED_ROSE:0");
  97. list.add($flowers, "RED_ROSE:3");
  98. list.add($flowers, "RED_ROSE:4");
  99. list.add($flowers, "RED_ROSE:5");
  100. list.add($flowers, "RED_ROSE:6");
  101. list.add($flowers, "RED_ROSE:7");
  102. list.add($flowers, "YELLOW_FLOWER:0");
  103. list.add($flowers, "DOUBLE_PLANT:1");
  104. list.add($flowers, "DOUBLE_PLANT:4");
  105. list.add($flowers, "DOUBLE_PLANT:5");
  106. @waitstage1
  107. wait();
  108. if(equal($event, "block-click")) {
  109. setVar("flower", concat($block-type, ":", $block-data));
  110. if(equal($flower, "DOUBLE_PLANT:10")) {
  111. setVar("flower", concat(block.getType(loc.mod($block-loc, 0, -1, 0)), ":", block.getData(loc.mod($block-loc, 0, -1, 0))));
  112. }
  113. if(list.contains($flowers, $flower)) {
  114. if(invert(list.contains($templist, $flower))) {
  115. item.drop($player-loc, read.item($flower));
  116. list.add($templist, $flower);
  117. }
  118. }
  119. }
  120. if(equal($event, "villager-give")) {
  121. setVar("flower", concat($item-type, ":", $item-data));
  122. if(list.contains($flowers, $flower)) {
  123. list.remove($flowers, $flower);
  124. inc("tempstage");
  125. sb.add($player, 1, concat("Blumen abgegeben: ", $tempstage, "/9"));
  126. if(equal($tempstage, 9)) {
  127. player.speak($player, "§2Viola", "Wie nett von dir. Vielen lieben Dank!");
  128. removeVar("flower");
  129. removeVar("flowers");
  130. removeVar("templist");
  131. removeVar("tempstage");
  132. sb.remove($player, 1);
  133. event.unload("block-click");
  134. event.unload("villager-give");
  135. inc("stage");
  136. sgv($player-name, "floralisstage", $stage);
  137. sb.add($player, 2, concat("Fortschritt: ", $stage, "/", $allstages));
  138. sgoto(40, "stage2");
  139. }
  140. }
  141. }
  142. goto("waitstage1");
  143. @stage2
  144. player.speak($player, "§2Viola", "Hier ", $player-name, ", nimm diese beiden Karotten und füttere unsere zwei städtischen Schildkröten, die du beim Rinnsal neben der Blumenwiese finden wirst.");
  145. event.load("block-click");
  146. item.drop(entity.getLocation($player), read.item("CARROT_ITEM:0:2"));
  147. list.new("turtles");
  148. list.add($turtles, read.location("games:2020:95:5956"));
  149. list.add($turtles, read.location("games:2027:95:5956"));
  150. setVar("tempstage", 0);
  151. sb.add($player, 1, concat("Gefüttert: ", $tempstage, "/2"));
  152. @waitstage2
  153. wait();
  154. if(equal($event, "block-click")) {
  155. if(list.contains($turtles, $block-loc)) {
  156. inc("tempstage");
  157. sb.add($player, 1, concat("Gefüttert: ", $tempstage, "/2"));
  158. list.remove($turtles, $block-loc);
  159. player.removeItem($player, read.item("CARROT_ITEM"));
  160. if(equal($tempstage, 2)) {
  161. removeVar("tempstage");
  162. removeVar("turtles");
  163. event.unload("block-click");
  164. sb.remove($player, 1);
  165. inc("stage");
  166. sgv($player-name, "floralisstage", $stage);
  167. sb.add($player, 2, concat("Fortschritt: ", $stage, "/", $allstages));
  168. sgoto(40, "stage3");
  169. }
  170. }
  171. }
  172. goto("waitstage2");
  173. @stage3
  174. player.speak($player, "§2Charles", "Die Bienenkönigin hat mir gemeldet, dass ihre Bienenstöcke voll mit Honig und bereit zur Ernte sind. Hohl dir den Honig.");
  175. event.load("block-click");
  176. event.load("entity-click");
  177. event.load("villager-give");
  178. setVar("tempstage", 0);
  179. setVar("tempstage2", 0);
  180. setVar("tempstage3", 0);
  181. setVar("tempstatus", 0);
  182. //setVar("honey", read.item("{id:’minecraft:skull’,Count:1b,tag:{SkullOwner:{Id:’f5b8c410-134c-41f8-9fb8-65330e62ed7b’,Properties:{textures:[0:{Value:’eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTZkY2M4ZjM3YWM5OWQ5NTFlY2JjNWRmNWU4NTgyMTMzZjVmMjMwN2U3NjlhZjZiNmNmZmY0MjgyMTgwNjcifX19’}]}}},Damage:3s}"));
  183. setVar("honey", read.item("GRASS"));
  184. list.new("templist"); //Honigstöcke
  185. list.add($templist, read.location("games:2034:96:5973"));
  186. list.add($templist, read.location("games:2036:96:5975"));
  187. list.add($templist, read.location("games:2036:96:5961"));
  188. list.add($templist, read.location("games:2038:96:5964"));
  189. list.new("templist2"); //Honigpötte
  190. list.add($templist2, read.location("games:2035:99:5965"));
  191. list.add($templist2, read.location("games:2035:98:5967"));
  192. list.add($templist2, read.location("games:2036:97:5966"));
  193. sb.add($player, 1, concat("Honig geerntet: ", $tempstage, "/4"));
  194. @waitstage3
  195. wait();
  196. if(equal($event, "block-click")) {
  197. if(list.contains($templist, $block-loc)) {
  198. if(invert(or(equal(entity.getEquip($player, "head"), null), equal(entity.getEquip($player, "chest"), null), equal(entity.getEquip($player, "legs"), null), equal(entity.getEquip($player, "feet"), null)))) {
  199. if(equal(item.getType(entity.getEquip($player, "head")), "LEATHER_HELMET")) {
  200. if(equal(item.getType(entity.getEquip($player, "chest")), "LEATHER_CHESTPLATE")) {
  201. if(equal(item.getType(entity.getEquip($player, "legs")), "LEATHER_LEGGINGS")) {
  202. if(equal(item.getType(entity.getEquip($player, "feet")), "LEATHER_BOOTS")) {
  203. if(equal($tempstatus, 2)) {
  204. list.remove($templist, $block-loc);
  205. item.drop($player-loc, $honey);
  206. inc("tempstage");
  207. sb.add($player, 1, concat("Honig abgegeben: ", $tempstage3, "/4"));
  208. if(equal($tempstage, 4)) {
  209. inc("tempstatus");
  210. }
  211. goto("waitstage3");
  212. }
  213. }
  214. }
  215. }
  216. }
  217. }
  218. msg($player, "§7*Du wurdest von einer Biene gestochen*");
  219. if(greater(entity.getHealth($player), 1)) {
  220. entity.damage($player, 1);
  221. }
  222. goto("waitstage3");
  223. }
  224. if(and(equal($tempstatus, 1), list.contains($templist2, $block-loc))) {
  225. list.remove($templist2, $block-loc);
  226. item.drop($player-loc, $honey);
  227. inc("tempstage2");
  228. sb.add($player, 1, concat("Honigpötte gesammelt: ", $tempstage2, "/3"));
  229. if(equal(list.getSize($templist2), 0)) {
  230. sb.add($player, 1, concat("Honig abgegeben: ", $tempstage3, "/4"));
  231. }
  232. }
  233. goto("waitstage3");
  234. }
  235. if(and(equal($event, "entity-click"), equal($tempstatus, 0))) {
  236. if(equal($entity-name, "Charles")) {
  237. player.speak($player, "§2Charles", "Meine Bienen stechen gerne. Vielleicht kann dir ein alteingesessener Dorfbewohner helfen.");
  238. }
  239. if(equal($entity-name, "Lilifred")) {
  240. inc("tempstatus");
  241. player.speak($player, "§2Lilifred", "Du brauchst also meine Hilfe? Gerne, aber dafür möchte ich etwas Honig haben.");
  242. player.speak($player, "§2Lilifred", "Ich weiß, dass Charles etwas chaotisch ist und alles überall herumstehen lässt. Bring mir alle Honigpötte, die du findest.");
  243. sb.add($player, 1, concat("Honigpötte gesammelt: ", $tempstage2, "/3"));
  244. }
  245. goto("waitstage3");
  246. }
  247. if(equal($event, "villager-give")) {
  248. if(equal($item-type, item.getType($honey))) {
  249. if(equal($tempstatus, 1)) {
  250. setVar("tempstage2", add($tempstage2, $item-amount));
  251. if(greaterequal($tempstage2, 3)) {
  252. player.speak($player, "§2Lilifred", "Vielen Dank! Hier hast du Rüstung, die sollte dir gegen lästige Bienen helfen.");
  253. item.drop($player-loc, read.item("LEATHER_HELMET"));
  254. item.drop($player-loc, read.item("LEATHER_CHESTPLATE"));
  255. item.drop($player-loc, read.item("LEATHER_LEGGINGS"));
  256. item.drop($player-loc, read.item("LEATHER_BOOTS"));
  257. inc("tempstatus");
  258. }
  259. goto("waitstage3");
  260. }
  261. if(equal($tempstatus, 3)) {
  262. setVar("tempstage3", add($tempstage3, $item-amount));
  263. sb.add($player, 1, concat("Honig abgegeben: ", $tempstage3, "/4"));
  264. if(greaterequal($tempstage3, 4)) {
  265. removeVar("tempstage");
  266. removeVar("tempstage2");
  267. removeVar("tempstage3");
  268. removeVar("templist");
  269. removeVar("templist2");
  270. removeVar("honey");
  271. event.unload("block-click");
  272. event.unload("entity-click");
  273. event.unload("villager-give");
  274. sb.remove($player, 1);
  275. inc("stage");
  276. sgv($player-name, "floralisstage", $stage);
  277. sb.add($player, 2, concat("Fortschritt: ", $stage, "/", $allstages));
  278. sgoto(40, "stage4");
  279. }
  280. }
  281. } else() {
  282. item.drop($player-loc, $item);
  283. }
  284. }
  285. goto("waitstage3");
  286. @stage4
  287. @waitstage4
  288. wait();
  289. goto("waitstage4");
  290. @giveup
  291. sb.reset($player);
  292. entity.setHealth($player, 20);
  293. player.setHunger($player, 20);
  294. player.setSaturation($player, 5);
  295. command("clear ", $player-name);
  296. command("spawn ", $player-name);
  297. term();