123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274 |
- //Todo stages: Spinnweben entfernen,
- //Todo Event villager_give nicht mehr existent
- //Todo //honey =
- //Todo DOUBLE_PLANT
- event.load("player_giveup");
- games = world.get("games");
- allstages = "xy";
- villagers = map.new();
- map.add(villagers, "Viola", loc.new(gamesworld, 2044, 95, 5987)); //Gärtnerei
- map.add(villagers, "Rosenhaupt", loc.new(gamesworld, 2004, 99, 5978)); //Rathaus
- map.add(villagers, "Lilifred", loc.new(gamesworld, 2004, 103, 5976)); //Dorfarchiv
- map.add(villagers, "Herbert", loc.new(gamesworld, 2022, 95, 5994)); //Herberge
- map.add(villagers, "Olivia", loc.new(gamesworld, 2020, 99, 5991)); //Reisender Zimmer 3
- map.add(villagers, "Charles", loc.new(gamesworld, 2028, 95, 5969)); //Imkerei
- player = script.getLeader();
- title.setTime(player, 20, 0, 20);
- title.send(player, "§2Questdorf Floralis");
- stage = ggv(player, "floralisstage");
- display.add(player, 8, "§2Floralis");
- display.add(player, 7, concat("Fortschritt: ", stage, "/", allstages));
- if(stage == null) {
- sgv(player, "floralisstage", 0);
- stage = 0;
- }
- ignoreGoto(concat("stage", stage));
- player.speak(player, "§2Floralis", "Quest beendet");
- goto("player_giveup");
- @stage0
- player.speak(player, "§2Floralis", "§rWillkomen in Floralis, ", player_name, "!");
- player.speak(player, "§2Floralis", "§rDie Dorfbewohner haben dich bereits sehnsüchtig für das Blumenfest erwartet! Bitte stelle dich ihnen vor.");
- event.load("entity_click");
- templist = list.new();
- list.add(templist, "Viola");
- list.add(templist, "Rosenhaupt");
- list.add(templist, "Lilifred");
- list.add(templist, "Herbert");
- list.add(templist, "Charles");
- tempstage = 0;
- display.add(player, 6, concat("Villager: ", tempstage, "/5"));
- @waitstage0
- wait();
- if(event == "entity_click") {
- entity_name = entity.getName(entity);
- if(entity_name == "Olivia") {
- player.speak(player, "§2Olivia", "Ist es schon morgen? Ist das Blumenfest fertig? Nicht?! Warum weckst du mich dann?!");
- goto("waitstage0");
- }
- if(list.contains(templist, entity_name)) {
- if(entity_name == "Viola") {
- player.speak(player, "§2Viola", "Für das Fest brauchen wir sicher viele Blumen. Da ich dafür zuständig bin, würde ich dir sehr zu Dank verpflichtet sein, wenn du mir später bei meinen Arbeiten hilfst.");
- }
- if(entity_name == "Rosenhaupt") {
- player.speak(player, "§2Rosenhaupt", "Guten Tag, ", player_name, "! Ich bin der Bürgermeister unseres kleinen Dörfchens und bin sehr erfreut, dich hier bei uns zu sehen. Für das Blumenfest, für dessen Organisation ich zuständig bin, haben wir bisher sehr viele Preise gewonnen.");
- player.speak(player, "§2Rosenhaupt", "Für weitere Fragen bezüglich vergangener Feste, kann dir unser Dorfarchivist Lilifred behilflich sein.");
- }
- if(entity_name == "Lilifred") {
- player.speak(player, "§2Lilifred", "Bei mir sind alle Geheimnisse der Stadt gut aufbewahrt. Sofern du bei Arbeiten rund ums Blumenfest Hilfe brauchst, bin ich immer der richtige Ansprechpartner.");
- }
- if(entity_name == "Herbert") {
- player.speak(player, "§2Herbert", "Bei mir kommen die Gäste während des Blumenfestes unter. Im Moment schläft in Zimmer 3 Olivia, also stör sie bitte nicht.");
- }
- if(entity_name == "Charles") {
- player.speak(player, "§2Charles", "Mein Honig ist weit über die Stadtgrenzen von Floralis bekannt. Mein Bienen bringen mir täglich den süßesten Honig.");
- }
- list.remove(templist, entity_name);
- display.add(player, 6, concat("Villager: ", ++tempstage, "/5"));
- if(list.getSize(templist) == 0) {
- display.remove(player, 6);
- event.unload("entity_click");
- sgv(player, "floralisstage", ++stage);
- display.add(player, 7, concat("Fortschritt: ", stage, "/", allstages));
- sgoto(40, "stage1");
- }
- }
- }
- goto("waitstage0");
- @stage1
- player.speak(player, "§2Floralis", "§rDa du nun alle Einwohner kennst, hier deine erste Aufgabe.");
- player.speak(player, "§2Viola", "Ich bräuchte zur Dekoration viele unterschiedliche Blumenarten. Bitte gehe zur Blumenwiese, pflücke 9 unterschiedliche Sorten und bring sie mir.");
- event.load("block_click");
- event.load("villager_give");
- tempstage == 0;
- display.add(player, 6, concat("Blumen abgegeben: ", tempstage, "/9"));
- templist = list.new();
- flowers = list.new();
- list.add(flowers, "RED_ROSE:0");
- list.add(flowers, "RED_ROSE:3");
- list.add(flowers, "RED_ROSE:4");
- list.add(flowers, "RED_ROSE:5");
- list.add(flowers, "RED_ROSE:6");
- list.add(flowers, "RED_ROSE:7");
- list.add(flowers, "YELLOW_FLOWER:0");
- list.add(flowers, "DOUBLE_PLANT:1");
- list.add(flowers, "DOUBLE_PLANT:4");
- list.add(flowers, "DOUBLE_PLANT:5");
- @waitstage1
- wait();
- if(event == "block_click") {
- flower = concat(block_type, ":", block_data);
- if(flower == "DOUBLE_PLANT:10") {
- flower == concat(block.getType(loc.mod(block_loc, 0, _1, 0)), ":", block.getData(loc.mod(block_loc, 0, _1, 0)));
- }
- if(list.contains(flowers, flower)) {
- if(!list.contains(templist, flower)) {
- item.drop(player_loc, read.item(flower));
- list.add(templist, flower);
- }
- }
- }
- if(event == "villager_give") {
- flower = concat(item_type, ":", item_data);
- if(list.contains(flowers, flower)) {
- list.remove(flowers, flower);
- display.add(player, 6, concat("Blumen abgegeben: ", ++tempstage, "/9"));
- if(equal(tempstage, 9)) {
- player.speak(player, "§2Viola", "Wie nett von dir. Vielen lieben Dank!");
- display.remove(player, 6);
- event.unload("block_click");
- event.unload("villager_give");
- sgv(player, "floralisstage", ++stage);
- display.add(player, 7, concat("Fortschritt: ", stage, "/", allstages));
- sgoto(40, "stage2");
- }
- }
- }
- goto("waitstage1");
- @stage2
- player.speak(player, "§2Viola", "Hier ", player_name, ", nimm diese beiden Karotten und füttere unsere zwei städtischen Schildkröten, die du beim Rinnsal neben der Blumenwiese finden wirst.");
- event.load("block_click");
- item.drop(entity.getLocation(player), read.item("CARROT_ITEM:0:2"));
- turtles = list.new();
- list.add(turtles, read.location("games:2020:95:5956"));
- list.add(turtles, read.location("games:2027:95:5956"));
- tempstage = 0;
- display.add(player, 6, concat("Gefüttert: ", tempstage, "/2"));
- @waitstage2
- wait();
- if(equal(event, "block_click")) {
- if(list.contains(turtles, block_loc)) {
- display.add(player, 6, concat("Gefüttert: ", ++tempstage, "/2"));
- list.remove(turtles, block_loc);
- player.removeItem(player, read.item("CARROT_ITEM"));
- if(equal(tempstage, 2)) {
- event.unload("block_click");
- display.remove(player, 6);
- sgv(player, "floralisstage", ++stage);
- display.add(player, 7, concat("Fortschritt: ", stage, "/", allstages));
- sgoto(40, "stage3");
- }
- }
- }
- goto("waitstage2");
- @stage3
- player.speak(player, "§2Charles", "Die Bienenkönigin hat mir gemeldet, dass ihre Bienenstöcke voll mit Honig und bereit zur Ernte sind. Hohl dir den Honig.");
- event.load("block_click");
- event.load("entity_click");
- event.load("villager_give");
- tempstage == 0;
- tempstage2 == 0;
- tempstage3 == 0;
- tempstatus == 0;
- //honey = read.item("{id:’minecraft:skull’,Count:1b,tag:{SkullOwner:{Id:’f5b8c410_134c_41f8_9fb8_65330e62ed7b’,Properties:{textures:[0:{Value:’eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTZkY2M4ZjM3YWM5OWQ5NTFlY2JjNWRmNWU4NTgyMTMzZjVmMjMwN2U3NjlhZjZiNmNmZmY0MjgyMTgwNjcifX19’}]}}},Damage:3s}");
- honey = read.item("minecraft:grass");
- templist = list.new(); //Honigstöcke
- list.add(templist, read.location("games:2034:96:5973"));
- list.add(templist, read.location("games:2036:96:5975"));
- list.add(templist, read.location("games:2036:96:5961"));
- list.add(templist, read.location("games:2038:96:5964"));
- templist2 = list.new(); //Honigpötte
- list.add(templist2, read.location("games:2035:99:5965"));
- list.add(templist2, read.location("games:2035:98:5967"));
- list.add(templist2, read.location("games:2036:97:5966"));
- display.add(player, 6, concat("Honig geerntet: ", tempstage, "/4"));
- @waitstage3
- wait();
- if(event == "block_click")) {
- if(list.contains(templist, block_loc)) {
- head = entity.getEquip(player, "head");
- chest = entity.getEquip(player, "chest");
- legs = entity.getEquip(player, "legs");
- feet = entity.getEquip(player, "feet");
- if(!(head == null || chest == null || legs == null || feet == null)) {
- if(item.getType(head) == "minecraft:leather_helmet")) {
- if(item.getType(chest) == "minecraft:leather_chestplate")) {
- if(item.getType(legs) == "minecraft:leather_leggings")) {
- if(item.getType(feet) == "minecraft:leather_boots")) {
- if(tempstatus == 2) {
- list.remove(templist, block_loc);
- item.drop(player_loc, honey);
- display.add(player, 6, concat("Honig abgegeben: ", tempstage3, "/4"));
- if(++tempstage == 4) {
- tempstatus++;
- }
- goto("waitstage3");
- }
- }
- }
- }
- }
- }
- msg(player, "§7*Du wurdest von einer Biene gestochen*");
- if(entity.getHealth(player) > 1) {
- entity.damage(player, 1);
- }
- goto("waitstage3");
- }
- if(tempstatus == 1 || list.contains(templist2, block_loc)) {
- list.remove(templist2, block_loc);
- item.drop(player_loc, honey);
- display.add(player, 6, concat("Honigpötte gesammelt: ", ++tempstage2, "/3"));
- if(list.getSize(templist2) == 0) {
- display.add(player, 6, concat("Honig abgegeben: ", tempstage3, "/4"));
- }
- }
- goto("waitstage3");
- }
- if(event == "entity_click" && tempstatus == 0) {
- entity_name = entity.getName(entity);
- if(entity_name == "Charles") {
- player.speak(player, "§2Charles", "Meine Bienen stechen gerne. Vielleicht kann dir ein alteingesessener Dorfbewohner helfen.");
- }
- if(entity_name == "Lilifred") {
- tempstatus++;
- player.speak(player, "§2Lilifred", "Du brauchst also meine Hilfe? Gerne, aber dafür möchte ich etwas Honig haben.");
- player.speak(player, "§2Lilifred", "Ich weiß, dass Charles etwas chaotisch ist und alles überall herumstehen lässt. Bring mir alle Honigpötte, die du findest.");
- display.add(player, 6, concat("Honigpötte gesammelt: ", tempstage2, "/3"));
- }
- goto("waitstage3");
- }
- if(event == "villager_give") {
- if(item_type == item.getType(honey)) {
- if(tempstatus == 1) {
- tempstage2 = tempstage2 + item_amount;
- if(tempstage2 >= 3) {
- player.speak(player, "§2Lilifred", "Vielen Dank! Hier hast du Rüstung, die sollte dir gegen lästige Bienen helfen.");
- item.drop(player_loc, read.item("minecraft:leather_helmet"));
- item.drop(player_loc, read.item("minecraft:leather_chestplate"));
- item.drop(player_loc, read.item("minecraft:leather_leggings"));
- item.drop(player_loc, read.item("minecraft:leather_boots"));
- tempstatus++;
- }
- goto("waitstage3");
- }
- if(tempstatus == 3) {
- tempstage3 = tempstage3 + item_amount;
- display.add(player, 6, concat("Honig abgegeben: ", tempstage3, "/4"));
- if(tempstage3 >= 4) {
- event.unload("block_click");
- event.unload("entity_click");
- event.unload("villager_give");
- display.remove(player, 6);
- sgv(player, "floralisstage", ++stage);
- display.add(player, 7, concat("Fortschritt: ", stage, "/", allstages));
- sgoto(40, "stage4");
- }
- }
- } else {
- item.drop(player_loc, item);
- }
- }
- goto("waitstage3");
- @stage4
- @player_giveup
- display.remove(player, 6);
- display.remove(player, 7);
- display.remove(player, 8);
- term();
|