quest boni begin
state start begin
when kill with not npc.is_pc() begin
local drops = {
---Item id, min level, max level, drop chance
{71084,1,120,0.2},
{71085,1,120,90},
{70024,1,120,0.4},
{27987,75,120,0.1},
}
for i = 1, table.getn(drops) do
if pc.get_level() >= drops[i][2] and pc.get_level() <= drops[i][3] and pc.get_level() >= mob.level(npc.get_race())-10 and pc.get_level() <= mob.level(npc.get_race())+10 then
if number(1,100) > (100-drops[i][4]) then
game.drop_item_with_ownership(drops[i][1], 1)
return
end
end
end
end
end
end
Fehler:
"LUA_ERROR" : [String "boni"]:8: attempt to call field ´level´ (a nil value)
quest desert_battle begin state start begin when 20352.chat."Wüstenschlacht" begin if pc.get_level()>=75 then if game.get_event_flag("deserton") == 0 then say("Die Wüstenschlacht findet derzeit nicht statt.") return elseif game.get_event_flag("deserton") == 2 then say("Die Wüstenschlacht befindet sich in der Endphase du kannst nicht beitreten.") return end say("Die Schlacht in der Wüste ist im vollen gange,") say("möchtest du beitreten oder Informationen erhalten?") local info = select("Auf in die Wüste", "Informationen", "Abbrechen") if info == 3 then return elseif info == 2 then say("Das Ziel der Wüstenschlacht ist es als erstes reich 500") say("Gegner aus den anderen Reichen zu besiegen.") say("") say("Das Reich, welches gewinnt erhält am schluss eine Belohnung") say("in Form einiger Metinsteine") local teilnehmen = select("Teilnehmen", "Abbrechen") if teilnehmen == 2 then return elseif teilnehmen == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end elseif info == 1 then if pc.get_empire() == 1 then pc.warp(217800, 627200) elseif pc.get_empire() == 2 then pc.warp(221900, 502700) elseif pc.get_empire() == 3 then pc.warp(344000, 502500) else say("Bei deinem Reich gab es einen Fehler!") end end else say("Du bist noch nicht Level 75") return
end end when kill with npc.get_empire() != pc.get_empire() and npc.is_pc() and pc.get_map_index() == 183 and game.get_event_flag("turnieron") == 1 and game.get_event_flag("spawned") == 0 begin --X durch die ID der Map ersetzen if game.get_event_flag("turnier"..pc.get_empire().."punkte") == 0 then game.set_event_flag("turnier"..pc.get_empire().."punkte", 1) else game.set_event_flag("turnier"..pc.get_empire().."punkte", game.get_event_flag("turnier"..pc.get_empire().."punkte")+1) end if game.get_event_flag("turnier"..pc.get_empire().."punkte") >= 500 then game.set_event_flag("reich"..pc.get_empire().."status", 1) if pc.get_empire() == 1 then notice_all("Das Rote Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Gelbe Reich hat in der Wüste dominiert.") elseif pc.get_empire() == 2 then notice_all("Das Blaue Reich hat in der Wüste dominiert.") end game.set_event_flag("spawned", 1) notice_all("Das Turnier geht nun in die Endphase.") notice_all("Für das Siegerreich spawnen nun Metins") notice_all("in der Mitte der Wüste.") regen_in_map(183, "locale /germany/map/desert_war/regen_metins.txt") say_in_map(183, "Ihr habt nun 30 Minuten Zeit die Metins in der Wüste") say_in_map(183, "zu finden und zu zerstören. Viel Spass!") timer("cooldown", 60*30) end end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 2 and pc.get_map_index() == 183 begin if game.get_event_flag("reich"..pc.get_empire().."status") == 1 then return elseif pc.is_gm() then return else if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) else say("Du konntest auf grund deines Reiches nicht zurückteleportiert werden.") say("Bitte Teleportier dich selber zurück") end end end when login or levelup or button or info or unmount or mount or kill with game.get_event_flag("turnieron") == 1 and pc.get_map_index() == 183 and pc.get_level()<75 begin if pc.get_empire == 1 then pc.warp(474200, 954400) elseif pc.get_empire == 2 then pc.warp(63200, 166100) elseif pc.get_empire == 3 then pc.warp(960100, 268700) end end when "cooldown".timer begin cleartimer("cooldown") game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") wait() warp_all_to_village(183, 1) kill_all_in_map(183) end
when 20352.chat."Wüstenschlacht-Einstellungen" with pc.is_gm() begin say("Was möchtest du machen?") local what = select("Wüstenschlacht starten", "Wüstenschlacht Beenden", "Abbrechen")
if what == 3 then return elseif what == 2 then game.set_event_flag("deserton", 0) game.set_event_flag("turnier1punkte", 0) game.set_event_flag("turnier2punkte", 0) game.set_event_flag("turnier3punkte", 0) game.set_event_flag("reich1status", 0) game.set_event_flag("reich2status", 0) game.set_event_flag("reich3status", 0) notice_all("Die Wüstenschlacht hat ein Ende gefunden.") elseif what == 1 then game.set_event_flag("deserton", 1) notice_all("Die Wüstenschlacht wurde von "..pc.get_name.." gestartet.") notice_all("Begebt euch zum Schlachtenverwalter.") end end
end end
Hey, danke dir, die quest lässt sich nun so compilen, habe sie aber noch nicht getestet, melde mich später nochmal.
Hi, Habe als chance 0.0005% trozdem droppe ich bei jedem 2 mob etwas.
Jemand eine Ahnung, woran es liegt?
quest common_drops begin
state start begin
when kill with not npc.is_pc() begin
local drops = {
---Item id, min level, max level, drop chance
{50314,1,100,0.0005},
{50315,1,100,0.0005},
{50316,1,100,0.0005},
{50301,1,100,0.0005},
{50302,1,100,0.0005},
{50303,1,100,0.0005},
{70102,20,100,0.2},
{72301,50,100,0.2},
{50054,1,30,0.0005},
{50055,25,50,0.0005},
{50056,50,100,0.0005}
}
for i = 1, table.getn(drops) do
if pc.get_level() >= drops[2] and pc.get_level() <= drops[3] then
if number(1,100) > (100-drops[4]) then
game.drop_item_with_ownership(drops[1], 1)
return
end
end
end
end
end
end
Per quest ist immer scheisse würde lieber die Standard Variante wählen da ist es wenigstens reibungslos, ich glaube 0.0005 gibt es nicht versuch mal was passiert wenn du 0.2 einträgst
Per quest ist immer scheisse würde lieber die Standard Variante wählen da ist es wenigstens reibungslos, ich glaube 0.0005 gibt es nicht versuch mal was passiert wenn du 0.2 einträgst
Mit der quest gehen nur volle prozentchancen, weil die number Funktion hier nur volle zahlen von 1 bis 100 generiert
quest truhen_zero begin
state start begin
when login or pc.get_level() >= 1 begin
set_state(truhen)
end
end
state truhen begin
when 50187.use begin
local item_vnum = 19
local item_vnum = 11209
if pc.get_job() == 1 then
item_vnum = 1009
item_vnum = 11409
elseif pc.get_job() == 2 then
item_vnum = 19
item_vnum = 11609
elseif pc.get_job() == 3 then
item_vnum = 7009
item_vnum = 11809
end
pc.give_item2(item_vnum) --lvl 1er waffe je nach rasse
pc.give_item2(27001, 20) --Roter Trank(K)
pc.give_item2(27004, 10) --Blauer Trank(K)
pc.give_item2(27110, 5) --Grüner Trank(K)
pc.give_item2(27113, 5) --Violetter Trank(K)
pc.give_item2(13009 , 1)
pc.give_item2(14009 , 1)
pc.give_item2(15009 , 1)
pc.give_item2(16009 , 1)
pc.give_item2(17009 , 1)
pc.give_item2(70038 , 200)
pc.give_item2(27102 , 200)
pc.give_item2(39026 , 200)
pc.give_item2(72723 , 1)
pc.give_item2(72727 , 1)
pc.give_item2(72701 , 1)
pc.give_item2(50053 , 1)
pc.give_item2(70007 , 1)
pc.give_item2(18009 , 1)
pc.remove_item(50187, 1) --Lehrlingstruhe I verschwindet
end
when 50188.use with pc.get_level() >= 10 begin
pc.give_item2(72723, 1) --Elixier der Sonne (K)
pc.give_item2(27111, 3) --Grüner Trank(M)
pc.give_item2(27113, 3) --Geschwindigkeits Trank(K)
pc.give_item2(76008, 3) --Medaille des Drachen
pc.give_item2(50189, 1) --Lehrlingstruhe III
pc.remove_item(50188, 1) --Lehrlingstruhe II verschwindet
end
when 50189.use with pc.get_level() >= 20 begin
pc.give_item2(72727, 1) --Elixier des Mondes (K)
pc.give_item2(27111, 3) --Grüner Trank(M)
pc.give_item2(27113, 3) --Geschwindigkeits Trank(K)
pc.give_item2(76006, 1) --Kompass des Metinsteins
pc.give_item2(76024, 3) --Grüner Zauber
pc.give_item2(76025, 3) --Grüne Stärke
pc.give_item2(50190, 1) --Expertentruhe I
pc.remove_item(50189, 1) --Lehrlingstruhe III verschwindet
end
when 50190.use with pc.get_level() >= 30 begin
pc.give_item2(27113, 3) --Geschwindigkeits Trank(K)
pc.give_item2(27112, 3) --Trank des Angriffs
pc.give_item2(25040, 5) --Segenschriftrollen
pc.give_item2(70003, 1) --Buch des Anführers
pc.give_item2(50191, 1) --Expertentruhe II
pc.remove_item(50190, 1) --Expertentruhe I verschwindet
end
when 50191.use with pc.get_level() >= 40 begin
pc.give_item2(71101, 3) --Trank der Hast
pc.give_item2(27112, 3) --Trank des Angriffs
pc.give_item2(71153, 1) --Trank der Weisheit
pc.give_item2(70003, 1) --Buch des Anführers
pc.give_item2(50192, 1) --Expertentruhe III
pc.remove_item(50191, 1) --Expertentruhe II verschwindet
end
when 50192.use with pc.get_level() >= 50 begin
pc.give_item2(71101, 3) --Trank der Hast
pc.give_item2(27112, 3) --Trank des Angriffs
pc.give_item2(70038, 20) --Tapferkeitsümhänge
pc.give_item2(71095, 5) --Passierschein
pc.give_item2(70058, 1) --Teleportationsring
pc.give_item2(50193, 1) --Meistertruhe I
pc.remove_item(50192, 1) --Expertentruhe III verschwindet
end
when 50193.use with pc.get_level() >= 60 begin
pc.give_item2(71032, 3) --Schriftrolle des Drachen
pc.give_item2(71101, 3) --Trank der Hast
pc.give_item2(27112, 3) --Trank des Angriffs
pc.give_item2(76000, 5) --Pfirsichblütenwein
pc.give_item2(50194, 1) --Meistertruhe II
pc.remove_item(50193, 1) --Meistertruhe I verschwindet
end
when 50194.use with pc.get_level() >= 70 begin
pc.give_item2(71101, 3) --Trank der Hast
pc.give_item2(27112, 3) --Trank des Angriffs
pc.give_item2(76001, 2) --Status-Neuverteilung
pc.give_item2(71084, 3) --Gegenstand verstärken
pc.give_item2(71085, 3) --Gegenstand verzaubern
pc.give_item2(50195, 1) --Meistertruhe III
pc.remove_item(50194, 1) --Meistertruhe II verschwindet
end
when 50195.use with pc.get_level() >= 80 begin
pc.give_item2(71101, 3) --Trank der Hast
pc.give_item2(27112, 3) --Trank des Angriffs
pc.give_item2(72728, 1) --Elixier des Mondes (M)
pc.give_item2(72728, 3) --Elixier des Forschers
pc.give_item2(50196, 1) --Großmeistertruhe
pc.remove_item(50195, 1) --Meistertruhe III verschwindet
end
when 50196.use with pc.get_level() >= 90 begin
pc.give_item2(39004, 1) --Segenskugel
pc.give_item2(72724, 1) --Elixier der Sonne (M)
pc.give_item2(76010, 3) --Blutstein
pc.give_item2(30319, 3) --Schrumpfkopf
pc.give_item2(50127, 1) --Grüne Zaubertruhe
pc.remove_item(50196, 1) --Großmeistertruhe verschwindet
end
end
end
end
end
quest give_basic_weapon begin
state start begin
when login begin
local item_vnum = 19
local item_vnum2 = 11209
local item_vnum3 = 12209
if pc.get_job() == 1 then
item_vnum = 1009
item_vnum2 = 11409
item_vnum3 = 12349
elseif pc.get_job() == 2 then
item_vnum2 = 11609
item_vnum3 = 12489
elseif pc.get_job() == 3 then
item_vnum = 7009
item_vnum2 = 11809
item_vnum3 = 12629
end
pc.give_item2(item_vnum)
pc.give_item2(item_vnum2)
pc.give_item2(item_vnum3)
pc.give_item2(27003, 200)
pc.give_item2(27006, 200)
pc.give_item2(72702)
pc.give_item2(71050, 20)
pc.give_item2(70038, 20)
pc.give_item2(13009)
pc.give_item2(14009)
pc.give_item2(15009)
pc.give_item2(16009)
pc.give_item2(17009)
set_state(weiter)
end
end
state weiter begin
when letter begin
send_letter("Willkommen auf Broforce MT2")
end
when button or info begin
say_title("Willkommen auf Broforce MT2 (..pc.get_name)")
say("Auf unserem Server erwarten dich:")
say("-Ein durchdachtes PvM System für langen Spielspaß")
say("-Balanced PvP")
say("-Neue Pets und Reittiere")
say("-Middleschool Feedling mit New School Elementen")
say("-und den Rest kannst du selber erkunden")
Say("Also: Viel Spaß auf Broforce MT2")
end
end
state ende begin
end
end
zunächst: poste deine Quest doch das nächste mal bitte innerhalb von [php][/php] oder [code][/code] Blöcken.
Macht das Ganze deutlich einfacher zu lesen.
Zu deiner Quest:
1)
PHP Code:
when login or pc.get_level() >= 1 begin
pc.get_level() ist kein gültiges event, weswegen das nicht zu kompilieren ist.
Besser:
PHP Code:
when login or levelup with pc.get_level() >= 1 begin
2) Du hattest zuviele ends am Ende
Hier nun die hoffentlich funktionierende Quest:
PHP Code:
quest truhen_zero begin
state start begin
when login or levelup with pc.get_level() >= 1 begin
set_state(truhen)
end
end
state truhen begin
when 50187.use begin
local item_vnum = 19
local item_vnum = 11209
if pc.get_job() == 1 then
item_vnum = 1009
item_vnum = 11409
elseif pc.get_job() == 2 then
item_vnum = 19
item_vnum = 11609
elseif pc.get_job() == 3 then
item_vnum = 7009
item_vnum = 11809
end
pc.give_item2(item_vnum) --lvl 1er waffe je nach rasse
pc.give_item2(27001, 20) --Roter Trank(K)
pc.give_item2(27004, 10) --Blauer Trank(K)
pc.give_item2(27110, 5) --Grüner Trank(K)
pc.give_item2(27113, 5) --Violetter Trank(K)
pc.give_item2(13009 , 1)
pc.give_item2(14009 , 1)
pc.give_item2(15009 , 1)
pc.give_item2(16009 , 1)
pc.give_item2(17009 , 1)
pc.give_item2(70038 , 200)
pc.give_item2(27102 , 200)
pc.give_item2(39026 , 200)
pc.give_item2(72723 , 1)
pc.give_item2(72727 , 1)
pc.give_item2(72701 , 1)
pc.give_item2(50053 , 1)
pc.give_item2(70007 , 1)
pc.give_item2(18009 , 1)
pc.remove_item(50187, 1) --Lehrlingstruhe I verschwindet
end
when 50188.use with pc.get_level() >= 10 begin
pc.give_item2(72723, 1) --Elixier der Sonne (K)
pc.give_item2(27111, 3) --Grüner Trank(M)
pc.give_item2(27113, 3) --Geschwindigkeits Trank(K)
pc.give_item2(76008, 3) --Medaille des Drachen
pc.give_item2(50189, 1) --Lehrlingstruhe III
pc.remove_item(50188, 1) --Lehrlingstruhe II verschwindet
end
when 50189.use with pc.get_level() >= 20 begin
pc.give_item2(72727, 1) --Elixier des Mondes (K)
pc.give_item2(27111, 3) --Grüner Trank(M)
pc.give_item2(27113, 3) --Geschwindigkeits Trank(K)
pc.give_item2(76006, 1) --Kompass des Metinsteins
pc.give_item2(76024, 3) --Grüner Zauber
pc.give_item2(76025, 3) --Grüne Stärke
pc.give_item2(50190, 1) --Expertentruhe I
pc.remove_item(50189, 1) --Lehrlingstruhe III verschwindet
end
when 50190.use with pc.get_level() >= 30 begin
pc.give_item2(27113, 3) --Geschwindigkeits Trank(K)
pc.give_item2(27112, 3) --Trank des Angriffs
pc.give_item2(25040, 5) --Segenschriftrollen
pc.give_item2(70003, 1) --Buch des Anführers
pc.give_item2(50191, 1) --Expertentruhe II
pc.remove_item(50190, 1) --Expertentruhe I verschwindet
end
when 50191.use with pc.get_level() >= 40 begin
pc.give_item2(71101, 3) --Trank der Hast
pc.give_item2(27112, 3) --Trank des Angriffs
pc.give_item2(71153, 1) --Trank der Weisheit
pc.give_item2(70003, 1) --Buch des Anführers
pc.give_item2(50192, 1) --Expertentruhe III
pc.remove_item(50191, 1) --Expertentruhe II verschwindet
end
when 50192.use with pc.get_level() >= 50 begin
pc.give_item2(71101, 3) --Trank der Hast
pc.give_item2(27112, 3) --Trank des Angriffs
pc.give_item2(70038, 20) --Tapferkeitsümhänge
pc.give_item2(71095, 5) --Passierschein
pc.give_item2(70058, 1) --Teleportationsring
pc.give_item2(50193, 1) --Meistertruhe I
pc.remove_item(50192, 1) --Expertentruhe III verschwindet
end
when 50193.use with pc.get_level() >= 60 begin
pc.give_item2(71032, 3) --Schriftrolle des Drachen
pc.give_item2(71101, 3) --Trank der Hast
pc.give_item2(27112, 3) --Trank des Angriffs
pc.give_item2(76000, 5) --Pfirsichblütenwein
pc.give_item2(50194, 1) --Meistertruhe II
pc.remove_item(50193, 1) --Meistertruhe I verschwindet
end
when 50194.use with pc.get_level() >= 70 begin
pc.give_item2(71101, 3) --Trank der Hast
pc.give_item2(27112, 3) --Trank des Angriffs
pc.give_item2(76001, 2) --Status-Neuverteilung
pc.give_item2(71084, 3) --Gegenstand verstärken
pc.give_item2(71085, 3) --Gegenstand verzaubern
pc.give_item2(50195, 1) --Meistertruhe III
pc.remove_item(50194, 1) --Meistertruhe II verschwindet
end
when 50195.use with pc.get_level() >= 80 begin
pc.give_item2(71101, 3) --Trank der Hast
pc.give_item2(27112, 3) --Trank des Angriffs
pc.give_item2(72728, 1) --Elixier des Mondes (M)
pc.give_item2(72728, 3) --Elixier des Forschers
pc.give_item2(50196, 1) --Großmeistertruhe
pc.remove_item(50195, 1) --Meistertruhe III verschwindet
end
when 50196.use with pc.get_level() >= 90 begin
pc.give_item2(39004, 1) --Segenskugel
pc.give_item2(72724, 1) --Elixier der Sonne (M)
pc.give_item2(76010, 3) --Blutstein
pc.give_item2(30319, 3) --Schrumpfkopf
pc.give_item2(50127, 1) --Grüne Zaubertruhe
pc.remove_item(50196, 1) --Großmeistertruhe verschwindet
end
end
end
state run begin when login or levelup or enter with pc.get_level() >= 25 begin set_state(information) end end
state information begin when letter begin send_letter("Töte Böser Sturm Joh-Hwan! (Lv. 25)") end end when info or button begin say("Töte Böser Sturm Joh-Hwan! (Lv. 25)") say("Der Stadtwächter möchte, dass du Monster jagst.") say("Diesmal möchte er, dass du Böser Sturm Joh-Hwan tötest.") say_reward("Töte 20 Böser Sturm Joh-Hwan.") say("") pc.setqf("state", 20) q.set_counter("Böser Sturm Joh-Hwan", 20) end
when 454.kill begin local count = pc.getqf("state") - 1 if count <= 20 then pc.setqf("state", count) q.set_counter("Böser Sturm Joh-Hwan", count) end if count == 0 then say_title("Töte Böser Sturm Joh-Hwan! (Lv. 25)") say("Du hast die Quest erfolgreich abgeschlossen!") say("Du erhälst:") say_reward("10.000 Yang") say_reward("15.0000 Erfahrung") pc.change_money(10000) pc.give_exp2(150000) clear_letter() set_quest_state("hunt_35bogi","run") set_state(__COMPLETE__)
end
state __COMPLETE__ begin end end
Wäre nett, wenn jemand mal drüberschaut
EDIT: Hat sich erledigt, man darf scheinbar keine "-" im Questnamen haben
state run begin
when login or levelup or enter with pc.get_level() >= 25 begin
set_state(information)
end
end
state information begin
when letter begin
send_letter("Töte Böser Sturm Joh-Hwan! (Lv. 25)")
end
end
when info or button begin
say("Töte Böser Sturm Joh-Hwan! (Lv. 25)")
say("Der Stadtwächter möchte, dass du Monster jagst.")
say("Diesmal möchte er, dass du Böser Sturm Joh-Hwan tötest.")
say_reward("Töte 20 Böser Sturm Joh-Hwan.")
say("")
pc.setqf("state", 20)
q.set_counter("Böser Sturm Joh-Hwan", 20)
end
when 454.kill begin
local count = pc.getqf("state") - 1
if count <= 20 then
pc.setqf("state", count)
q.set_counter("Böser Sturm Joh-Hwan", count)
end
if count == 0 then
say_title("Töte Böser Sturm Joh-Hwan! (Lv. 25)")
say("Du hast die Quest erfolgreich abgeschlossen!")
say("Du erhälst:")
say_reward("10.000 Yang")
say_reward("15.0000 Erfahrung")
pc.change_money(10000)
pc.give_exp2(150000)
clear_letter()
set_quest_state("hunt_35bogi","run")
set_state(__COMPLETE__)
end
state __COMPLETE__ begin
end
end
Wäre nett, wenn jemand mal drüberschaut
EDIT: Hat sich erledigt, man darf scheinbar keine "-" im Questnamen haben
Hallo, hab ne Quest, bei der ich einem NPC ein bestimmtes Item geben möchte, welches er mir dann in ein anderes umwandelt. Ich erhalte einen assertion failure : nested == 0 Fehler.
PHP Code:
quest edelstein begin state start begin when 20091.take with item.get_vnum() == 30210 begin local count = pc.count_item(30210) if count > 2 then pc.remove_item(30210, 3) pc.give_item(30021, 1) end end end
Hallo, hab ne Quest, bei der ich einem NPC ein bestimmtes Item geben möchte, welches er mir dann in ein anderes umwandelt. Ich erhalte einen assertion failure : nested == 0 Fehler.
PHP Code:
quest edelstein begin
state start begin
when 20091.take with item.get_vnum() == 30210 begin
local count = pc.count_item(30210)
if count > 2 then
pc.remove_item(30210, 3)
pc.give_item(30021, 1)
end
end
end
Hallo, hab ne Quest, bei der ich einem NPC ein bestimmtes Item geben möchte, welches er mir dann in ein anderes umwandelt. Ich erhalte einen assertion failure : nested == 0 Fehler.
PHP Code:
quest edelstein begin state start begin when 20091.take with item.get_vnum() == 30210 begin local count = pc.count_item(30210) if count > 2 then pc.remove_item(30210, 3) pc.give_item(30021, 1) end end end
Versuchs mal so:
PHP Code:
quest edelstein begin state start begin when 20091.take with item.get_vnum() >= 30210 begin local count = pc.count_item(30210) if count > 2 then pc.remove_item(30210, 3) pc.give_item(30021, 1) end end end end
Wollte mal wissen ob ich das so richtig gemacht habe :
PHP Code:
quest santa begin
state start begin
when 20031.chat."Weihnachtsevent Panel" begin
say_title("Weihnachts Event:")
if game.get_event_flag("xmas")==0 then
say("Das Weihnachtsevent ist aus")
say("Möchtest du es starten?")
local s1 = select("Ja", "Nein")
if s1 == 1 then
say("Event gestartet")
game.set_event_flag("xmas", 1)
notice_all("Das Weihnachtsevent wurde gestartet")
notice_all("Ihr könnt jetzt bei jedem Monster")
notice_all("Geschenke und Socken droppen")
else
return
end
else
say("Das Weihnachtsevent ist an")
say("Möchtest du es beenden?")
local s2 = select("Ja", "Nein")
if s2 == 1 then
say("Event wurde beendet")
game.set_event_flag("xmas", 0)
notice_all("Das Weihnachtsevent wurde beendet")
end
end
end
when kill with game.get_event_flag("xmas")==1 and not npc.is_pc() begin
local drop = number(1, 75)
if drop == 1 then
game.drop_item_with_ownership(50035, 1)
elseif drop == 2 then
game.drop_item_with_ownership(50036, 1)
elseif drop == 3 then
game.drop_item_with_ownership(50010, 1)
end
end
when 20031.chat."Socken" begin
say_title("Weihnachtsmann")
if pc.count_item(50010) == 0 then
say("Hallo ".. pc.get_name())
say("Ich habe ein Problem, ich weiß nicht wie")
say("ich es erklären soll, aber ich habe")
say("ausversehen alle meine Socken verloren")
say("ich wollte sie eigentlich den Armen")
say("schenken voll mit Geschenken")
say("sie wurden übers ganze Land verteilt")
wait()
say("Wenn du eine Socke findest")
say("Kannst du sie mir dann bringen?")
say("Du bekommst auch eine Belohnung")
else
say("Ach du hast eine meiner Socken")
say("wie schön, gibst du sie mir?")
say("Du bekommst auch eine")
say("Belohnung")
local s3 = select("Du kannst sie haben", "Nö meine Socke")
if s3 == 1 then
say_title("Weihnachtsmann:")
say("Ohh danke sehr")
say("Du bekommst von mir ein zufälliges")
say("Item aus meinem Beutel")
wait()
local beutel = number(1, 19)
if beutel == 1 then
say("Oh es ist 5x Schwarzes Eis")
say("Bitte sehr")
pc.give_item2(30185, 5)
elseif beutel == 2 then
say("Oh es ist 5x Vulkanerde")
say("Bitte sehr")
pc.give_item2(31007, 5)
elseif beutel == 3 then
say("Oh es ist 5x Carapax-Skript")
say("Bitte sehr")
pc.give_item2(31018, 1)
elseif beutel == 4 then
say("Oh es ist 5x Carapax-Pulver")
say("Bitte sehr")
pc.give_item2(31019, 1)
elseif beutel == 5 then
say("Oh es ist 5x Spendenteller")
say("Bitte sehr")
pc.give_item2(30316 , 1)
elseif beutel == 6 then
say("Oh es ist 5x Legendäres Tagebuch")
say("Bitte sehr")
pc.give_item2(30182, 1)
elseif beutel == 7 then
say("Oh es ist 5x Himmel und Hölle")
say("Bitte sehr")
pc.give_item2(30254, 1)
elseif beutel == 8 then
say("Oh es ist 5x Schwarzes Gestein")
say("Bitte sehr")
pc.give_item2(31035, 1)
elseif beutel == 9 then
say("Oh es ist 5x Tagebuchseite")
say("Bitte sehr")
pc.give_item2(30150, 1)
elseif beutel == 10 then
say("Oh es ist 5x Düstere Holzmaske")
say("Bitte sehr")
pc.give_item2(30183, 1)
elseif beutel == 11 then
say("Oh es ist 5x Verzauberte Asche")
say("Bitte sehr")
pc.give_item2(30184, 1)
elseif beutel == 12 then
say("Oh es ist 5x Vulkanglas")
say("Bitte sehr")
pc.give_item2(30188, 1)
elseif beutel == 13 then
say("Oh es ist ein Magischer Stein")
say("Bitte sehr")
pc.give_item2(25041, 1)
elseif beutel == 14 then
say("Oh es ist ein Erfahrungsring")
say("Bitte sehr")
pc.give_item2(71015, 1)
elseif beutel == 15 then
say("Oh es ist 5x Rotes Kraut")
say("Bitte sehr")
pc.give_item2(70251, 1)
elseif beutel == 16 then
say("Oh es ist 5x Blaues Kraut")
say("Bitte sehr")
pc.give_item2(70252, 1)
elseif beutel == 17 then
say("Oh es ist 5x Grünes Kraut")
say("Bitte sehr")
pc.give_item2(70253, 1)
elseif beutel == 18 then
say("Oh es ist 5x Violettes Kraut")
say("Bitte sehr")
pc.give_item2(70254, 1)
elseif beutel == 19 then
say("Oh es ist ein Lolli der Stärke")
say("Bitte sehr")
pc.give_item2(71136, 1)
else
say("Oh es ist 10x Sellenstein")
say("Bitte sehr")
pc.give_item2(50513, 1)
end
end
end
end
end
end
when 20359.take begin
pc.setqf("steine", 0)
local a = item.get_id()
local b = item.get_socket(0,a)
local c = item.get_socket(1,a)
local d = item.get_socket(2,a)
if b >28000 then
pc.setqf("steine", pc.getqf("steine")+1)
end
if c >28000 then
pc.setqf("steine", pc.getqf("steine")+1)
end
if d >28000 then
pc.setqf("steine", pc.getqf("steine")+1)
end
local stones = pc.getqf("steine")
elseif stones==0 then
say("Hier gibt es nichts zu entfernen.")
say("")
elseif stones==1 or stones==2 or stones==3 then
local s=select("Zurueck",item_name(,item_name(c),item_na me(d))
if s==1 then
return
elseif s==2 and b < 28960 and b > 28000 then
item.set_socket(0,28960)
say("Stein wurde rausgenommen, ein Splitter blieb zurueck.")
say("")
say_reward("Du hast "..item_name(.." erhalten.")
pc.give_item2(b,1)
elseif s==3 and c < 28960 and c > 28000 then
item.set_socket(1,28960)
say("Stein wurde rausgenommen, ein Splitter blieb zurueck.")
say("")
say_reward("Du hast "..item_name(c).." erhalten.")
pc.give_item2(c,1)
elseif s==4 and d < 28960 and d > 28000 then
item.set_socket(2,28960)
say("Stein wurde rausgenommen, ein Splitter blieb zurueck.")
say("")
say_reward("Du hast "..item_name(d).." erhalten.")
pc.give_item2(d,1)
elseif b == 28960 or c == 28960 or d == 28960 then
say("Steinsplitter kannst du nicht entfernen.")
else
say("Es ist ein Fehler aufgetreten")
say("Möglicherweiße ist dieser Stein nicht")
say("vorhanden, wird aber trotzdem durch einen")
say("Bug angezeigt.")
say("")
say("Dies kommt ausschlieslich bei Gegenstaenden mit")
say("einem oder zwei Slots fuer Geiststeine vor.")
say("")
end
end
end
end
end
Ich wolte flammerun ohne gruppe machen wie kann ich es löschen?
PHP Code:
when 20091.chat."Flammenrun starten" begin
say_title("Flammenrun Starten")
say("Dein Team und du seid bereit")
say("für einen langen Kampf?")
say("Wenns so ist, dann lasst uns starten!")
say_reward("Es kostet den Gruppenleiter 500 Rangpunkte!")
say("Fangt an, indem Ihr alle Monster im Norden tötet.")
local a =select("Ja wir sind bereit","Nein wir sind noch nicht bereit")
if a == 2 then
return
elseif a == 1 then
if not party.is_party() then
say("Du musst dich in einer Gruppe befinden")
say("um inden Falmmenrun zu kommen.")
return
elseif not party.is_leader() then
say("Es kann nur der Gruppenleader")
say("den run starten.")
say("")
return
end
if pc.get_alignment() >= 500 then
pc.change_alignment(-500)
d.new_jump_party(238, 7779, 6636)
d.setf("flammenrun", 1)
d.setf("killf1", 0)
d.regen_file("data/dungeon/flamerun/regen1.txt")
elseif pc.get_alignment() < 500 then
say("Du hast nicht genügend Rangpunkte")
return
end
end
end