|
You last visited: Today at 07:19
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
07/23/2014, 00:05
|
#10381
|
elite*gold: 0
Join Date: Jun 2010
Posts: 42
Received Thanks: 2
|
Hallo,
ich hab ein  mit folgender Quest.
PHP Code:
quest warp begin state start begin when 30521.use begin say_title("Teleport") say("Wo moechtest Du hin teleportiert werden?") local s=select("Levelmap ab 90", "Levelmap ab 100", "Farmmap ab 95", "Weiter") if s==1 then if pc.get_level()<90 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 90") return end pc.warp(1024000, 1664000) elseif s==2 then if pc.get_level()<100 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 100") return end pc.warp(1117500, 1598123) elseif s==3 then if pc.get_level()<95 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 95") return end pc.warp(1213100, 1643500) elseif s==4 then a=select("Eisland", "Feuerland", "Orktal Mitte", "Grotte", "Weiter") if a==1 then pc.get_level()<60 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 60") return end pc.warp(437400, 217800) elseif a==2 then if pc.get_level()<80 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 80") return end pc.warp(617360, 701374) elseif a==3 then if pc.get_level()<30 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 30") return end pc.warp(333000, 746500) elseif a==4 then if pc.get_level()<70 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 70") return end pc.warp(284300, 810100) elseif a==5 then b=select("Roter Wald", "Weiter") if b==1 then pc.get_level()<50 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 50") return end pc.warp(1049600, 0) elseif b==2 then c=select("Map1 Rotes Reich", "Map1 Gelbes Reich", "Map1 Blaues Reich", "Abbrechen") if c==1 then if pc.get_level()>=1 then say("Du wirst ins rote Reich geportet.") return pc.warp(469300, 964200) end elseif c==2 then if pc.get_level()>=1 then say("Du wirst ins gelbe Reich geportet.") return pc.warp(55700, 157900) end elseif c==3 then if pc.get_level()>=1 then say("Du wirst ins blaue Reich geportet.") return pc.warp(969600, 278400) end elseif c==4 then if pc.get_level()>=1 then say("Hast Dich wohl verklickt..") return end end end end end end end end
Kann mir da wer helfen?  Thanks
|
|
|
07/23/2014, 11:29
|
#10382
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
|
Quote:
Originally Posted by moldhenr
Hallo,
ich hab ein  mit folgender Quest.
Kann mir da wer helfen?  Thanks
|
PHP Code:
quest warp begin
state start begin
when 30521.use begin
say_title("Teleport")
say("Wo moechtest Du hin teleportiert werden?")
local s=select("Levelmap ab 90", "Levelmap ab 100", "Farmmap ab 95", "Weiter")
if s==1 then
if pc.get_level()<90 then
say("Dein Level ist zu niedrig..")
say("Mindestlevel: 90")
return
end
pc.warp(1024000, 1664000)
elseif s==2 then
if pc.get_level()<100 then
say("Dein Level ist zu niedrig..")
say("Mindestlevel: 100")
return
end
pc.warp(1117500, 1598123)
elseif s==3 then
if pc.get_level()<95 then
say("Dein Level ist zu niedrig..")
say("Mindestlevel: 95")
return
end
pc.warp(1213100, 1643500)
elseif s==4 then
a=select("Eisland", "Feuerland", "Orktal Mitte", "Grotte", "Weiter")
if a==1 then
if pc.get_level()<60 then -- ein If hat gefehlt
say("Dein Level ist zu niedrig..")
say("Mindestlevel: 60")
return
end
pc.warp(437400, 217800)
elseif a==2 then
if pc.get_level()<80 then
say("Dein Level ist zu niedrig..")
say("Mindestlevel: 80")
return
end
pc.warp(617360, 701374)
elseif a==3 then
if pc.get_level()<30 then
say("Dein Level ist zu niedrig..")
say("Mindestlevel: 30")
return
end
pc.warp(333000, 746500)
elseif a==4 then
if pc.get_level()<70 then
say("Dein Level ist zu niedrig..")
say("Mindestlevel: 70")
return
end
pc.warp(284300, 810100)
elseif a==5 then
b=select("Roter Wald", "Weiter")
if b==1 then
if pc.get_level()<50 then -- ein if hat gefehlt
say("Dein Level ist zu niedrig..")
say("Mindestlevel: 50")
return
end
pc.warp(1049600, 0)
elseif b==2 then
c=select("Map1 Rotes Reich", "Map1 Gelbes Reich", "Map1 Blaues Reich", "Abbrechen")
-- Ab hier gab es unnötige If abfragen und returns die den Warp verhindert hätten
if c==1 then
say("Du wirst ins rote Reich geportet.")
pc.warp(469300, 964200)
elseif c==2 then
say("Du wirst ins gelbe Reich geportet.")
pc.warp(55700, 157900)
elseif c==3 then
say("Du wirst ins blaue Reich geportet.")
pc.warp(969600, 278400)
elseif c==4 then
say("Hast Dich wohl verklickt..")
return
-- Ab hier waren n paar Ends zu viel.
end
end
end
end
end
end
end
|
|
|
07/24/2014, 05:40
|
#10383
|
elite*gold: 0
Join Date: Jun 2011
Posts: 69
Received Thanks: 25
|
Quote:
Originally Posted by moldhenr
Hallo,
ich hab ein  mit folgender Quest.
PHP Code:
quest warp begin state start begin when 30521.use begin say_title("Teleport") say("Wo moechtest Du hin teleportiert werden?") local s=select("Levelmap ab 90", "Levelmap ab 100", "Farmmap ab 95", "Weiter") if s==1 then if pc.get_level()<90 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 90") return end pc.warp(1024000, 1664000) elseif s==2 then if pc.get_level()<100 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 100") return end pc.warp(1117500, 1598123) elseif s==3 then if pc.get_level()<95 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 95") return end pc.warp(1213100, 1643500) elseif s==4 then a=select("Eisland", "Feuerland", "Orktal Mitte", "Grotte", "Weiter") if a==1 then pc.get_level()<60 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 60") return end pc.warp(437400, 217800) elseif a==2 then if pc.get_level()<80 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 80") return end pc.warp(617360, 701374) elseif a==3 then if pc.get_level()<30 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 30") return end pc.warp(333000, 746500) elseif a==4 then if pc.get_level()<70 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 70") return end pc.warp(284300, 810100) elseif a==5 then b=select("Roter Wald", "Weiter") if b==1 then pc.get_level()<50 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 50") return end pc.warp(1049600, 0) elseif b==2 then c=select("Map1 Rotes Reich", "Map1 Gelbes Reich", "Map1 Blaues Reich", "Abbrechen") if c==1 then if pc.get_level()>=1 then say("Du wirst ins rote Reich geportet.") return pc.warp(469300, 964200) end elseif c==2 then if pc.get_level()>=1 then say("Du wirst ins gelbe Reich geportet.") return pc.warp(55700, 157900) end elseif c==3 then if pc.get_level()>=1 then say("Du wirst ins blaue Reich geportet.") return pc.warp(969600, 278400) end elseif c==4 then if pc.get_level()>=1 then say("Hast Dich wohl verklickt..") return end end end end end end end end
Kann mir da wer helfen?  Thanks
|
PHP Code:
quest warp begin state start begin when 30521.use begin say_title("Teleport") say("Wo moechtest Du hin teleportiert werden?") local s = select("Levelmap ab 90", "Levelmap ab 100", "Farmmap ab 95", "Weiter") if s == 1 then if pc.get_level() < 90 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 90") return end pc.warp(1024000, 1664000) elseif s == 2 then if pc.get_level() < 100 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 100") return end pc.warp(1117500, 1598123) -- check the correctness of this one, it should be +00 at the end elseif s == 3 then if pc.get_level() < 95 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 95") return end pc.warp(1213100, 1643500) elseif s == 4 then local a = select("Eisland", "Feuerland", "Orktal Mitte", "Grotte", "Weiter")
if a == 1 then if pc.get_level() < 60 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 60") return end pc.warp(437400, 217800) elseif a == 2 then if pc.get_level() < 80 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 80") return end pc.warp(617360, 701374) -- check the correctness of this one, it should be +00 at the end elseif a == 3 then if pc.get_level() < 30 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 30") return end pc.warp(333000, 746500) elseif a == 4 then if pc.get_level() < 70 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 70") return end pc.warp(284300, 810100) elseif a == 5 then local b = select("Roter Wald", "Weiter")
if b == 1 then if pc.get_level() < 50 then say("Dein Level ist zu niedrig..") say("Mindestlevel: 50") return end pc.warp(1049600, 0) elseif b == 2 then local c = select("Map1 Rotes Reich", "Map1 Gelbes Reich", "Map1 Blaues Reich", "Abbrechen") if c == 1 then pc.warp(469300, 964200) elseif c == 2 then pc.warp(55700, 157900) elseif c == 3 then pc.warp(969600, 278400) end end end end end end end
|
|
|
07/26/2014, 00:26
|
#10384
|
elite*gold: 0
Join Date: Sep 2009
Posts: 154
Received Thanks: 8
|
Schönen, guten, Abend!
Habe vor geraumer Zeit folgende Quest gescriptet und nun würde ich gerne wissen, ob es möglich ist den Coden zu verkleinern.. kenne mich nicht sonderlich gut aus, habe einfach drauflos getippt.. Immerhin funktioniert sie, wie sie soll.
Eine andere Sache wäre, ob es möglich ist die Rüstungen, die in dieser Quest erweitert werden sollen, so zu "erweitern", dass die Boni übernommen werden?
Die Quest:
PHP Code:
quest Erweiterung begin state start begin when 20091.chat."Drachenrüstung erweitern" begin say_gold("Seon-Pyeong:") say_white("") say_white("Hallo,") say_white("du willst also deine Drachenrüstung") say_white("erweitern?") say_white("Um eine Drachenrüstung zu erweitern") say_white("benötigst du eine Drachenrüstung:") say_green("Blaustahlpanzer+9,") say_green("Auraplattenpanzer+9,") say_green("Blauer Drachenanzug+9 oder,") say_green("Kleidung des Drachen+9") say_green("und einen Erweiterungsstein.") say_white("") wait() say_gold("Seon-Pyeong:") say_white("") say_white("Nur wenn du alle Materialien besitzt,") say_white("kann ich dir deine Rüstung erweitern.") say_white("") say_red("Achtung: Mögliche Boni der Rüstung") say_red("werden nicht auf die erweiterte") say_red("Rüstung übertragen!") say_white("") say_reward("Möchtest du deine Rüstung erweitern?") local s = select("Klar!", "Nein, lieber nicht.") if s == 2 then say_gold("Seon-Pyeong:") say_white("") say_white("Komm wieder, wenn du es") say_white("dir anders überlegt haben solltest.") elseif s == 1 then say_gold("Seon-Pyeong:") say_white("") say_white("Welche Rüstung möchtest du erweitern?") say_white("") say_reward("Bitte wähle die Rüstung!") local a = select("Blaustahlpanzer", "Auraplattenpanzer", "Blauer Drachenanzug", "Kleidung des Drachen", "Keine") if a == 5 then say_gold("Seon-Pyeong:") say_white("") say_white("Komm wieder, wenn du es") say_white("dir anders überlegt haben solltest.") elseif a == 1 then if pc.count_item(11309) == 0 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt keinen Blaustahlpanzer,") say_white("komm wieder wenn du eine Drachenrüstung besitzt!") else say_gold("Seon-Pyeong:") say_white("") say_white("Welchen Erweiterungsstein möchtest du benutzen?") say_white("") say_reward("Wählen den Stein!") local b = select("Fertigkeitsschaden", "Durchschn. Schaden", "Keine") if b == 3 then say_gold("Seon-Pyeong:") say_white("") say_white("Komm wieder, wenn du es") say_white("dir anders überlegt haben solltest.") elseif b == 1 then if pc.count_item(90007) == 0 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt den benötigten Stein nicht,") say_white("komm wieder wenn du einen Erweitungsstein besitzt.") else say_gold("Seon-Pyeong:") say_white("") say_white("Das erweitern deiner Rüstung wird dich") say_white("200'000'000 Yang kosten.") say_white("") say_reward("Möchtest du 200'000'000 Yang zahlen?") local c = select("Ja", "Nein") if c == 2 then return elseif pc.get_gold() < 200000000 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt zu wenig Yang!") else say_gold("Seon-Pyeong:") say_white("") say_white("Ich erweitere nun deine Rüstung.") say_white("...") say_white("...") say_white("Glückwunsch, es hat funktioniert,") say_white("dein Blaustahlpanzer besitzt nun zusätzlich") say_white("10% Fertigkeitsschaden!") pc.remove_item(11309, 1) pc.remove_item(90007, 1) pc.change_money(-200000000) pc.give_item2(11349, 1) end end elseif b == 2 then if pc.count_item(90006) == 0 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt den benötigten Stein nicht,") say_white("komm wieder wenn du einen Erweitungsstein besitzt.") else say_gold("Seon-Pyeong:") say_white("") say_white("Das erweitern deiner Rüstung wird dich") say_white("200'000'000 Yang kosten.") say_white("") say_reward("Möchtest du 200'000'000 Yang zahlen?") local c = select("Ja", "Nein") if c == 2 then return elseif pc.get_gold() < 200000000 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt zu wenig Yang!") else say_gold("Seon-Pyeong:") say_white("") say_white("Ich erweitere nun deine Rüstung.") say_white("...") say_white("...") say_white("Glückwunsch, es hat funktioniert,") say_white("dein Blaustahlpanzer besitzt nun zusätzlich") say_white("15% Durchsch. Schaden!") pc.remove_item(11309, 1) pc.remove_item(90006, 1) pc.change_money(-200000000) pc.give_item2(11339, 1) end end end end elseif a == 2 then if pc.count_item(11709) == 0 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt keinen Auraplattenpanzer,") say_white("komm wieder wenn du eine Drachenrüstung besitzt!") else say_gold("Seon-Pyeong:") say_white("") say_white("Welchen Erweiterungsstein möchtest du benutzen?") say_white("") say_reward("Wählen den Stein!") local b = select("Fertigkeitsschaden", "Durchschn. Schaden", "Keine") if b == 3 then say_gold("Seon-Pyeong:") say_white("") say_white("Komm wieder, wenn du es") say_white("dir anders überlegt haben solltest.") elseif b == 1 then if pc.count_item(90007) == 0 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt den benötigten Stein nicht,") say_white("komm wieder wenn du einen Erweitungsstein besitzt.") else say_gold("Seon-Pyeong:") say_white("") say_white("Das erweitern deiner Rüstung wird dich") say_white("200'000'000 Yang kosten.") say_white("") say_reward("Möchtest du 200'000'000 Yang zahlen?") local c = select("Ja", "Nein") if c == 2 then return elseif pc.get_gold() < 200000000 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt zu wenig Yang!") else say_gold("Seon-Pyeong:") say_white("") say_white("Ich erweitere nun deine Rüstung.") say_white("...") say_white("...") say_white("Glückwunsch, es hat funktioniert,") say_white("dein Auraplattenpanzer besitzt nun zusätzlich") say_white("10% Fertigkeitsschaden!") pc.remove_item(11709, 1) pc.remove_item(90007, 1) pc.change_money(-200000000) pc.give_item2(11749, 1) end end elseif b == 2 then if pc.count_item(90006) == 0 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt den benötigten Stein nicht,") say_white("komm wieder wenn du einen Erweitungsstein besitzt.") else say_gold("Seon-Pyeong:") say_white("") say_white("Das erweitern deiner Rüstung wird dich") say_white("200'000'000 Yang kosten.") say_white("") say_reward("Möchtest du 200'000'000 Yang zahlen?") local c = select("Ja", "Nein") if c == 2 then return elseif pc.get_gold() < 200000000 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt zu wenig Yang!") else say_gold("Seon-Pyeong:") say_white("") say_white("Ich erweitere nun deine Rüstung.") say_white("...") say_white("...") say_white("Glückwunsch, es hat funktioniert,") say_white("dein Auraplattenpanzer besitzt nun zusätzlich") say_white("15% Durchsch. Schaden!") pc.remove_item(11709, 1) pc.remove_item(90006, 1) pc.change_money(-200000000) pc.give_item2(11739, 1) end end end end elseif a == 3 then if pc.count_item(11509) == 0 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt keinen Blauer Drachenanzug,") say_white("komm wieder wenn du eine Drachenrüstung besitzt!") else say_gold("Seon-Pyeong:") say_white("") say_white("Welchen Erweiterungsstein möchtest du benutzen?") say_white("") say_reward("Wählen den Stein!") local b = select("Fertigkeitsschaden", "Durchschn. Schaden", "Keine") if b == 3 then say_gold("Seon-Pyeong:") say_white("") say_white("Komm wieder, wenn du es") say_white("dir anders überlegt haben solltest.") elseif b == 1 then if pc.count_item(90007) == 0 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt den benötigten Stein nicht,") say_white("komm wieder wenn du einen Erweitungsstein besitzt.") else say_gold("Seon-Pyeong:") say_white("") say_white("Das erweitern deiner Rüstung wird dich") say_white("200'000'000 Yang kosten.") say_white("") say_reward("Möchtest du 200'000'000 Yang zahlen?") local c = select("Ja", "Nein") if c == 2 then return elseif pc.get_gold() < 200000000 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt zu wenig Yang!") else say_gold("Seon-Pyeong:") say_white("") say_white("Ich erweitere nun deine Rüstung.") say_white("...") say_white("...") say_white("Glückwunsch, es hat funktioniert,") say_white("dein Blauer Drachenanzug besitzt nun zusätzlich") say_white("10% Fertigkeitsschaden!") pc.remove_item(11509, 1) pc.remove_item(90007, 1) pc.change_money(-200000000) pc.give_item2(11549, 1) end end elseif b == 2 then if pc.count_item(90006) == 0 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt den benötigten Stein nicht,") say_white("komm wieder wenn du einen Erweitungsstein besitzt.") else say_gold("Seon-Pyeong:") say_white("") say_white("Das erweitern deiner Rüstung wird dich") say_white("200'000'000 Yang kosten.") say_white("") say_reward("Möchtest du 200'000'000 Yang zahlen?") local c = select("Ja", "Nein") if c == 2 then return elseif pc.get_gold() < 200000000 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt zu wenig Yang!") else say_gold("Seon-Pyeong:") say_white("") say_white("Ich erweitere nun deine Rüstung.") say_white("...") say_white("...") say_white("Glückwunsch, es hat funktioniert,") say_white("dein Blauer Drachenanzug besitzt nun zusätzlich") say_white("15% Durchsch. Schaden!") pc.remove_item(11509, 1) pc.remove_item(90006, 1) pc.change_money(-200000000) pc.give_item2(11539, 1) end end end end elseif a == 4 then if pc.count_item(12009) == 0 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt keine Kleidung des Drachen,") say_white("komm wieder wenn du eine Drachenrüstung besitzt!") else say_gold("Seon-Pyeong:") say_white("") say_white("Welchen Erweiterungsstein möchtest du benutzen?") say_white("") say_reward("Wählen den Stein!") local b = select("Fertigkeitsschaden", "Durchschn. Schaden", "Keine") if b == 3 then say_gold("Seon-Pyeong:") say_white("") say_white("Komm wieder, wenn du es") say_white("dir anders überlegt haben solltest.") elseif b == 1 then if pc.count_item(90007) == 0 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt den benötigten Stein nicht,") say_white("komm wieder wenn du einen Erweitungsstein besitzt.") else say_gold("Seon-Pyeong:") say_white("") say_white("Das erweitern deiner Rüstung wird dich") say_white("200'000'000 Yang kosten.") say_white("") say_reward("Möchtest du 200'000'000 Yang zahlen?") local c = select("Ja", "Nein") if c == 2 then return elseif pc.get_gold() < 200000000 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt zu wenig Yang!") else say_gold("Seon-Pyeong:") say_white("") say_white("Ich erweitere nun deine Rüstung.") say_white("...") say_white("...") say_white("Glückwunsch, es hat funktioniert,") say_white("deine Kleidung des Drachen besitzt nun zusätzlich") say_white("10% Fertigkeitsschaden!") pc.remove_item(12009, 1) pc.remove_item(90007, 1) pc.change_money(-200000000) pc.give_item2(10109, 1) end end elseif b == 2 then if pc.count_item(90006) == 0 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt den benötigten Stein nicht,") say_white("komm wieder wenn du einen Erweitungsstein besitzt.") else say_gold("Seon-Pyeong:") say_white("") say_white("Das erweitern deiner Rüstung wird dich") say_white("200'000'000 Yang kosten.") say_white("") say_reward("Möchtest du 200'000'000 Yang zahlen?") local c = select("Ja", "Nein") if c == 2 then return elseif pc.get_gold() < 200000000 then say_gold("Seon-Pyeong:") say_white("") say_white("Du besitzt zu wenig Yang!") else say_gold("Seon-Pyeong:") say_white("") say_white("Ich erweitere nun deine Rüstung.") say_white("...") say_white("...") say_white("Glückwunsch, es hat funktioniert,") say_white("deine Kleidung des Drachen besitzt nun zusätzlich") say_white("15% Durchsch. Schaden!") pc.remove_item(12009, 1) pc.remove_item(90006, 1) pc.change_money(-200000000) pc.give_item2(10099, 1) end end end end end end end end end
*Edit*
Bei folgender Quest wollte ich eine Überpüfung einbauen, ob der Spieler genügend Platz im Inventar hat.. jedoch bekomme ich auch bei einem vollkommen leeren Inventar die Meldunung, ich hätte zu wenig Platz.
PHP Code:
quest azraels_truhe begin state start begin when 50080.use begin if pc.enough_inventory() == false then syschat("Dein Inventar ist zu voll um diese Truhe zu öffnen.") return else local itemt = { { 146, 1 }, { 156, 1 }, { 184, 1 }, { 3136, 1 }, { 3157, 1 }, { 3160, 1 }, { 1106, 1 }, { 1134, 1 }, { 11287, 1 }, { 11487, 1 }, { 11687, 1 }, { 11887, 1 }, { 11296, 1 }, { 11496, 1 }, { 11696, 1 }, { 11896, 1 }, { 5120, 1 }, { 5096, 1 }, { 7146, 1 }, { 7157, 1 }, { 55630, 3 }, { 27992, 1 }, { 27993, 1 }, { 27994, 1 }, { 50512, 1 }, { 27991, 1 }, { 50071, 1 }, { 50075, 1 }, { 38051, 1 }, { 16410, 1 }, { 14410, 1 }, { 17410, 1 }, { 12247, 1 }, { 12387, 1 }, { 12527, 1 }, { 12667, 1 }, { 13146, 1 }, { 13166, 1 }, { 13186, 1 }, { 13206, 1 }, { 17209, 1 }, { 14209, 1 }, { 16209, 1 }, { 15377, 1 }, { 15397, 1 }, { 15417, 1 }, { 15437, 1 }, } local a = itemt[number(1,table.getn(itemt))] local b = itemt[number(1,table.getn(itemt))] local c = itemt[number(1,table.getn(itemt))] local d = itemt[number(1,table.getn(itemt))] local e = itemt[number(1,table.getn(itemt))] local f = itemt[number(1,table.getn(itemt))] local g = itemt[number(1,table.getn(itemt))] local h = itemt[number(1,table.getn(itemt))] local i = itemt[number(1,table.getn(itemt))] local j = itemt[number(1,table.getn(itemt))] local k = itemt[number(1,table.getn(itemt))] local l = itemt[number(1,table.getn(itemt))] local m = itemt[number(1,table.getn(itemt))] local n = itemt[number(1,table.getn(itemt))] local o = itemt[number(1,table.getn(itemt))] local p = itemt[number(1,table.getn(itemt))] pc.give_item2(a[1], b[2]) pc.give_item2(c[1], d[2]) pc.give_item2(e[1], f[2]) pc.give_item2(g[1], h[2]) pc.give_item2(i[1], j[2]) pc.give_item2(k[1], l[2]) pc.give_item2(m[1], n[2]) pc.give_item2(o[1], p[2]) pc.remove_item("50080", 1) end end end end
Für Rückfragen bin ich auch über Skype erreichbar, Adresse ist meinem Profil zu entnehmen.
Danke im Voraus.
|
|
|
07/26/2014, 11:44
|
#10385
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
|
Quote:
Originally Posted by Brodan
Schönen, guten, Abend!
Habe vor geraumer Zeit folgende Quest gescriptet und nun würde ich gerne wissen, ob es möglich ist den Coden zu verkleinern.. kenne mich nicht sonderlich gut aus, habe einfach drauflos getippt.. Immerhin funktioniert sie, wie sie soll.
Eine andere Sache wäre, ob es möglich ist die Rüstungen, die in dieser Quest erweitert werden sollen, so zu "erweitern", dass die Boni übernommen werden?
Die Quest:
PHP Code:
quest Erweiterung begin
state start begin
when 20091.chat."Drachenrüstung erweitern" begin
say_gold("Seon-Pyeong:")
say_white("")
say_white("Hallo,")
say_white("du willst also deine Drachenrüstung")
say_white("erweitern?")
say_white("Um eine Drachenrüstung zu erweitern")
say_white("benötigst du eine Drachenrüstung:")
say_green("Blaustahlpanzer+9,")
say_green("Auraplattenpanzer+9,")
say_green("Blauer Drachenanzug+9 oder,")
say_green("Kleidung des Drachen+9")
say_green("und einen Erweiterungsstein.")
say_white("")
wait()
say_gold("Seon-Pyeong:")
say_white("")
say_white("Nur wenn du alle Materialien besitzt,")
say_white("kann ich dir deine Rüstung erweitern.")
say_white("")
say_red("Achtung: Mögliche Boni der Rüstung")
say_red("werden nicht auf die erweiterte")
say_red("Rüstung übertragen!")
say_white("")
say_reward("Möchtest du deine Rüstung erweitern?")
local s = select("Klar!", "Nein, lieber nicht.")
if s == 2 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Komm wieder, wenn du es")
say_white("dir anders überlegt haben solltest.")
elseif s == 1 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Welche Rüstung möchtest du erweitern?")
say_white("")
say_reward("Bitte wähle die Rüstung!")
local a = select("Blaustahlpanzer", "Auraplattenpanzer", "Blauer Drachenanzug", "Kleidung des Drachen", "Keine")
if a == 5 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Komm wieder, wenn du es")
say_white("dir anders überlegt haben solltest.")
elseif a == 1 then
if pc.count_item(11309) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt keinen Blaustahlpanzer,")
say_white("komm wieder wenn du eine Drachenrüstung besitzt!")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Welchen Erweiterungsstein möchtest du benutzen?")
say_white("")
say_reward("Wählen den Stein!")
local b = select("Fertigkeitsschaden", "Durchschn. Schaden", "Keine")
if b == 3 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Komm wieder, wenn du es")
say_white("dir anders überlegt haben solltest.")
elseif b == 1 then
if pc.count_item(90007) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt den benötigten Stein nicht,")
say_white("komm wieder wenn du einen Erweitungsstein besitzt.")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Das erweitern deiner Rüstung wird dich")
say_white("200'000'000 Yang kosten.")
say_white("")
say_reward("Möchtest du 200'000'000 Yang zahlen?")
local c = select("Ja", "Nein")
if c == 2 then
return
elseif pc.get_gold() < 200000000 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt zu wenig Yang!")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Ich erweitere nun deine Rüstung.")
say_white("...")
say_white("...")
say_white("Glückwunsch, es hat funktioniert,")
say_white("dein Blaustahlpanzer besitzt nun zusätzlich")
say_white("10% Fertigkeitsschaden!")
pc.remove_item(11309, 1)
pc.remove_item(90007, 1)
pc.change_money(-200000000)
pc.give_item2(11349, 1)
end
end
elseif b == 2 then
if pc.count_item(90006) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt den benötigten Stein nicht,")
say_white("komm wieder wenn du einen Erweitungsstein besitzt.")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Das erweitern deiner Rüstung wird dich")
say_white("200'000'000 Yang kosten.")
say_white("")
say_reward("Möchtest du 200'000'000 Yang zahlen?")
local c = select("Ja", "Nein")
if c == 2 then
return
elseif pc.get_gold() < 200000000 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt zu wenig Yang!")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Ich erweitere nun deine Rüstung.")
say_white("...")
say_white("...")
say_white("Glückwunsch, es hat funktioniert,")
say_white("dein Blaustahlpanzer besitzt nun zusätzlich")
say_white("15% Durchsch. Schaden!")
pc.remove_item(11309, 1)
pc.remove_item(90006, 1)
pc.change_money(-200000000)
pc.give_item2(11339, 1)
end
end
end
end
elseif a == 2 then
if pc.count_item(11709) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt keinen Auraplattenpanzer,")
say_white("komm wieder wenn du eine Drachenrüstung besitzt!")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Welchen Erweiterungsstein möchtest du benutzen?")
say_white("")
say_reward("Wählen den Stein!")
local b = select("Fertigkeitsschaden", "Durchschn. Schaden", "Keine")
if b == 3 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Komm wieder, wenn du es")
say_white("dir anders überlegt haben solltest.")
elseif b == 1 then
if pc.count_item(90007) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt den benötigten Stein nicht,")
say_white("komm wieder wenn du einen Erweitungsstein besitzt.")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Das erweitern deiner Rüstung wird dich")
say_white("200'000'000 Yang kosten.")
say_white("")
say_reward("Möchtest du 200'000'000 Yang zahlen?")
local c = select("Ja", "Nein")
if c == 2 then
return
elseif pc.get_gold() < 200000000 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt zu wenig Yang!")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Ich erweitere nun deine Rüstung.")
say_white("...")
say_white("...")
say_white("Glückwunsch, es hat funktioniert,")
say_white("dein Auraplattenpanzer besitzt nun zusätzlich")
say_white("10% Fertigkeitsschaden!")
pc.remove_item(11709, 1)
pc.remove_item(90007, 1)
pc.change_money(-200000000)
pc.give_item2(11749, 1)
end
end
elseif b == 2 then
if pc.count_item(90006) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt den benötigten Stein nicht,")
say_white("komm wieder wenn du einen Erweitungsstein besitzt.")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Das erweitern deiner Rüstung wird dich")
say_white("200'000'000 Yang kosten.")
say_white("")
say_reward("Möchtest du 200'000'000 Yang zahlen?")
local c = select("Ja", "Nein")
if c == 2 then
return
elseif pc.get_gold() < 200000000 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt zu wenig Yang!")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Ich erweitere nun deine Rüstung.")
say_white("...")
say_white("...")
say_white("Glückwunsch, es hat funktioniert,")
say_white("dein Auraplattenpanzer besitzt nun zusätzlich")
say_white("15% Durchsch. Schaden!")
pc.remove_item(11709, 1)
pc.remove_item(90006, 1)
pc.change_money(-200000000)
pc.give_item2(11739, 1)
end
end
end
end
elseif a == 3 then
if pc.count_item(11509) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt keinen Blauer Drachenanzug,")
say_white("komm wieder wenn du eine Drachenrüstung besitzt!")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Welchen Erweiterungsstein möchtest du benutzen?")
say_white("")
say_reward("Wählen den Stein!")
local b = select("Fertigkeitsschaden", "Durchschn. Schaden", "Keine")
if b == 3 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Komm wieder, wenn du es")
say_white("dir anders überlegt haben solltest.")
elseif b == 1 then
if pc.count_item(90007) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt den benötigten Stein nicht,")
say_white("komm wieder wenn du einen Erweitungsstein besitzt.")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Das erweitern deiner Rüstung wird dich")
say_white("200'000'000 Yang kosten.")
say_white("")
say_reward("Möchtest du 200'000'000 Yang zahlen?")
local c = select("Ja", "Nein")
if c == 2 then
return
elseif pc.get_gold() < 200000000 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt zu wenig Yang!")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Ich erweitere nun deine Rüstung.")
say_white("...")
say_white("...")
say_white("Glückwunsch, es hat funktioniert,")
say_white("dein Blauer Drachenanzug besitzt nun zusätzlich")
say_white("10% Fertigkeitsschaden!")
pc.remove_item(11509, 1)
pc.remove_item(90007, 1)
pc.change_money(-200000000)
pc.give_item2(11549, 1)
end
end
elseif b == 2 then
if pc.count_item(90006) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt den benötigten Stein nicht,")
say_white("komm wieder wenn du einen Erweitungsstein besitzt.")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Das erweitern deiner Rüstung wird dich")
say_white("200'000'000 Yang kosten.")
say_white("")
say_reward("Möchtest du 200'000'000 Yang zahlen?")
local c = select("Ja", "Nein")
if c == 2 then
return
elseif pc.get_gold() < 200000000 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt zu wenig Yang!")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Ich erweitere nun deine Rüstung.")
say_white("...")
say_white("...")
say_white("Glückwunsch, es hat funktioniert,")
say_white("dein Blauer Drachenanzug besitzt nun zusätzlich")
say_white("15% Durchsch. Schaden!")
pc.remove_item(11509, 1)
pc.remove_item(90006, 1)
pc.change_money(-200000000)
pc.give_item2(11539, 1)
end
end
end
end
elseif a == 4 then
if pc.count_item(12009) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt keine Kleidung des Drachen,")
say_white("komm wieder wenn du eine Drachenrüstung besitzt!")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Welchen Erweiterungsstein möchtest du benutzen?")
say_white("")
say_reward("Wählen den Stein!")
local b = select("Fertigkeitsschaden", "Durchschn. Schaden", "Keine")
if b == 3 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Komm wieder, wenn du es")
say_white("dir anders überlegt haben solltest.")
elseif b == 1 then
if pc.count_item(90007) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt den benötigten Stein nicht,")
say_white("komm wieder wenn du einen Erweitungsstein besitzt.")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Das erweitern deiner Rüstung wird dich")
say_white("200'000'000 Yang kosten.")
say_white("")
say_reward("Möchtest du 200'000'000 Yang zahlen?")
local c = select("Ja", "Nein")
if c == 2 then
return
elseif pc.get_gold() < 200000000 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt zu wenig Yang!")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Ich erweitere nun deine Rüstung.")
say_white("...")
say_white("...")
say_white("Glückwunsch, es hat funktioniert,")
say_white("deine Kleidung des Drachen besitzt nun zusätzlich")
say_white("10% Fertigkeitsschaden!")
pc.remove_item(12009, 1)
pc.remove_item(90007, 1)
pc.change_money(-200000000)
pc.give_item2(10109, 1)
end
end
elseif b == 2 then
if pc.count_item(90006) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt den benötigten Stein nicht,")
say_white("komm wieder wenn du einen Erweitungsstein besitzt.")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Das erweitern deiner Rüstung wird dich")
say_white("200'000'000 Yang kosten.")
say_white("")
say_reward("Möchtest du 200'000'000 Yang zahlen?")
local c = select("Ja", "Nein")
if c == 2 then
return
elseif pc.get_gold() < 200000000 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt zu wenig Yang!")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Ich erweitere nun deine Rüstung.")
say_white("...")
say_white("...")
say_white("Glückwunsch, es hat funktioniert,")
say_white("deine Kleidung des Drachen besitzt nun zusätzlich")
say_white("15% Durchsch. Schaden!")
pc.remove_item(12009, 1)
pc.remove_item(90006, 1)
pc.change_money(-200000000)
pc.give_item2(10099, 1)
end
end
end
end
end
end
end
end
end
*Edit*
Bei folgender Quest wollte ich eine Überpüfung einbauen, ob der Spieler genügend Platz im Inventar hat.. jedoch bekomme ich auch bei einem vollkommen leeren Inventar die Meldunung, ich hätte zu wenig Platz.
PHP Code:
quest azraels_truhe begin
state start begin
when 50080.use begin
if pc.enough_inventory() == false then
syschat("Dein Inventar ist zu voll um diese Truhe zu öffnen.")
return
else
local itemt =
{
{ 146, 1 },
{ 156, 1 },
{ 184, 1 },
{ 3136, 1 },
{ 3157, 1 },
{ 3160, 1 },
{ 1106, 1 },
{ 1134, 1 },
{ 11287, 1 },
{ 11487, 1 },
{ 11687, 1 },
{ 11887, 1 },
{ 11296, 1 },
{ 11496, 1 },
{ 11696, 1 },
{ 11896, 1 },
{ 5120, 1 },
{ 5096, 1 },
{ 7146, 1 },
{ 7157, 1 },
{ 55630, 3 },
{ 27992, 1 },
{ 27993, 1 },
{ 27994, 1 },
{ 50512, 1 },
{ 27991, 1 },
{ 50071, 1 },
{ 50075, 1 },
{ 38051, 1 },
{ 16410, 1 },
{ 14410, 1 },
{ 17410, 1 },
{ 12247, 1 },
{ 12387, 1 },
{ 12527, 1 },
{ 12667, 1 },
{ 13146, 1 },
{ 13166, 1 },
{ 13186, 1 },
{ 13206, 1 },
{ 17209, 1 },
{ 14209, 1 },
{ 16209, 1 },
{ 15377, 1 },
{ 15397, 1 },
{ 15417, 1 },
{ 15437, 1 },
}
local a = itemt[number(1,table.getn(itemt))]
local b = itemt[number(1,table.getn(itemt))]
local c = itemt[number(1,table.getn(itemt))]
local d = itemt[number(1,table.getn(itemt))]
local e = itemt[number(1,table.getn(itemt))]
local f = itemt[number(1,table.getn(itemt))]
local g = itemt[number(1,table.getn(itemt))]
local h = itemt[number(1,table.getn(itemt))]
local i = itemt[number(1,table.getn(itemt))]
local j = itemt[number(1,table.getn(itemt))]
local k = itemt[number(1,table.getn(itemt))]
local l = itemt[number(1,table.getn(itemt))]
local m = itemt[number(1,table.getn(itemt))]
local n = itemt[number(1,table.getn(itemt))]
local o = itemt[number(1,table.getn(itemt))]
local p = itemt[number(1,table.getn(itemt))]
pc.give_item2(a[1], b[2])
pc.give_item2(c[1], d[2])
pc.give_item2(e[1], f[2])
pc.give_item2(g[1], h[2])
pc.give_item2(i[1], j[2])
pc.give_item2(k[1], l[2])
pc.give_item2(m[1], n[2])
pc.give_item2(o[1], p[2])
pc.remove_item("50080", 1)
end
end
end
end
Für Rückfragen bin ich auch über Skype erreichbar, Adresse ist meinem Profil zu entnehmen.
Danke im Voraus.
|
1.
PHP Code:
quest Erweiterung begin
state start begin
when 20091.chat."Drachenrüstung erweitern" begin
say_gold("Seon-Pyeong:")
say_white("")
say_white("Hallo,")
say_white("du willst also deine Drachenrüstung")
say_white("erweitern?")
say_white("Um eine Drachenrüstung zu erweitern")
say_white("benötigst du eine Drachenrüstung:")
say_green("Blaustahlpanzer+9,")
say_green("Auraplattenpanzer+9,")
say_green("Blauer Drachenanzug+9 oder,")
say_green("Kleidung des Drachen+9")
say_green("und einen Erweiterungsstein.")
say_white("")
wait()
say_gold("Seon-Pyeong:")
say_white("")
say_white("Nur wenn du alle Materialien besitzt,")
say_white("kann ich dir deine Rüstung erweitern.")
say_white("")
say_red("Achtung: Mögliche Boni der Rüstung")
say_red("werden nicht auf die erweiterte")
say_red("Rüstung übertragen!")
say_white("")
say_reward("Möchtest du deine Rüstung erweitern?")
local s = select("Klar!", "Nein, lieber nicht.")
if s == 2 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Komm wieder, wenn du es")
say_white("dir anders überlegt haben solltest.")
elseif s == 1 then
local rus = {"Blaustahlpanzer", "Auraplattenpanzer", "Blauer Drachenanzug", "Kleidung des Drachen", "Keine"}
local rusid = { 11309, 11709, 11509, 12009 }
local fer = { "10% Fertigkeitsschaden", "15% Durchschn. Schaden", "Keine"}
local ste = { 90007, 90006 }
local newr = { { 11349, 11339 }, { 11749, 11739 }, { 11549, 11539 }, { 10109, 10099 } }
say_gold("Seon-Pyeong:")
say_white("")
say_white("Welche Rüstung möchtest du erweitern?")
say_white("")
say_reward("Bitte wähle die Rüstung!")
local a = select_table(rus)
if a == table.getn(rus) then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Komm wieder, wenn du es")
say_white("dir anders überlegt haben solltest.")
return
end
if pc.count_item(rusid[a]) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt keine/n "..rus[a]..",")
say_white("komm wieder wenn du eine Drachenrüstung besitzt!")
return
end
say_gold("Seon-Pyeong:")
say_white("")
say_white("Welchen Erweiterungsstein möchtest du benutzen?")
say_white("")
say_reward("Wählen den Stein!")
local b = select_table(fer)
if b == table.getn(fer) then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Komm wieder, wenn du es")
say_white("dir anders überlegt haben solltest.")
return
end
if pc.count_item(ste[b]) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt den benötigten Stein nicht,")
say_white("komm wieder wenn du einen Erweitungsstein besitzt.")
return
end
say_gold("Seon-Pyeong:")
say_white("")
say_white("Das erweitern deiner Rüstung wird dich")
say_white("200'000'000 Yang kosten.")
say_white("")
say_reward("Möchtest du 200'000'000 Yang zahlen?")
if select("Ja", "Nein")==2 then return end
if pc.get_gold() < 200000000 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt zu wenig Yang!")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Ich erweitere nun deine Rüstung.")
say_white("...")
say_white("...")
say_white("Glückwunsch, es hat funktioniert,")
say_white("dein/e "..rus[a].." besitzt nun zusätzlich")
say_white(fer[b].."!")
pc.remove_item(rusid[a], 1)
pc.remove_item(ste[b], 1)
pc.change_money(-200000000)
pc.give_item2(newr[a][b], 1)
end
end
end
end
end
2. Soweit ich weiß funktioniert pc.enough_inventory() nur wenn ein item per select.item oder über die NPC.take ausgewählt wurde...(verbessert mich wenn ich falschliege)
Es gibt aber noch diesen Befehl
PHP Code:
pc.get_empty_inventory_count() < x
|
|
|
07/26/2014, 17:12
|
#10386
|
elite*gold: 0
Join Date: Jun 2014
Posts: 6
Received Thanks: 2
|
Auch hier nochmal:
Guten Tag EpvpCom,
Ich bräuchte eine quest, bei der ich einen Npc anklicke mit Level 150 und ich dann
verschiedene Monster töten muss. Wenn alle Monster einmal getötet wurden, bekommt man
bei dem Npc dann eine Belohnung.
Meine Quest sieht zurzeit so aus, funktioniert aber leider nicht. Fehler in [line21] und es fehlt noch
der NPC.
Danke im Vorraus schonmal
PHP Code:
quest endeq begin
state start begin
when levelup with pc.get_level()==150 begin
say_title("Mein baldiger Servername:")
say("Du hast es also bis Level 150 geschafft,")
say("nicht schlecht!")
say("Deine letzte Aufgabe lautet:")
say_reward("Töte den Unterweltdrachen,")
say_reward("den Unterweltork, den Unterweltgeist,")
say_reward("die Unterweltspinne, den Unterweltkönig,")
say_reward("den Unterweltfuchs und")
say_reward("töte alle Tiergötter,")
say_reward("sowie den dunklen Herrscher Azrael!")
say("Viel Glück!")
say("Wenn du es schaffst wirst du")
say_reward("reichlich belohnt!")
set_state(kill)
end
end
state kill begin
when 692.kill and 1093.kill and 1334.kill and 2493.kill and 2207.kill and 1906.kill and 191.kill and 192.kill and 193.kill and 194.kill and 2598.kill begin
say_title("Mein baldiger Servername:")
say("Du hast es tatsächlich geschafft! Du hast dich")
say("soeben als würdig erwiesen.")
say_reward("Du erhälst die legendären Uppitems!")
pc.give_item2(200000)
pc.give_item2(200001)
pc.give_item2(200002)
pc.give_item2(200003)
pc.give_item2(200004)
pc.give_item2(200005)
pc.give_item2(200006)
pc.give_item2(200007)
pc.give_item2(200008)
pc.give_item2(200009)
pc.give_item2(200010)
pc.give_item2(200011)
pc.give_item2(200012)
pc.give_item2(200013)
pc.give_item2(200014)
pc.give_item2(200015)
pc.give_item2(200016)
pc.give_item2(200017)
pc.give_item2(200018)
pc.give_item2(200019)
end
end
end
|
|
|
07/26/2014, 19:51
|
#10387
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
|
Quote:
Originally Posted by [SA]Creative
Auch hier nochmal:
Guten Tag EpvpCom,
Ich bräuchte eine quest, bei der ich einen Npc anklicke mit Level 150 und ich dann
verschiedene Monster töten muss. Wenn alle Monster einmal getötet wurden, bekommt man
bei dem Npc dann eine Belohnung.
Meine Quest sieht zurzeit so aus, funktioniert aber leider nicht. Fehler in [line21] und es fehlt noch
der NPC.
Danke im Vorraus schonmal
PHP Code:
quest endeq begin state start begin when levelup with pc.get_level()==150 begin say_title("Mein baldiger Servername:") say("Du hast es also bis Level 150 geschafft,") say("nicht schlecht!") say("Deine letzte Aufgabe lautet:") say_reward("Töte den Unterweltdrachen,") say_reward("den Unterweltork, den Unterweltgeist,") say_reward("die Unterweltspinne, den Unterweltkönig,") say_reward("den Unterweltfuchs und") say_reward("töte alle Tiergötter,") say_reward("sowie den dunklen Herrscher Azrael!") say("Viel Glück!") say("Wenn du es schaffst wirst du") say_reward("reichlich belohnt!") set_state(kill) end end state kill begin when 692.kill and 1093.kill and 1334.kill and 2493.kill and 2207.kill and 1906.kill and 191.kill and 192.kill and 193.kill and 194.kill and 2598.kill begin say_title("Mein baldiger Servername:") say("Du hast es tatsächlich geschafft! Du hast dich") say("soeben als würdig erwiesen.") say_reward("Du erhälst die legendären Uppitems!") pc.give_item2(200000) pc.give_item2(200001) pc.give_item2(200002) pc.give_item2(200003) pc.give_item2(200004) pc.give_item2(200005) pc.give_item2(200006) pc.give_item2(200007) pc.give_item2(200008) pc.give_item2(200009) pc.give_item2(200010) pc.give_item2(200011) pc.give_item2(200012) pc.give_item2(200013) pc.give_item2(200014) pc.give_item2(200015) pc.give_item2(200016) pc.give_item2(200017) pc.give_item2(200018) pc.give_item2(200019) end end end
|
Ich weiß jetzt nicht ob die Quest immer wiederholbar sein soll oder nicht...
Ich hab sie jetzt "unwiederholbar" geschrieben. Notwendige Änderungen sind drankommentiert.
# An die Programmierer: Wenn es einfacher geht, lasst es mich wissen.
Code:
quest endeq begin
state start begin
when login or levelup with pc.level==150 begin
set_state(info)
end
end
state info begin
when letter begin
local v = find_npc_by_vnum(XY) -- XY durch NPC VNUM ersetzen
if v != 0 then
target.vid("Target1", v, "XY") -- XY durch NPC NAME ersetzen
end
send_letter("Geh zu XY") -- XY durch NPC NAME ersetzen
end
when button or info begin
say_title("Geh zu XY!") -- XY durch NPC NAME ersetzen
say("")
say("Begib dich schnellstmöglich zu")
say("XY und sprich mit ihm.") -- XY durch NPC NAME ersetzen
say("")
say_reward("Sprich mit XY") -- XY durch NPC NAME ersetzen
say("")
end
when Target1.target.click or XY.chat."Level 150" begin -- XY durch NPC VNUM ersetzen
target.delete("Target1")
say_title("Mein baldiger Servername:")
say("Du hast es also bis Level 150 geschafft,")
say("nicht schlecht!")
say("Deine letzte Aufgabe lautet:")
say_reward("Töte den Unterweltdrachen,")
say_reward("den Unterweltork, den Unterweltgeist,")
say_reward("die Unterweltspinne, den Unterweltkönig,")
say_reward("den Unterweltfuchs und")
say_reward("töte alle Tiergötter,")
say_reward("sowie den dunklen Herrscher Azrael!")
say("Viel Glück!")
say("Wenn du es schaffst wirst du")
say_reward("reichlich belohnt!")
set_state(kill_them)
end
end
state kill_them begin
when letter begin
send_letter("Kill sie alle!")
end
when button or info begin
ids = { 692, 1093, 1334, 2493, 220, 1906, 191, 192, 193, 194, 2598}
say_title("Kill sie alle!")
say("")
say("Hier eine Übersicht, wen du noch töten")
say("musst:")
for i=1, table.getn(ids), 1 do
if pc.getqf("id_"..ids[i])==1 then
say(mob_name(ids[i]).." getötet.")
else
say(mob_name(ids[i]).." nicht getötet.")
end
end
say("")
say("")
end
when kill begin
ids = { 692, 1093, 1334, 2493, 220, 1906, 191, 192, 193, 194, 2598}
local is_in = 0
for i=1, table.getn(ids), 1 do
if npc.get_race() == ids[i] then
is_in = i
break
end
end
if is_in==0 then return end
if pc.getqf("id_"..ids[is_in])==0 then
pc.setqf("id_"..ids[is_in], 1)
end
finish=0
for i=1, table.getn(ids), 1 do
if pc.getqf("id_"..ids[i])==0 then
finish = 1
break
end
end
if finish==0 then
set_state(finished)
end
end
end
state finished begin
when letter begin
local v = find_npc_by_vnum(XY) -- XY durch NPC VNUM ersetzen
if v != 0 then
target.vid("Target1", v, "XY") -- XY durch NPC NAME ersetzen
end
send_letter("Geh zu XY") -- XY durch NPC NAME ersetzen
end
when button or info begin
say_title("Geh zu XY!") -- XY durch NPC NAME ersetzen
say("")
say("Du hast es geschafft geh zu")
say("XY und sprich mit ihm.") -- XY durch NPC NAME ersetzen
say("")
say_reward("Sprich mit XY") -- XY durch NPC NAME ersetzen
say("")
end
when Target1.target.click or XY.chat."Mission geschafft" begin -- XY durch NPC VNUM ersetzen
say_title("Mein baldiger Servername:")
say("Du hast es tatsächlich geschafft! Du hast dich")
say("soeben als würdig erwiesen.")
say_reward("Du erhälst die legendären Uppitems!")
items = { 200000, 200001, 200002, 200003, 200004, 200005, 200006, 200007, 200008, 200009,
200010, 200011, 200012, 200013, 200014, 200015, 200016, 200017, 200018, 200019 }
for i=1, table.getn(items), 1 do
pc.give_item2(items[i], 1)
end
set_state(__COMPLETE__)
end
end
state __COMPLETE__ begin
end
end
|
|
|
07/26/2014, 22:40
|
#10388
|
elite*gold: 0
Join Date: Jul 2010
Posts: 6
Received Thanks: 1
|
Hey habe die Invoice files 2013...
Devilscatacomb scheint verbuggt zu sein ka warum mann kommt bei der 4 Ebene nicht weiter
Danke im voraus
PHP Code:
quest devilscatacomb begin
state start begin
when logout begin
pc.remove_item(30311, pc.count_item(30311))
pc.remove_item(30312, pc.count_item(30312))
pc.remove_item(30313, pc.count_item(30313))
end
when login begin
if pc.get_map_index() == 90 then
if devilscatacomb.getLevelByCord() > 1 or not next_time_is_now() then
pc.warp((5913)*100, (993)*100, 65) -- 5913x993 591374x
end
pc.set_warp_location(65, 5913, 993)
say("Du musst den Seelenkristall-Schlьssel droppen")
say("und dann auf die Statue des Kud ziehen, um in")
say("die 2. Ebene zu gelangen...")
say("")
say_item_vnum(30311)
say("")
elseif pc.get_map_index() >= (90 * 10000) then
pc.set_warp_location(65, 5913, 993)
end
end
when 20367.chat."The Devil's Catacomb" begin --Enter the Devil Catacomb
if pc.get_level() < 75 then
say_title(mob_name(npc.get_race()) ..":")
say("Du mцchtest in die Katakomben des Teufels?")
say("")
say("So einfach geht das nicht, denn du hast")
say("nicht die nцtige Erfahrung dazu.")
say("Komme am Besten wieder, wenn du Level 75")
say("erreicht hast... ")
else
say_title(mob_name(npc.get_race()) ..":")
say("Du mцchtest in die Katakomben des Teufels?")
say("")
say("Ich kann dich gerne teleportieren, doch")
say("ich mцchte dich warnen: Es sind schon viele")
say("eingetreten aber nicht mehr zurьck gekommen!")
say("")
say("Soll ich dich ernsthaft teleportieren?")
say("")
local s = select("Ja","Nein")
if s == 2 then
return
elseif s == 1 then
pc.warp(315300, 1209200)
end
end
end
when kill with pc.get_map_index() == 90 and pc.countitem(30311) < 1 begin
local rnd = number(1,100)
if rnd == 6 then
game.drop_item_with_ownership(30311, 1)
end
end
when 30101.take with item.vnum == 30311 begin --Teleport to 2nd Stage with the passenger ticket
if party.is_party() then
if party.is_leader() then
say("Das Eingangsportal wurde geцffnet.")
say("Geh schnell hindurch!")
wait()
say("Hier beginnt das wahre Abenteuer! Du hast")
say("jedoch nur eine Stunde Zeit, um die Devil's")
say("Catacomb zu erforschen.")
item.remove()
sys_log(0, "DC create try by "..pc.get_name())
d.join(90)
else
say("Nur der Leiter der Gruppe darf bestimmen.")
end
else
say("Ohne Gruppe kommst du nicht weiter.")
end
end
when login with devilscatacomb.isInCatacomb() begin
say("Zerstцre das Siegel dieses Tores, um die 3. Ebene")
say("zu erreichen!")
say("Du hast noch 60 Minute(n) Zeit.")
d.spawn_mob(30103, 740, 227)
loop_timer("item_check", 10)
if party.is_leader() then
d.set_regen_file("data/dungeon/dc/dc_regen1.txt")
d.regen_file("data/dungeon/dc/dc_doors.txt")
d.setf("level", 2)
server_timer("runtime", 6, pc.get_map_index())
elseif pc.is_gm() and not party.is_party() then
d.set_regen_file("data/dungeon/dc/dc_regen1.txt")
d.regen_file("data/dungeon/dc/dc_doors.txt")
d.setf("level", 2)
server_timer("runtime", 6, pc.get_map_index())
end
end
when item_check.timer with d.getf("level") == 3 begin
if pc.countitem(30319) >= 1 then
say("Du hast den Schrumpfkopf und wirst nun auf die")
say("3. Ebene teleportiert.")
pc.remove_item(30319, 1)
timer("item_check_end", 2)
else
d.exit_all()
end
end
when item_check_end.timer begin
cleartimer("item_check")
end
when runtime.server_timer begin
if d.select(get_server_timer_arg()) then
d.setf("time", get_time()+60*60*1)
devilscatacomb.getTimeLeft()
server_timer("runtime_end", 60*60, get_server_timer_arg())
end
end
when runtime_end.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Die Zeit ist um.")
d.exit_all()
end
end
when 30103.click with devilscatacomb.isInCatacomb() and devilscatacomb.getLevelByCord() == 2 and npc.lock() begin
say("Wдhrend du den Stein genauer untersuchst, kannst")
say("du eine Gravur erkennen.")
wait()
say("Lediglich der Besitzer des Schrumpfkopfes")
say("darf eintreten, nachdem die Siegel dreier Tьren")
say("aufgebrochen wurden.")
say("Wenn du dieses Relikt nicht bei dir trдgst,")
say("wirst du aus der Devil's Catacomb teleportiert.")
say("")
wait()
local s = select("Ja, lass mich eintreten!", "Nein, ich mцchte nicht eintreten.")
if s == 2 then
return
elseif s == 1 then
if pc.count_item(30319) >= 1 then
npc.purge()
d.setf("level", 3)
d.purge()
d.clear_regen()
timer("dc_jump_3", 6)
else
say("Du hast keinen Schrumpfkopf und wirst nun")
say("aus der Hцhle teleportiert ...")
pc.warp(591374, 99325, 65)
end
end
end
when dc_jump_3.timer begin
d.set_regen_file("data/dungeon/dc/dc_regen2.txt")
d.notice("Suche den richtigen Metinstein und zerstцre ihn!")
devilscatacomb.getTimeLeft()
d.jump_all(4451, 12282)
local positions = devilscatacomb.get3FloorStonePositions()
for i = 1, 6 do
d.set_unique("fake" .. i , d.spawn_mob(8037, positions[i][1], positions[i][2]))
end
d.set_unique("real", d.spawn_mob(8037, positions[7][1], positions[7][2]))
server_loop_timer('dc_stone3_update', 10, pc.get_map_index())
end
when dc_stone3_update.server_timer begin
if d.select(get_server_timer_arg()) then
if not d.is_unique_dead("real") then
for i = 1, 6 do
if d.getf("fakedead" .. i) == 0 then
if d.unique_get_hp_perc("fake" .. i) < 30 then
if not d.is_unique_dead("fake" .. i) then
d.purge_unique("fake" .. i)
end
d.setf("fakedead" .. i, 1)
d.notice("Du hast den falschen Metinstein zerstцrt. Finde den richtigen!");
end
end
end
else
server_timer("dc_stone_end3", 5, get_server_timer_arg())
d.notice("Der richtige Metinstein wurde zerstцrt. Du darfst nun die 4. Ebene betreten.")
end
else
server_timer('dc_stone3_stop_timer', 1, get_server_timer_arg())
end
end
when dc_stone3_stop_timer.server_timer begin
clear_server_timer('dc_stone3_update', get_server_timer_arg())
end
when dc_stone_end3.server_timer begin
if d.select(get_server_timer_arg()) then
clear_server_timer('dc_stone3_update', get_server_timer_arg())
d.setf("level", 4)
d.jump_all(3347, 12810)
d.clear_regen()
d.set_regen_file("data/dungeon/dc/dc_regen3.txt")
d.regen_file("data/dungeon/dc/dc_warps.txt")
d.spawn_mob(30104, 500, 716)
end
end
when 30104.click with devilscatacomb.isInCatacomb() and devilscatacomb.getLevelByCord() == 4 and npc.lock() begin
npc.purge()
say_in_map(pc.get_map_index(),"Du hast es geschafft! Hier ist der Ausgang des[ENTER]Labyrinths. Steige nun in die 5. Ebene hinab.")
server_timer("dc4_enter", 6, pc.get_map_index())
end
when dc4_enter.server_timer begin
if d.select(get_server_timer_arg()) then
d.jump_all(3918, 12939)
d.set_regen_file("data/dungeon/dc/dc_regen4.txt")
d.spawn_mob(30102, 848, 739)
local mob_pos = { {1006, 649}, {979, 829}, {691, 822}, {714, 653}, {848, 593} }
local rnd = number(1, 5)
d.spawn_mob(2591, mob_pos[rnd][1], mob_pos[rnd][2])
server_timer("dc4_message", 3, get_server_timer_arg())
end
end
when dc4_message.server_timer begin
if d.select(get_server_timer_arg()) then
d.notice("Besiege die Dдmonenwachen, um das Fratzen-Totem zu erhalten. Es dient dir als Schlьssel zur 6. Ebene.")
devilscatacomb.getTimeLeft()
end
end
when 30102.take with item.vnum == 30312 begin
say("Du hast das Fratze-Totem.")
say("Nun kannst du in die nдchste Ebene!")
say("")
wait()
say("Viel Glьck!")
item.remove()
npc.purge()
d.clear_regen()
timer("dc_level_5", 6)
end
when dc_level_5.timer begin
d.jump_all(4312, 12799)
timer("dc_level_5_start", 5)
end
when dc_level_5_start.timer begin
d.setf("level", 5)
d.notice("Besiege Charon und seine Schergen!")
devilscatacomb.getTimeLeft()
d.regen_file("data/dungeon/dc/dc_regen5.txt")
d.spawn_mob(2597, 1301, 699)
end
when kill begin
if devilscatacomb.isInCatacomb() then
if npc.race == 2597 then
if d.count_monster() < 1000 then
d.setf("level", 6)
d.clear_regen()
timer("dc_level_5_end", 12)
else
if d.getf("charon_spawns") < 4 then
d.spawn_mob(2597, 1301, 699)
d.setf("charon_spawns", d.getf("charon_spawns") + 1)
else
d.notice("Du hast versagt Charon hat dich mit seinen Schergen")
d.notice("ьberlistet. Du verlдsst nun die Hцhle")
local nextTime=get_time()+time_min_to_sec(1)
d.setqf("__NEXT_TIME__", nextTime)
d.exit_all()
end
end
end
if npc.race == 2598 and d.getf("level") == 6 then
clear_server_timer("runtime", pc.get_map_index())
clear_server_timer("runtime_end", pc.get_map_index())
notice_all(pc.get_name().." und "..tonumber(party.get_near_count()-1).." weitere Gruppenmitglieder haben Azrael besiegt!")
timer("glory_message", 6)
end
if npc.race == 2591 then
game.drop_item_with_ownership(30312, 1)
end
end
end
when dc_level_5_end.timer begin
say_in_map(pc.get_map_index(),"Du hast Charon besiegt! Nun wirst du[ENTER]zur letzten Ebene der Devil's Catacomb[ENTER]teleportiert.")
timer("dc_level_6", 3)
end
when dc_level_6.timer begin
d.jump_all(3145, 13187)
timer("dc_level_6_into", 3)
end
when dc_level_6_into.timer begin
d.regen_file("data/dungeon/dc/dc_regen6.txt")
d.spawn_mob(2598, 74, 1103)
d.notice("Besiege Azrael!")
end
when glory_message.timer begin
local text = "Azrael wurde besiegt. Endlich herrscht[ENTER]Frieden in der Devil's Catacomb. Du wirst nun[ENTER]an die Oberflдche teleportiert."
say_in_map(pc.get_map_index(), text)
timer("dc_end", 20)
end
when dc_end.timer begin
local nextTime=get_time()+time_min_to_sec(1)
d.setqf("__NEXT_TIME__", nextTime)
d.exit_all()
end
end
state _FUNC_ begin
function getLevelByCord()
if pc.get_local_x() > 30 and pc.get_local_y() > 45 and pc.get_local_x() < 450 and pc.get_local_y() < 450 then
return 1
elseif pc.get_local_x() > 540 and pc.get_local_y() > 39 and pc.get_local_x() < 1000 and pc.get_local_y() < 462 then
return 2
elseif pc.get_local_x() > 1048 and pc.get_local_y() > 35 and pc.get_local_x() < 1455 and pc.get_local_y() < 458 then
return 3
elseif pc.get_local_x() > 31 and pc.get_local_y() > 541 and pc.get_local_x() < 564 and pc.get_local_y() < 1058 then
return 4
elseif pc.get_local_x() > 650 and pc.get_local_y() > 540 and pc.get_local_x() < 1050 and pc.get_local_y() < 955 then
return 5
elseif pc.get_local_x() > 1175 and pc.get_local_y() > 576 and pc.get_local_x() < 1420 and pc.get_local_y() < 810 then
return 6
else
return 0
end
end
function isInCatacomb()
if pc.get_map_index() >= (90 * 10000) and pc.in_dungeon() then
return true
else
return false
end
end
function get3FloorStonePositions()
local positions =
{
{1365, 352}, {1349, 150}, {1133, 167}, {1151, 364},
{1234, 136}, {1255, 371}, {1132, 245},
}
for i = 1, 6 do
local j = number(i, 7)
if i != j then
local t = positions[i];
positions[i] = positions[j];
positions[j] = t;
end
end
return positions
end
function getTimeLeft()
local secondsLeft = (d.getf("time") - get_time())
local minutesLeft = math.ceil(secondsLeft / 60)
d.notice("Du hast noch "..minutesLeft.." Minute(n) Zeit.")
end
end
end
|
|
|
07/26/2014, 23:27
|
#10389
|
elite*gold: 0
Join Date: Dec 2012
Posts: 9,395
Received Thanks: 2,738
|
Die Quest Funktioniert nicht... jmd einen Fix?
PHP Code:
quest Geldspeicher25kk begin
state start begin
when 81009.use begin
say_title("Geldspeicher25kk")
say("")
say("Hiermit bekommst du deine 25 Mil. Yang wieder.")
say_reward("Falls du dein Geld auszahlen")
say_reward("möchtest drücke dazu auf Auszahlen.")
say_reward("Dieser Gegenstand ist auch handelbar!")
say("")
say_reward("Achtung: Du darfst nicht mehr als")
say_reward("2.000.000.000 Yang im Inventar haben.")
local main_set = select("Auszahlen","Abbrechen")
if main_set == 2 then
return
end
chat("Du löst dein Speicher auf.")
pc . change_money ( 25000000 )
pc.removeitem(81009, 1)
end
end
end
end
|
|
|
07/26/2014, 23:48
|
#10390
|
elite*gold: 54
Join Date: Jan 2013
Posts: 518
Received Thanks: 354
|
PHP Code:
quest Geldspeicher25kk begin
state start begin
when 81009.use begin
say_title("Geldspeicher25kk")
say("")
say("Hiermit bekommst du deine 25 Mil. Yang wieder.")
say_reward("Falls du dein Geld auszahlen")
say_reward("möchtest drücke dazu auf Auszahlen.")
say_reward("Dieser Gegenstand ist auch handelbar!")
say("")
say_reward("Achtung: Du darfst nicht mehr als")
say_reward("2.000.000.000 Yang im Inventar haben.")
local main_set = select("Auszahlen", "Abbrechen")
if main_set == 2 then
return
elseif main_set == 1 then
chat("Du löst dein Speicher auf.")
pc.change_money(25000000)
pc.removeitem(81009, 1)
end
end
end
end
|
|
|
07/27/2014, 11:30
|
#10391
|
elite*gold: 0
Join Date: Jun 2014
Posts: 6
Received Thanks: 2
|
@Kilroy.
PHP Code:
quest endeq begin
state start begin
when login or levelup with pc.level==150 begin
set_state(info)
end
end
state info begin
when letter begin
local v = find_npc_by_vnum(20011)
if v != 0 then
target.vid("Target1", v, "Uriel")
end
send_letter("Geh zu Uriel")
end
when button or info begin
say_title("Geh zu Uriel!")
say("")
say("Begib dich schnellstmöglich zu")
say("Uriel und sprich mit ihm.")
say("")
say_reward("Sprich mit Uriel")
say("")
end
when Target1.target.click or 20011.chat."Level 150" begin
target.delete("Target1")
say_title("Finstere Kreaturen:")
say("Du hast es also bis Level 150 geschafft,")
say("nicht schlecht!Hier deine letzte AUfgabe:")
say_reward("Töte:")
say("-den Untweltdrachen")
say("-den Unterweltork, den Unterweltgeist,")
say("-die Unterweltspinne, den Unterweltkönig,")
say("-den Unterweltfuchs")
say("-die Tiergötter,")
say("-Azrael")
say("Viel Glück!")
say("Wenn du es schaffst wirst du")
say("reichlich belohnt!")
set_state(kill_them)
end
end
state kill_them begin
when letter begin
send_letter("Kill sie alle!")
end
when button or info begin
ids = { 692, 1093, 1334, 2493, 220, 1906, 191, 192, 193, 194, 2598}
say_title("Kill sie alle!")
say("")
say("Hier eine Übersicht, wen du noch töten")
say("musst:")
for i=1, table.getn(ids), 1 do
if pc.getqf("id_"..ids[i])==1 then
say(mob_name(ids[i]).." getötet.")
else
say(mob_name(ids[i]).." nicht getötet.")
end
end
say("")
say("")
end
when kill begin
ids = { 692, 1093, 1334, 2493, 220, 1906, 191, 192, 193, 194, 2598}
local is_in = 0
for i=1, table.getn(ids), 1 do
if npc.get_race() == ids[i] then
is_in = i
break
end
end
if is_in==0 then return end
if pc.getqf("id_"..ids[is_in])==0 then
pc.setqf("id_"..ids[is_in], 1)
end
finish=0
for i=1, table.getn(ids), 1 do
if pc.getqf("id_"..ids[i])==0 then
finish = 1
break
end
end
if finish==0 then
set_state(finished)
end
end
end
state finished begin
when letter begin
local v = find_npc_by_vnum(20011)
if v != 0 then
target.vid("Target1", v, "Uriel")
end
send_letter("Geh zu Uriel")
end
when button or info begin
say_title("Geh zu Uriel!")
say("")
say("Du hast es geschafft geh zu")
say("Uriel und sprich mit ihm.")
say("")
say_reward("Sprich mit Uriel")
say("")
end
when Target1.target.click or 20011.chat."Mission geschafft" begin
say_title("Pulzes-Mt2:")
say("Du hast es tatsächlich geschafft! Du hast dich")
say("soeben als würdig erwiesen.")
say_reward("Du erhälst die legendären Uppitems!")
items = { 200000, 200001, 200002, 200003, 200004, 200005, 200006, 200007, 200008, 200009,
200010, 200011, 200012, 200013, 200014, 200015, 200016, 200017, 200018, 200019 }
for i=1, table.getn(items), 1 do
pc.give_item2(items[i], 1)
end
set_state(__COMPLETE__)
end
end
state __COMPLETE__ begin
end
end
Die quest funktioniert leider nicht..
Fehler:
Code:
QUEST : autochat
STATE : start
WHEN : login
WHEN : timer1.timer
WHEN : timer2.timer
WHEN : timer3.timer
QUEST : levelup
STATE : start
WHEN : levelup
QUEST : kill_benachrichtigung
STATE : start
WHEN : kill
with npc . get_race ( ) == MOBVNUM
must start with 'quest'
endeq.quest:1:Error occured on compile endeq.quest
freebsd82#
|
|
|
07/27/2014, 12:52
|
#10392
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
|
Quote:
Originally Posted by [SA]Creative
@Kilroy.
Die quest funktioniert leider nicht..
Fehler:
Code:
QUEST : autochat
STATE : start
WHEN : login
WHEN : timer1.timer
WHEN : timer2.timer
WHEN : timer3.timer
QUEST : levelup
STATE : start
WHEN : levelup
QUEST : kill_benachrichtigung
STATE : start
WHEN : kill
with npc . get_race ( ) == MOBVNUM
must start with 'quest'
endeq.quest:1:Error occured on compile endeq.quest
freebsd82#
|
Komisch, bei mir gibt sie keinen Error aus...
#Kleine Änderungen vorgenommen, probier es nochmal aus.
Code:
quest endeq begin
state start begin
when login or levelup with pc.get_level()==150 begin
set_state(information)
end
end
state information begin
when letter begin
local v = find_npc_by_vnum(20011)
if v != 0 then
target.vid("Target1", v, "Uriel")
end
send_letter("Geh zu Uriel")
end
when button or info begin
say_title("Geh zu Uriel!")
say("")
say("Begib dich schnellstmöglich zu")
say("Uriel und sprich mit ihm.")
say("")
say_reward("Sprich mit Uriel")
say("")
end
when Target1.target.click or 20011.chat."Level 150" begin
target.delete("Target1")
say_title("Finstere Kreaturen:")
say("Du hast es also bis Level 150 geschafft,")
say("nicht schlecht!Hier deine letzte AUfgabe:")
say_reward("Töte:")
say("-den Untweltdrachen")
say("-den Unterweltork, den Unterweltgeist,")
say("-die Unterweltspinne, den Unterweltkönig,")
say("-den Unterweltfuchs")
say("-die Tiergötter,")
say("-Azrael")
say("Viel Glück!")
say("Wenn du es schaffst wirst du")
say("reichlich belohnt!")
set_state(kill_them)
end
end
state kill_them begin
when letter begin
send_letter("Kill sie alle!")
end
when button or info begin
ids = { 692, 1093, 1334, 2493, 220, 1906, 191, 192, 193, 194, 2598}
say_title("Kill sie alle!")
say("")
say("Hier eine Übersicht, wen du noch töten musst:")
say("")
for i=1, table.getn(ids), 1 do
if pc.getqf("id_"..ids[i])==1 then
say_reward(mob_name(ids[i]).." getötet.")
else
say(mob_name(ids[i]).." nicht getötet.")
end
end
end
when kill begin
ids = { 692, 1093, 1334, 2493, 220, 1906, 191, 192, 193, 194, 2598}
local is_in = 0
for i=1, table.getn(ids), 1 do
if npc.get_race() == ids[i] then
is_in = i
break
end
end
if is_in==0 then return end
if pc.getqf("id_"..ids[is_in])==0 then
pc.setqf("id_"..ids[is_in], 1)
end
finish=0
for i=1, table.getn(ids), 1 do
if pc.getqf("id_"..ids[i])==0 then
finish = 1
break
end
end
if finish==0 then
set_state(finished)
end
end
end
state finished begin
when letter begin
local v = find_npc_by_vnum(20011)
if v != 0 then
target.vid("Target1", v, "Uriel")
end
send_letter("Geh zu Uriel")
end
when button or info begin
say_title("Geh zu Uriel!")
say("")
say("Du hast es geschafft geh zu")
say("Uriel und sprich mit ihm.")
say("")
say_reward("Sprich mit Uriel")
say("")
end
when Target1.target.click or 20011.chat."Mission geschafft" begin
target.delete("Target1")
say_title("Pulzes-Mt2:")
say("Du hast es tatsächlich geschafft! Du hast dich")
say("soeben als würdig erwiesen.")
say_reward("Du erhälst die legendären Uppitems!")
items = { 200000, 200001, 200002, 200003, 200004, 200005, 200006, 200007, 200008, 200009, 200010, 200011, 200012, 200013, 200014, 200015, 200016, 200017, 200018, 200019 }
for i=1, table.getn(items), 1 do
pc.give_item2(items[i], 1)
end
set_state(__COMPLETE__)
end
end
state __COMPLETE__ begin
end
end
|
|
|
07/27/2014, 13:34
|
#10393
|
elite*gold: 0
Join Date: Sep 2009
Posts: 154
Received Thanks: 8
|
Quote:
Originally Posted by Kilroy.
1.
PHP Code:
quest Erweiterung begin
state start begin
when 20091.chat."Drachenrüstung erweitern" begin
say_gold("Seon-Pyeong:")
say_white("")
say_white("Hallo,")
say_white("du willst also deine Drachenrüstung")
say_white("erweitern?")
say_white("Um eine Drachenrüstung zu erweitern")
say_white("benötigst du eine Drachenrüstung:")
say_green("Blaustahlpanzer+9,")
say_green("Auraplattenpanzer+9,")
say_green("Blauer Drachenanzug+9 oder,")
say_green("Kleidung des Drachen+9")
say_green("und einen Erweiterungsstein.")
say_white("")
wait()
say_gold("Seon-Pyeong:")
say_white("")
say_white("Nur wenn du alle Materialien besitzt,")
say_white("kann ich dir deine Rüstung erweitern.")
say_white("")
say_red("Achtung: Mögliche Boni der Rüstung")
say_red("werden nicht auf die erweiterte")
say_red("Rüstung übertragen!")
say_white("")
say_reward("Möchtest du deine Rüstung erweitern?")
local s = select("Klar!", "Nein, lieber nicht.")
if s == 2 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Komm wieder, wenn du es")
say_white("dir anders überlegt haben solltest.")
elseif s == 1 then
local rus = {"Blaustahlpanzer", "Auraplattenpanzer", "Blauer Drachenanzug", "Kleidung des Drachen", "Keine"}
local rusid = { 11309, 11709, 11509, 12009 }
local fer = { "10% Fertigkeitsschaden", "15% Durchschn. Schaden", "Keine"}
local ste = { 90007, 90006 }
local newr = { { 11349, 11339 }, { 11749, 11739 }, { 11549, 11539 }, { 10109, 10099 } }
say_gold("Seon-Pyeong:")
say_white("")
say_white("Welche Rüstung möchtest du erweitern?")
say_white("")
say_reward("Bitte wähle die Rüstung!")
local a = select_table(rus)
if a == table.getn(rus) then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Komm wieder, wenn du es")
say_white("dir anders überlegt haben solltest.")
return
end
if pc.count_item(rusid[a]) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt keine/n "..rus[a]..",")
say_white("komm wieder wenn du eine Drachenrüstung besitzt!")
return
end
say_gold("Seon-Pyeong:")
say_white("")
say_white("Welchen Erweiterungsstein möchtest du benutzen?")
say_white("")
say_reward("Wählen den Stein!")
local b = select_table(fer)
if b == table.getn(fer) then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Komm wieder, wenn du es")
say_white("dir anders überlegt haben solltest.")
return
end
if pc.count_item(ste[b]) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt den benötigten Stein nicht,")
say_white("komm wieder wenn du einen Erweitungsstein besitzt.")
return
end
say_gold("Seon-Pyeong:")
say_white("")
say_white("Das erweitern deiner Rüstung wird dich")
say_white("200'000'000 Yang kosten.")
say_white("")
say_reward("Möchtest du 200'000'000 Yang zahlen?")
if select("Ja", "Nein")==2 then return end
if pc.get_gold() < 200000000 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt zu wenig Yang!")
else
say_gold("Seon-Pyeong:")
say_white("")
say_white("Ich erweitere nun deine Rüstung.")
say_white("...")
say_white("...")
say_white("Glückwunsch, es hat funktioniert,")
say_white("dein/e "..rus[a].." besitzt nun zusätzlich")
say_white(fer[b].."!")
pc.remove_item(rusid[a], 1)
pc.remove_item(ste[b], 1)
pc.change_money(-200000000)
pc.give_item2(newr[a][b], 1)
end
end
end
end
end
2. Soweit ich weiß funktioniert pc.enough_inventory() nur wenn ein item per select.item oder über die NPC.take ausgewählt wurde...(verbessert mich wenn ich falschliege)
Es gibt aber noch diesen Befehl
PHP Code:
pc.get_empty_inventory_count() < x
|
Danke erstmal!
Allerdings werden Boni nach wie vor nicht übernommen, oder ist das via Quest nicht möglich?
|
|
|
07/27/2014, 14:12
|
#10394
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
|
Quote:
Originally Posted by Brodan
Danke erstmal!
Allerdings werden Boni nach wie vor nicht übernommen, oder ist das via Quest nicht möglich?
|
Wie sollen die Boni auch draufbleiben, wenn man ne neue Rüstung bekommt und die alte entfernt...
Ich schreib sie dir um, allerdings benötigst du dann die folgenden quest_functions (such mal im Forum danach)
Code:
item2.set_attr
item.set_socket
item2.get_attr
item.get_socket
pc2.give_or_drop_item_and_select
# Du musst das Item nun auf den NPC ziehen.
Quest:
Code:
quest Erweiterung begin
state start begin
when 20091.chat."Drachenrüstung erweitern" begin
say_gold("Seon-Pyeong:")
say_white("")
say_white("Hallo,")
say_white("du willst also deine Drachenrüstung")
say_white("erweitern?")
say_white("Um eine Drachenrüstung zu erweitern")
say_white("benötigst du eine Drachenrüstung:")
say_green("Blaustahlpanzer+9,")
say_green("Auraplattenpanzer+9,")
say_green("Blauer Drachenanzug+9 oder,")
say_green("Kleidung des Drachen+9")
say_green("und einen Erweiterungsstein.")
say_green("")
say_green("Zieh die Rüstung einfach auf mich!")
say_white("")
end
when 20091.take begin
if not in_table(item.get_vnum(),{11309,11709,11509,12009}) then
syschat("Du kannst nur Drachenrüstungen +9 erweitern.")
return
end
say_gold("Seon-Pyeong:")
say_white("")
say_white("Nur wenn du alle Materialien besitzt,")
say_white("kann ich dir deine Rüstung erweitern.")
say_white("")
say_white("")
say_reward("Möchtest du deine Rüstung erweitern?")
local s = select("Klar!", "Nein, lieber nicht.")
if s == 2 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Komm wieder, wenn du es")
say_white("dir anders überlegt haben solltest.")
elseif s == 1 then
local vnum = item.get_vnum()
local boni = {{item2.get_attr(0)}, {item2.get_attr(1)}, {item2.get_attr(2)}, {item2.get_attr(3)}, {item2.get_attr(4)}, {item2.get_attr(5)}, {item2.get_attr(6)}}
local stones = {item.get_socket(0), item.get_socket(1), item.get_socket(2)}
local fer = { "10% Fertigkeitsschaden", "15% Durchschn. Schaden", "Keine"}
local ste = { 90007, 90006 }
local newr ={
[11349]={ 11349, 11339 },
[11709]={ 11749, 11739 },
[11509]={ 11549, 11539 },
[12009]={ 10109, 10099 }
}
say_gold("Seon-Pyeong:")
say_white("")
say_white("Welchen Erweiterungsstein möchtest du benutzen?")
say_white("")
say_reward("Wählen den Stein!")
local a = select_table(fer)
if a == table.getn(fer) then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Komm wieder, wenn du es")
say_white("dir anders überlegt haben solltest.")
return
end
say_gold("Seon-Pyeong:")
say_white("")
say_white("Das erweitern deiner Rüstung wird dich")
say_white("200'000'000 Yang kosten.")
say_white("")
say_reward("Möchtest du 200'000'000 Yang zahlen?")
if select("Ja", "Nein")==2 then return end
if pc.get_gold() < 200000000 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt zu wenig Yang!")
else
if pc.count_item(vnum) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt keine Drachenrüstung,")
say_white("komm wieder wenn du eine Drachenrüstung besitzt!")
return
elseif pc.count_item(ste[a]) == 0 then
say_gold("Seon-Pyeong:")
say_white("")
say_white("Du besitzt den benötigten Stein nicht,")
say_white("komm wieder wenn du einen Erweitungsstein besitzt.")
return
end
say_gold("Seon-Pyeong:")
say_white("")
say_white("Ich erweitere nun deine Rüstung.")
say_white("...")
say_white("...")
say_white("Glückwunsch, es hat funktioniert,")
say_white("deine Drachenrüstung besitzt nun zusätzlich")
say_white(fer[a].."!")
item.remove()
pc.remove_item(ste[a], 1)
pc.change_money(-200000000)
pc2.give_or_drop_item_and_select(newr[vnum][a]) -- GIBT RÜSSI und selected sie
for b = 1, table.getn(boni) do
if tonumber(boni[b][1]) > 0 then
item2.set_attr(b-1, boni[b][1], boni[b][2]) -- setzt boni
end
end
for c = 1, table.getn(stones) do
if tonumber(stones[c]) > 0 then
item.set_socket(c-1, stones[c]) -- setzt steine
end
end
end
end
end
end
end
|
|
|
07/27/2014, 16:56
|
#10395
|
elite*gold: 54
Join Date: Jan 2013
Posts: 518
Received Thanks: 354
|
PHP Code:
quest warp begin
state start begin
when 40002.use begin
local on = select ("Neue Map", "bla", "Abbrechen")
if on == 1 then
pc.warp(2311000, 2307000)
if on == 2 then
pc.warp(1414100, 1231200)
end
end
end
end
end
Der erste Warp soll ab Level 30 sein. Der 2. ab Level 1..
|
|
|
All times are GMT +1. The time now is 07:20.
|
|