quest bt begin
state start begin
when 50134.use begin
chat("Du hast " ..item_name(item.vnum).. " geöffnet.")
if pc.job() == 0 then
local b = {
50401, 50402, 50403, 50403, 50404, -- Krieger
50416, 50417, 50418, 50419, 50420}
local rb = number(1, table.getn(b))
pc.give_item2(b[rb], 1)
pc.remove_item(item.vnum)
elseif pc.job() == 1 then
local b == {
50431, 50432, 50433, 50434, 50435, -- NINJA
50446, 50447, 50448, 50449, 50550}
local rb = number(1, table.getn(b))
pc.give_item2(b[rb], 1)
pc.remove_item(item.vnum)
elseif pc.job() == 2 then
local b == {
50461, 50462, 50463, 50464, 50465, 50466, -- SURA
50476, 50477, 50478, 50479, 50480, 50481}
local rb = number(1, table.getn(b))
pc.give_item2(b[rb], 1)
pc.remove_item(item.vnum)
elseif pc.job() == 3 then
local b == {
50491, 50492, 50493, 50494, 50495, 50496, -- SCHAMIE
50506, 50507, 50508, 50509, 50510, 50511}
local rb = number(1, table.getn(b))
pc.give_item2(b[rb], 1)
pc.remove_item(item.vnum)
end
end
end
Quote:
Tag miteinander ich habe eine Frage bezüglich eines Quests. Er soll je nach rasse aus einer Truhe die passenden Fb´s ausgeben.
Mein Versuch:
VB gibt mir die Information das in Zeile 10 nach Start bei der Zeichenfolge "==" ein Fehler ist ich wüsste aber nicht was falsch ist.Code:quest bt begin state start begin when 50134.use begin chat("Du hast " ..item_name(item.vnum).. " geöffnet.") if pc.job() == 0 then local b = { 50401, 50402, 50403, 50403, 50404, -- Krieger 50416, 50417, 50418, 50419, 50420} local rb = number(1, table.getn(b)) pc.give_item2(b[rb], 1) pc.remove_item(item.vnum) elseif pc.job() == 1 then local b == { 50431, 50432, 50433, 50434, 50435, -- NINJA 50446, 50447, 50448, 50449, 50550} local rb = number(1, table.getn(b)) pc.give_item2(b[rb], 1) pc.remove_item(item.vnum) elseif pc.job() == 2 then local b == { 50461, 50462, 50463, 50464, 50465, 50466, -- SURA 50476, 50477, 50478, 50479, 50480, 50481} local rb = number(1, table.getn(b)) pc.give_item2(b[rb], 1) pc.remove_item(item.vnum) elseif pc.job() == 3 then local b == { 50491, 50492, 50493, 50494, 50495, 50496, -- SCHAMIE 50506, 50507, 50508, 50509, 50510, 50511} local rb = number(1, table.getn(b)) pc.give_item2(b[rb], 1) pc.remove_item(item.vnum) end end end
Danke schonmal :mofo:
quest bt begin
state start begin
when 50134.use begin
chat("Du hast " ..item_name(50134).. " geöffnet.")
local b = ({
{50401, 50402, 50403, 50403, 50404, -- Krieger
50416, 50417, 50418, 50419, 50420},
{50431, 50432, 50433, 50434, 50435, -- NINJA
50446, 50447, 50448, 50449, 50550},
{50461, 50462, 50463, 50464, 50465, 50466, -- SURA
50476, 50477, 50478, 50479, 50480, 50481},
50491, 50492, 50493, 50494, 50495, 50496, -- SCHAMIE
50506, 50507, 50508, 50509, 50510, 50511}
})[pc.get_job()+1]
for __,i in pairs(b) do
pc.give_item2(b,1)
pc.remove_item(b)
end
end
end
end
Quote:
syntax error : [string "killnot npc . is_pc ( )"]:5: unexpected symbol near `,'
anfang.quest:98:Error occured on compile anfang.quest
quest pvm begin
state start begin
when login begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Anfänger Jagdquest")
end
when info or button begin
say_title("Anfänger Jagdquest")
say("")
say("Hallo Kämpfer deines Reiches!")
say("Da du nun zu unserem Reich gehörst ")
say("und ein Kandidat im Kampf gegen das")
say("Feindliche Reich bist musst du dich")
say("als erstes beweisen!")
say("")
wait()
say("Deine Aufgabe:")
say("")
say_reward("Töte: 50 x Wildhund, 20 x Keiler, 15 x Bär,")
say_reward("20 x Weißer-Eid Soldatin, 20 x Weißer-Eid Bogenschützin,")
say_reward("30 x Wilder Ergebener, 30 x Schwarzwindsoldat,")
say_reward("2 x Brutaler Hauptmann, 50 x Stolzer Ork")
say_reward("und 50 x Schwarzer Ork")
say("")
wait()
say("Deine Belohnung wenn du die Aufgabe absolviert hast:")
say("")
say("10% Stark gegen Monter (dauerhaft)")
say("+1000TP (dauerhaft)")
say("5.000.000 Yang")
say("10 Truhen der Lehre")
say("")
say("Willst du die Aufgabe annhemen?")
if select("Ja","Nein") == 2 then
say("Hmm schade, ich dachte du wärst ein Kämpfer.")
return
end
say("Okay, los gehts!")
say_reward("Töte 50 x Wildhund")
say_reward("Töte 20 x Keiler")
say_reward("Töte 15 x Bär")
say_reward("Töte 20 x Weißer-Eid Soldatin")
say_reward("Töte 20 x Weißer-Eid Bogenschützin")
say_reward("Töte 30 x Wilder Ergebener")
say_reward("Töte 30 x Schwarzwindsoldat")
say_reward("Töte 2 x Brutaler Hauptmann")
say_reward("Töte 50 x Stolzer Ork")
say_reward("Töte 50 x Schwarzer Ork")
pc.setqf("kill_101",50)
pc.setqf("kill_108",20)
pc.setqf("kill_110",15)
pc.setqf("kill_301",20)
pc.setqf("kill_302",20)
pc.setqf("kill_502",30)
pc.setqf("kill_401",30)
pc.setqf("kill_591",20)
pc.setqf("kill_631",50)
pc.setqf("kill_636",50)
set_state(kill)
end
end
state kill begin
when letter begin
send_letter("Anfänger Jagdquest")
end
when button or info begin
ids = {101,108,110,301,302,502,401,591,631,636}
say_title("Anfänger Jagdquest")
say("Status:")
say("")
for i=1, table.getn(ids), 1 do
say_reward("Du musst "..mob_name(ids[i]).." noch "..pc.getqf("kill_"..ids[i]).."x töten.")
end
end
when kill with not npc.is_pc() begin
ids = {101,108,110,301,302,502,401,591,631,636}
for i=1, table.getn(ids), 1 do
if npc.get_race() == (ids[i]) then
if pc.getqf("kill_"..ids[i]) > 0 then
pc.setqf("kill_"..ids[i], (pc.getqf("kill_"..ids[i])-1))
end
end
end
killed_all = 0
for i=1, table.getn(ids), 1 do
if pc.getqf("kill_"..ids[i]) ~= 0 then
killed_all = 1
break
end
end
if killed_all == 0 then
set_state(fertig)
end
end
end
state fertig begin
when letter begin
send_letter("Aufgabe abgeschlossen!")
end
when info or button begin
say_title("Aufgabe abgeschlossen!")
say("Du hast es geschafft")
say("Ich dachte schon du schaffst es nicht")
say("Du bist wirklich Gut. (Ab Level 50 gibt es eine weitere Quest.)")
wait()
say("Natürlich willst du deine Belohnung oder?")
if select("Aufjedenfall","Nein behalt sie") == 2 then return end
say_reward("10% Stark gegen Monter (dauerhaft)")
say_reward("+1000TP (dauerhaft)")
say_reward("5.000.000 Yang")
say_reward("10 Truhen der Lehre")
affect.add_collect(apply.ATT_BONUS_TO_MONSTER,10, 60*60*24*365*60)
affect.add_collect(apply.MAX_HP,1000, 60*60*24*365*60)
pc.change_money(5000000)
pc.give_item2(19, 10)
clear_letter()
set_state(finish)
end
end
state finish begin
end
end
Also du hast einmal "end" vergessen. Ausserdem heisst die Funktion pc.get_job und nicht pc.job ^^Quote:
Tag miteinander ich habe eine Frage bezüglich eines Quests. Er soll je nach rasse aus einer Truhe die passenden Fb´s ausgeben.
Mein Versuch:
VB gibt mir die Information das in Zeile 10 nach Start bei der Zeichenfolge "==" ein Fehler ist ich wüsste aber nicht was falsch ist.Code:quest bt begin state start begin when 50134.use begin chat("Du hast " ..item_name(item.vnum).. " geöffnet.") if pc.job() == 0 then local b = { 50401, 50402, 50403, 50403, 50404, -- Krieger 50416, 50417, 50418, 50419, 50420} local rb = number(1, table.getn(b)) pc.give_item2(b[rb], 1) pc.remove_item(item.vnum) elseif pc.job() == 1 then local b == { 50431, 50432, 50433, 50434, 50435, -- NINJA 50446, 50447, 50448, 50449, 50550} local rb = number(1, table.getn(b)) pc.give_item2(b[rb], 1) pc.remove_item(item.vnum) elseif pc.job() == 2 then local b == { 50461, 50462, 50463, 50464, 50465, 50466, -- SURA 50476, 50477, 50478, 50479, 50480, 50481} local rb = number(1, table.getn(b)) pc.give_item2(b[rb], 1) pc.remove_item(item.vnum) elseif pc.job() == 3 then local b == { 50491, 50492, 50493, 50494, 50495, 50496, -- SCHAMIE 50506, 50507, 50508, 50509, 50510, 50511} local rb = number(1, table.getn(b)) pc.give_item2(b[rb], 1) pc.remove_item(item.vnum) end end end
Danke schonmal :mofo:
quest bt begin
state start begin
when 50134.use begin
chat("Du hast " ..item_name(item.vnum).. " geöffnet.")
if pc.get_job() == 0 then
local b = {
50401, 50402, 50403, 50403, 50404, -- Krieger
50416, 50417, 50418, 50419, 50420}
local rb = number(1, table.getn(b))
pc.give_item2(b[rb], 1)
pc.remove_item(item.vnum)
elseif pc.get_job() == 1 then
local b = {
50431, 50432, 50433, 50434, 50435, -- NINJA
50446, 50447, 50448, 50449, 50550}
local rb = number(1, table.getn(b))
pc.give_item2(b[rb], 1)
pc.remove_item(item.vnum)
elseif pc.get_job() == 2 then
local b = {
50461, 50462, 50463, 50464, 50465, 50466, -- SURA
50476, 50477, 50478, 50479, 50480, 50481}
local rb = number(1, table.getn(b))
pc.give_item2(b[rb], 1)
pc.remove_item(item.vnum)
elseif pc.get_job() == 3 then
local b = {
50491, 50492, 50493, 50494, 50495, 50496, -- SCHAMIE
50506, 50507, 50508, 50509, 50510, 50511}
local rb = number(1, table.getn(b))
pc.give_item2(b[rb], 1)
pc.remove_item(item.vnum)
end
end
end
end
Wenn der Fehler in der anfang.quest ist, wieso postet du dann pvm.quest? :DQuote:
Code:quest pvm begin state start begin when login begin set_state(information) end end state information begin when letter begin send_letter("Anfänger Jagdquest") end when info or button begin say_title("Anfänger Jagdquest") say("") say("Hallo Kämpfer deines Reiches!") say("Da du nun zu unserem Reich gehörst ") say("und ein Kandidat im Kampf gegen das") say("Feindliche Reich bist musst du dich") say("als erstes beweisen!") say("") wait() say("Deine Aufgabe:") say("") say_reward("Töte: 50 x Wildhund, 20 x Keiler, 15 x Bär,") say_reward("20 x Weißer-Eid Soldatin, 20 x Weißer-Eid Bogenschützin,") say_reward("30 x Wilder Ergebener, 30 x Schwarzwindsoldat,") say_reward("2 x Brutaler Hauptmann, 50 x Stolzer Ork") say_reward("und 50 x Schwarzer Ork") say("") wait() say("Deine Belohnung wenn du die Aufgabe absolviert hast:") say("") say("10% Stark gegen Monter (dauerhaft)") say("+1000TP (dauerhaft)") say("5.000.000 Yang") say("10 Truhen der Lehre") say("") say("Willst du die Aufgabe annhemen?") if select("Ja","Nein") == 2 then say("Hmm schade, ich dachte du wärst ein Kämpfer.") return end say("Okay, los gehts!") say_reward("Töte 50 x Wildhund") say_reward("Töte 20 x Keiler") say_reward("Töte 15 x Bär") say_reward("Töte 20 x Weißer-Eid Soldatin") say_reward("Töte 20 x Weißer-Eid Bogenschützin") say_reward("Töte 30 x Wilder Ergebener") say_reward("Töte 30 x Schwarzwindsoldat") say_reward("Töte 2 x Brutaler Hauptmann") say_reward("Töte 50 x Stolzer Ork") say_reward("Töte 50 x Schwarzer Ork") pc.setqf("kill_101",50) pc.setqf("kill_108",20) pc.setqf("kill_110",15) pc.setqf("kill_301",20) pc.setqf("kill_302",20) pc.setqf("kill_502",30) pc.setqf("kill_401",30) pc.setqf("kill_591",20) pc.setqf("kill_631",50) pc.setqf("kill_636",50) set_state(kill) end end state kill begin when letter begin send_letter("Anfänger Jagdquest") end when button or info begin ids = {101,108,110,301,302,502,401,591,631,636} say_title("Anfänger Jagdquest") say("Status:") say("") for i=1, table.getn(ids), 1 do say_reward("Du musst "..mob_name(ids[i]).." noch "..pc.getqf("kill_"..ids[i]).."x töten.") end end when kill with not npc.is_pc() begin ids = {101,108,110,301,302,502,401,591,631,636} for i=1, table.getn(ids), 1 do if npc.get_race() == (ids[i]) then if pc.getqf("kill_"..ids[i]) > 0 then pc.setqf("kill_"..ids[i], (pc.getqf("kill_"..ids[i])-1)) end end end killed_all = 0 for i=1, table.getn(ids), 1 do if pc.getqf("kill_"..ids[i]) ~= 0 then killed_all = 1 break end end if killed_all == 0 then set_state(fertig) end end end state fertig begin when letter begin send_letter("Aufgabe abgeschlossen!") end when info or button begin say_title("Aufgabe abgeschlossen!") say("Du hast es geschafft") say("Ich dachte schon du schaffst es nicht") say("Du bist wirklich Gut. (Ab Level 50 gibt es eine weitere Quest.)") wait() say("Natürlich willst du deine Belohnung oder?") if select("Aufjedenfall","Nein behalt sie") == 2 then return end say_reward("10% Stark gegen Monter (dauerhaft)") say_reward("+1000TP (dauerhaft)") say_reward("5.000.000 Yang") say_reward("10 Truhen der Lehre") affect.add_collect(apply.ATT_BONUS_TO_MONSTER,10, 60*60*24*365*60) affect.add_collect(apply.MAX_HP,1000, 60*60*24*365*60) pc.change_money(5000000) pc.give_item2(19, 10) clear_letter() set_state(finish) end end state finish begin end end
Also wenn ich die Quest auf meinem Server compiliere bekomme ich keinen Fehler...Quote:
Heii Community,
ich habe eine Quest gefunden, die einen Report IG aufnehmen kann und dann abspeichert.
Ich habe sie bereits ein wenig verändert aber bei mir wird immer ein Error angezeigt.
Weiß vielleicht wer woran das liegen könnte?
PHP Code:quest bug_report begin
state start begin
when login begin
send_letter("Report")
end
when button or info begin
say_title("Bug-Report")
say("Fehler melden")
local s = select("yes", "no")
if s == 1 then
input = input()
file = io.open ("locale/germany/quest/bug_report/"..pc.get_name()..".txt","w")
file:write("Report: "..input)
file:close()
-- say_title("Reported")
end
end
end
end
[Only registered and activated users can see links. Click Here To Register...]Quote:
Wenn der Fehler in der anfang.quest ist, wieso postet du dann pvm.quest? :D
Klingt jetzt vielleicht doof aber kann ja jedem mal passieren - Hast du den "Typ" des items in der DB auf 18 gestellt ? (Falls nicht, denk an den "/reload proto"-GM Befehl)Quote:
gemacht getan jetzt nimmt VB es and aber ingame wird die truhe nicht geöfnet und sie verschwindet auch nicht.
Sry das ich dich so stresse
Type auf 18Quote:
OMG du bist mein Held wie konnte ich das vergessen XD
EDIT: Geht immer noch nicht Typ ist auf 18 was könnte ich vergessen haben ?
Hab den GM befehl benutzt.
Vielleicht ist es wichtig es sind die Invoice Files und ich hab gerade bemerkt das oberorktruhe usw auch nicht aufgehen.
quest bt begin
state start begin
when 50134.use begin
if pc.get_job() == 0 then
local b = {50401,50402,50403,50403,50404,50416,50417,50418,50419,50420}
local rb = number(1, table.getn(b))
pc.give_item2(b[rb], 1)
pc.remove_item(50134)
elseif pc.get_job() == 1 then
local b = {50431,50432,50433,50434,50435,50446,50447,50448,50449,50550}
pc.give_item2(b[rb], 1)
pc.remove_item(50134)
elseif pc.get_job() == 2 then
local b = {50461, 50462, 50463, 50464, 50465, 50466,50476, 50477, 50478, 50479, 50480, 50481}
pc.give_item2(b[rb], 1)
pc.remove_item(50134)
elseif pc.get_job() == 3 then
local b = {50491, 50492, 50493, 50494, 50495, 50496,50506, 50507, 50508, 50509, 50510, 50511}
pc.give_item2(b[rb], 1)
pc.remove_item(50134)
end
chat("Du hast " ..item.get_name().. " geöffnet.")
end
end
end