Nimm noch mal meine Version und ändere wehn in when !
Probiers mal so:Quote:
Kommt auch ein Fehler:
syntax error : [string "start"]:5: unexpected symbol near `>='
yangtruhe.quest:32:Error occured on compile yangtruhe.quest
quest yangtruhe begin
state start begin
when 99999.use begin
say_title("250kk Yang")
say("Du möchtest also 250kk Yang?")
local s = select("Ja, Nein")
if s == 1 then
if pc.get_gold() >= 1700000000 then
say("Du hast leider zuviel Yang!")
say("Um Yangbugs zu vermeiden musst du")
say("unter 1.700.000.000 Yang haben!")
elseif pc.get_gold() <= 1700000000 then
pc.change_gold(250000000)
pc.remove_item(99999)
say_title("250kk Yang")
say("Du hast 250kk Yang erhalten!")
say("")
say("Bei Fragen oder Problem, schreibe")
say("bitte ein Teammitglied oder den")
say("Support an.")
say("")
say("Viel Spaß mit dem Yang.")
say("Dein NewVision2-Team")
end
elseif s == 2 then
say_title("Dann eben nicht!")
say("Vielleicht brauchst du das Yang ein")
say("anderes Mal!")
say("")
say("Dein NewVision2-Team")
end
end
end
end
Quote:
Kommt auch ein Fehler:
syntax error : [string "start"]:5: unexpected symbol near `>='
yangtruhe.quest:32:Error occured on compile yangtruhe.quest
quest yangtruhe begin
state start begin
when 99999.use begin
say_title("250kk Yang")
say("Du möchtest also 250kk Yang?")
local s = select("Ja, Nein")
if s == 1 then
if pc.get_gold() >= 1700000000 then
say("Du hast leider zuviel Yang!")
say("Um Yangbugs zu vermeiden musst du")
say("unter 1.700.000.000 Yang haben!")
return
elseif pc.get_gold() <= 1700000000 then
pc.change_gold(250000000)
pc.remove_item(99999)
say_title("250kk Yang")
say("Du hast 250kk Yang erhalten!")
say("")
say("Bei Fragen oder Problem, schreibe")
say("bitte ein Teammitglied oder den")
say("Support an.")
say("")
say("Viel Spaß mit dem Yang.")
say("Dein NewVision2-Team")
elseif s == 2 then
say_title("Dann eben nicht!")
say("Vielleicht brauchst du das Yang ein")
say("anderes Mal!")
say("")
say("Dein NewVision2-Team")
end
end
end
end
quest warpring begin
state start begin
when 70007.use with pc.get_level() >= 10 begin
say_title("Ring:")
say("Möchtest du teleportiert werden?")
say("Es kostet dich 10000 Yang")
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
if pc.gold < 10000
say_title("Ring":)
say("Du hast nicht genug Yang um teleportiert zu werden")
say("Komm wieder wenn du genug Yang hast")
local sub_set = select("Rotes Reich", "Blaues Reich", "Gelbes Reich", "MetinMap", "HighLvlMap 1", "HighLvlMap 2", "Abbrechen") + 5
if sub_set == 7 then
return
end
elseif sub_set == 1 then
pc.warp(474120, 954400)
elseif sub_set == 2 then
pc.warp(352900, 882500)
elseif sub_set == 3 then
pc.warp(63200, 166100)
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
pc.remove_item(70007, 1)
pc.changemoney(-10000)
end
end
end
end
quest eventbossmap11 begin
state start begin
when 20088.chat."Event Boss Map" with pc.get_level() >=150 and game.get_event_flag("eventbossmap") == 0 and pc.getqf("player") == 0 begin
say_title("SD2-Porter:")
say("")
say("Sei gegruesst Reisender!")
say("Du moechstest also zur Event Boss Map")
say("Ich kann dich gerne hinbringen.")
say("")
say("Moechtest du zur Event Boss Map")
say("")
local s = select("Ja", "Nein")
if s==1 then
say_title("SD2-Porter:")
say("")
say("Gut")
say("Ich wuensche dir viel Spass")
game.set_event_flag("eventbossmap", 1)
pc.warp(999900, 999900)
end
if s==2 then
return
end
end
when 2598.kill with pc.get_map_index() == 201 begin
notice_all(""..pc.get_name().." hat den Roten Event Drachen besiegt!")
notice_all("Wir gratulieren ihm!")
say_in_map(201, Du wirst in 30 Sekunden ins Blaue Map1 geportet.)
say_in_map(201, Du kannst dich dann mit dem Warpring weg porten)
say_in_map(201, in dein Reich)
timer("first", 30)
end
when first.timer begin
pc.warp(921600, 204800)
game.set_event_flag("eventbossmap", 0)
pc.setqf("player", 1)
timer("twice", 86400)
end
when twice.timer begin
pc.setqf("player", 0)
end
end
end
----------------------------------------------------
--Tempel des Drachen
----------------------------------------------------
quest Tempel_of_dragon begin
state start begin
function drachen_login()
rows = mysql_select("SELECT COUNT(id) FROM "..DATABASE..".LOG_Drachentempel_login")
local calcc = tonumber(rows[1][1]) + 1
mysql_notselect("INSERT INTO player.LOG_Drachentempel_login (id, account_id, player_id, player_name, map_index, date) VALUES ('"..calcc.."','"..pc.get_account_id().."','"..pc.get_player_id().."','"..pc.get_name().."','"..pc.get_map_index().."', NOW() )")
end
function drachen_kill()
rows = mysql_select("SELECT COUNT(id) FROM "..DATABASE..".LOG_Drachentempel_kill")
local calcc = tonumber(rows[1][1]) + 1
mysql_notselect("INSERT INTO player.LOG_Drachentempel_kill (account_id, player_id,player_name,map_index,date) VALUES ('"..calcc.."','"..pc.get_account_id().."','"..pc.get_player_id().."','"..pc.get_name().."','"..pc.get_map_index().."', NOW() )")
end
function av_drachen_kill()
rows = mysql_select("SELECT beran_kill FROM player.Archivments where player_id='"..pc.get_player_id().."'")
local calcc = tonumber(rows[1][1]) + 1
rows = mysql_notselect("UPDATE player.Archivments SET beran_kill='"..caalc.."' WHERE player_id='"..pc.get_player_id().."'")
end
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() or pc.count_item(80041) >= 1 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
say("Ich gewähre dir den zutritt!")
pc.setqf("erlaubt",1)
wait()
if pc.can_warp() then pc.remove_item("30179",3) end
pc.warp(843200, 1066900)
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
Tempel_of_dragon.drachen_kill()
Tempel_of_dragon.av_drachen_kill()
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)
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
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)
Tempel_of_dragon.drachen_login()
pc.set_warp_location(73 , 1825, 12207)
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
Quote:
regenbogen.questyangtruhe.quest
zu
regenbogen_questyangtruhe.quest
Den Punkt OMG
when kill begin
if not npc.is_pc() with pc.get_level() == 30 then
end
if npc.is_pc() with pc.get_level() == 30 then
end
end
Gibt es eine Möglichkeit das Level des gekillten Monstern bzw. des gekillten Spielers zu Erkennen ?
Wenn ich den Blauen-Seelenstein lese schlägt er nur Fehl es geht nie Erfolgreich woran kann das liegen?Quote:
Ich bin mir nicht sicher aber versuchs mal so
PHP Code:quest training_master_skill begin
state start begin
when 71123.use begin
say_title("Meister")
local seelicount = pc.count_item(71123)
if pc.get_skill_group() == 0 then
say("Du hast keine Fertigkeiten "..pc.get_skill_group())
return
end
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
if pc.is_skill_book_no_delay() then
say("Du hast eine Exo-Rolle Gelesen!")
say("Nun kannst du einen weiteren")
say("Blauen-Seelenstein lesen!")
say("")
wait()
say_title("Meister")
else
say("Du hast heute Bereits einen Blauen-Seelenstein gelesen!")
return
end
end
local result = training_master_skill.BuildGrandMasterSkillList(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 Fertigkeiten")
return
end
say("Fertigkeit Auswählen")
say("")
local menu_list = {}
table.foreach(name_list, function(i, name) table.insert(menu_list, name) end)
table.insert(menu_list, "Abbrechen")
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]
local skill_level = pc.get_skill_level(skill_vnum)
local cur_alignment = pc.get_real_alignment()
local need_alignment = 1000+500*(skill_level-20)
test_chat("Momentaner Rang: "..cur_alignment)
test_chat("Benötigter Rang: "..need_alignment)
local title=string.format("%s auf Meister %d lesen", skill_name, skill_level-20+1)
if pc.count_item(71123) != seelicount then
say("Stfu Buguser!")
return
end
item.remove()
say_title(title)
say("Das lesen eines Blauen-Seelensteines")
say("kostet Rangpunke.")
say("")
if cur_alignment<-19000+need_alignment then
say_reward("Du hast zu wenig Rang!")
return
end
if cur_alignment<0 then
say_reward(string.format("Benötigter Rang: %d -> %d", need_alignment, need_alignment*2))
say_reward("Beim klappen des Blauen-Seelensteins wird dir")
say_reward("das doppelte an Rangpunkten abgezoegn!")
need_alignment=need_alignment*2
elseif cur_alignment<need_alignment then
say_reward(string.format("Benötigter Rang: %d", need_alignment))
say_reward("Beim klappen des Blauen-Seelensteins wird dir")
say_reward("das doppelte an Rangpunkten abgezoegn!")
else
say_reward(string.format("Benötigter Rang: %d", need_alignment))
end
say("")
local s=select("Lesen", "Abbrechen")
if s==2 then
return
end
if cur_alignment>=0 and cur_alignment<need_alignment then
say_title(string.format("%s -Bestätigen", title))
say("Das Lesen eines Blauen-Seelensteines kostet Rang,")
say("wenn du diesen Blauen-Seelenstein ließt,")
say("kommst du in -Rang")
say("Bitte Bestätige das du diesen Blauen-Seelenstein")
say("wirklich lesen möchtest!")
say("")
say_reward("Bestätigen")
say("")
say("Bitte gebe 'Meister' ein!")
local s=input()
if s!="Meister" then
return
end
end
if get_time() < pc.getqf("next_time") then -- and not is_test_server() then
if pc.is_skill_book_no_delay() then
pc.remove_skill_book_no_delay()
else
say("Seelitest1")
return
end
end
pc.setqf("next_time", get_time()+time_hour_to_sec(number(8, 12)))
if need_alignment>0 then
if pc.learn_grand_master_skill(skill_vnum) then
pc.change_alignment(-need_alignment)
say_title(string.format("%s -Erfolgreich", title))
if 40 == pc.get_skill_level(skill_vnum) then
say(string.format("%s Seelitest2.", skill_name))
else
say(string.format("Dein Blauer-Seelenstein war Erfolgreich!", skill_name, skill_level-20+1+1))
end
say("")
say_reward("Erfolgreich!")
say_reward(string.format("Kosten an Rang: %d ", need_alignment))
say("")
else
say_title(string.format("%s -Fehlgeschlagen", title))
say("Dein Blauer-Seelenstein hat nicht geklappt.")
say("")
say_reward("Fehlgeschlagen!")
say("")
pc.change_alignment(-number(need_alignment/3, need_alignment/2))
end
end
end
function BuildGrandMasterSkillList(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 = {}
-- test_chat(string.format("job=%d, group=%d", job, group))
table.foreach(skill_list,
function(i, skill_vnum)
local skill_level = pc.get_skill_level(skill_vnum)
-- test_chat(string.format("[%d]=%d", skill_vnum, skill_level))
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}
--return {ret_vnum_list, ret_name_list}
end
end
end
cd /usr/home/game/share/locale/germany/quest python make.py
quest yangtruhe begin
state start begin
when 99999.use begin
say_title("Yangtruhe")
say("Möchtest du die Truhe öffnen?")
say_reward("Wenn du die Truhe öffnest, erhälst du 250kk")
local s = select("Ja", "Nein")
if s==1 then
if pc.get_gold()<=1700000000 then
pc.change_gold(250000000)
pc.remove_item("99999", 1)
else
say_title("Yangtruhe")
say("Du trägst zu viel Yang bei dir!")
end
end
if s==2 then
say_title("Yangtruhe")
say("Vielleicht benötigst du das Yang")
say("ein anderes Mal...")
end
end
end
end
quest yangtruhe begin
state start begin
when 99999.use begin
say_title("Yangtruhe")
say("Möchtest du die Truhe öffnen?")
say_reward("Wenn du die Truhe öffnest, erhälst du 250kk")
local s = select("Ja", "Nein")
if s==1 then
if pc.get_gold()<=1700000000 then
pc.change_gold(250000000)
pc.remove_item("99999", 1)
else
say_title("Yangtruhe")
say("Du trägst zu viel Yang bei dir!")
end
end
if s==2 then
say_title("Yangtruhe")
say("Vielleicht benötigst du das Yang")
say("ein anderes Mal...")
end
end
end
when 99999.use begin
/reload p
/reload q