spezialwunsch.txt 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. event.load("quest_start");
  2. event.load("quest_term");
  3. event.load("block_break");
  4. event.load("block_drop");
  5. event.load("entity_click");
  6. event.load("custom_command");
  7. stage = 0;
  8. all_stages = 3;
  9. quest_name = "Spezialwunsch";
  10. hay_given = 0;
  11. hay_needed = 13;
  12. hay_harvestet = 0;
  13. @wait
  14. wait();
  15. if(event == "block_drop") {
  16. if(!isPlayer(entity)) {
  17. goto("wait");
  18. }
  19. player = entity;
  20. }
  21. if(event == "living_death") {
  22. player = player.getFromDamageSource(damage_source);
  23. if(player == null) {
  24. goto("wait");
  25. }
  26. }
  27. if(!player.isQuester(player, script)) {
  28. goto("wait");
  29. }
  30. if(event == "quest_term") {
  31. //Hier Code einfügen...
  32. wait(); //Script wird von außen terminiert
  33. }
  34. if(event == "quest_start") {
  35. quest.display(player, quest_name, stage, all_stages);
  36. msg.prefix(player, "§dBauer", "Schön, dass du hier bist an diesem sonnigen Tag! Es ist so heiß hier und ich habe schon 3 Stunden auf dem Feld verbracht… Ich bin komplett fertig.");
  37. msg(player, "§dAntwortmöglichkeiten:");
  38. msg(player, text.click("[§dA§r] §eWie kann ich helfen?", "/questanswer A"));
  39. msg(player, text.click("[§dB§r] §eWie läuft die Ernte?", "/questanswer B"));
  40. goto("wait");
  41. }
  42. label = concat("stage", text.number(stage));
  43. goto(label);
  44. @stage0
  45. if(event == "custom_command" && command == "questanswer") {
  46. option = list.getIndex(args, 0);
  47. if(option == "A") {
  48. stage.increase(player);
  49. msg.prefix(player, "§dBauer", "Da gäbe es tatsächlich etwas:");
  50. scheduler.msgPrefix(40, player, "§dBauer", "Für ein spezielles Rezept brauche ich eine besondere Weizensorte, die für ein großartiges Aroma sorgt.");
  51. scheduler.msgPrefix(80, player, "§dBauer", "Diese ist leider nur mit geringer Wahrscheinlichkeit zu finden, denn sie entseht nur unter bestimmten Bedingungen...");
  52. scheduler.msgPrefix(120, player, "§dBauer", "Wenn du im Feld beim Ernten ein bisschen danach suchen könntest, wäre das eine große Hilfe! Ich brauche 13 Stück.");
  53. goto("wait");
  54. }
  55. if(option == "B") {
  56. stage.increase(player);
  57. msg.prefix(player, "§dBauer", "Die Weizenernte für heute ist eigentlich vollbracht! ");
  58. scheduler.msgPrefix(40, player, "§dBauer", "Doch für ein spezielles Rezept brauche ich eine besondere Weizensorte, die für ein großartiges Aroma sorgt.");
  59. scheduler.msgPrefix(80, player, "§dBauer", "Diese ist leider nur mit geringer Wahrscheinlichkeit zu finden, denn sie entseht nur unter bestimmten Bedingungen...");
  60. scheduler.msgPrefix(120, player, "§dBauer", "Wenn du im Feld beim Ernten ein bisschen danach suchen könntest, wäre das eine große Hilfe! Ich brauche 13 Stück.");
  61. }
  62. }
  63. goto("wait");
  64. @stage1
  65. if(event == "block_drop") {
  66. if(block_type == "minecraft:wheat") {
  67. r = math.random(0, 4);
  68. list.clear(drops);
  69. if(r == 0) {
  70. list.add(drops, read.item("km:hay_bundle"));
  71. hay_harvestet++;
  72. if(hay_harvestet == hay_needed) {
  73. stage.increase(player);
  74. }
  75. } else {
  76. list.add(drops, read.item("minecraft:wheat"));
  77. }
  78. }
  79. goto("wait");
  80. }
  81. if(event == "block_break") {
  82. if(block_type == "minecraft:wheat") {
  83. cancel = false;
  84. scheduler.setBlock(60, block_loc, "minecraft:wheat[age=7]", false);
  85. }
  86. }
  87. goto("wait");
  88. @stage2
  89. if(event == "entity_click" && hand == "MAIN_HAND" && entity.getType(entity) == "human") {
  90. entity_name = entity.getName(entity);
  91. if(entity_name == "Bauer") {
  92. item = entity.getEquip(player, "hand");
  93. item_type = item.getType(item);
  94. if(item_type == "minecraft:air") {
  95. goto("wait");
  96. }
  97. elseif(item_type == "km:hay_bundle") {
  98. if(hay_given >= hay_needed) {
  99. goto("wait");
  100. }
  101. hay_given++;
  102. player.removeItem(player, read.item(item_type));
  103. if(hay_given == hay_needed) {
  104. msg(player, "§dQuest abgeschlossen. Belohnung: 4 Snuvis!");
  105. money.addBoost(player, 4);
  106. quest.finish(script, player);
  107. }
  108. }
  109. }
  110. }
  111. goto("wait");