mitbringsel.txt 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. event.load("quest_start");
  2. event.load("quest_term");
  3. event.load("entity_click");
  4. event.load("custom_command");
  5. stage = 0;
  6. all_stages = 3;
  7. quest_name = "Mitbringsel";
  8. herb_strong_given = 0;
  9. herb_shadow_given = 0;
  10. herb_xp_given = 0;
  11. herb_sea_given = 0;
  12. herb_gold_given = 0;
  13. herb_breathing_given = 0;
  14. herb_fire_given = 0;
  15. herb_strong_needed = 10;
  16. herb_shadow_needed = 2;
  17. herb_xp_needed = 1;
  18. herb_sea_needed = 7;
  19. herb_gold_needed = 3;
  20. herb_breathing_needed = 1;
  21. herb_fire_needed = 1;
  22. @wait
  23. wait();
  24. if(event == "living_death") {
  25. player = player.getFromDamageSource(damage_source);
  26. if(player == null) {
  27. goto("wait");
  28. }
  29. }
  30. if(!player.isQuester(player, script)) {
  31. goto("wait");
  32. }
  33. if(event == "quest_term") {
  34. //Hier Code einfügen...
  35. wait(); //Script wird von außen terminiert
  36. }
  37. if(event == "quest_start") {
  38. quest.display(player, quest_name, stage, all_stages);
  39. msg.prefix(player, "§dOlaf", "Du kennst doch meinen Mann, den Kräutermeister Kunibert?");
  40. scheduler.msg(30, player, "§dAntwortmöglichkeiten:");
  41. scheduler.msg(30, player, text.click("[§dA§r] §eJa, den kenne ich.", "/questanswer A"));
  42. scheduler.msg(30, player, text.click("[§dB§r] §eNein, wer ist das?", "/questanswer B"));
  43. goto("wait");
  44. }
  45. label = concat("stage", text.number(stage));
  46. goto(label);
  47. @stage0
  48. if(event == "custom_command" && command == "questanswer") {
  49. option = list.getIndex(args, 0);
  50. if(option == "A") {
  51. stage.increase(player);
  52. msg.prefix(player, "§dOlaf", "Nach meinen langen Reisen bringe ich ihm immer ein kleines Geschenk mit.");
  53. scheduler.msgPrefix(30, player, "§dOlaf", "Da er Kräutermeister ist, habe ich etwas ganz Besonderes für ihn gesammelt.");
  54. scheduler.msgPrefix(60, player, "§dOlaf", "Es wäre nett von dir, wenn du ihm diese Kräuter übergibst!");
  55. scheduler.giveItem(60, player, read.item("km:herb_strong", herb_strong_needed));
  56. scheduler.giveItem(60, player, read.item("km:herb_shadow", herb_shadow_needed));
  57. scheduler.giveItem(60, player, read.item("km:herb_xp", herb_xp_needed));
  58. scheduler.giveItem(60, player, read.item("km:herb_sea", herb_sea_needed));
  59. scheduler.giveItem(60, player, read.item("km:herb_gold", herb_gold_needed));
  60. scheduler.giveItem(60, player, read.item("km:herb_breathing", herb_breathing_needed));
  61. scheduler.giveItem(60, player, read.item("km:herb_fire", herb_fire_needed));
  62. goto("wait");
  63. }
  64. if(option == "B") {
  65. stage.increase(player);
  66. msg.prefix(player, "§dOlaf", "Er wohnt mit mir in einem Haus, gleich vorne im Dorf.");
  67. scheduler.msgPrefix(30, player, "§dOlaf", "Nach meinen langen Reisen bringe ich ihm immer ein kleines Geschenk mit.");
  68. scheduler.msgPrefix(60, player, "§dOlaf", "Da er Kräutermeister ist, habe ich etwas ganz Besonderes für ihn gesammelt.");
  69. scheduler.msgPrefix(90, player, "§dOlaf", "Es wäre nett von dir, wenn du ihm diese Kräuter übergibst!");
  70. scheduler.giveItem(90, player, read.item("km:herb_strong", herb_strong_needed));
  71. scheduler.giveItem(90, player, read.item("km:herb_shadow", herb_shadow_needed));
  72. scheduler.giveItem(90, player, read.item("km:herb_xp", herb_xp_needed));
  73. scheduler.giveItem(90, player, read.item("km:herb_sea", herb_sea_needed));
  74. scheduler.giveItem(90, player, read.item("km:herb_gold", herb_gold_needed));
  75. scheduler.giveItem(90, player, read.item("km:herb_breathing", herb_breathing_needed));
  76. scheduler.giveItem(90, player, read.item("km:herb_fire", herb_fire_needed));
  77. }
  78. }
  79. goto("wait");
  80. @stage1
  81. if(event == "entity_click" && hand == "MAIN_HAND" && entity.getType(entity) == "human") {
  82. entity_name = entity.getName(entity);
  83. if(entity_name == "Kunibert") {
  84. item = entity.getEquip(player, "hand");
  85. item_type = item.getType(item);
  86. if(item_type == "minecraft:air") {
  87. goto("wait");
  88. }
  89. elseif(item_type == "km:herb_strong") {
  90. if(herb_strong_given >= herb_strong_needed) {
  91. goto("wait");
  92. }
  93. herb_strong_given++;
  94. player.removeItem(player, read.item(item_type));
  95. }
  96. elseif(item_type == "km:herb_shadow") {
  97. if(herb_shadow_given >= herb_shadow_needed) {
  98. goto("wait");
  99. }
  100. herb_shadow_given++;
  101. player.removeItem(player, read.item(item_type));
  102. }
  103. elseif(item_type == "km:herb_xp") {
  104. if(herb_xp_given >= herb_xp_needed) {
  105. goto("wait");
  106. }
  107. herb_xp_given++;
  108. player.removeItem(player, read.item(item_type));
  109. }
  110. elseif(item_type == "km:herb_sea") {
  111. if(herb_sea_given >= herb_sea_needed) {
  112. goto("wait");
  113. }
  114. herb_sea_given++;
  115. player.removeItem(player, read.item(item_type));
  116. }
  117. elseif(item_type == "km:herb_gold") {
  118. if(herb_gold_given >= herb_gold_needed) {
  119. goto("wait");
  120. }
  121. herb_gold_given++;
  122. player.removeItem(player, read.item(item_type));
  123. }
  124. elseif(item_type == "km:herb_breathing") {
  125. if(herb_breathing_given >= herb_breathing_needed) {
  126. goto("wait");
  127. }
  128. herb_breathing_given++;
  129. player.removeItem(player, read.item(item_type));
  130. }
  131. elseif(item_type == "km:herb_fire") {
  132. if(herb_fire_given >= herb_fire_needed) {
  133. goto("wait");
  134. }
  135. herb_fire_given++;
  136. player.removeItem(player, read.item(item_type));
  137. }
  138. if(herb_strong_given == herb_strong_needed && herb_shadow_given == herb_shadow_needed && herb_xp_given == herb_xp_needed && herb_sea_given == herb_sea_needed && herb_gold_given == herb_gold_needed && herb_breathing_given == herb_breathing_needed && herb_fire_given == herb_fire_needed) {
  139. msg.prefix(player, "§dKunibert", "Ahhh.. dich hat der liebe Olaf geschickt! Ach, das ist doch pure Freude, wenn er mir etwas von seinen Reisen mitbringt.");
  140. scheduler.msgPrefix(30, player, "§dKunibert", "Gib ihm doch dies als Dankeschön.");
  141. scheduler.giveItem(30, player, read.item("minecraft:blue_orchid"));
  142. stage.increase(player);
  143. }
  144. }
  145. }
  146. goto("wait");
  147. @stage2
  148. if(event == "entity_click" && hand == "MAIN_HAND" && entity.getType(entity) == "human") {
  149. entity_name = entity.getName(entity);
  150. if(entity_name == "Olaf") {
  151. item = entity.getEquip(player, "hand");
  152. item_type = item.getType(item);
  153. if(item_type == "minecraft:air") {
  154. goto("wait");
  155. }
  156. elseif(item_type == "minecraft:blue_orchid") {
  157. player.removeItem(player, read.item(item_type));
  158. msg.prefix(player, "§dOlaf", "Wie lieb von ihm!");
  159. money.addBoost(player, 5);
  160. msg(player, "§dQuest abgeschlossen. Belohnung: 5 Snuvis!");
  161. quest.finish(script, player);
  162. }
  163. }
  164. }
  165. goto("wait");