Quest Fehler

01/16/2015 16:54 Supermgking#1
Habe mir mal ne Quest ei epvp gesucht und sie bissl abgeändert nach meine wünschen und jetzt spackt sie rum und
bei sh make.sh kommt :
tausch.quest:2:must start with ´quest´
Error occured on compile tausch.quest
tausch.quest
01/16/2015 17:53 .yorliK#2
Füg diese Funktion in der questlib.lua hinzu und in die quest_functions schreibste select3
Code:
function select3(...) 
    arg.n = nil 
    local tp,max = arg,5 
    if type(tp[1]) == 'number' then 
        max = tp[1] 
        if type(tp[2]) == 'table' then 
            tp = tp[2] 
        else 
            table.remove(tp,1) 
        end 
    elseif type(tp[1]) == 'table' then 
        tp = tp[1] 
    end 
    local str = '{' 
    local tablen,act,incit = table.getn(tp),0,0 
    table.foreach(tp,function(i,l) 
        act = act + 1 
        if act == 1 then 
            str = str .. '{'..string.format('%q',l) 
        elseif act == max+1 and tablen > act+incit then 
            if tablen ~= act+incit+1 then 
                str = str..'},{'..string.format('%q',l) 
            else 
                str=str..','..string.format('%q',l) 
            end 
            incit = incit + max 
            act = 1 
        else 
            str=str..','..string.format('%q',l) 
        end 
    end) 
    local px = loadstring('return '..str ..'}}')() 
    local function copy_tab(t) local p= {} for i = 1,table.getn(t) do p[i] = t[i] end return p end 
    local pe = {} 
    for i = 1,table.getn(px) do pe [i] = copy_tab(px[i]) end 
    local function init(i,ip) 
        pe[i] = copy_tab(px[i]) 
        local next,back,exit = 0,0,0 
        if i < table.getn(pe) and table.getn(pe) ~=1 then  table.insert(pe[i],table.getn(pe[i])+1,'Weiter zu Seite '..(i+1)); next = table.getn(pe[i]) end 
        if i > 1 then table.insert(pe[i],table.getn(pe[i])+1,'Zurück zu Seite '..(i-1)); back = table.getn(pe[i]) end 
        table.insert(pe[i],table.getn(pe[i])+1,'Schließen'); exit = table.getn(pe[i]) 
        if table.getn(pe) > 1 then 
            say('Seite '..i..' von '..table.getn(pe)) 
        end 
        local e = select_table(pe[i]) 
        if e == next then return init(i+1,ip+max) 
        elseif e == back then return init(i-1,ip-max) 
        elseif e == exit then return -1 
        else return e+ip,pe[i][e] end 
    end 
    return init(1,0) or -1 
end
dazu noch deine Quest:
Code:
quest tausch begin
	state start begin
		when 9010.chat."Eintauschen" begin 
			say_title("Eintauschen")
			say("Hallo lieber user von GreenLight2!")
			say("Ich bin ein Händler,")
			say("Ich brauche Perlen für meine Oma")
			say("Gegen ein paar Perlen kann ich dir Wertvolles EQ anbieten")
			say("Falls du etwas hast bitte ich dich darum es bei")
			say("mir einzutauschen und das wenn möglich zügig...")
			say("Viele meiner Freunde behaupten ich sei ein Spinner,")
			say("weil ich mich mit Perlen")
			say("beschäftige aber ein wahrer Mann steht zu seinen")
			say("vorlieben. Wenn du nun was eintschauen möchtest....,")
			wait()
			say("Ich habe noch ein paar Dinge zu erledigen")
			say("deswegen Entscheide dich bitte schnell.")
			say("Du kannst desöfteren zu mir um deine Sachen")
			say("einzutauschen denn das würde mich sehr freuen,")
			say("da ich ein sehr erfreuter Perlen Händler bin.")
			say("")
			say("")
			say("")
			say("")
			wait()
			say("Also was möchtest du tauschen für 5 Weiße Perlen?")
			obj_item = 27992
			items = { 479, 1349, 2379, 5349, 469, 12019, 12029, 12039, 12049, 11971, 11972, 11973, 11974, 12289, 12549, 11973, 12689, 13069, 13089, 13109, 13129, 17209, 16209, 14209, 15379, 15399, 15419, 15439 }
			namen = {}
			for i=1, table.getn(items), 1 do
				table.insert(namen, item_name(items[i]))
			end
			s = select3(namen)
			if s<1 then return end
			if pc.count_item(obj_item) >= 5 then
				pc.remove_item(obj_item, 5)
				pc.give_item2(items[s], 1)
				say("Ich freue mich das wir ein Geschäft")
				say("machen konnten. Lass dich mal wieder")
				say("bei mir blicken falls du etwas")
				say("eintauschen möchtest")
				say("")
				say("")
				say_reward(namen[s])
			else
				return
			end
		end
	end
end
01/16/2015 20:46 Jinbei#3
-> [Only registered and activated users can see links. Click Here To Register...]

Das nächste Mal bitte auf die angepinnten Themen achten.
01/16/2015 20:56 Supermgking#4
habe es genau nach deinen vorgaben gemacht der fehler tritt immer noch auf "tausch.quest:2:must start with ´quest´
Error occured on compile tausch.quest"

habe es genau nach deinen vorgaben gemacht der fehler tritt immer noch auf "tausch.quest:2:must start with ´quest´
Error occured on compile tausch.quest"
01/17/2015 12:42 .yorliK#5
Quote:
Originally Posted by Supermgking View Post
habe es genau nach deinen vorgaben gemacht der fehler tritt immer noch auf "tausch.quest:2:must start with ´quest´
Error occured on compile tausch.quest"

Kann nicht sein, wenn du die Quest ganz normal als .quest einfügst und die Funktion select3 in die questlib.lua tust, funktioniert es. Habe es selber ausprobiert.