Browse Source

new quest neue hose

mloeschenkohl 2 years ago
parent
commit
440ca8431c

+ 23 - 6
codelines.txt

@@ -1,4 +1,5 @@
 all_lines = 0;
+real_lines = 0;
 code_lines = 0;
 sumUpDirectory(file.new("scripts/minigames"));
 sumUpDirectory(file.new("scripts/story"));
@@ -11,20 +12,37 @@ sumUpFile(file.new("scripts/endscript.txt"));
 sumUpFile(file.new("scripts/pre_generate.txt"));
 sumUpFile(file.new("scripts/startcommands.txt"));
 sumUpFile(file.new("scripts/startscript.txt"));
-msg("dev", "Active: ", text.number(code_lines), " lines.");
+msg("dev", concat(" §eActive: ", text.number(code_lines), " lines."));
+real_lines += code_lines;
 
 code_lines = 0;
 sumUpDirectory(file.new("scripts/Archiv"));
-msg("dev", "Archive: ", text.number(code_lines), " lines.");
+msg("dev", concat(" §7Archive: ", text.number(code_lines), " lines."));
+all_lines += code_lines;
 
 code_lines = 0;
 sumUpDirectory(file.new("scripts/dev"));
-msg("dev", "Development: ", text.number(code_lines), " lines.");
+msg("dev", concat(" §7Development: ", text.number(code_lines), " lines."));
+all_lines += code_lines;
 
 code_lines = 0;
 sumUpDirectory(file.new("scripts/configs"));
-msg("dev", "Configs: ", text.number(code_lines), " lines.");
-msg("dev", "Sum: ", text.number(all_lines), " lines.");
+msg("dev", concat(" §7Configs: ", text.number(code_lines), " lines."));
+all_lines += code_lines;
+
+code_lines = 14217;
+msg("dev", concat(" §eMod: ", text.number(code_lines), " lines."));
+real_lines += code_lines;
+
+code_lines = 8005;
+msg("dev", concat(" §7Mod-Config: ", text.number(code_lines), " lines."));
+all_lines += code_lines;
+
+msg("dev", "");
+
+msg("dev", concat(" §eCountable: ", text.number(real_lines), " lines."));
+msg("dev", concat(" §7No count: ", text.number(all_lines), " lines."));
+msg("dev", concat(" §7Sum: ", text.number(all_lines + real_lines), " lines."));
 term();
 
 function sumUpDirectory(dir) {
@@ -42,7 +60,6 @@ function sumUpDirectory(dir) {
 
 function sumUpFile(file) {
 	$code_lines += getLines(file);
-	$all_lines += $code_lines;
 }
 
 function getLines(file) {

+ 1 - 1
story/admont/albtraum.txt

@@ -10,7 +10,7 @@ mob_loc_2 = loc.new(world, -1635.5, 70, -82.5);
 
 zombie_count = 0;
 stage = 0;
-all_stages = 1;
+all_stages = 2;
 quest_name = "Albtraum";
 
 @wait

+ 2 - 3
story/admont/core.txt

@@ -57,7 +57,6 @@ if(entity_name == "Felsmagier") {
 	if(time.getMillis() - map.getOrDefault(timestamp, player.getUuid(player), 0) < 120000) { //2 Minutes
 		skill.showShop(player, "skill.subcu_inv", "skill.comeback", "skill.head_human", "skill.head_monster", "skill.fly10min", "skill.grow", "skill.haste", "skill.speed", "skill.jump_boost", "skill.dolphin", "skill.block_up", "skill.block_down", "skill.timber", null, null, null, null, null);
 	} else {
-		//skill.showShop(player, "skill.subcu_inv", "skill.comeback", "skill.head_human", "skill.head_monster", "skill.fly10min", "skill.grow", "skill.haste", "skill.speed", "skill.jump_boost", "skill.dolphin", "skill.block_up", "skill.block_down", "skill.timber", null, null, null, null, null);
 		msg.prefix(player, "§dFelsmagier", "Du musst zuerst ein paar Aufgaben für mich erledigen. Finde meinen Zauberlehrling, der hilft dir weiter.");
 	}
 	goto("wait");
@@ -65,7 +64,7 @@ if(entity_name == "Felsmagier") {
 if(entity_name == "Peter") {
 	inv = inv.new("333333333");
 	inv.setItem(inv, 0, read.item("minecraft:enchanted_book", 1, "§fErstes Date"));
-	//inv.setItem(inv, 1, read.item("minecraft:enchanted_book", 1, "§fNeue Hose"));
+	inv.setItem(inv, 1, read.item("minecraft:enchanted_book", 1, "§fNeue Hose"));
 	inv.open(inv, player, "Quests: Peter");
 	goto("wait");
 }
@@ -185,7 +184,7 @@ if(inv_name == "Quests: Peter") {
 		goto("wait");
 	}
 	if(inv_slot == 1) {
-		//quest.start(player, "story/admont/neue_hose");
+		quest.start(player, "story/admont/neue_hose");
 		goto("wait");
 	}
 	goto("wait");

+ 97 - 10
story/admont/neue_hose.txt

@@ -1,14 +1,24 @@
 event.load("quest_start");
 event.load("quest_term");
 event.load("entity_click");
-event.load("player_toss");
+event.load("player_loom_finish");
 
 stage = 0;
-all_stages = 3;
+all_stages = 7;
 quest_name = "Neue Hose";
 
+spruce_amount = 5;
+cloth_amount = 7;
+loom_coarse = 0;
+loom_cloth = 0;
+
 @wait
 wait();
+if(event == "player_loom_finish") {
+	player = getScriptVar("player");
+	loom_loc = getScriptVar("loom_loc");
+	entity = getScriptVar("entity");
+}
 if(event == "living_death") {
 	player = player.getFromDamageSource(damage_source);
 	if(player == null) {
@@ -35,20 +45,97 @@ goto(label);
 @stage0
 if(event == "entity_click" && hand == "MAIN_HAND" && entity.getType(entity) == "human") {
 	entity_name = entity.getName(entity);
-	if(entity_name == "Peter") {
-		msg.prefix(player, "§dPeter", "Was gibt’s?");
+	if(entity_name == "Rolf") {
+		msg.prefix(player, "§dRolf", "Was gibt’s?");
+		scheduler.msgPrefix(30, player, concat("§d", player.getName(player)), "Ich bräuchte 7 Tücher.");
+		scheduler.msgPrefix(60, player, "§dRolf", "Du weißt, was zu tun ist. Sammle 14 Wolle. Gib die Häfte auf den Webstuhl und erhalte raue Tücher. Diese gibst du gemeinsam mit der restlichen Wolle wieder auf den Webstuhl, um Tücher zu erhalten.");
+		scheduler.giveSingleItem(60, player, read.item("minecraft:shears"), false);
 		stage.increase(player);
 	}
 }
 goto("wait");
 
 @stage1
-if(event == "player_toss") {
-	target_loc = player.getTarget(player, 5);
-	block_type = block.getType(target_loc);
-	if(block_type == "minecraft:loom") {
-		cancel = true;
-		item.entity.spawn(item.entity.new(loc.mod(target_loc, 0.5, 1.5, 0.5), item));
+@stage2
+if(event == "player_loom_finish") {
+	item = item.entity.get(entity);
+	if(loom_coarse < 7) {
+		if(item.getType(item) == "km:coarse_cloth") {
+			loom_coarse += item.getAmount(item);
+			if(loom_coarse >= 7) {
+				stage.increase(player);
+			}
+			goto("wait");
+		}
+	}
+	if(loom_cloth < 7) {
+		if(item.getType(item) == "km:cloth") {
+			loom_cloth += item.getAmount(item);
+			if(loom_cloth >= 7) {
+				stage.increase(player);
+			}
+			goto("wait");
+		}
 	}
 }
 goto("wait");
+
+@stage3
+if(event == "entity_click" && hand == "MAIN_HAND" && entity.getType(entity) == "human") {
+	entity_name = entity.getName(entity);
+	if(entity_name == "Peter") {
+		msg.prefix(player, "§dPeter", "Danke dir! Das ist zwar noch keine Hose, aber ich kenne da jemanden. Seppel ist Meister im Nähen! Wenn du ihm das hier von mir übergibst, wird er sicher eine Hose für mich beschaffen.");
+		player.safeGiveItem(player, read.item("minecraft:spruce_planks", spruce_amount));
+		stage.increase(player);
+	}
+}
+goto("wait");
+
+@stage4
+if(event == "entity_click" && hand == "MAIN_HAND" && entity.getType(entity) == "human") {
+	entity_name = entity.getName(entity);
+	if(entity_name == "Seppel") {
+		rest_amount = human.giveItem(entity_name, player, "minecraft:spruce_planks", spruce_amount);
+		if(rest_amount == 0) {
+			stage.increase(player);
+			msg.prefix(player, "§dSeppel", "Ach, dich schickt der Peter! Das Holz kommt genau zum richtigen Zeitpunkt. Was möchte er denn?");
+			scheduler.msgPrefix(30, player, concat("§d", player.getName(player)), "Er braucht eine neue Hose, die Tücher habe ich schon dabei.");
+			scheduler.msgPrefix(60, player, "§dSeppel", "Das ist kein Problem. Gib mir die Tücher und dann warte einen Moment bitte.");
+		} else {
+			spruce_amount = rest_amount;
+		}
+	}
+}
+goto("wait");
+
+@stage5
+if(event == "entity_click" && hand == "MAIN_HAND" && entity.getType(entity) == "human") {
+	entity_name = entity.getName(entity);
+	if(entity_name == "Seppel") {
+		rest_amount = human.giveItem(entity_name, player, "km:cloth", cloth_amount);
+		if(rest_amount == 0) {
+			waitfor(60);
+			msg.prefix(player, "§dSeppel", "Danke fürs Warten.");
+			player.safeGiveItem(player, read.item("{id:\"minecraft:leather_leggings\",Count:1b,tag:{Damage:0,display:{color:3949738}}}"));
+			stage.increase(player);
+		} else {
+			cloth_amount = rest_amount;
+		}
+	}
+}
+goto("wait");
+
+@stage6
+if(event == "entity_click" && hand == "MAIN_HAND" && entity.getType(entity) == "human") {
+	entity_name = entity.getName(entity);
+	if(entity_name == "Seppel") {
+		rest_amount = human.giveItem(entity_name, player, "minecraft:leather_leggings", 1);
+		if(rest_amount == 0) {
+			msg.prefix(player, "§dPeter", "Vielen Dank!");
+			money.addBoost(player, 12);
+			msg(player, "§dQuest abgeschlossen. Belohnung: 12 Snuvis!");
+			quest.finish(script, player);
+		}
+	}
+}
+goto("wait");

+ 0 - 2
story/admont/tuecher.txt

@@ -1,8 +1,6 @@
 event.load("quest_start");
 event.load("quest_term");
 event.load("entity_click");
-event.load("player_toss");
-event.load("player_pickup");
 event.load("player_loom_finish");
 
 stage = 0;

+ 3 - 0
system/chestshops.txt

@@ -290,6 +290,9 @@ if(isAChest(block_loc)) {
 	if(shop.isOwner(player, sign_loc)) {
 		goto("wait");
 	}
+	if(perm.has(player, "plot.bypass")) {
+		goto("wait");
+	}
 	cancel = true;
 	goto("wait");
 }

+ 26 - 0
system/commands.txt

@@ -1837,6 +1837,9 @@ if(size == 0) {
 	msg(player, "§5 - rollback §rRollback last search");
 	msg(player, "§5 - undo §rUndos your last rollback");
 	msg(player, "§5 - tool §rGives you the Hawkeye Tool");
+	if(perm.has(player, "hawkeye.entries")) {
+		msg(player, "§5 - entries §rShows the amount of all entries");
+	}
 	msg(player, "");
 	msg(player, "§5 - Parameters:");
 	msg(player, "§5 - e:<event>");
@@ -1902,6 +1905,14 @@ if(arg0 == "search") {
 	hawkeye.print(player, l, 1);
 	goto("wait");
 }
+if(arg0 == "entries") {
+	if(!perm.has(player, "hawkeye.entries")) {
+		perm.no(player, "hawkeye.entries");
+		goto("wait");
+	}
+	msg.prefix(player, prefix_commands, concat("Anzahl an Hawkeye-Einträgen: " , text.number(hawkeye.getAmountOfAll())));
+	goto("wait");
+}
 if(arg0 == "rollback") {
 	l = hawkeye.getDataList(player);
 	if(l == null) {
@@ -8223,6 +8234,8 @@ function setCommandHelps() {
 	command.addHelpChild(help, helpArg0);
 	//hawkeye undo
 	command.addHelpChild(help, command.newHelpLiteral("undo"));
+	//hawkeye entries
+	command.addHelpChild(help, command.newHelpLiteral("entries"));
 	//hawkeye rollback
 	command.addHelpChild(help, command.newHelpLiteral("rollback"));
 	//hawkeye tool
@@ -9555,4 +9568,17 @@ function hawkeye.processInput(args, player) {
 	a[4] = events;
 	a[5] = players;
 	return a;
+}
+
+function hawkeye.getAmountOfAll() {
+	stmt = databank.prepare("SELECT COUNT(*) FROM hawkeye;");
+	result = databank.execute(stmt);
+	if(databank.next(result)) {
+		amount = databank.getInt(result, 1);
+	} else {
+		amount = 0;
+	}
+	databank.close(result);
+	databank.close(stmt);
+	return amount;
 }

+ 1 - 0
system/perms.txt

@@ -296,6 +296,7 @@ perm.registerGroup(7, "removesfstats");
 perm.registerGroup(7, "mail.reset");
 perm.registerGroup(7, "datapack");
 perm.registerGroup(7, "reload");
+perm.registerGroup(7, "hawkeye.entries");
 
 //Perm-Group zur User-Simulation
 perm.registerGroup(8, "pseudoPerm");