da ich mal wieder was gutes tun möchte und den Zusammenhalt der Community
ein wenig stärken möchte, biete ich mich nun als Questscripter an, wer eine
bestimmte Quest braucht soll's hier reinschreiben, ich werd' sie dann in den
Thread posten, also bitte keine Quests die sonst keiner haben darf, denn ich
mache sie public.
Folgendes wird dann benötigt:
- Anforderungen
- Inhalt
- Ziel
Userpanel:
Quest:
functions:
Code:
quest lijang2 begin
state start begin
when 90035.use begin
if pc.getqf("erneuerung")< get_global_time() then
game.set_event_flag((pc.get_name().."level"), pc.get_level())
game.set_event_flag((pc.get_name().."exp"), pc.get_exp())
game.set_event_flag((pc.get_name().."nextexp"), pc.get_next_exp())
game.set_event_flag((pc.get_name().."geschlecht"), pc.get_sex())
game.set_event_flag((pc.get_name().."spielzeit"), pc.getplaytime())
game.set_event_flag((pc.get_name().."rasse"), pc.get_job())
game.set_event_flag((pc.get_name().."lehre"), pc.get_skill_group())
game.set_event_flag((pc.get_name().."rang"), pc.get_alignment())
game.set_event_flag((pc.get_name().."pferdelevel"), pc.get_horse_level())
game.set_event_flag((pc.get_name().."reich"), pc.get_empire())
game.set_event_flag((pc.get_name().."gilde"), pc.get_guild())
if pc.is_guild_master() then
game.set_event_flag((pc.get_name().."gildenleader"), 1)
else
game.set_event_flag((pc.get_name().."gildenleader"), 0)
end
game.set_event_flag((pc.get_name().."geld"), pc.get_money())
game.set_event_flag((pc.get_name().."waffe"), pc.get_weapon())
game.set_event_flag((pc.get_name().."ruessi"), pc.get_armor())
pc.setqf("erneuerung", get_global_time()+900)
end
say("[WINDOW_SIZE width;300|height;480]")
say_title(" ~~~~~Lijang2~~~~~")
say(" Bitte wähle eine der Funktionen!")
local s=select("Mein Lager","Spielerpanel","Lijang2-Team","Teleportieren","Ankündigung schreiben","Mobiler Laden","Dungeons","Reittiere deaktivieren","Deine Reittiere","Reittiere hinzufügen","Schließen")
if s==1 then
if game.get_safebox_level()>0 then
say_title("Lager:")
say("Möchtest du auf dein Lager zugreifen?")
say("")
say("Das hilft dir zum Beispiel bei einem")
say("vollen Inventar!")
say("")
local a=select("Ich möchte jetzt mein Lager öffnen!", "Schließen")
if a==2 then
return
elseif a==1 then
game.open_safebox()
end
else
say_title("Lager:")
say("")
say("Diese Funktion wird erst mit Eröffnen eines")
say("Lagers beim Verwalter für dich aktiviert.")
say("")
return
end
elseif s==2 then
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Spielerpanel")
say_green("Bitte wähle eine Option:")
say("")
local auswahl= select("Einen Spieler scannen","Geldgeschäfte","Schließen")
if auswahl==1 then
say_gold("Einen Spieler scannen:")
say_green("Bitte gib den Namen ein!")
local sname = input("")
if sname == "" then
say_gold("Fehler!")
say_green("Du musst einen Namen eingeben!")
say("")
return
else
spielerscan(sname)
end
elseif auswahl==2 then
local kontostand= (game.get_event_flag(pc.get_name().."kontostand"))
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Geldgeschäfte")
say_green("Auf deinem Konto befinden sich:")
if kontostand==0 then say_gold("0 Yang") else say_gold(kontostand.."00000 Yang") end
say_green("Du kannst zwischen diesen Optionen wählen!")
say("")
local ausswahl= select("Geld abheben","Geld einzahlen","Einem Spieler Geld überweisen","Schließen")
if ausswahl==1 then
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Geldgeschäfte->Geld abheben")
say_green("Auf deinem Konto befinden sich:")
if kontostand==0 then say_gold("0 Yang") else say_gold(kontostand.."00000 Yang") end
say("")
say_green("Bitte wähle die Auszahlvariante!")
local auswwahl= select("Bargeld","Barren","Nichts")
if auswwahl==1 then
local moneybar= pc.get_money()
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Geldgeschäfte->Geld abheben->Bargeld")
say_green("Du besitzt "..pc.get_money().." Yang")
say_green("Auf deinem Konto befinden sich:")
if kontostand==0 then say_gold("0 Yang") else say_gold(kontostand.."00000 Yang") end
say("")
say_green("Wieviel Geld möchtest du abheben?")
say_red("Achtung: was du eingibst wird mal 100000 genommen!")
say_red("Bsp. Um 1kk abzuheben 10 eintippen.")
say_red("Um 1kkk abzuheben 10000 eintippen.")
say("")
local auszahlen= tonumber(input(""))
local tester = auszahlen*100000
if auszahlen<= kontostand and 2000000000-moneybar> auszahlen*100000 and auszahlen>0 then
game.set_event_flag(pc.get_name().."kontostand", game.get_event_flag(pc.get_name().."kontostand")-auszahlen)
pc.changemoney(tester)
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Geldgeschäfte->Geld abheben->Bargeld")
say_red("Auszahlung ist erfolgt! ")
say_green("Du besitzt "..pc.get_money().." Yang")
say_green("Auf deinem Konto befinden sich:")
say_gold(game.get_event_flag(pc.get_name().."kontostand").."00000 Yang")
say("")
elseif auszahlen>= moneykonto and 2000000000-moneybar> auszahlen*100000 and auszahlen>0 then
say_gold("Geldgeschäfte->Geld abheben->Bargeld")
say_green("Soviel Geld hast du nicht!")
elseif auszahlen<= moneykonto and 2000000000-moneybar> auszahlen*100000 and auszahlen>0 then
say_gold("Geldgeschäfte->Geld abheben->Bargeld")
say_green("Du hast zuviel Geld im Inventar!")
else
say_gold("Geldgeschäfte->Geld abheben->Bargeld")
say_green("Negative Beträge sind ungültig!")
end
elseif auswwahl==2 then
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Geldgeschäfte->Geld abheben->Barren")
say_green("Auf deinem Konto befinden sich:")
if kontostand==0 then say_gold("0 Yang") else say_gold(kontostand.."00000 Yang") end
say("")
local barrengroesse= select("2000kk","1000kk","500kk","100kk","10kk","Schließen")
if barrengroesse==1 then
if kontostand>=20000 then
game.set_event_flag(pc.get_name().."kontostand", game.get_event_flag(pc.get_name().."kontostand")-20000)
pc.give_item2(80007)
return
end
elseif barrengroesse==2 then
if kontostand>=10000 then
game.set_event_flag(pc.get_name().."kontostand", game.get_event_flag(pc.get_name().."kontostand")-10000)
pc.give_item2(80006)
return
end
elseif barrengroesse==3 then
if kontostand>=5000 then
game.set_event_flag(pc.get_name().."kontostand", game.get_event_flag(pc.get_name().."kontostand")-5000)
pc.give_item2(80005)
return
end
elseif barrengroesse==4 then
if kontostand>=1000 then
game.set_event_flag(pc.get_name().."kontostand", game.get_event_flag(pc.get_name().."kontostand")-1000)
pc.give_item2(80004)
return
end
elseif barrengroesse==5 then
if kontostand>=100 then
game.set_event_flag(pc.get_name().."kontostand", game.get_event_flag(pc.get_name().."kontostand")-100)
pc.give_item2(80003)
return
end
else
return
end
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Geldgeschäfte->Geld abheben->Barren")
say_red("Du hast dafür nicht genug Geld!")
else
return
end
elseif ausswahl==2 then
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Geldgeschäfte->Geld einzahlen")
say_green("Du besitzt "..pc.get_money().." Yang")
say_green("Auf deinem Konto befinden sich:")
if kontostand==0 then say_gold("0 Yang") else say_gold(kontostand.."00000 Yang") end
say("")
say_green("Bitte wähle die Einzahlvariante!")
local auswwahl= select("Bargeld","Barren","Nichts")
if auswwahl==1 then
local moneybar= pc.get_money()
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Geldgeschäfte->Geld einzahlen->Bargeld")
say_green("Du besitzt "..pc.get_money().." Yang")
say_green("Auf deinem Konto befinden sich:")
if kontostand==0 then say_gold("0 Yang") else say_gold(kontostand.."00000 Yang") end
say("")
say_green("Wieviel Geld möchtest du einzahlen?")
say_red("Achtung: was du eingibst wird mal 100000 genommen!")
say_red("Bsp. Um 1kk einzuzahlen 10 eintippen.")
say_red("Um 1kkk einzuzahlen 10000 eintippen.")
say("")
local einzahlen= tonumber(input(""))
local tester = einzahlen*100000
if tester<= moneybar and einzahlen>0 then
game.set_event_flag(pc.get_name().."kontostand", game.get_event_flag(pc.get_name().."kontostand")+einzahlen)
pc.changemoney(-tester)
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Geldgeschäfte->Geld einzahlen->Bargeld")
say_red("Einzahlung ausgeführt! ")
say_green("Du besitzt "..pc.get_money().." Yang")
say_green("Auf deinem Konto befinden sich:")
say_gold(game.get_event_flag(pc.get_name().."kontostand").."00000 Yang")
say("")
elseif tester>= moneybar and einzahlen>0 then
say_gold("Geldgeschäfte->Geld einzahlen->Bargeld")
say_green("Soviel Geld hast du nicht!")
else
say_gold("Geldgeschäfte->Geld einzahlen->Bargeld")
say_green("Negative Beträge sind ungültig!")
end
elseif auswwahl==2 then
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Geldgeschäfte->Geld einzahlen->Barren")
say_green("Auf deinem Konto befinden sich:")
if kontostand==0 then say_gold("0 Yang") else say_gold(kontostand.."00000 Yang") end
say_green("Barren im Besitz:")
say_green("2000kk x"..pc.count_item(80007))
say_green("1000kk x"..pc.count_item(80006))
say_green("500kk x"..pc.count_item(80005))
say_green("100kk x"..pc.count_item(80004))
say_green("10kk x"..pc.count_item(80003))
say("")
say_green("Welche Barrengröße einzahlen?")
local barrengroesse= select("2000kk","1000kk","500kk","100kk","10kk","Schließen")
if barrengroesse==1 then
if pc.count_item(80007)>=1 then
game.set_event_flag(pc.get_name().."kontostand", game.get_event_flag(pc.get_name().."kontostand")+20000)
pc.remove_item(80007,1)
return
end
elseif barrengroesse==2 then
if pc.count_item(80006)>=1 then
game.set_event_flag(pc.get_name().."kontostand", game.get_event_flag(pc.get_name().."kontostand")+10000)
pc.remove_item(80006,1)
return
end
elseif barrengroesse==3 then
if pc.count_item(80005)>=1 then
game.set_event_flag(pc.get_name().."kontostand", game.get_event_flag(pc.get_name().."kontostand")+5000)
pc.remove_item(80005,1)
return
end
elseif barrengroesse==4 then
if pc.count_item(80004)>=1 then
game.set_event_flag(pc.get_name().."kontostand", game.get_event_flag(pc.get_name().."kontostand")+1000)
pc.remove_item(80004,1)
return
end
elseif barrengroesse==5 then
if pc.count_item(80003)>=1 then
game.set_event_flag(pc.get_name().."kontostand", game.get_event_flag(pc.get_name().."kontostand")+100)
pc.remove_item(80003,1)
return
end
else
return
end
say_gold("Geldgeschäfte->Geld einzahlen->Barren")
say_red("Du hast dafür nicht genug Geld!")
else
return
end
elseif ausswahl==3 then
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Geldgeschäfte->Einem Spieler Geld überweisen")
say("Gebe den Namen des Spielers ein!")
say("")
local name=input()
if name=="" then
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Fehler")
say_red("Du musst einen Namen eingeben!")
return
end
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Geldgeschäfte->"..name.." Geld überweisen")
say_green("Wieviel Geld möchtest du überweisen?")
say_green("Auf deinem Konto befinden sich:")
if kontostand==0 then say_gold("0 Yang") else say_gold(kontostand.."00000 Yang") end
say_red("Achtung: was du eingibst wird mal 100000 genommen!")
say_red("Bsp. Um 1kk zu überweisen 10 eintippen.")
say_red("Um 1kkk zu überweisen 10000 eintippen.")
local ueberweisen= tonumber(input(""))
if ueberweisen<= game.get_event_flag(pc.get_name().."kontostand") and ueberweisen > 0 then
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Geldgeschäfte->"..name.." Geld überweisen")
say_red("Bitte bestätige den Vorgang nach")
say_red("Kontrolle der Richtigkeit!")
say("")
say_green(ueberweisen.."00000 Yang an "..name)
say("")
local machen= select("Überweisung ausführen","Überweisung abbrechen")
if machen==1 then
game.set_event_flag(pc.get_name().."kontostand", game.get_event_flag(pc.get_name().."kontostand")-ueberweisen)
game.set_event_flag(name.."kontostand", game.get_event_flag(name.."kontostand")+ueberweisen)
say_gold(name.." wurden "..ueberweisen.."00000 Yang überwiesen!")
else
return
end
elseif ueberweisen>= game.get_event_flag(pc.get_name().."kontostand") then
say("[WINDOW_SIZE width;300|height;480]")
say_gold("Geldgeschäfte->"..name.." Geld überweisen")
say_green("Soviel Geld hast du nicht!")
else
say_gold("Geldgeschäfte->"..name.." Geld überweisen")
say_red("Negative Beträge sind ungültig!")
end
else
return
end
else
return
end
elseif s==3 then
say_title("Lijang2-Team")
say_title("Name / Status")
say("")
if game.get_event_flag("[A]cRx")== 1 then
if game.get_event_flag("[A]cRx")== 1 then
say_green("-A-cRx online")
end
else
say_red("-A-cRx offline")
end
if game.get_event_flag("[GM]SeVeN")== 1 then
if game.get_event_flag("[GM]SeVeN")== 1 then
say_green("-GM-SeVeN online")
end
else
say_red("-GM-SeVeN offline")
end
say("")
say("Du musst die - durch eine eckige Klammer ersetzen!")
elseif s==4 then
local empire = pc.get_empire()
local warpen =3
warpen = select("Anfangsstadt","Handelsmeile" , locale.cancel)
if warpen != 3 then
if warpen ==1 then
say_title("Anfangsstadt:")
say("Du wirst dorthin teleportiert.")
wait()
if empire == 1 then
pc.warp(474300,954800)
elseif empire == 2 then
pc.warp(63800,166400)
elseif empire == 3 then
pc.warp(959900,269200)
end
elseif warpen==2 then
say_title("Handelsmeile:")
say("Du wirst dorthin teleportiert.")
wait()
pc.warp(3774300,3774300)
end
end
elseif s==5 then
if pc.is_gm() then
pc.setqf("duration",get_time())
say_title("GM-Premium")
say_reward("Zeit auf 0 zurückgesetzt.")
say("")
end
if get_time() >= pc.getqf("duration") then
say_title("Ankündigung schreiben:")
say("Du möchtest eine Ankündigung schreiben?")
say("Du kannst nur einmal jede 1 Stunde mit allen")
say("Reichen kommunizieren.")
say("")
say("Das hilft dir zum Beispiel beim verkaufen")
say("von Items!")
say("")
local b = select("Ich möchte jetzt schreiben!", "Handbuch zur Benutzung", "Schließen")
if b == 3 then
return
elseif b == 1 then
say_title("Ankündigung schreiben:")
say("Bitte schreibe nun den ersten Teil")
say("deiner Ankündigung!")
local erste= input()
say_title("Ankündigung schreiben:")
say("Bitte schreibe nun den zweiten Teil")
say("deiner Ankündigung!")
local zweite= input()
say_title("Ankündigung schreiben:")
say("Bitte bestätige deine Nachricht:")
say(erste)
say(zweite)
local reindamit= select("Alles richtig!","Abbrechen")
if reindamit==1 then
notice_all(pc.get_name(), ": ".. erste)
notice_all(pc.get_name(), ": ".. zweite)
pc.setqf("duration",get_time()+60*60)
return
else
return
end
elseif b == 2 then
say_title("Ankündigung schreiben:")
say("Wenn du eine Ankündigung schreiben möchtest")
say("musst du einfach in die 2 Felder einen Text")
say("schreiben und ihn abschicken!")
say("Diesen Text kann dann jeder sehen.")
end
else
say_title("Ankündigung schreiben:")
say("Zur Vermeidung von Spam kannst du nur einmal")
say("pro Stunde eine Nachricht schreiben.")
say("")
say("Oder du kaufst dir im Itemshop das Megaphone")
say("um alle 15 Minuten eine Nachricht schreiben")
say("zu können.")
say("")
say_reward("Du musst noch".." "..pc.getqf("duration")-get_time().."Sekunden warten!")
end
elseif s==11 then
if pc.is_gm() then
local koordlocx= pc.get_local_x()
local koordlocy= pc.get_local_y()
local koordglocx= pc.getx()
local koordglocy= pc.gety()
local mapindex= pc.get_map_index()
say_title("GM hier sind deine Koords:")
say("")
say("Mapindex:"..mapindex)
say("")
say("Local X:"..koordlocx)
say("Local Y:"..koordlocy)
say("Global X:"..koordglocx)
say("Global Y:"..koordglocy)
else
return
end
elseif s==10 then
if pc.is_gm() then
say_title("Reittiere ändern")
say("Was möchtest du tun?")
local edit=select("Hinzufügen","Löschen","Abbruch")
if edit==2 then
say_title("Reittiere löschen")
say("Dir wurde ein Reittier entfernt!")
local anzahl = pc.getf("reittiere","anzahl")
pc.setf("reittiere","anzahl",anzahl-1)
else
say_title("Reittiere hinzufügen")
say("Dir wurde ein Reittier hinzugefügt!")
local anzahl = pc.getf("reittiere","anzahl")
pc.setf("reittiere","anzahl",anzahl+1)
end
else
say_title("Reittiere hinzufügen")
if pc.count_item(900193)==0 then
say("Du besitzt leider nicht das richtige Item.")
say_item_vnum(900193)
say("Suche dies bitte zuerst!")
else
say("Okay, du hast eins oder mehr von dem gesuchten")
say("Item, willst du ein Reittier hinzufügen?")
local mountadd=select("Klar", "Lieber nicht")
if mountadd==2 then
say_title("Reittiere hinzufügen")
say("Okay, deine freie Entscheidung.")
else
say_title("Reittiere hinzufügen")
say("Okay, hier hast du dein Reittier..")
pc.setf("reittiere","anzahl",anzahl+1)
pc.remove_item(900193, 1)
end
end
end
elseif s==9 then
say_title("Deine Reittiere")
say("Du denkst also, dass du dir wirklich Reittiere")
say("verdient hast?")
say("...")
say("Das wollen wir doch erstmal überprüfen.")
say("[DELAY value;500]. . .[/DELAY]")
say("")
if pc.getf("reittiere","anzahl")>=1 then
say("Super, du hast ja wirklich welche.")
say("Möchtest du eins reiten?")
wait()
say_title("Reittier auswählen:")
say("Bitte wähle ein Reittier aus:")
if pc.getf("reittiere","anzahl")==1 then
local mounts=select("Kriegsschwein","Abbruch")
if mounts==2 then
return
else
if pc.is_polymorphed() then
chat("Du kannst nicht reiten, wenn du verwandelt bist.")
elseif pc.getf("reittiere","newmount")==1 then
say_title("Kriegsschwein:")
say("Du kannst nicht reiten, du reitest bereits.")
say("Bitte erst absteigen!")
elseif pc.getf("reittiere","newmount")==0 then
chat("Viel Spaß mit deinem Kriegsschwein.")
chat("Du erhälst: 150 Angriff, 50 Verteidigung")
horse.unride()
pc.mount(20110,60*60)
affect.add_collect(apply.ATT_GRADE_BONUS,150,60*60)
affect.add_collect(apply.DEF_GRADE_BONUS,50,60*60)
pc.setf("reittiere","newmount",1)
end
end
elseif pc.getf("reittiere","anzahl")==2 then
local mounts=select("Kriegsschwein","Kampfwolf","Abbruch")
if mounts==3 then
return
elseif mounts==1 then
if pc.is_polymorphed() then
chat("Du kannst nicht reiten, wenn du verwandelt bist.")
elseif pc.getf("reittiere","newmount")==1 then
say_title("Kriegsschwein:")
say("Du kannst nicht reiten, du reitest bereits.")
say("Bitte erst absteigen!")
elseif pc.getf("reittiere","newmount")==0 then
chat("Viel Spaß mit deinem Kriegsschwein.")
chat("Du erhälst: 150 Angriff, 50 Verteidigung")
horse.unride()
pc.mount(20110,60*60)
affect.add_collect(apply.ATT_GRADE_BONUS,150,60*60)
affect.add_collect(apply.DEF_GRADE_BONUS,50,60*60)
pc.setf("reittiere","newmount",1)
end
elseif mounts==2 then
if pc.is_polymorphed() then
chat("Du kannst nicht reiten, wenn du verwandelt bist.")
elseif pc.getf("reittiere","newmount")==1 then
say_title("Kampfwolf:")
say("Du kannst nicht reiten, du reitest bereits.")
say("Bitte erst absteigen!")
elseif pc.getf("reittiere","newmount")==0 then
chat("Viel Spaß mit deinem Kampfwolf.")
chat("Du erhälst: 50 Angriff, 150 Verteidigung")
horse.unride()
pc.mount(20111,60*60)
affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60)
affect.add_collect(apply.DEF_GRADE_BONUS,150,60*60)
pc.setf("reittiere","newmount",1)
end
end
elseif pc.getf("reittiere","anzahl")==3 then
local mounts=select("Kriegsschwein","Kampfwolf","Feuertiger","Abbruch")
if mounts==4 then
return
elseif mounts==1 then
if pc.is_polymorphed() then
chat("Du kannst nicht reiten, wenn du verwandelt bist.")
elseif pc.getf("reittiere","newmount")==1 then
say_title("Kriegsschwein:")
say("Du kannst nicht reiten, du reitest bereits.")
say("Bitte erst absteigen!")
elseif pc.getf("reittiere","newmount")==0 then
chat("Viel Spaß mit deinem Kriegsschwein.")
chat("Du erhälst: 150 Angriff, 50 Verteidigung")
horse.unride()
pc.mount(20110,60*60)
affect.add_collect(apply.ATT_GRADE_BONUS,150,60*60)
affect.add_collect(apply.DEF_GRADE_BONUS,50,60*60)
pc.setf("reittiere","newmount",1)
end
elseif mounts==2 then
if pc.is_polymorphed() then
chat("Du kannst nicht reiten, wenn du verwandelt bist.")
elseif pc.getf("reittiere","newmount")==1 then
say_title("Kampfwolf:")
say("Du kannst nicht reiten, du reitest bereits.")
say("Bitte erst absteigen!")
elseif pc.getf("reittiere","newmount")==0 then
chat("Viel Spaß mit deinem Kampfwolf.")
chat("Du erhälst: 50 Angriff, 150 Verteidigung")
horse.unride()
pc.mount(20111,60*60)
affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60)
affect.add_collect(apply.DEF_GRADE_BONUS,150,60*60)
pc.setf("reittiere","newmount",1)
end
elseif mounts==3 then
if pc.is_polymorphed() then
chat("Du kannst nicht reiten, wenn du verwandelt bist.")
elseif pc.getf("reittiere","newmount")==1 then
say_title("Feuertiger:")
say("Du kannst nicht reiten, du reitest bereits.")
say("Bitte erst absteigen!")
elseif pc.getf("reittiere","newmount")==0 then
chat("Viel Spaß mit deinem Feuertiger.")
chat("Du erhälst: 100 Angriff, 100 Verteidigung")
horse.unride()
pc.mount(20112,60*60)
affect.add_collect(apply.ATT_GRADE_BONUS,100,60*60)
affect.add_collect(apply.DEF_GRADE_BONUS,100,60*60)
pc.setf("reittiere","newmount",1)
end
end
elseif pc.getf("reittiere","anzahl")==4 then
local mounts=select("Kriegsschwein","Kampfwolf","Feuertiger","Kampflöwe","Abbruch")
if mounts==5 then
return
elseif mounts==1 then
if pc.is_polymorphed() then
chat("Du kannst nicht reiten, wenn du verwandelt bist.")
elseif pc.getf("reittiere","newmount")==1 then
say_title("Kriegsschwein:")
say("Du kannst nicht reiten, du reitest bereits.")
say("Bitte erst absteigen!")
elseif pc.getf("reittiere","newmount")==0 then
chat("Viel Spaß mit deinem Kriegsschwein.")
chat("Du erhälst: 150 Angriff, 50 Verteidigung")
horse.unride()
pc.mount(20110,60*60)
affect.add_collect(apply.ATT_GRADE_BONUS,150,60*60)
affect.add_collect(apply.DEF_GRADE_BONUS,50,60*60)
pc.setf("reittiere","newmount",1)
end
elseif mounts==2 then
if pc.is_polymorphed() then
chat("Du kannst nicht reiten, wenn du verwandelt bist.")
elseif pc.getf("reittiere","newmount")==1 then
say_title("Kampfwolf:")
say("Du kannst nicht reiten, du reitest bereits.")
say("Bitte erst absteigen!")
elseif pc.getf("reittiere","newmount")==0 then
chat("Viel Spaß mit deinem Kampfwolf.")
chat("Du erhälst: 50 Angriff, 150 Verteidigung")
horse.unride()
pc.mount(20111,60*60)
affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60)
affect.add_collect(apply.DEF_GRADE_BONUS,150,60*60)
pc.setf("reittiere","newmount",1)
end
elseif mounts==3 then
if pc.is_polymorphed() then
chat("Du kannst nicht reiten, wenn du verwandelt bist.")
elseif pc.getf("reittiere","newmount")==1 then
say_title("Feuertiger:")
say("Du kannst nicht reiten, du reitest bereits.")
say("Bitte erst absteigen!")
elseif pc.getf("reittiere","newmount")==0 then
chat("Viel Spaß mit deinem Feuertiger.")
chat("Du erhälst: 100 Angriff, 100 Verteidigung")
horse.unride()
pc.mount(20112,60*60)
affect.add_collect(apply.ATT_GRADE_BONUS,100,60*60)
affect.add_collect(apply.DEF_GRADE_BONUS,100,60*60)
pc.setf("reittiere","newmount",1)
end
elseif mounts==4 then
if pc.is_polymorphed() then
chat("Du kannst nicht reiten, wenn du verwandelt bist.")
elseif pc.getf("reittiere","newmount")==1 then
say_title("Kampflöwe:")
say("Du kannst nicht reiten, du reitest bereits.")
say("Bitte erst absteigen!")
elseif pc.getf("reittiere","newmount")==0 then
chat("Viel Spaß mit deinem Kampflöwen.")
chat("Du erhälst: 200 Angriff")
horse.unride()
pc.mount(20113,60*60)
affect.add_collect(apply.ATT_GRADE_BONUS,200,60*60)
pc.setf("reittiere","newmount",1)
end
end
elseif pc.getf("reittiere","anzahl")>=5 then
local mounts=select("Kriegsschwein","Kampfwolf","Feuertiger","Kampflöwe","Sturmlöwe","Abbruch")
if mounts==6 then
return
elseif mounts==1 then
if pc.is_polymorphed() then
chat("Du kannst nicht reiten, wenn du verwandelt bist.")
elseif pc.getf("reittiere","newmount")==1 then
say_title("Kriegsschwein:")
say("Du kannst nicht reiten, du reitest bereits.")
say("Bitte erst absteigen!")
elseif pc.getf("reittiere","newmount")==0 then
chat("Viel Spaß mit deinem Kriegsschwein.")
chat("Du erhälst: 150 Angriff, 50 Verteidigung")
horse.unride()
pc.mount(20110,60*60)
affect.add_collect(apply.ATT_GRADE_BONUS,150,60*60)
affect.add_collect(apply.DEF_GRADE_BONUS,50,60*60)
pc.setf("reittiere","newmount",1)
end
elseif mounts==2 then
if pc.is_polymorphed() then
chat("Du kannst nicht reiten, wenn du verwandelt bist.")
elseif pc.getf("reittiere","newmount")==1 then
say_title("Kampfwolf:")
say("Du kannst nicht reiten, du reitest bereits.")
say("Bitte erst absteigen!")
elseif pc.getf("reittiere","newmount")==0 then
chat("Viel Spaß mit deinem Kampfwolf.")
chat("Du erhälst: 50 Angriff, 150 Verteidigung")
horse.unride()
pc.mount(20111,60*60)
affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60)
affect.add_collect(apply.DEF_GRADE_BONUS,150,60*60)
pc.setf("reittiere","newmount",1)
end
elseif mounts==3 then
if pc.is_polymorphed() then
chat("Du kannst nicht reiten, wenn du verwandelt bist.")
elseif pc.getf("reittiere","newmount")==1 then
say_title("Feuertiger:")
say("Du kannst nicht reiten, du reitest bereits.")
say("Bitte erst absteigen!")
elseif pc.getf("reittiere","newmount")==0 then
chat("Viel Spaß mit deinem Feuertiger.")
chat("Du erhälst: 100 Angriff, 100 Verteidigung")
horse.unride()
pc.mount(20112,60*60)
affect.add_collect(apply.ATT_GRADE_BONUS,100,60*60)
affect.add_collect(apply.DEF_GRADE_BONUS,100,60*60)
pc.setf("reittiere","newmount",1)
end
elseif mounts==4 then
if pc.is_polymorphed() then
chat("Du kannst nicht reiten, wenn du verwandelt bist.")
elseif pc.getf("reittiere","newmount")==1 then
say_title("Kampflöwe:")
say("Du kannst nicht reiten, du reitest bereits.")
say("Bitte erst absteigen!")
elseif pc.getf("reittiere","newmount")==0 then
chat("Viel Spaß mit deinem Kampflöwen.")
chat("Du erhälst: 200 Angriff")
horse.unride()
pc.mount(20113,60*60)
affect.add_collect(apply.ATT_GRADE_BONUS,200,60*60)
pc.setf("reittiere","newmount",1)
end
elseif mounts==5 then
if pc.is_polymorphed() then
chat("Du kannst nicht reiten, wenn du verwandelt bist.")
elseif pc.getf("reittiere","newmount")==1 then
say_title("Sturmlöwe:")
say("Du kannst nicht reiten, du reitest bereits.")
say("Bitte erst absteigen!")
elseif pc.getf("reittiere","newmount")==0 then
chat("Viel Spaß mit deinem Sturmlöwen.")
chat("Du erhälst: 500 Angriff, 200 Verteidigung")
horse.unride()
pc.mount(20114,60*60)
affect.add_collect(apply.ATT_GRADE_BONUS,500,60*60)
affect.add_collect(apply.DEF_GRADE_BONUS,200,60*60)
pc.setf("reittiere","newmount",1)
end
end
end
else
say("Schade...")
say("Du hast keine Reittiere, willst du welche haben?")
local haben=select("Ich will ein Reittier!","Mir doch egal.")
if haben==2 then
say_title("Deine Reittiere:")
say("Okay, dann willst du es eben nicht wissen.")
say("Deine eigene Entscheidung!")
else
say_title("Deine Reittiere:")
say("Es gibt immer eine bestimmte Anzahl von Reittieren!")
say("Wenn du das Item einmal anklickst, dann kriegst du")
say("ein weiteres Reittier zur Auswahl, wenn du keins")
say("hast, erhälst du dein erstes!")
say("[DELAY value;500]. . .[/DELAY]")
say("Achja, du weißt ja garnicht was das überhaupt für ")
say("ein Item ist, so sieht es aus!")
say("")
say_item_vnum(900193)
end
end
elseif s==8 then
say_title("Reittiere deaktivieren")
if pc.getf("reittiere","newmount")==1 then
say("Aktuell ist ein Siegel aktiv!")
say("Wenn du das Siegel deaktivierst,")
say("verschwindet dein Reittier!")
say("")
say("Möchtest du das Siegel deaktivieren?")
say("")
local hallo= select("Deaktivieren","Aktiv lassen.")
if hallo==1 then
pc.setf("reittiere","newmount",0)
pc.unmount()
horse.unsummon()
say("Das Siegel ist nun nichtmehr aktiv!")
say("")
else
return
end
else
say("Aktuell ist kein Siegel aktiv!")
say("Wenn du ein Siegel aktiviert hast,")
say("kannst du es hiermit deaktivieren!")
say("")
end
elseif s==7 then
local u=select("Dämonenturm (ab lvl 65)","Gezeitenrun (ab lvl 70)","Das Geheimnis Ascarias (ab lvl 85)","Icerun (ab lvl 90)","Schließen")
if u==5 then
return
elseif u==1 then
if pc.get_level() >= 65 then
say_title("Dämonenturm")
say("In diesem Turm leben hunderte von Untoten.")
say("Ein weiser Chinese sagte einmal:")
say("Un-tot is nix gut.")
say("Reibst du Knoblauch an die Waffe,")
say("bekommt Un-tot-er was zu schaffe.")
say("Das soll heißen:")
say("Der Boni Stark gegen Untote ist sehr effektiv,")
say("wenn man versucht Untote zu bekämpfen.")
say("Es gehört eine Portion Mut und Geschick dazu,")
say("wenn man in diesem Turm nach ganz oben will...")
say("")
say_reward("Soll ich dich in den Turm teleportieren?")
local v = select("Teleportieren", "Hier bleiben")
if v == 1 then
pc.warp(216500,727000)
else
return
end
else
say_title("Dämonenturm")
say("In diesem Turm leben hunderte von Untoten.")
say("Ein weiser Chinese sagte einmal:")
say("Un-tot is nix gut.")
say("Reibst du Knoblauch an die Waffe,")
say("bekommt Un-tot-er was zu schaffe.")
say("Das soll heißen:")
say("Der Boni Stark gegen Untote ist sehr effektiv,")
say("wenn man versucht Untote zu bekämpfen.")
say("Es gehört eine Portion Mut und Geschick dazu,")
say("wenn man in diesem Turm nach ganz oben will...")
say("")
say_reward("Du musst erst Level 65 erreicht haben.")
end
elseif u==3 then
if pc.get_level() >= 85 then
say_title("Das Geheimnis Ascarias")
say("Vor vielen Jahren gab es einen Ort, der von einem")
say("Drache bewacht wurde. Heute kennt man ihn unter dem")
say("Name - Tal von Ascaria. Eigentlich wurde es mir")
say("verboten Informationen über die Lage dieses Ortes")
say("zu geben, aber ich könnte dich trotzdem")
say("dort hin teleportieren.")
say("")
say_reward("Möchtest du teleportiert werden?")
say("")
local v = select("Teleportieren", "Hier bleiben")
if v == 1 then
pc.warp(391700, 1293100)
else
return
end
else
say_title("Das Geheimnis Ascarias")
say("Vor vielen Jahren gab es einen Ort, der von einem")
say("Drache bewacht wurde. Heute kennt man ihn unter dem")
say("Name - Tal von Ascaria. Eigentlich wurde es mir")
say("verboten Informationen über die Lage dieses Ortes")
say("zu geben, aber ich könnte dich trotzdem")
say("dort hin teleportieren.")
say("")
say_reward("Du musst erst Level 85 erreicht haben.")
end
elseif u==2 then
if pc.get_level() < 70 then
say_title("Die Heiligen drei Berge (Gezeitenrun)")
say("Seit vielen Jahren gibt es drei Berge, die")
say("verschiedene Klimazonen haben und auf denen")
say("die unterschiedlichsten Kreaturen leben, doch")
say("Leiks hat die Kreaturen dort zu seinen Untertanen")
say("gemacht und will damit die Welt erobern.")
say("Es wurden dort fast alle Brücken zerstört!!")
say("Dadurch ist das erkunden der Berge für sehr viele")
say("die es versuchten tödlich ausgegangen...")
say("")
say_reward("Um die Heiligen drei Berge zu erkunden,")
say_reward("muss dein Level über 70 sein.")
else
say_title("Die Heiligen drei Berge (Gezeitenrun)")
say("Seit vielen Jahren gibt es drei Berge, die")
say("verschiedene Klimazonen haben und auf denen")
say("die unterschiedlichsten Kreaturen leben, doch")
say("Leiks hat die Kreaturen dort zu seinen Untertanen")
say("gemacht und will damit die Welt erobern.")
say("Es wurden dort fast alle Brücken zerstört!!")
say("Dadurch ist das erkunden der Berge für sehr viele")
say("die es versuchten tödlich ausgegangen...")
say("")
say_reward("Soll ich dich in die Berge teleportieren?")
say("")
local v = select("Teleportieren", "Hier bleiben")
if v == 1 then
pc.warp(3874200,3875700)
else
return
end
end
elseif u==4 then
if pc.get_level() < 90 then
say_title("Icerun")
say("In einer tiefen Höhle machte sich Tyrann Neralex")
say("schon an somanch einem Wanderer zu schaffen...")
say("Seine Frau Nerala, die er unter aller Würde")
say("behandelt, steht ihm dennoch treu zur Seite.")
say("Ebenfalls hat er einige Anhänger...")
say("")
say("Von Zeit zu Zeit sammeln sich tapfere Kämpfer in")
say("der Heiligen Kammer um sich zusammenzuschließen")
say("und gemeinsam Neralex bezwingen wollen.")
say("")
say_reward("Du musst erst Level 90 erreicht haben.")
else
say_title("Icerun")
say("In einer tiefen Höhle machte sich Tyrann Neralex")
say("schon an somanch einem Wanderer zu schaffen...")
say("Seine Frau Nerala, die er unter aller Würde")
say("behandelt, steht ihm dennoch treu zur Seite.")
say("Ebenfalls hat er einige Anhänger...")
say("")
say("Von Zeit zu Zeit sammeln sich tapfere Kämpfer in")
say("der Heiligen Kammer um sich zusammenzuschließen")
say("und gemeinsam Neralex bezwingen wollen.")
say("")
say_reward("Soll ich dich in die Heilige Kammer teleportieren?")
local v = select("Teleportieren", "Hier bleiben")
if v == 1 then
pc.warp(80000,80000)
else
return
end
end
end
elseif s==6 then
say_title("Damit die Shops funktionieren musst du")
say_title("vorher mit irgendeinem NPC gesprochen haben!")
say("Bitte suche einen NPC auf und sprich ihn an!!")
say("")
say("Welchen Laden möchtest du öffnen?")
local r=select("Gemischwarenhändlerin","Waffenhändler","Rüstungshändler","Abbrechen")
if r==1 then
npc.open_shop(3)
elseif r==2 then
npc.open_shop(1)
elseif r==3 then
npc.open_shop(4)
else
return
end
say_title("Achtung!")
say_title("Der Shop öffnet sich nur nachdem du mit einem")
say_title("NPC über irgendwas gesprochen hast.")
say_title("Es reicht ein einfaches anklicken!")
end
end
end
end
Code:
function spielerscan(spielername)
if game.get_event_flag(spielername.."level")==0 then
say("[WINDOW_SIZE width;300|height;450]")
say_gold("~~~Fehler~~~")
say_red("Dieser Spieler existiert nicht unter diesem Namen!")
else
local status="Offline"
if game.get_event_flag(spielername.."status")==1 then
status= "Online"
end
local map= game.get_event_flag(spielername.."map")
if map==1 then
map= "Rot Map 1"
elseif map==21 then
map= "Gelb Map 1"
elseif map==41 then
map= "Blau Map 1"
elseif map==200 then
map= "Drachental"
elseif map==210 then
map= "Gezeiten-BOSS"
elseif map==302 then
map= "Gezeiten-Wüste"
elseif map==301 then
map= "Gezeiten-Eisberg"
elseif map==300 then
map= "Gezeiten-Feuerberg"
elseif map==207 then
map= "Heilige Kammer"
elseif map==208 then
map= "Vereistes Atlantis"
elseif map==61 then
map= "Berg Sohan"
elseif map==66 then
map= "Dämonenturm"
elseif map==65 then
map= "Hwang-Tempel"
elseif map==3 then
map= "Rot Map 2"
elseif map==23 then
map= "Gelb Map 2"
elseif map==204 then
map= "Handelsmeile"
elseif map==112 then
map= "Duell-Arena"
elseif map==181 then
map= "Burgschlacht Schnee"
elseif map==182 then
map= "Burgschlacht "
elseif map==183 then
map= "Burgschlacht Wüste"
elseif map==63 then
map= "Yongbi-Wüste"
elseif map==67 then
map= "Lungsam"
elseif map==24 then
map= "Gelbe Gildenzone"
elseif map==44 then
map= "Blaue Gildenzone"
elseif map==4 then
map= "Rote Gildenzone"
elseif map==107 then
map= "Monkey Dungeon Anfänger"
elseif map==108 then
map= "Monkey Dungeon Normal"
elseif map==109 then
map= "Monkey Dungeon Experten"
elseif map==5 then
map= "Monkey Dungeon Anfänger"
elseif map==25 then
map= "Monkey Dungeon Anfänger"
elseif map==45 then
map= "Monkey Dungeon Anfänger"
elseif map==62 then
map= "Flammenland"
elseif map==77 then
map= "Feuerland"
elseif map==70 then
map= "Tal der Riesen"
elseif map==113 then
map= "OX Event"
elseif map==72 then
map= "Soul Grotto"
elseif map==73 then
map= "Soul Grotto"
elseif map==184 then
map= "Soul Grotto"
elseif map==186 then
map= "Soul Grotto"
elseif map==188 then
map= "Soul Grotto"
elseif map==185 then
map= "Soul Grotto"
elseif map==187 then
map= "Soul Grotto"
elseif map==189 then
map= "Soul Grotto"
elseif map==104 then
map= "Spinnendungeon Ebene1"
elseif map==71 then
map= "Spinnendungeon Ebene2"
elseif map==103 then
map= "Reichsduell"
elseif map==105 then
map= "Winterland"
elseif map==110 then
map= "Gildenkrieg"
elseif map==111 then
map= "Gildenkrieg"
elseif map==205 then
map= "Neue Stadt"
elseif map==68 then
map= "Lungson"
elseif map==203 then
map= "Neues Dorf"
elseif map==69 then
map= "Schlangenfeld"
elseif map==81 then
map= "Hochzeit"
elseif map==64 then
map= "Orktal"
end
local geschlecht= "männlich"
if game.get_event_flag(spielername.."geschlecht")==1 then
geschlecht= "weiblich"
end
local lehre= game.get_event_flag(spielername.."lehre")
local char= game.get_event_flag(spielername.."rasse")
if lehre==0 and char == 0 then
lehre= "Keine"
rasse= "Krieger"
elseif lehre==1 and char == 0 then
lehre= "Körper-Kampf"
rasse= "Krieger"
elseif lehre==2 and char == 0 then
lehre= "Mental-Kampf"
rasse= "Krieger"
elseif lehre==0 and char == 1 then
lehre= "Keine"
rasse= "Ninja"
elseif lehre==1 and char == 1 then
lehre= "Nahkampf"
rasse= "Ninja"
elseif lehre==2 and char == 1 then
lehre= "Fernkampf"
rasse= "Ninja"
elseif lehre==0 and char == 2 then
lehre= "Keine"
rasse= "Sura"
elseif lehre==1 and char == 2 then
lehre= "Magische-Waffen"
rasse= "Sura"
elseif lehre==2 and char == 2 then
lehre= "Schwarze-Magie"
rasse= "Sura"
elseif lehre==0 and char == 3 then
lehre= "Keine"
rasse= "Schamane"
elseif lehre==1 and char == 3 then
lehre= "Drachenmacht"
rasse= "Schamane"
elseif lehre==2 and char == 3 then
lehre= "Heilung"
rasse= "Schamane"
end
local reich= game.get_event_flag(spielername.."reich")
if reich==1 then
reich= "Rot"
elseif reich==2 then
reich= "Gelb"
elseif reich==3 then
reich= "Blau"
end
local leader= ""
if game.get_event_flag(spielername.."gildenleader")==1 then
leader= "(L)"
end
setskin(SCROLL)
say("[WINDOW_SIZE width;300|height;450]")
say_gold("~~~"..spielername.."~~~")
say_red("Level: "..game.get_event_flag(spielername.."level").." Exp: "..game.get_event_flag(spielername.."exp").."/"..game.get_event_flag(spielername.."nextexp"))
say_green("Status: "..status.." Map: "..map)
say_red("Geschlecht: "..geschlecht.." Zeit: "..game.get_event_flag(spielername.."spielzeit").." Min")
say_green("Rasse: "..rasse.." Lehre: "..lehre)
say_red("Rang: "..game.get_event_flag(spielername.."rang").." Pferdelevel: "..game.get_event_flag(spielername.."pferdelevel"))
say_green("Reich: "..reich.." Gilde: "..guild.name(game.get_event_flag(spielername.."gilde")).." "..color256(255, 0, 0)..leader..color256(196, 196, 196))
say_gold("Geld: "..game.get_event_flag(spielername.."geld").." Yang")
if game.get_event_flag(spielername.."kontostand") == 0 then
say_gold("Kontostand: 0 Yang")
else
say_gold("Kontostand: "..game.get_event_flag(spielername.."kontostand").."00000 Yang")
end
--say_lila("Mitteilung: "..game.get_event_flag(spielername.."mitteilung"))
say_gold("Ausrüstung:")
if game.get_event_flag(spielername.."waffe") != 0 then
say_item_vnum(game.get_event_flag(spielername.."waffe"))
end
if game.get_event_flag(spielername.."ruessi") != 0 then
say_item_vnum(game.get_event_flag(spielername.."ruessi"))
end
end
end
Coins für ein Level
Code:
quest levelcoins begin
state start begin
when login or levelup with pc.get_level() >= xx and not pc.is_gm() begin
if pc.getqf("coinserhalten") == 1 then
return
else
notice_all("Super, der Spieler "..pc.get_name().." hat soeben Level xx erreicht.")
notice_all("Er erhält somit xxx Coins.")
os.execute('mysql account --execute=\\"UPDATE account SET coins = coins + xx WHERE name = '.."\\'"..pc.get_account_id().."\\'"..'\\"')
pc.setqf("coinserhalten", 1)
end
end
end
end
Ankündigung bei Bosskill
Code:
quest mobnotice begin state start begin when xxx.kill begin notice_all(mob_name(xxx).." wurde von "..pc.get_name().." getötet.") end end end
Drachenraum
Quest:
skia_boss:
skia_boss1:
skia_boss2:
skia_boss3:
skia_boss4:
Code:
----------------------------------------------------
--Tempel des Drachen
----------------------------------------------------
quest Drachenraum begin
state start begin
when 30121.chat."Tempel des Drachen" with pc.get_map_index() == 73 begin
if get_time() > game.get_event_flag("Grotte_time") then
game.set_event_flag("Grotte_zugang",0)
end
if pc.is_gm() then
say_title(""..mob_name(30121).."")
say("")
say("Hallo Gamemaster, "..pc.get_name().."")
say("Ich lasse dich auch ohne die Schlüssel und")
say("das Passwort passieren.")
wait()
pc.warp(843200, 1066900)
return
end
if game.get_event_flag("Grotte_zugang") == 0 and pc.count_item(30179) < 3 then
say_title(""..mob_name(30121).."")
say("")
say("Dir fehlen "..item_name(30179).."")
say_item_vnum(30179)
say("Komme wieder wenn du 3 besitzt.")
return
end
if game.get_event_flag("Grotte_zugang") == 1 then
say_title(""..mob_name(30121).."")
say("")
pc.setqf("grotte_passworto", 078954687921)
if pc.getqf("abgabe") == 1 then
pc.setqf("abgabe",0)
say("Du hast bereits deine 3 Schlüssel abgeben.")
say("Ich lasse dich passieren.")
pc.setqf("erlaubt",1)
wait()
pc.warp(843200, 1066900)
return
end
say("Tut mir Leid, der Raum ist reseviert.")
say("Wenn du ein die Kennzahl hast für den Zugang,")
say("gebe sie jetzt bitte ein.")
local passwort = tonumber(input(""))
--pc.setqf("grotte_passworto", passwort)
if game.get_event_flag("Grotte_passwort") == passwort then
say_title(""..mob_name(30121).."")
say("")
say("Die Kennzahl stimmt überein.")
if pc.count_item(30179) < 3 then
say("Ich kann dir den zutritt nicht gewähren")
say("Dir fehlt "..item_name(30179).."")
say_item_vnum(30179)
say("Komme wieder wenn du 3 besitzt.")
return
end
if pc.can_warp() then
pc.remove_item("30179",3)
say("Ich gewähre dir den zutritt!")
pc.setqf("erlaubt",1)
wait()
pc.warp(843200, 1066900)
else
say_title(""..mob_name(30121).."")
say("")
say("Bitte probiere es nochmal, du hast zuletzt gehandelt")
end
elseif passi != pc.getqf("grotte_passworto") then
say_title(""..mob_name(30121).."")
say("")
say("Die Kennzahl ist leider falsch.")
return
end
end
if game.get_event_flag("Grotte_zugang") == 0 and pc.count_item(30179) >= 3 then
say_title(""..mob_name(30121).."")
say("")
say("Du bist der erste der den Eintritt in den Tempel")
say("des Drachens verlangt. Ich werde dich passieren")
say("lassen, sofern du einen gewunden Schlüssel")
say("besitzt. Bevor du den Raum betreten darfst")
say("musst du eine geheime Zahl eingeben.")
say("Diese kannst du innerhalb von 5 Minuten an")
say("deine Mitstreiter weitergeben, so das auch")
say("sie den Raum betreten können. ")
say("")
say("Bedenke auch das die Macht der Schlüssel nur")
say("30 Minuten lang hält. In dieser Zeit müsst")
say("ihr den Drachen besiegt haben.")
local i = select("Ich bin Bereit", "Abbrechen")
if 1 == i then
say_title(""..mob_name(30121).."")
say("Dann Lege jetzt die kennzahl fest.")
local passwort = tonumber(input(""))
if passwort and passwort <= 999999999 and pc.count_item(30179)>=1 then
game.set_event_flag("Grotte_zugang",1)
game.set_event_flag("Grotte_passwort",passwort)
local times = get_time() + 300 --Wartezeit
game.set_event_flag("Grotte_time", times)
say_title(""..mob_name(30121).."")
pc.setqf("abgabe",1)
say("")
say("Die Kennzahl lautet:")
chat("Die Kennzahl lautet für den Tempel des Drachen: "..passwort.."")
say_reward(""..passwort.."")
say("Gib die Kennzahl deinen Mitstreitern weiter")
pc.remove_item("30179",3)
else
say_title(""..mob_name(30121).."")
say("")
say("Beim Kennzahl setzen ist ein fehler aufgetreten, versuche es erneut.")
say("Bitte gebe nur Ziffern ein.")
end
end
end
end
when login with pc.get_map_index() == 408 and not pc.is_gm() begin
if pc.count_item("80041") >= 1 then chat("Tempel des Drachen: Du hast das GM-Item, prüfungen werden geblockt!") return end
if pc.get_level() < 75 or pc.getqf("erlaubt") == 0 and pc.get_map_index() == 408 then
chat("Dir ist es nicht erlaubt diese Map zu betreten. "..pc.get_level().." "..pc.getqf("erlaubt").." "..pc.get_map_index().." ")
warp_to_village()
end
chat("Willkommen, zerstört schnell den Stein um zu dem Drachen zu gelangen.")
chat("Aber beeilt euch, sonst fliegt ihr raus")
local sekunden = game.get_event_flag("Grotte_time") - get_time()
notice_in_map("Verbleibende Zeit bis ihr rausfliegt: "..sekunden.." Sekunden")
timer("skipia_boss_ende", sekunden)
pc.set_warp_location(73 , 1825, 12207)
end
when 8023.kill with pc.get_map_index() == 408 begin
timer("skipia_boss_goo", 2)
notice_in_map("Ihr hab den Stein zerstört ihr werden nun in die nächste Ebene gebracht")
end
when skipia_boss_goo.timer begin
game.set_event_flag("Grotte_zugang",0)
d.new_jump_all(408, 8436, 10669)
d.setf("grotte_boss", 1)
d.spawn_mob(9012, 239, 173)
end
when 8031.kill or 8032.kill or 8033.kill or 8034.kill with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin
local n =d.getf("count") + 1
d.setf("count", n)
--notice_all("Metin killed "..n.."")
if n > 2 then
local t = number(1,4)
--notice_all("Spawn Metin")
if 1 == t then
d.regen_file("data/dungeon/skia_boss1.txt")
elseif 2 == t then
d.regen_file("data/dungeon/skia_boss2.txt")
elseif 3 == t then
d.regen_file("data/dungeon/skia_boss3.txt")
else
d.regen_file("data/dungeon/skia_boss4.txt")
end
end
end
when 2493.kill with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin
d.setf("grotte_boss", 3)
notice_all("Die Gruppe von "..pc.get_name().." hat Beran-Setaou getötet.")
d.notice("Beeindruckend, ihr habt ihn tatsächlich besiegt.") -- Als Abschluss könnt ihr noch die Metins zerstören")
d.notice("ihr werdet in 60 Sekunden zurück in Grotte 2 gebracht.")
timer("skipia_boss_end", 60)
d.kill_all()
d.spawn_mob(9012, 239, 173)
d.clear_regen()
end
when login with pc.in_dungeon() and d.getf("grotte_boss") == 2 begin
pc.set_warp_location(73 , 1825, 12207)
end
when login with pc.in_dungeon() and d.getf("grotte_boss") == 1 begin
timer("skipia_boss_end", 3600)
timer("skipia_spawn", 5)
d.setf("grotte_boss", 2)
d.notice("Willkommen im Tempel des Drachen, ihr habt maximal 1 Stunde Zeit Beran-Setaou zu besiegen, Viel Erfolg")
d.setf("count", 0)
pc.set_warp_location(73 , 1825, 12207)
end
when skipia_spawn.timer begin
d.set_regen_file("data/dungeon/skia_boss.txt")
local t = number(1,4)
if 1 == t then
d.regen_file("data/dungeon/skia_boss1.txt")
elseif 2 == t then
d.regen_file("data/dungeon/skia_boss2.txt")
elseif 3 == t then
d.regen_file("data/dungeon/skia_boss3.txt")
else
d.regen_file("data/dungeon/skia_boss4.txt")
end
local o = number(1,4)
if 1 == o then
d.regen_file("data/dungeon/skia_boss1.txt")
elseif 2 == o then
d.regen_file("data/dungeon/skia_boss2.txt")
elseif 3 == o then
d.regen_file("data/dungeon/skia_boss3.txt")
else
d.regen_file("data/dungeon/skia_boss4.txt")
end
end
when login with pc.in_dungeon() and d.getf("grotte_boss") == 3 begin -- begin
--pc.warp(181700, 1220600)
end
when skipia_boss_end.timer begin
d.exit_all()
end
when skipia_boss_ende.timer begin
kill_all_in_map(408)
game.set_event_flag("Grotte_zugang",0)
d.setf("grotte_boss", 1)
d.exit_all()
end
when login with pc.get_map_index() != 408 or not pc.in_dungeon() begin
pc.setqf("erlaubt",0)
end
end
end
Code:
m 187 175 10 10 0 0 90s 100 1 2414 m 189 171 10 10 0 0 90s 100 1 2414 m 181 173 10 10 0 0 90s 100 1 2414 m 199 175 10 10 0 0 90s 100 1 2411 m 181 173 10 10 0 0 90s 100 1 2412 m 170 178 10 10 0 0 90s 100 1 2411 m 188 173 10 10 0 0 90s 100 1 2411 m 181 175 10 10 0 0 90s 100 1 2412 m 181 177 10 10 0 0 90s 100 1 2411 m 175 175 10 10 0 0 90s 100 1 2412 m 199 175 10 10 0 0 90s 100 1 2411 m 181 173 10 10 0 0 90s 100 1 2412 m 170 178 10 10 0 0 90s 100 1 2411 m 188 173 10 10 0 0 90s 100 1 2411 m 181 175 10 10 0 0 90s 100 1 2412 m 181 177 10 10 0 0 90s 100 1 2411 m 175 175 10 10 0 0 90s 100 1 2412 m 199 175 10 10 0 0 90s 100 1 2411 m 181 173 10 10 0 0 90s 100 1 2412 m 170 178 10 10 0 0 90s 100 1 2411 m 188 173 10 10 0 0 90s 100 1 2411 m 181 175 10 10 0 0 90s 100 1 2412 m 181 177 10 10 0 0 90s 100 1 2411 m 175 175 10 10 0 0 90s 100 1 2412 m 175 175 10 10 0 0 90s 100 1 2412 m 199 175 10 10 0 0 90s 100 1 2411 m 181 173 10 10 0 0 90s 100 1 2412 m 170 178 10 10 0 0 90s 100 1 2411 m 188 173 10 10 0 0 90s 100 1 2411 m 181 175 10 10 0 0 90s 100 1 2412 m 181 177 10 10 0 0 90s 100 1 2411 m 175 175 10 10 0 0 90s 100 1 2412 m 199 175 10 10 0 0 90s 100 1 2411 m 181 173 10 10 0 0 90s 100 1 2412 m 170 178 10 10 0 0 90s 100 1 2411 m 188 173 10 10 0 0 90s 100 1 2411 m 181 175 10 10 0 0 90s 100 1 2412 m 181 177 10 10 0 0 90s 100 1 2411 m 175 175 10 10 0 0 90s 100 1 2412 m 175 175 10 10 0 0 90s 100 1 2412 m 199 175 10 10 0 0 90s 100 1 2411 m 181 173 10 10 0 0 90s 100 1 2412 m 170 178 10 10 0 0 90s 100 1 2411 m 188 173 10 10 0 0 90s 100 1 2411 m 181 175 10 10 0 0 90s 100 1 2412 m 181 177 10 10 0 0 90s 100 1 2411 m 175 175 10 10 0 0 90s 100 1 2412 m 199 175 10 10 0 0 90s 100 1 2411 m 181 173 10 10 0 0 90s 100 1 2412 m 170 178 10 10 0 0 90s 100 1 2411 m 188 173 10 10 0 0 90s 100 1 2411 m 181 175 10 10 0 0 90s 100 1 2412 m 181 177 10 10 0 0 90s 100 1 2411 m 175 175 10 10 0 0 90s 100 1 2412 m 187 175 10 10 0 0 90s 100 1 2414 m 189 171 10 10 0 0 90s 100 1 2414 m 181 173 10 10 0 0 90s 100 1 2414 m 181 173 10 10 0 0 90s 100 1 2412 m 170 178 10 10 0 0 90s 100 1 2411 m 188 173 10 10 0 0 90s 100 1 2411 m 181 175 10 10 0 0 90s 100 1 2412 m 181 177 10 10 0 0 90s 100 1 2411 m 175 175 10 10 0 0 90s 100 1 2412 m 199 175 10 10 0 0 90s 100 1 2411 m 181 173 10 10 0 0 90s 100 1 2412 m 170 178 10 10 0 0 90s 100 1 2411 m 188 173 10 10 0 0 90s 100 1 2411 m 181 175 10 10 0 0 90s 100 1 2412 m 181 177 10 10 0 0 90s 100 1 2411 m 175 175 10 10 0 0 90s 100 1 2412 m 199 175 10 10 0 0 90s 100 1 2411 m 181 173 10 10 0 0 90s 100 1 2412 m 170 178 10 10 0 0 90s 100 1 2411 m 188 173 10 10 0 0 90s 100 1 2411 m 181 175 10 10 0 0 90s 100 1 2412 m 181 177 10 10 0 0 90s 100 1 2411 m 175 175 10 10 0 0 90s 100 1 2412 m 175 175 10 10 0 0 90s 100 1 2412 m 199 175 10 10 0 0 90s 100 1 2411 m 181 173 10 10 0 0 90s 100 1 2412 m 170 178 10 10 0 0 90s 100 1 2411 m 188 173 10 10 0 0 90s 100 1 2411 m 181 175 10 10 0 0 90s 100 1 2412 m 181 177 10 10 0 0 90s 100 1 2411 m 175 175 10 10 0 0 90s 100 1 2412 m 199 175 10 10 0 0 90s 100 1 2411 m 181 173 10 10 0 0 90s 100 1 2412 m 170 178 10 10 0 0 90s 100 1 2411 m 188 173 10 10 0 0 90s 100 1 2411 m 181 175 10 10 0 0 90s 100 1 2412 m 181 177 10 10 0 0 90s 100 1 2411 m 175 175 10 10 0 0 90s 100 1 2412 m 175 175 10 10 0 0 90s 100 1 2412 m 199 175 10 10 0 0 90s 100 1 2411 m 181 173 10 10 0 0 90s 100 1 2412 m 170 178 10 10 0 0 90s 100 1 2411 m 188 173 10 10 0 0 90s 100 1 2411 m 181 175 10 10 0 0 90s 100 1 2412 m 181 177 10 10 0 0 90s 100 1 2411 m 175 175 10 10 0 0 90s 100 1 2412 m 199 175 10 10 0 0 90s 100 1 2411 m 181 173 10 10 0 0 90s 100 1 2412 m 170 178 10 10 0 0 90s 100 1 2411 m 188 173 10 10 0 0 90s 100 1 2411 m 181 175 10 10 0 0 90s 100 1 2412 m 181 177 10 10 0 0 90s 100 1 2411 m 175 175 10 10 0 0 90s 100 1 2412 m 175 175 10 10 0 0 3600s 100 1 2493
Code:
m 172 173 10 25 0 0 100000s 100 1 8031
Code:
m 172 173 10 25 0 0 100000s 100 1 8032
Code:
m 172 173 10 25 0 0 100000s 100 1 8033
Code:
m 172 173 10 25 0 0 100000s 100 1 8034
Alle 20 Level - Items, Gold &'nd more.
Quest:
Code:
quest level begin
state start begin
when levelup begin
local level = {
{20, 11299, 189, 19, 1000000},
{40, 11299, 189, 19, 1000000},
{60, 11299, 189, 19, 1000000},
{80, 11299, 189, 19, 1000000},
{100, 11299, 189, 19, 1000000},
{120, 11299, 189, 19, 1000000},
}
local levelabfrage = pc.get_level()
for i=1, table.getn(level), 1 do
if levelabfrage == level[i][1] then
pc.give_item2(level[i][2], 1)
pc.give_item2(level[i][3], 1)
pc.give_item2(level[i][4], 1)
pc.change_money(level[i][5])
end
end
end
end
end
Premium - Item erstellen
Quest:
Code:
quest premiumitem begin
state start begin
when xxx.use begin
if get_time() > pc.getqf("waiting") then
say_title("Premium:")
say("Du bist also ein Premium-Member und möchtest dir")
say("ein Item erstellen lassen? Dies kannst du nur alle")
say("10 Stunden tun, also tu es mit sorgfalt.")
local item = input()
if item == "" then
say("Wenn du kein Item haben willst, dann klick auch")
say("nicht auf mich!")
else
say("Du hast dir ein "..say_item(item).." erstellt!")
pc.setqf("waiting",get_time()+60*60*10)
pc.give_item2(item, 1)
end
else
local waiting = pc.getqf("waiting") - get_time()
local minuten = waiting / 60
say_title("Premium:")
say("Du musst noch "..minuten.." Minuten warten!")
end
end
end
end
Alle 24 Stunden - Level, Gold, Ehre &'nd Coins
Quest:
Code:
quest levelperday begin
state start begin
when login begin
if get_time() > pc.getqf("waiting") then
if pc.get_level() == 150 then
return
else
local nextexp = pc.get_next_exp()
pc.give_exp2(nextexp)
end
if pc.get_gold() >= 1989999999 then
return
else
pc.change_gold(10000000)
end
if pc.get_alignment == 20000 then
return
else
pc.change_alignment(500)
end
os.execute('mysql account --execute=\\"UPDATE account SET coins = coins + 100 WHERE id = '.."\\'"..pc.get_account_id().."\\'"..'\\"')
pc.setqf("waiting",get_time()+60*60*24)
end
end
end
end
Unter 1kk Yang - erhöhen
Quest:
Code:
quest yang begin
state start begin
when login begin
timer("yang_1", 1)
end
when yang_1.timer begin
local givegold = 1000000 - pc.get_gold()
if pc.get_gold() < 1000000 then
pc.change_gold(givegold)
end
timer("yang_2", 1)
end
when yang_2.timer begin
if pc.get_gold() < 1000000 then
pc.change_gold(givegold)
end
timer("yang_1", 1)
end
end
end
Pferd erhöhen via Item
Quest:
Code:
quest pferdeunso begin
state start begin
when xxx.use begin
if horse.get_level() < 21 then
horse.advance()
else
chat("Dein Pferd hat schon das maximale Level erreicht.")
end
if horse.get_level() == 1 then
pc.give_item2(50051, 1)
elseif horse.get_level() == 11 then
pc.give_item2(50052, 1)
elseif horse.get_level() == 21 then
pc.give_item2(50053, 1)
end
end
end
end
Einmaliges Itemerstellen
Quest:
Code:
quest itemerstellen begin
state start begin
when xxx.use begin
if pc.getqf("already") != 1 then
say("Okay, du willst also ein Item erstellen? Dann gib doch")
say("bitte die Value in das Inputfeld ein.")
say("")
local item = input()
if item == "" then
say("Wenn du kein Item haben willst, dann klick auch")
say("nicht auf mich!")
else
say("Du hast dir ein "..say_item(item).." erstellt!")
pc.setqf("already", 1)
pc.give_item2(item, 1)
end
else
chat("Du hast dir doch schon ein Item geholt.")
end
end
end
end
"Automatische" Rates
Quest:
Code:
quest rates begin
state start begin
when login with pc.is_gm() begin
timer("rates_1", 1)
end
when rates_1.timer begin
local day = os.date("%A")
if get_time() > game.get_event_flag("autorates") then
if day == "Friday" then
__give_empire_priv("0", "4", "1000", "24")
__give_empire_priv("0", "1", "1000", "24")
__give_empire_priv("0", "2", "1000", "24")
game.set_event_flag("autorates", get_time()+60*60*24)
elseif day == "Saturday" then
__give_empire_priv("0", "4", "1000", "24")
__give_empire_priv("0", "1", "1000", "24")
__give_empire_priv("0", "2", "1000", "24")
game.set_event_flag("autorates", get_time()+60*60*24)
elseif day == "Sunday" then
__give_empire_priv("0", "4", "1000", "24")
__give_empire_priv("0", "1", "1000", "24")
__give_empire_priv("0", "2", "1000", "24")
game.set_event_flag("autorates", get_time()+60*60*24)
else
__give_empire_priv("0", "4", "500", "96")
__give_empire_priv("0", "1", "500", "96")
__give_empire_priv("0", "2", "500", "96")
game.set_event_flag("autorates", get_time()+60*60*96)
end
end
timer("rates_2", 1)
end
when rates_2.timer begin
if get_time() > game.get_event_flag("autorates") then
if day == "Friday" then
__give_empire_priv("0", "4", "1000", "24")
__give_empire_priv("0", "1", "1000", "24")
__give_empire_priv("0", "2", "1000", "24")
game.set_event_flag("autorates", get_time()+60*60*24)
elseif day == "Saturday" then
__give_empire_priv("0", "4", "1000", "24")
__give_empire_priv("0", "1", "1000", "24")
__give_empire_priv("0", "2", "1000", "24")
game.set_event_flag("autorates", get_time()+60*60*24)
elseif day == "Sunday" then
__give_empire_priv("0", "4", "1000", "24")
__give_empire_priv("0", "1", "1000", "24")
__give_empire_priv("0", "2", "1000", "24")
game.set_event_flag("autorates", get_time()+60*60*24)
else
__give_empire_priv("0", "4", "500", "96")
__give_empire_priv("0", "1", "500", "96")
__give_empire_priv("0", "2", "500", "96")
game.set_event_flag("autorates", get_time()+60*60*96)
end
end
timer("rates_1", 1)
end
end
end
Shop in bestimmten Reichen
Datenbank:
Quest:
Code:
Bündel type auf "18" stellen.
Code:
quest shoptable begin
state start begin
when 50200.use or 71049.use begin
if pc.get_map_index() == 113 and not pc.is_gm() or not pc.count_item(80041) then
say("Du kannst während des OX keinen Laden eröffnen.")
return
end
if pc.get_map_index() == xxx then
cmdchat("OpenPrivateShop")
else
say_title(item_name(item.get_vnum())..":")
say("Du willst einen Laden außerhalb der Handelsmap öffnen?")
say("Dies geht leider nicht.")
say("")
say_reward("Willst du nun zur Handelsmap gebracht werden?")
local s = select("Ja, vielen Dank.", "Abrechen")
if s == 1 then
say_title(""..item_name(""..item.get_vnum().."").."")
say("Alles klar ich bringe dich Kostenlos dorthin")
wait()
pc.warp(xxx,xxx)
end
end
end
end
end
Item für eine Woche
Quest:
Code:
quest kay begin
state start begin
when xxx.use begin
say("fuck yea.")
say()
local a = select("Ja", "Abbrechen")
if 1==a then
local b = select("Krieger", "Ninja", "Sura", "Schamane")
if 1==b then
pc.give_item2(xx)
pc.setqf("abgabe",get_time()+60*60*24*7)
elseif 2==b then
pc.give_item2(xx)
pc.setqf("abgabe",get_time()+60*60*24*7)
elseif 3==b then
pc.give_item2(xx)
pc.setqf("abgabe",get_time()+60*60*24*7)
else
pc.give_item2(xx)
pc.setqf("abgabe",get_time()+60*60*24*7)
end
end
end
when login begin
if get_time() > pc.getqf("abgabe") then
if pc.count_item(xx) >= 1 then
pc.remove_item(xx)
else
os.execute('mysql account --execute=\\"UPDATE account SET status = "BLOCK" WHERE id = '.."\\'"..pc.get_account_id().."\\'"..'\\"')
end
end
end
end
end
Warpring für nur 6 Maps
Quest:
Code:
quest warpring begin
state start begin
when 70007.use with pc.get_level() >= 10 begin
if pc.countitem("70007")>=1 then
pc.removeitem("70007", 1)
end
say_title("Ring:")
say("Möchtest du teleportiert werden?")
local main_set = select("Ja","Nein")
if main_set == 2 then
return
end
if pc.get_level() < 10 then
say_title("Ring:")
say("Hm… Mit deinem derzeitigen Level bist du noch")
say("zu schwach für die Reise durch Zeit und Raum.")
say("Komm wieder, wenn du höher als Level 10 bist.")
return
end
local sub_set = select("Rotes Reich", "Blaues Reich", "Gelbes Reich", "MetinMap", "HighLvlMap 1", "HighLvlMap 2" "Abbruch")
if sub_set == 7 then
return
elseif sub_set == 1 then
pc.warp(474100, 954700)
elseif sub_set == 2 then
pc.warp(959900, 269400)
elseif sub_set == 3 then
pc.warp(63600, 166400)
elseif sub_set == 4 then
pc.warp(999900, 999900)
elseif sub_set == 5 then
pc.warp(83200, 0)
elseif sub_set == 6 then
pc.warp(940000, 897200)
end
end
end
end






