schiff_5_monster.txt 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. entity.addEffect(player, "nausea", 9999, 0);
  32. quest.display(player, quest_name, stage, all_stages);
  33. guardian_ent = entity.spawn("guardian", guardian_loc);
  34. player.giveSingleItem(player, read.item("minecraft:stone_sword"), false);
  35. msg.prefix(player, "§dKumpel", "Letzte Nacht habe ich etwas gehört. Bitte sieh beim Schiffswrack nach, ob sich dort ein Seeungeheuer herumtreibt.");
  36. scheduler.msgPrefix(30, player, "§dKumpel", "Wenn du es siehst, töte es, bevor uns etwas passiert.");
  37. goto("wait");
  38. }
  39. label = concat("stage", text.number(stage));
  40. goto(label);
  41. @stage0
  42. if(event == "living_death") {
  43. entity_type = entity.getType(living_entity);
  44. if(entity_type == "guardian") {
  45. msg.prefix(player, "§dKumpel", "Lang lebe die Sicherheit.");
  46. player.setShipProgress(player, 5);
  47. entity.cleareffects(player);
  48. msg(player, "§dQuest abgeschlossen. Belohnung: 4 Snuvis!");
  49. addMoney(player, 4);
  50. quest.finish(script, player);
  51. }
  52. }
  53. goto("wait");