gaumenschmauss.txt 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. event.load("entity_click");
  2. event.load("quest_start");
  3. event.load("quest_term");
  4. event.load("custom_command");
  5. event.load("block_break");
  6. event.load("living_death");
  7. stage = 0;
  8. all_stages = 7;
  9. quest_name = "Gaumenschmauß...";
  10. coal_counter = 0;
  11. story = world.getStory();
  12. cow_loc = loc.new(story, -1561.5, 66, -80);
  13. @wait
  14. wait();
  15. if(event == "living_death") {
  16. player = player.getFromDamageSource(damage_source);
  17. if(player == null) {
  18. goto("wait");
  19. }
  20. }
  21. if(!player.isQuester(player, script)) {
  22. goto("wait");
  23. }
  24. if(event == "quest_term") {
  25. //Hier Code einfügen...
  26. wait(); //Script wird von außen terminiert
  27. }
  28. if(event == "quest_start") {
  29. quest.display(player, quest_name, stage, all_stages);
  30. msg.prefix(player, "§dDieter", "Sieht aus als hätten wir Gesellschaft! Wenn du hergekommen bist, um mit uns zu essen, muss ich dich leider enttäuschen. Wir haben weder ein Gericht, noch Feuer. Man könnte sagen, wir brauchen jemanden zum Anfeuern.");
  31. msg(player, "§dAntwortmöglichkeiten:");
  32. msg(player, text.click("[§dA§r] §eIch feuer sehr gerne mit an!", "/questanswer A"));
  33. msg(player, text.click("[§dB§r] §eCheerleading? Kann ich.", "/questanswer B"));
  34. goto("wait");
  35. }
  36. label = concat("stage", text.number(stage));
  37. goto(label);
  38. @stage0
  39. if(event == "custom_command" && command == "questanswer") {
  40. option = list.getIndex(args, 0);
  41. if(option == "A" || option == "B") {
  42. stage.increase(player);
  43. msg.prefix(player, "§dDieter", "Na das ist doch super. Hier in der Nähe ist die Odelsteinhöhle. Hol uns doch 6 Stück Kohle.");
  44. player.giveSingleItem(player, read.item("minecraft:stone_pickaxe"), false);
  45. }
  46. }
  47. goto("wait");
  48. @stage1
  49. if(event == "block_break") {
  50. if(block_type == "minecraft:coal_ore") {
  51. cancel = true;
  52. item.drop(entity.getLocation(player), read.item("minecraft:coal"));
  53. coal_counter++;
  54. if(coal_counter == 6) {
  55. stage.increase(player);
  56. }
  57. }
  58. }
  59. goto("wait");
  60. @stage2
  61. if(event == "entity_click" && hand == "MAIN_HAND" && entity.getType(entity) == "human") {
  62. entity_name = entity.getName(entity);
  63. if(entity_name == "Dieter") {
  64. item = entity.getEquip(player, "hand");
  65. if(item.getType(item) != "minecraft:coal") {
  66. msg.prefix(player, "§dDieter", "Das kann ich nicht gebrauchen.");
  67. goto("wait");
  68. }
  69. if(player.getItemAmount(player, false, item) < 6) {
  70. msg.prefix(player, "§dDieter", "Das ist leider zu wenig.");
  71. goto("wait");
  72. }
  73. player.removeItem(player, read.item("minecraft:coal", 6));
  74. stage.increase(player);
  75. msg.prefix(player, "§dDieter", "Vielen Dank! Jetzt fehlt uns nur noch ein ordentlicher Braten.");
  76. scheduler.msgPrefix(30, player, "§dDieter", "Wir zünden schonmal das Holz an. Geh du derweil zum Metzger und besorg uns etwas Rindfleisch!");
  77. }
  78. }
  79. goto("wait");
  80. @stage3
  81. if(event == "entity_click" && hand == "MAIN_HAND" && entity.getType(entity) == "human") {
  82. entity_name = entity.getName(entity);
  83. if(entity_name == "Metzger") {
  84. stage.increase(player);
  85. msg.prefix(player, "§dMetzger", "Hey, du gehörst hier eigentlich nicht hin! Ich will deinen jungen Augen diesen grausamen Anblick ersparen.");
  86. msg(player, "§dAntwortmöglichkeiten:");
  87. msg(player, text.click("[§dA§r] §eDas macht nichts. Ich hätte gerne etwas Rindfleisch, wenn das möglich ist.", "/questanswer A"));
  88. msg(player, text.click("[§dB§r] §eIch kann das auf keinen Fall mit ansehen!", "/questanswer B"));
  89. }
  90. }
  91. goto("wait");
  92. @stage4
  93. if(event == "custom_command" && command == "questanswer") {
  94. option = list.getIndex(args, 0);
  95. if(option == "A") {
  96. stage.increase(player);
  97. msg.prefix(player, "§dMetzger", "Na dann such dir eins aus. Ich erlaube dir auch, selbst Hand anzulegen.");
  98. entity.spawn("cow", cow_loc);
  99. player.giveSingleItem(player, read.item("minecraft:stone_axe"), false);
  100. goto("wait");
  101. }
  102. if(option == "B") {
  103. stage.increase(player);
  104. stage.increase(player);
  105. player.safeGiveItem(player, read.item("minecraft:beef", 1));
  106. msg.prefix(player, "§dMetzger", "Kein Problem. Ich habe noch etwas gelagert.");
  107. scheduler.msgPrefix(30, player, "§dDieter", "Komm zurück zu mir.");
  108. }
  109. }
  110. goto("wait");
  111. @stage5
  112. if(event == "living_death") {
  113. if(entity.getType(living_entity) == "cow") {
  114. stage.increase(player);
  115. msg.prefix(player, "§dDieter", "Komm zurück zu mir.");
  116. }
  117. }
  118. goto("wait");
  119. @stage6
  120. if(event == "entity_click" && hand == "MAIN_HAND" && entity.getType(entity) == "human") {
  121. entity_name = entity.getName(entity);
  122. if(entity_name == "Dieter") {
  123. item = entity.getEquip(player, "hand");
  124. if(item.getType(item) != "minecraft:beef") {
  125. msg.prefix(player, "§dDieter", "Das kann ich nicht gebrauchen.");
  126. goto("wait");
  127. }
  128. player.removeItem(player, read.item("minecraft:beef"));
  129. msg.prefix(player, "§dDieter", "Super! Das wird ein einzigartiger Gaumenschmaus.");
  130. player.safeGiveItem(player, read.item("minecraft:cooked_beef"));
  131. msg(player, "§dQuest abgeschlossen. Belohnung: 10 Snuvis!");
  132. money.addBoost(player, 10);
  133. quest.finish(script, player);
  134. }
  135. }
  136. goto("wait");