schiff_6_monster.txt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. event.load("quest_start");
  2. event.load("quest_term");
  3. event.load("living_death");
  4. stage = 0;
  5. all_stages = 1;
  6. quest_name = "Monster besiegen";
  7. guardian_loc = loc.new(world.get("story"), -1623, 61, -1023);
  8. @wait
  9. wait();
  10. if(event == "living_death") {
  11. if(isPlayer(living_entity)) {
  12. player = living_entity;
  13. msg.prefix(player, "§dQuest", "Quest termed.");
  14. quest.term(script, player);
  15. goto("wait");
  16. }
  17. player = player.getFromDamageSource(damage_source);
  18. if(player == null) {
  19. goto("wait");
  20. }
  21. }
  22. if(!player.isQuester(player, script)) {
  23. goto("wait");
  24. }
  25. if(event == "quest_term") {
  26. entity.cleareffects(player);
  27. entity.remove(guardian_ent);
  28. wait(); //Script wird von außen terminiert
  29. }
  30. if(event == "quest_start") {
  31. quest.display(player, quest_name, stage, all_stages);
  32. guardian_ent = entity.spawn("guardian", guardian_loc);
  33. player.giveSingleItem(player, read.item("minecraft:stone_sword"), false);
  34. msg.prefix(player, "§dKumpel", "Letzte Nacht habe ich etwas gehört. Bitte sieh beim Schiffswrack nach, ob sich dort ein Seeungeheuer herumtreibt.");
  35. scheduler.msgPrefix(30, player, "§dKumpel", "Wenn du es siehst, töte es, bevor uns etwas passiert.");
  36. goto("wait");
  37. }
  38. label = concat("stage", text.number(stage));
  39. goto(label);
  40. @stage0
  41. if(event == "living_death") {
  42. entity_type = entity.getType(living_entity);
  43. if(entity_type == "guardian") {
  44. msg.prefix(player, "§dKumpel", "Lang lebe die Sicherheit.");
  45. player.setShipProgress(player, 6);
  46. entity.cleareffects(player);
  47. msg(player, "§dQuest abgeschlossen. Belohnung: 4 Snuvis!");
  48. addMoney(player, 4);
  49. quest.finish(script, player);
  50. }
  51. }
  52. goto("wait");