Regenbogenstein-quest 40k Files

12/22/2014 19:20 #NexiZ#1
Hallo Liebe Community,

Ich habe ein Anliegen unzwar versuche ich verschiedene Regenbogenstein quests bei den 40k Files einzufügen, jedoch geht dies nicht, es kommt immer der selbe Fehler. (Es ist eine Funktion definiert die es nicht gibt.)

Habt ihr eventuell eine Regenbogensteinquest, die bei den 40k Files funktioniert?

Freundliche Grüße
12/22/2014 19:24 Mijago#2
"(Es ist eine Funktion definiert die es nicht gibt.)"
Schon in die quest_functions eingetragen? Vergessen viele :D
12/22/2014 20:01 .yorliK#3
Versuchs mal mit der hier:

Code:
quest regenbogenstein begin
	state start begin
		function BuildPerfectMasterSkillList(job, group)
			GRAND_MASTER_SKILL_LEVEL = 30
			PERFECT_MASTER_SKILL_LEVEL = 40
			GM_SKILL_NAME_DICT = {
				[1] = "Dreiwege-Schnitt",
				[2] = "Schwertwirbel",
				[3] = "Kampfrausch",
				[4] = "Aura des Schwertes",
				[5] = "Sausen",
				[6] = "Zerschneiden",
				[16] = "Durchschlag",
				[17] = "Heftiges Schlagen",
				[18] = "Stampfer",
				[19] = "Starker Körper",
				[20] = "Schwertschlag",
				[21] = "Blitzschlag",
				[31] = "Hinterhalt",
				[32] = "Blitzangriff",
				[33] = "Degenwirbel",
				[34] = "Tarnung",
				[35] = "Giftwolke",
				[36] = "Angriffssprung",
				[46] = "Wiederholter Schuss",
				[47] = "Pfeilregen",
				[48] = "Feuerpfeil",
				[49] = "Federschreiten",
				[50] = "Giftpfeil",
				[51] = "Wutausbruch",
				[61] = "Fingerschlag",
				[62] = "Drachenwirbel",
				[63] = "Verzauberte Klinge",
				[64] = "Furcht",
				[65] = "Verzauberte Rüstung",
				[66] = "Zauber aufheben",
				[76] = "Dunkler Schlag",
				[77] = "Flammenschlag",
				[78] = "Geist der Flamme",
				[79] = "Dunkler Schutz",
				[80] = "Geisterschlag",
				[81] = "Dunker Stein",
				[91] = "Fliegender Talisman",
				[92] = "Drachenschießen",
				[93] = "Drachengebrüll",
				[94] = "Segen",
				[95] = "*Reflektieren",
				[96] = "Hilfe des Drachen",
				[106] = "Blitzwurf",
				[107] = "Blitz heraufbeschwören",
				[108] = "Blitzkralle",
				[109] = "Kurieren",
				[110] = "Schnelligkeit",
				[111] = "Angriff+"
			}
			active_skill_list = {
				{
					{ 1, 2, 3, 4, 5},
					{ 16, 17, 18, 19, 20}
				},
				{
					{31, 32, 33, 34, 35},
					{46, 47, 48, 49, 50}
				},
				{
					{61, 62, 63, 64, 65, 66},
					{76, 77, 78, 79, 80, 81}
				},
				{
					{91, 92, 93, 94, 95, 96},
					{106, 107, 108, 109, 110, 111}
				}
			}

			local skill_list = active_skill_list[job+1][group]
			local ret_vnum_list = {}
			local ret_name_list = {}

			table.foreach(skill_list, 
				function(i, skill_vnum) 
				local skill_level = pc.get_skill_level(skill_vnum)

				if skill_level >= GRAND_MASTER_SKILL_LEVEL and skill_level < PERFECT_MASTER_SKILL_LEVEL then

					table.insert(ret_vnum_list, skill_vnum)
					local name=GM_SKILL_NAME_DICT[skill_vnum]
					if name == nil then name=skill_vnum end
					table.insert(ret_name_list, name)
				end
			end)
			return {ret_vnum_list, ret_name_list}
			--return {ret_vnum_list, ret_name_list}
		end

		when 50512.use begin
			if pc.get_skill_group() == 0 then
				say_title("Regenbogenstein")
				say("Du hast noch keine Fertigkeiten.")
				say("Versuche es später erneut.")
				return
			end
			say_title("Regenbogenstein")
			local result = regenbogenstein.BuildPerfectMasterSkillList(pc.get_job(), pc.get_skill_group())
			local vnum_list = result[1]
			local name_list = result[2]
			if table.getn(vnum_list) == 0 then
				say("Du hast keine Großmeister-Fertigkeiten.")
				return
			end
			local menu_list = {}
			table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
			table.insert(menu_list, "Abbrechen") 
			local s=select_table(menu_list)
			if table.getn(menu_list) == s then
				return
			end
			local skill_name=name_list[s]
			local skill_vnum=vnum_list[s]
			say_title("Regenbogenstein")
			say("")
			say("Möchtest du "..skill_name.." wirklich auf P skillen?")
			if select("Ja", "Nein")==2 then return end
			if pc.count_item(50512)>0 then
				pc.set_skill_level(skill_vnum, 30)
				say(skill_name.." wurde auf P gesetzt.")
			else
				say("Buguser bekommen keine P-Skills! ")
			end
			pc.remove_item(50512, 1)
		end
	end
end
12/22/2014 21:30 Nick#4
Hallo,

der Quest-Compiler (qc) zeigt neben deinem genannten Fehler welche Funktionen dies betrifft. Diese einfach via STRG/CTRL + C kopieren und in die quest_functions aus dem Questverzeichnis einfügen.

lg
12/22/2014 22:18 #NexiZ#5
Vielen Dank euch :-).
Hat geholfen!

Wünsche euch Frohe Weihnachten und einen guten Rutsch ins neue Jahr! :-)