spezialwunsch.txt 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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_needed = 13;
  11. hay_harvestet = 0;
  12. @wait
  13. wait();
  14. if(event == "block_drop") {
  15. if(!isPlayer(entity)) {
  16. goto("wait");
  17. }
  18. player = entity;
  19. }
  20. if(event == "living_death") {
  21. player = player.getFromDamageSource(damage_source);
  22. if(player == null) {
  23. goto("wait");
  24. }
  25. }
  26. if(!player.isQuester(player, script)) {
  27. goto("wait");
  28. }
  29. if(event == "quest_term") {
  30. //Hier Code einfügen...
  31. wait(); //Script wird von außen terminiert
  32. }
  33. if(event == "quest_start") {
  34. quest.display(player, quest_name, stage, all_stages);
  35. 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.");
  36. msg(player, "§dAntwortmöglichkeiten:");
  37. msg(player, text.click("[§dA§r] §eWie kann ich helfen?", "/questanswer A"));
  38. msg(player, text.click("[§dB§r] §eWie läuft die Ernte?", "/questanswer B"));
  39. goto("wait");
  40. }
  41. label = concat("stage", text.number(stage));
  42. goto(label);
  43. @stage0
  44. if(event == "custom_command" && command == "questanswer") {
  45. option = list.getIndex(args, 0);
  46. if(option == "A") {
  47. stage.increase(player);
  48. msg.prefix(player, "§dBauer", "Da gäbe es tatsächlich etwas:");
  49. scheduler.msgPrefix(40, player, "§dBauer", "Für ein spezielles Rezept brauche ich eine besondere Weizensorte, die für ein großartiges Aroma sorgt.");
  50. scheduler.msgPrefix(80, player, "§dBauer", "Diese ist leider nur mit geringer Wahrscheinlichkeit zu finden, denn sie entseht nur unter bestimmten Bedingungen...");
  51. 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.");
  52. goto("wait");
  53. }
  54. if(option == "B") {
  55. stage.increase(player);
  56. msg.prefix(player, "§dBauer", "Die Weizenernte für heute ist eigentlich vollbracht! ");
  57. scheduler.msgPrefix(40, player, "§dBauer", "Doch für ein spezielles Rezept brauche ich eine besondere Weizensorte, die für ein großartiges Aroma sorgt.");
  58. scheduler.msgPrefix(80, player, "§dBauer", "Diese ist leider nur mit geringer Wahrscheinlichkeit zu finden, denn sie entseht nur unter bestimmten Bedingungen...");
  59. 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.");
  60. }
  61. }
  62. goto("wait");
  63. @stage1
  64. if(event == "block_drop") {
  65. if(block_type == "km:rwheat") {
  66. r = math.random(0, 4);
  67. list.clear(drops);
  68. if(r == 0) {
  69. list.add(drops, read.item("km:hay_bundle"));
  70. hay_harvestet++;
  71. if(hay_harvestet == hay_needed) {
  72. stage.increase(player);
  73. }
  74. } else {
  75. list.add(drops, read.item("minecraft:wheat"));
  76. }
  77. }
  78. goto("wait");
  79. }
  80. if(event == "block_break") {
  81. if(block_type == "km:rwheat") {
  82. cancel = false;
  83. scheduler.setBlock(60, block_loc, "km:rwheat[age=7]", false);
  84. }
  85. }
  86. goto("wait");
  87. @stage2
  88. if(event == "entity_click" && hand == "MAIN_HAND" && entity.getType(entity) == "human") {
  89. entity_name = entity.getName(entity);
  90. if(entity_name == "Bauer") {
  91. rest_amount = human.giveItem(entity_name, player, "km:hay_bundle", hay_needed);
  92. if(rest_amount == 0) {
  93. msg(player, "§dQuest abgeschlossen. Belohnung: 12 Snuvis!");
  94. money.addBoost(player, 12);
  95. quest.finish(script, player);
  96. } else {
  97. hay_needed = rest_amount;
  98. }
  99. }
  100. }
  101. goto("wait");