[SERVICE] Die Questerstellung

01/21/2015 19:51 .yorliK#2041
Quote:
Originally Posted by Darryus98 View Post
1. Ja halt wenn man z.B. auf "Aura Schwert" klickt, muss man die dementsprechende Bücher abgeben. Also das Skill Buch
2. Man sollte auch 10 abgeben können :D
Code:
quest buecher_npc begin
	state start begin
		when NpcID.chat."Bücherabgabe" begin
			say_title("Bücherabgabe")
			if pc.get_skill_group() == 0 then
				say("Du hast noch keine Fertigkeiten.")
				say("Versuche es später erneut.")
				return
			end
			local result = buecher_npc.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 verfügbaren M Skills.")
				return
			end
			local menu_list = {}
			table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
			table.insert(menu_list, "Abbrechen") 
			say("Wähle deinen Skill.")
			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]
			if pc.getqf("Skill_"..skill_vnum)>=55 then pc.setqf("Skill_"..skill_vnum, 0) end
			say_title(skill_name)
			say("Du willst also Bücher für "..skill_name)
			say("abgeben?")
			say("")
			say("Abgaberest: "..(55-pc.getqf("Skill_"..skill_vnum)).." Bücher")
			if select("Ja","Nein")==2 then return end
			local item_count = pc.count_item((50400+skill_vnum))
			local item_rest = 55-pc.getqf("Skill_"..skill_vnum)
			if item_rest<item_count then item_count = item_rest end
			pc.setqf("Skill_"..skill_vnum, pc.getqf("Skill_"..skill_vnum) + item_count)
			syschat(item_count.." Bücher abgegeben.")
			pc.remove_item((50400+skill_vnum), item_count)
			if pc.getqf("Skill_"..skill_vnum)>=55 then
				pc.set_skill_level(skill_vnum, 30)
				syschat(skill_name.." G")
			end
		end
		function BuildPerfectMasterSkillList(job, group)
			GRAND_MASTER_SKILL_LEVEL =20
			PERFECT_MASTER_SKILL_LEVEL = 30
			local skill_list = special.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=locale.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}
		end
	end
end
01/22/2015 13:43 QuickFlameZ#2042
Es geht alles "eleganter", aber wenn er es nicht anders kann, dann ist das so und da hilft ihm dein Code-Schnipsel auch nicht wirklich weiter, da du ihm ja nicht mal erklärst wieso dein Code-Schnipsel kleiner ist und mit welchen funktionen du gearbeitet hast.
kind regards
01/22/2015 16:14 shurigeller#2043
kann mir einer eine regenbogenstein quest schreiben die alles auf G macht

danke im voraus
01/22/2015 17:53 'Mahone#2044
Quote:
Originally Posted by QuickFlameZ View Post
Es geht alles "eleganter", aber wenn er es nicht anders kann, dann ist das so und da hilft ihm dein Code-Schnipsel auch nicht wirklich weiter, da du ihm ja nicht mal erklärst wieso dein Code-Schnipsel kleiner ist und mit welchen funktionen du gearbeitet hast.
kind regards
Wer den Ergeiz hat zu lernen, wird durch meinen Code durchsteigen.
01/22/2015 19:41 billijam#2045
Quest fehler error occured on compile amuleta.ques








01/22/2015 20:11 Hype#2046
Quote:
Originally Posted by 'Mahone View Post
Könnte man aber auch ein wenig eleganter machen

Code:
local items = {
-- vnum count job 		-> krieger = 0; ninja = 1; sura = 2; schami = 3
	{19, 1, 0},
	{19, 1, 2},
	{13009	1, -1}, -- -1 bei job, wenn es jeder char kriegen soll
}

for k,v in pairs(items) do
	pc.give_item2(((v[3] == pc.job or v[3] == -1) and unpack(({v[1],v[2]})) or 0))
end
Ich brauch aber die ganzen states, da ich mit denen im weiteren Levelverlauf weiterarbeite. Die Quest ist mitlerweile 1k+ Zeilen lang^^

Quote:
Originally Posted by QuickFlameZ View Post
Es geht alles "eleganter", aber wenn er es nicht anders kann, dann ist das so und da hilft ihm dein Code-Schnipsel auch nicht wirklich weiter, da du ihm ja nicht mal erklärst wieso dein Code-Schnipsel kleiner ist und mit welchen funktionen du gearbeitet hast.
kind regards
^

Quote:
Originally Posted by 'Mahone View Post
Wer den Ergeiz hat zu lernen, wird durch meinen Code durchsteigen.
Lernwillig bin ich immer, nur hab ich zurzeit keine Zeit um mich mit Questen zu beschäftigen. Trotzdem wäre eine kurze Erklärung oder notfalls auch ein Link zu einem Guide immer hilfreich für einen "Anfänger".

Quote:
Originally Posted by billijam View Post
Quest fehler error occured on compile amuleta.ques









quest amuleta begin [...]

Der Name sollte schon der gleiche sein wie in der Quest.
01/22/2015 20:13 billijam#2047
Quote:
Originally Posted by .ɦype View Post
Ich brauch aber die ganzen states, da ich mit denen im weiteren Levelverlauf weiterarbeite. Die Quest ist mitlerweile 1k+ Zeilen lang^^


^



Lernwillig bin ich immer, nur hab ich zurzeit keine Zeit um mich mit Questen zu beschäftigen. Trotzdem wäre eine kurze Erklärung oder notfalls auch ein Link zu einem Guide immer hilfreich für einen "Anfänger".




quest amuleta.quest begin [...]

Der Name sollte schon der gleiche sein wie in der Quest.
Danke für dein antwort aber wie meinst du dass ?
01/22/2015 20:15 Hype#2048
Quote:
Originally Posted by billijam View Post
Danke für dein antwort aber wie meinst du dass ?
Deine Fehlerbeschreibung: Quest fehler error occured on compile amuleta.quest

Deine Quest beginnt mit: quest warpring begin

muss aber heißen:
quest amuleta begin
Weil das ^ ist der Questname
01/22/2015 20:19 billijam#2049
Quote:
Originally Posted by .ɦype View Post
Deine Fehlerbeschreibung: Quest fehler error occured on compile amuleta.quest

Deine Quest beginnt mit: quest warpring begin

muss aber heißen:
quest amuleta begin
Weil das ^ ist der Questname
Ja ich hab warpring geändert und die quest heißt so warpring.quest

Und amuleta.quest finde ich nirgendswo
01/22/2015 20:35 Hype#2050
Quote:
Originally Posted by billijam View Post
Ja ich hab warpring geändert und die quest heißt so warpring.quest

Und amuleta.quest finde ich nirgendswo
Wieso bekommst du dann den Fehler, die Quest "amuleta.quest" kann nicht kompiliert werden?
Hast du sie im Questordner oder in der quest_list?
01/22/2015 21:34 billijam#2051
amuleta.quest ist in quest.list
01/22/2015 21:37 Hype#2052
Quote:
Originally Posted by billijam View Post
amuleta.quest ist in quest.list
Wenn sie nicht in deinem Questordner ist, kannst du sie aus quest_list rausstreichen.
01/22/2015 21:47 billijam#2053
Habe ich dass gleiche fehler kommt aber anstatt amuleta.quest kommt catakomben.quest und ist auch nicht in Filezilla drin.
01/22/2015 21:49 rollback#2054
jede quest die nicht im questordner drin ist kannst du aus der quest_list löschen
01/22/2015 22:57 Darryus98#2055
Guten Abend ^-^

Ich brauche mal wieder eine Quest
Die ist ein bisschen schwerer meiner Meinung nach

Also
Ich habe die Map
(Die wird gerade erstellt :s)

Die Map sollte so eine Art PvP-Map sein
Und die soll so wie OX funktionieren

Ein Admin öffnet "die Tore"
Man kann rein gehen
Wenn "die Tore" geschlossen werden kann niemand rein

Dann begint das Event
Wenn ein Spieler jemanden Tötet bekommt der jenige 1 punkt und dann steht im Chat, nur für ihn zu sehen: "Du hast ... punkte"

Wenn man getötet wird, wird man auf Map1 geportet und man kommt nicht mehr rein. Nur bei eine weitere "Runde". Also wenn die Tore wieder geöffnet werden.

Der letzte Spieler bekommt ein Preis und wird auch weg geportet. Un wenn der letze Spieler geblieben ist sollte im Chat, für alle: "Der Spieler ... hat ... teilnehmer getötet, und somit den PvP-Event gewonnen."

Dankö :s