# fehler gefunden
Fehlermeldung?Quote:
PHP Code:quest login_text begin
state start begin
when login begin
if pc.getqf("online")==0 then
if pc.is_gm() then
game.set_event_flag("login_text_gm", game.get_event_flag("login_text_gm")+1)
game.set_event_flag(pc.get_name(), 1)
pc.setqf("online", 1)
end
timer("warten", 1)
end
end
when warten.timer begin
chat("Diese Teamler sind momentan Online:")
if game.get_event_flag("login_text_gm")>=1 then
chat("")
if game.get_event_flag("[CoMa]Mizuki")==1 then
chat("-[CoMa]Mizuki ist online.")
if pc.is_gm() then
chat(game.get_event_flag("[CoMa]Mizuki"))
end
end
if game.get_event_flag("[GM]Storm")==1 then
chat("-[GM]Storm ist online.")
if pc.is_gm() then
chat(game.get_event_flag("[GM]Storm"))
end
end
if game.get_event_flag("[SA]ReLoaD")==1 then
chat("-[SA]ReLoaD ist online.")
if pc.is_gm() then
chat(game.get_event_flag("[SA]ReLoaD"))
end
end
if game.get_event_flag("[SA]Lumix.")==1 then
chat("-[SA]Lumix. ist online.")
if pc.is_gm() then
chat(game.get_event_flag("[SA]Lumix."))
end
if game.get_event_flag("[GA]Kayo")==1 then
chat("-[GA]Kayo ist online.")
if pc.is_gm() then
chat(game.get_event_flag("[GA]Kayo"))
end
end
end
if game.get_event_flag("oxevent_status")>=1 then
chat("Derzeit läuft ein OX-Wettbewerb")
end
if game.get_event_flag("spawn_event")>=1 then
chat("Derzeit findet ein Spawn Event statt.")
end
if game.get_event_flag("threeway_war")>=1 then
chat("Derzeit läuft eine Reichsschlacht")
end
end
when logout begin
if pc.getqf("online")==1 then
if pc.is_gm() then
game.set_event_flag("login_text_gm", game.get_event_flag("login_text_gm")-1)
game.set_event_flag(pc.get_name(), 0)
end
pc.setqf("online", 0)
end
end
end
end
Was ist an der Quest falsch? :/
Quote:
quest Kriegskeiler begin
state start begin
when 71125.use begin
chat("Du hast gerade deinen Kriegskeiler gerufen , er gibt dir absofort 20% Stark gegen Monster.")
affect.remove_collect()
pc.mount(20115,2400)
pc.mount_bonus(apply.ATT_BONUS_TO_MONSTER,20,2400)
end
end
Bitte jemand richtig umschreiben kriege immer einen fehler :
assertion failure : nested ==0 Kriegskeiler.quest :9:Error occured on compile Kriegskeiler.quest
quest Kriegskeiler begin
state start begin
when 71125.use begin
chat("Du hast gerade deinen Kriegskeiler gerufen , er gibt dir absofort 20% Stark gegen Monster.")
affect.remove_collect()
pc.mount(20115,2400)
pc.mount_bonus(apply.ATT_BONUS_TO_MONSTER,20,2400)
end -- beendet die 'when' function
end -- beendet den state
end -- beendet die Quest
Quote:
Moin
geht mal wieder um die Jagd Quest´s von mir. Also die Quest´s funzen alle einwandfrei (hab den Sensi einfach ausgetauscht^^) nur habe ich 2 Probleme.
Das erste:
Ich möchte alle 10 Level eine neue Jagdquest machen, aber die nächst höhere quest soll erst kommen, wenn die davor abgeschlossen ist.
Kleines Beispiel; meine Quest´s fangen bei Lv90 die nächste bei Lv100 dann Lv 110 usw..... , aber um die Lv 100er Quest anzufangen sollte man erst die Lv90er beendet haben. Ich habe zwar einen code dafür, aber der funzt iwie nicht richtig.
und das dann die nächste Quest :
Im VPC kommt auch kein Fehler.
quest jagd_100 begin
state start begin
end
when login or levelup with pc.get_level() >= 100 begin
set_state(information)
end
end
state run begin
end
state information begin
when letter begin
send_letter("Jagdauftrag Nr. 2")
say_title("Jagdauftrag Nr. 2")
say("Du hast nun Level 100 eereicht")
say("Hier ist dein zweiter Auftrag")
pc.setqf("count", 0)
set_state(auftrag)
end
end
state auftrag begin
when letter begin
send_letter("Töte 100 Feuer der Macht")
end
when button or info begin
say_title("Jagdauftrag Nr. 2")
say("")
say("Töte 100 Feuer der Macht!")
say("Es wurden "..pc.getqf("count").." Feuer der Macht getötet.")
end
when 11505.kill begin
if npc.get_race() == 11505 then
pc.setqf("count", pc.getqf("count")+1)
end
if pc.getqf("count") == 100 then
say("Glückwunsch, du hast es geschafft")
pc.give_item2(25041, 1)
clear_letter()
set_state(__complete__)
end
end
end
state __complete__ begin
end
end
wie wäre es wenn du sie in deinem letter darauf Hinweist ? zb.Quote:
zu Nr. 2 :
Wenn das Inventar nach dem Kill des letzten Mob´s voll ist und die Quest beendet wird, bekommt man die Belohnung nicht.
Hat da jemand ne Idee??
Mfg
quest wafffen_upp begin
state start begin
when 20020.take with item.get_id() begin
vnum = item.get_vnum()
if vnum == 11299 then
say_title("Equipment-Uppen")
say("Ok du möchtest:")
say_item("Schwarzstahl-Panzer+9", 11299, "")
say("zu:")
say_item("Ephelions-Panzer+0", 20000, "")
say("transformieren.")
wait()
say_title("Equipment-Uppen")
say("Dafür benötige ich: ")
say_item("500.000 Yang", 1, "")
say_item("3 x Traktat zur Fechtkunst", 70031, "")
say_item("100 x Energiesplitter", 51001, "")
say_item("2 x Segensschriftrollen", 25040, "")
say_reward("Die Chance beträgt: 50%")
say("Hast du die Items ?")
local s = select("Ja","Nein")
if s == 1 then
-- Check
if pc.get_gold() >= 500000 then
say_title("Equipment-Uppen")
say("Du hast nicht genügend Yang!")
say("Komm später wieder.")
return
end
if pc.count_item(70031) >= 3 then
say_title("Equipment-Uppen")
say("Du hast keine:")
say_item("3 x Traktat zur Fechtkunst", 70031, "")
say("Komm später wieder.")
return
end
if pc.count_item(51001) >= 100 then
say_title("Equipment-Uppen")
say("Du hast keine:")
say_item("100 x Energiesplitter", 51001, "")
say("Komm später wieder.")
return
end
if pc.count_item(25040) >= 2 then
say_title("Equipment-Uppen")
say("Du hast keine:")
say_item("2 x Segensschriftrollen", 25040, "")
say("Komm später wieder.")
return
end
-- OK
say_title("Equipment-Uppen")
say("Ok ich werde versuchen:")
say_item("Ephelions-Panzer+0", 20000, "")
say("herzustellen ! Gedulde dich einen moment !")
-- Rem Items
pc.change_gold(-500000)
pc.remove_item("11299", 1)
pc.remove_item("70031", 3)
pc.remove_item("51001", 100)
pc.remove_item("25040", 2)
wait()
local chance = number(1,2)
if chance == 1 then
say_title("Equipment-Uppen")
say("[DELAY value;340]Hammer ... [/DELAY]")
say("[DELAY value;340]BÄM ... [/DELAY]")
say("[DELAY value;340]Wumm ... [/DELAY]")
say_reward("[DELAY value;340]Super es hat geklappt ! [/DELAY]")
wait()
say_title("Equipment-Uppen")
say_reward("Du bekommst:")
say_item("Ephelions-Panzer+0", 20000, "")
say_reward("Herzlichen Glückwunsch")
pc.give_item2("20000", 1)
else
say_title("Equipment-Uppen")
say("[DELAY value;340]Hammer ... [/DELAY]")
say("[DELAY value;340]BÄM ... [/DELAY]")
say("[DELAY value;340]Wumm ... [/DELAY]")
say_reward("[DELAY value;340]Leider ist die Rüstung Kaputt! [/DELAY]")
end
elseif s == 2 then
say_title("Equipment-Uppen")
say("Ok dann komm wieder wenn du Sie hast !")
say("Ich wünsche dir noch weiterhin")
say("Viel Spaß")
end
end
end
end
when 20020.take with item.get_id() begin
quest wafffen_upp begin
state start begin
when 20020.take begin
local MeineUppTabelle={
-- item = uppitem,uppgeld,{uppitem1,menge1},{uppitem2,menge2}
[11299]={20000,500000,{{70031,3},{51001,100},{25040,2}}}
}
local vnum = item.get_vnum()
if MeineUppTabelle[vnum]== nil then
say("Diese item kannst du hier nicht uppen")
return
end
say_title("Equipment-Uppen")
say("Ok du möchtest:")
say_item_vnum(vnum)
say("zu:")
say(item_name(MeineUppTabelle[vnum][1]))
say("transformieren.")
wait()
say_title("Equipment-Uppen")
say("Dafür benötige ich: ")
say(MeineUppTabelle[vnum][2].." Yang")
for i=1,table.getn(MeineUppTabelle[vnum][3]) do
say(MeineUppTabelle[vnum][3][i][2].." x "..item_name(MeineUppTabelle[vnum][3][i][1]))
end
say_reward("Die Chance beträgt: 50%")
say("Hast du die Items ?")
if select("Ja","Nein")==2 the return end
for i=1,table.getn(MeineUppTabelle[vnum][3]) do
if pc.get_gold() < MeineUppTabelle[vnum][2] then
say_title("Equipment-Uppen")
say("Du hast nicht genügend Yang!")
say("Komm später wieder.")
return
end
if pc.count_item(MeineUppTabelle[vnum][3][i][1])< MeineUppTabelle[vnum][3][i][2] then
say_title("Equipment-Uppen")
say("Du hast keine:")
say(MeineUppTabelle[vnum][3][i][2].." x "..item_name(MeineUppTabelle[vnum][3][i][1]))
say("Komm später wieder.")
return
end
end
say_title("Equipment-Uppen")
say("Ok ich werde versuchen:")
say(item_name(MeineUppTabelle[vnum][1])
say("herzustellen ! Gedulde dich einen moment !")
-- Rem Items
pc.change_gold(MeineUppTabelle[vnum][2])
pc.remove_item(vnum, 1)
for i=1,table.getn(MeineUppTabelle[vnum][3]) do
pc.remove_item(MeineUppTabelle[vnum][3][i][1], MeineUppTabelle[vnum][3][i][2])
end
wait()
if number(1,2) == 1 then
say_title("Equipment-Uppen")
say("[DELAY value;340]Hammer ... [/DELAY]")
say("[DELAY value;340]BÄM ... [/DELAY]")
say("[DELAY value;340]Wumm ... [/DELAY]")
say_reward("[DELAY value;340]Super es hat geklappt ! [/DELAY]")
wait()
say_title("Equipment-Uppen")
say_reward("Du bekommst:")
say_item_vnum(MeineUppTabelle[vnum][1])
say_reward("Herzlichen Glückwunsch")
pc.give_item2(MeineUppTabelle[vnum][1], 1)
else
say_title("Equipment-Uppen")
say("[DELAY value;340]Hammer ... [/DELAY]")
say("[DELAY value;340]BÄM ... [/DELAY]")
say("[DELAY value;340]Wumm ... [/DELAY]")
say_reward("[DELAY value;340]Leider ist die Rüstung Kaputt! [/DELAY]")
end
end
end
end
Schöne quest bro :) und eine sehr gute ideeQuote:
was möchtest du mit item.get_id() machen? hat da nichts zu suchenPHP Code:when 20020.take with item.get_id() begin
€. habe mal deine quest vereinfacht geschrieben
sie ist ungetestet
Du musst immer nur die items in der tabelle einfügen, dasuppgeld und das uppzeug+ die menge, die benötigten items werden automatisch erkannt und wiedergegeben.
PHP Code:quest wafffen_upp begin
state start begin
when 20020.take begin
local MeineUppTabelle={
-- item = uppitem,uppgeld,{uppitem1,menge1},{uppitem2,menge2}
[11299]={20000,500000,{{70031,3},{51001,100},{25040,2}}}
}
local vnum = item.get_vnum()
if MeineUppTabelle[vnum]== nil then
say("Diese item kannst du hier nicht uppen")
return
end
say_title("Equipment-Uppen")
say("Ok du möchtest:")
say_item_vnum(vnum)
say("zu:")
say(item_name(MeineUppTabelle[vnum][1]))
say("transformieren.")
wait()
say_title("Equipment-Uppen")
say("Dafür benötige ich: ")
say(MeineUppTabelle[vnum][2].." Yang")
for i=1,table.getn(MeineUppTabelle[vnum][3]) do
say(MeineUppTabelle[vnum][3][i][2].." x "..item_name(MeineUppTabelle[vnum][3][i][1]))
end
say_reward("Die Chance beträgt: 50%")
say("Hast du die Items ?")
if select("Ja","Nein")==2 the return end
for i=1,table.getn(MeineUppTabelle[vnum][3]) do
if pc.get_gold() < MeineUppTabelle[vnum][2] then
say_title("Equipment-Uppen")
say("Du hast nicht genügend Yang!")
say("Komm später wieder.")
return
end
if pc.count_item(MeineUppTabelle[vnum][3][i][1])< MeineUppTabelle[vnum][3][i][2] then
say_title("Equipment-Uppen")
say("Du hast keine:")
say(MeineUppTabelle[vnum][3][i][2].." x "..item_name(MeineUppTabelle[vnum][3][i][1]))
say("Komm später wieder.")
return
end
end
say_title("Equipment-Uppen")
say("Ok ich werde versuchen:")
say(item_name(MeineUppTabelle[vnum][1])
say("herzustellen ! Gedulde dich einen moment !")
-- Rem Items
pc.change_gold(MeineUppTabelle[vnum][2])
pc.remove_item(vnum, 1)
for i=1,table.getn(MeineUppTabelle[vnum][3]) do
pc.remove_item(MeineUppTabelle[vnum][3][i][1], MeineUppTabelle[vnum][3][i][2])
end
wait()
if number(1,2) == 1 then
say_title("Equipment-Uppen")
say("[DELAY value;340]Hammer ... [/DELAY]")
say("[DELAY value;340]BÄM ... [/DELAY]")
say("[DELAY value;340]Wumm ... [/DELAY]")
say_reward("[DELAY value;340]Super es hat geklappt ! [/DELAY]")
wait()
say_title("Equipment-Uppen")
say_reward("Du bekommst:")
say_item_vnum(MeineUppTabelle[vnum][1])
say_reward("Herzlichen Glückwunsch")
pc.give_item2(MeineUppTabelle[vnum][1], 1)
else
say_title("Equipment-Uppen")
say("[DELAY value;340]Hammer ... [/DELAY]")
say("[DELAY value;340]BÄM ... [/DELAY]")
say("[DELAY value;340]Wumm ... [/DELAY]")
say_reward("[DELAY value;340]Leider ist die Rüstung Kaputt! [/DELAY]")
end
end
end
end
Klappt immernoch nicht "Fehlermeldung in Putty"Quote:
Sollte gehen.
quest amk begin
state start begin
when 50113.use begin
if pc.count_item(50113) >= 1 then
say("Welchen Ring willst du?")
local i = select ("Halbmondring","Lolli","Ring des Wassers","Ring des Feuers","abbruch")
if i == 1 then
pc.give_item2("12799", 20)
pc.remove_item("50113", 1)
elseif i == 2 then
pc.give_item2("12799", 20)
pc.remove_item("50113", 1)
elseif i == 3 then
pc.give_item2("12799", 20)
pc.remove_item("50113", 1)
elseif i == 4 then
pc.give_item2("12799", 20)
pc.remove_item("50113", 1)
elseif i == 5 then
return
end
else
return
end
end
end
end
###################################################################
quest main_quest_lv1_port begin
state start begin
when login or levelup with pc.get_level()==1 begin
say_title("Du musst leveln")
say("Oh hallo neuer!")
say("Wie ich sehe bist du noch relativ schwach")
say("Ich würde dir emphfelen zu lvln")
say("Ich kenne einen geheimen Ort wo i ch dich")
say("hin teleportieren kann und du dic h erstmal leveln kannst")
say("aber ich kann dich nur EINMAL teleportieren")
say("damit der Ort geheim bleibt")
say("")
if pc.get_level()>=1 then
say_title("Du musst leveln")
say("Möchtest du in die geheime Level-Map?")
say("")
local b=select("Ja", "Nein")
if b==1 then
pc.warp(998800, 998800)
set_state(__complete__)
elseif b==2 then
say_title("Du musst leveln")
say("")
say("oke!")
set_state(__complete__)
end
end
end
end
state __complete__
end
end
quest autopott begin state start begin when 72723.use begin affect_auto_hp_recovery(500, 60*60) end end end