|
You last visited: Today at 01:50
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
03/23/2017, 20:02
|
#12496
|
elite*gold: 76
Join Date: Mar 2015
Posts: 698
Received Thanks: 245
|
Quote:
Originally Posted by RonnieBreathe
quest icebossdung begin
state start begin
when 8200.kill begin
local count = pc.getqf("state") - 1
if count <= 7 then
pc.setqf("state", count)
q.set_counter("Metin des Eises", count)
end
if count == 0 with pc.get_map_index() == 550 then
local coordinates = {{457, 275}, {203, 428}, {640, 448}, {679, 126}, {438, 719}, {214, 707}, {266, 191}, {66, 175}}
local pick = number(1, table.getn(coordinates))
local x = coordinates[pick][1]
local y = coordinates[pick][2]
mob.spawn(9202, x, y, 1)
notice_map("Der Drache ist erschienen, sucht ihn!")
end
end
end
Kommt der Fehler:
icedungeon.quest:17:syntax error : [string "start"]:6: `then' expected near `with'
Error occured on compile Quest/icedungeon.quest
jmd ideen?
|
HTML Code:
quest icebossdung begin
state start begin
when 8200.kill begin
local count = pc.getqf("state") - 1
if count <= 7 then
pc.setqf("state", count)
q.set_counter("Metin des Eises", count)
end
if pc.get_map_index() == 550 then
if count == 0 then
local coordinates = {{457, 275}, {203, 428}, {640, 448}, {679, 126}, {438, 719}, {214, 707}, {266, 191}, {66, 175}}
local pick = number(1, table.getn(coordinates))
local x = coordinates[pick][1]
local y = coordinates[pick][2]
mob.spawn(9202, x, y, 1)
notice("Der Drache ist erschienen, sucht ihn!")
end
end
end
end
end
|
|
|
03/23/2017, 22:34
|
#12497
|
elite*gold: 0
Join Date: Dec 2012
Posts: 23
Received Thanks: 11
|
Quote:
Originally Posted by Core ツ
HTML Code:
quest icebossdung begin
state start begin
when 8200.kill begin
local count = pc.getqf("state") - 1
if count <= 7 then
pc.setqf("state", count)
q.set_counter("Metin des Eises", count)
end
if pc.get_map_index() == 550 then
if count == 0 then
local coordinates = {{457, 275}, {203, 428}, {640, 448}, {679, 126}, {438, 719}, {214, 707}, {266, 191}, {66, 175}}
local pick = number(1, table.getn(coordinates))
local x = coordinates[pick][1]
local y = coordinates[pick][2]
mob.spawn(9202, x, y, 1)
notice("Der Drache ist erschienen, sucht ihn!")
end
end
end
end
end
|
Danke, nur wenn ich auf der Map 550 die 7 Metin's kille, kommt keine Meldung, und der Drache ebenfalls nicht.
|
|
|
03/25/2017, 23:13
|
#12498
|
elite*gold: 130
Join Date: Jun 2012
Posts: 22
Received Thanks: 9
|
quest pferd begin
state start begin
when login or levelup with pc.level >= 25 begin
set_state(info)
end
end
state info begin
when letter begin
send_letter("Pferde Quest")
local v = find_npc_by_vnum(20349)
if v != 0 then
target.vid("__TARGET__", v, "Stallbursche")
end
end
when info or button begin
say_title("Das Anfänger Pony")
say("Geh zum Stallburschen damit du dein ersten")
say("Pferd bekommst")
end
when __TARGET__.target.click or 20349.chat."Stallbursche" with pc.level >= 25 begin
say_title("Stallbursche:")
say(Hallo "..pc.get_name().." bei mir kannst du")
say("dir dein erstes Pferd abholen wenn du mir")
say("1x Pferdemedaille bringst.")
say_item("Pferdemedaille", 50050, "")
wait()
say_title("Stallbursche")
if pc.count_item(50050)==0 then
say("Du besitzt keine 11 Pferdemedaille")
return
end
say("Möchtest du ein Pferdebild herstellen?")
say_reward("Es kostet 1kk Yang")
local s=select("Ja", "Nein")
if s==2 then
return
end
say_title("Stallbursche")
if pc.count_item(50050)==0 then
return
end
if pc.get_gold() < 1000000 then
say("Du hast nicht genügend Yang")
return
end
say("Glückwunsch, du hast ein Pferdebild")
say("Erworben!")
wait()
say("Gib mir etwas Zeit um es dir Herzustellen")
say("Komm am besten Morgen vorbei.")
pc.remove_item(50050)
pc.changegold(-1000000)
horse.set_level(1)
end
end
end
Nunja sie will halt einfach nicht
|
|
|
03/26/2017, 14:20
|
#12499
|
elite*gold: 76
Join Date: Mar 2015
Posts: 698
Received Thanks: 245
|
Quote:
Originally Posted by Laschek
quest pferd begin
state start begin
when login or levelup with pc.level >= 25 begin
set_state(info)
end
end
state info begin
when letter begin
send_letter("Pferde Quest")
local v = find_npc_by_vnum(20349)
if v != 0 then
target.vid("__TARGET__", v, "Stallbursche")
end
end
when info or button begin
say_title("Das Anfänger Pony")
say("Geh zum Stallburschen damit du dein ersten")
say("Pferd bekommst")
end
when __TARGET__.target.click or 20349.chat."Stallbursche" with pc.level >= 25 begin
say_title("Stallbursche:")
say(Hallo "..pc.get_name().." bei mir kannst du")
say("dir dein erstes Pferd abholen wenn du mir")
say("1x Pferdemedaille bringst.")
say_item("Pferdemedaille", 50050, "")
wait()
say_title("Stallbursche")
if pc.count_item(50050)==0 then
say("Du besitzt keine 11 Pferdemedaille")
return
end
say("Möchtest du ein Pferdebild herstellen?")
say_reward("Es kostet 1kk Yang")
local s=select("Ja", "Nein")
if s==2 then
return
end
say_title("Stallbursche")
if pc.count_item(50050)==0 then
return
end
if pc.get_gold() < 1000000 then
say("Du hast nicht genügend Yang")
return
end
say("Glückwunsch, du hast ein Pferdebild")
say("Erworben!")
wait()
say("Gib mir etwas Zeit um es dir Herzustellen")
say("Komm am besten Morgen vorbei.")
pc.remove_item(50050)
pc.changegold(-1000000)
horse.set_level(1)
end
end
end
Nunja sie will halt einfach nicht 
|
Die korrigierte Version der Quest ist im Spoiler.
Der Fehler war Zeile 22 du hast die "Anführungszeichen"
nach dem say( vergessen.
HTML Code:
quest pferd begin
state start begin
when login or levelup with pc.level >= 25 begin
set_state(info)
end
end
state info begin
when letter begin
send_letter("Pferde Quest")
local v = find_npc_by_vnum(20349)
if v != 0 then
target.vid("__TARGET__", v, "Stallbursche")
end
end
when info or button begin
say_title("Das Anfänger Pony")
say("Geh zum Stallburschen damit du dein ersten")
say("Pferd bekommst")
end
when __TARGET__.target.click or 20349.chat."Stallbursche" with pc.level >= 25 begin
say_title("Stallbursche:")
say("Hallo "..pc.get_name().." bei mir kannst du")
say("dir dein erstes Pferd abholen wenn du mir")
say("1x Pferdemedaille bringst.")
say_item("Pferdemedaille", 50050, "")
wait()
say_title("Stallbursche")
if pc.count_item(50050)==0 then
say("Du besitzt keine 11 Pferdemedaille")
return
end
say("Möchtest du ein Pferdebild herstellen?")
say_reward("Es kostet 1kk Yang")
local s=select("Ja", "Nein")
if s==2 then
return
end
say_title("Stallbursche")
if pc.count_item(50050)==0 then
return
end
if pc.get_gold() < 1000000 then
say("Du hast nicht genügend Yang")
return
end
say("Glückwunsch, du hast ein Pferdebild")
say("Erworben!")
wait()
say("Gib mir etwas Zeit um es dir Herzustellen")
say("Komm am besten Morgen vorbei.")
pc.remove_item(50050)
pc.changegold(-1000000)
horse.set_level(1)
end
end
end
|
|
|
03/27/2017, 02:00
|
#12500
|
elite*gold: 0
Join Date: Jun 2014
Posts: 345
Received Thanks: 243
|
PHP Code:
quest truhentausch begin
state start begin
when 20023.take with item.vnum == 38057 begin
say("Hallo "..pc.get_name().."")
say("Ich tausche die verschlossene Truhe gegen")
say("geöffnete Truhen.")
say("Was für eine Truhe möchtest du?")
local perle = select ("Fertigkeitstruhe Körper", "Fertigkeitstruhe Mental", "Fertigkeitstruhe Dolch", "Fertigkeitstruhe Bogen", "Weitere Truhen")
if perle == 1 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27993)
chat("Du hast eine Blaue Perle erhalten.")
elseif perle == 2 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27992)
chat("Du hast eine Weiße Perle erhalten.")
elseif perle == 3 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27992)
chat("Du hast eine Weiße Perle erhalten.")
elseif perle == 4 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27992)
elseif perle == 5 then
say_title("Weitere Truhen:")
local perle1 =selec ("Fertigkeitstruhe Magie", "Fertigkeitstruhe Waffenkampf", "Fertigkeitstruhe Drachenmagie", "Fertigkeitstruhe Heilungsmagie")
if perle1 == 1 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27992)
chat("Du hast eine Weiße Perle erhalten.")
elseif perle1 == 2 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27992)
chat("Du hast eine Weiße Perle erhalten.")
elseif perle1 == 3 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27992)
chat("Du hast eine Weiße Perle erhalten.")
elseif perle1 == 4 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27992)
chat("Du hast eine Weiße Perle erhalten.")
end
end
end
end
findet einer denn fehler..?
|
|
|
03/27/2017, 07:04
|
#12501
|
wild wild son
elite*gold: 0
Join Date: Feb 2011
Posts: 5,994
Received Thanks: 3,389
|
Quote:
Originally Posted by Therulas
PHP Code:
quest truhentausch begin
state start begin
when 20023.take with item.vnum == 38057 begin
say("Hallo "..pc.get_name().."")
say("Ich tausche die verschlossene Truhe gegen")
say("geöffnete Truhen.")
say("Was für eine Truhe möchtest du?")
local perle = select ("Fertigkeitstruhe Körper", "Fertigkeitstruhe Mental", "Fertigkeitstruhe Dolch", "Fertigkeitstruhe Bogen", "Weitere Truhen")
if perle == 1 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27993)
chat("Du hast eine Blaue Perle erhalten.")
elseif perle == 2 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27992)
chat("Du hast eine Weiße Perle erhalten.")
elseif perle == 3 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27992)
chat("Du hast eine Weiße Perle erhalten.")
elseif perle == 4 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27992)
elseif perle == 5 then
say_title("Weitere Truhen:")
local perle1 =selec ("Fertigkeitstruhe Magie", "Fertigkeitstruhe Waffenkampf", "Fertigkeitstruhe Drachenmagie", "Fertigkeitstruhe Heilungsmagie")
if perle1 == 1 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27992)
chat("Du hast eine Weiße Perle erhalten.")
elseif perle1 == 2 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27992)
chat("Du hast eine Weiße Perle erhalten.")
elseif perle1 == 3 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27992)
chat("Du hast eine Weiße Perle erhalten.")
elseif perle1 == 4 and pc.count_item(38057) >= 1 then
pc.remove_item(38057)
pc.give_item2(27992)
chat("Du hast eine Weiße Perle erhalten.")
end
end
end
end
findet einer denn fehler..?
|
Sieh dir den Code ab "elseif perle == 5 then" genauer an.
|
|
|
03/27/2017, 11:42
|
#12502
|
elite*gold: 0
Join Date: Jun 2014
Posts: 345
Received Thanks: 243
|
Quote:
Originally Posted by Nick
Sieh dir den Code ab "elseif perle == 5 then" genauer an.
|
Habe mir das einpaar mal angeschaut bin kein guter quester xD Schreibe mir dinge halt um wie ich sie brauche...
Das ''t'' was bei select fehlte hab ich gefunden geht immernochnet...^^
|
|
|
03/27/2017, 13:05
|
#12503
|
wild wild son
elite*gold: 0
Join Date: Feb 2011
Posts: 5,994
Received Thanks: 3,389
|
Quote:
Originally Posted by Therulas
Habe mir das einpaar mal angeschaut bin kein guter quester xD Schreibe mir dinge halt um wie ich sie brauche...
Das ''t'' was bei select fehlte hab ich gefunden geht immernochnet...^^
|
Wenn du beim unteren Teil nun noch auf die Einrückung achtest, wirst du feststellen, dass ein end fehlt.
|
|
|
03/27/2017, 13:37
|
#12504
|
elite*gold: 0
Join Date: Jun 2014
Posts: 345
Received Thanks: 243
|
Jop jemand aus nem anderen Forum zeigte es mir gezeigt
Vielen Dank
So lernt man das ganze bissl mit
|
|
|
03/29/2017, 15:23
|
#12505
|
elite*gold: 0
Join Date: Dec 2016
Posts: 29
Received Thanks: 6
|
Kann wer helfen?
elseif panel1 == 2 then
local panel3 = select("Event: OX", "Event: Reichsschlacht", "Event: Mob Spawn", "Abbrechen")
if panel3 == 1 then
local oxm = select("OX Starten", "Ox Beenden", "Ox Frage stellen", "Abbrechen")
local stat = oxevent.get_status()
if stat == 0 and oxm == 1 then
say_title("Servername Event Panel:")
say("Möchtest du das OX-Wettbewerb starten?")
local s = select("Ja", "Nein")
if s == 1 then
local v = oxevent.open()
if v == 0 then
say_title("Servername Event Panel:")
say("Der OX-Wettbewerb ist schon aktiviert.")
elseif v == 1 then
say_title("Servername Event Panel:")
say("Der OX-Wettbewerb wurde gestartet.")
notice_all("Der OX-Wettbewerb hat begonnen, um beizutreten bitte zu Uriel!")
else
say_title("Servername Event Panel:")
say("Der OX-Wettbewerb könnte nicht ausgeführt werden.")
end
end
if stat == 1 and oxm == 2 then
say_title("Servername Event Panel:")
say("Es ist/sind "..oxevent.get_attender().." Spieler hier.")
say("Willst du den Zugang wirklich schließen?")
local s = select("Ja", "Nein")
if s == 1 then
oxevent.close()
say_title("Servername Event Panel:")
say("Der Zugang wurde soeben geschlossen!")
end
elseif stat == 2 and oxm == 3 then
say_title("Servername Event Panel:")
say("Was möchtest du machen?")
local s = select("Frage stellen", "Alle Spieler belohnen", "Beenden", "Schließen")
if s == 1 then
local v = oxevent.quiz(1, 30)
if v == 1 then
say_title("Servername Event Panel:")
say("Das OX-Wettbewerb läuft zurzeit noch nicht!")
elseif v == 0 then
say_title("Servername Event Panel:")
say("Die Frage wurde erfolgreich abgesendet!")
else
say_title("Servername Event Panel:")
say("Es wird schon eine Frage gestellt!")
end
elseif s == 2 then
say_title("Servername Event Panel:")
say("Bitte gib die Itemnummer in das Feld ein.")
local item_vnum = input()
say_title("Servername Event Panel:")
say("Bitte gib die Itemanzahl in das Feld ein.")
local item_count = input()
oxevent.give_item(item_vnum, item_count)
say_title("Servername Event Panel:")
say("Du hast "..oxevent.get_attender().." Spieler die Belohnung gegeben!")
elseif s == 3 then
oxevent.end_event()
notice_all("Der OX-Wettbewerb ist vorbei, wir wünschen euch weiterhin viel Spaß! Euer Servername Team!")
say_title("Servername Event Panel:")
say("Du hast den OX-Wettbewerb beendet!")
end
elseif stat == 3 then
say_title("Servername Event Panel:")
say("Bitte warte einen Augenblick.")
else
say("Ein Fehler ist aufgetreten!")
end
end
Ist nur der teil der fehlerhaft ist.
|
|
|
04/02/2017, 17:52
|
#12506
|
elite*gold: 34
Join Date: Apr 2011
Posts: 998
Received Thanks: 136
|
#done
|
|
|
04/02/2017, 19:06
|
#12507
|
elite*gold: 310
Join Date: May 2011
Posts: 1,592
Received Thanks: 105
|
Hey,
wollte mal fragen, ob jemand über diese Quest schauen könnte?
Code:
quest bio_level90 begin
state start begin
when login or levelup with pc.level() >= 90 begin
set_state(information)
end
end
state information begin
when letter begin
local virtualFind = find_npc_by_vnum(20084)
if virtualFind != 0 then
target.vid("__TARGET__", virtualFind, "Sammle Notizen der Anführer")
end
send_letter("Sammle Notizen der Anführer")
end
when button or info begin
say_title("Sammle Notizen der Anführer:")
say("Der Biologe Chaegirab, Lehrling Uriels,")
say("sammelt Informationen über die Bosse.")
say("Für seine Forschung benötigt er 10 Notizen")
say("Bringe sie ihm einzeln, damit er")
say("sie in Ruhe studieren kann.")
say("Du bekommst sie von den Bossen.")
say("")
end
when __TARGET__.target.click or 20084.chat."Sammle Notizen" begin
target.delete("__TARGET__")
say_title("Biologe Chaegirab:")
say("Sei gegrüßt edler Held!")
say("Ich sammle Informationen über die Bosse .")
say("Doch leider bin ich nicht im stande die Bosse allein zu Untersuchen.")
say("Darum bitte ich dich 10 Notizen der Anführer zu beschaffen und mir zu bringen .")
say("Man kann nicht jeden Tag etwas Großes tun, aber gewiss immer etwas Gutes.")
say("Nur wenn man das Unerreichbare anstrebt, gelingt das Erreichbare.")
say("")
pc.setqf("actual_collect_count", 0)
pc.setqf("increase_chance", 0)
set_state(kill_teh_viecher)
end
end
state kill_teh_viecher begin
when letter begin
send_letter("Auftrag von Biologe Chaegirab")
end
when button or info begin
say_title("Notiz der Anführer:")
say("Biologe Chaegirab gab euch den Auftrag")
say("10 Notizen der Anführer zu sammeln!")
say("Das Item bekommst du von den Bossen.")
say("Viel Glück!")
say("")
say_item_vnum(30168)
say_reward("Du hast bis jetzt "..pc.getqf("actual_collect_count").." Stück gesammelt!")
say("")
end
when 591.kill or 691.kill or 791.kill or 793.kill or 991.kill or 992.kill or 993.kill or 1091.kill or 1092.kill or 1093.kill or 1094.kill or 1095.kill or 1304.kill or
1403.kill or 2091.kill or 2191.kill or 2206.kill or 2207.kill or 2306.kill or 2493.kill or 2494.kill or 5004.kill or
5161.kill or 5162.kill or 5163.kill or 2597.kill begin
local dropChance = number(10,100)
if dropChance == 1 and pc.count_item(30168) < 20-pc.getqf("actual_collect_count") then
pc.give_item2(30168, 1)
end
end
end
when 20084.chat."Notizen der Anführer " with pc.count_item(30168) > 0 then
if get_time() > pc.getqf("give_next_item") then
local erfolgschance
say_title("Biologe Chaegirab:")
say("Einen Moment!")
say("Ich werde die Notiz überprüfen.")
say("Hoffentlich ist sie von guter Qualität!")
pc.remove_item(30168, 1)
pc.setqf("give_next_item", get_time()+1)
wait()
if pc.getqf("increase_chance") == 0 then
gebrauchte_erfolgschance = 45
else
gebrauchte_erfolgschance = 100
end
local erfolg_zufall = number(1, 100)
if erfolg_zufall <= gebrauchte_erfolgschance then
if pc.getqf("actual_collect_count") < 14 then
local newCount = pc.getqf("actual_collect_count")+1
pc.setqf("actual_collect_count", newCount)
say_title("Biologe Chaegirab:")
say("Pefekt! Diese Notizg ist ein Prachtexemplar.")
say("Dir fehlen nun noch "..10-pc.getqf("actual_collect_count").." Stück")
say("Bringe mir die Restlichen!")
say("")
return
end
say_title("Biologe Chaegirab:")
say("Danke! Du hast alle Bosse vernichtet")
say("und mir alle Notizen der Anführer gebracht!")
say("Dafür werde ich dich wie versprochen belohnen!")
say("")
say_reward("Deine Zaubergeschwindigkeit hat sich permanent um 20% erhöht")
say_reward("Dein HP hat sich permanent um 2000 erhöht.")
say_reward("Deine Schadenreduzierung hat sich permanent um 10% erhöht")
say_reward("Dein Angriffswert hat sich permanent um 100 erhöht")
clear_letter()
affect.add_collect(apply.MAX_HP,2000,60*60*24*365*60)
affect.add_collect(apply.ATT_GRADE_BONUS,100,60*60*24*365*60)
affect.add_collect(apply.RESIST_TWOHAND,10,60*60*24*365*60)
affect.add_collect(apply.RESIST_SWORD,10,60*60*24*365*60)
affect.add_collect(apply.RESIST_DAGGER,10,60*60*24*365*60)
affect.add_collect(apply.RESIST_BELL,10,60*60*24*365*60)
affect.add_collect(apply.RESIST_FAN,10,60*60*24*365*60)
affect.add_collect(apply.RESIST_BOW,10,60*60*24*365*60)
set_state(__COMPLETE__)
return
else
say_title("Biologe Chaegirab:")
say("Die Notiz ist von schlechter Qualität!")
say("Ich kann ihn leider nicht weiter verwenden.")
say("Besorg mir schnell eine Neue!")
say("")
pc.setqf("increase_chance", 0)
return
end
else --
say_title("Biologe Chaegirab:")
say("Ich bin mit dem vorherigen Exemplar noch nicht fertig")
say("Bitte warte noch ein wenig bevor du mir eine Neue bringst.")
return
end
end
end
state __COMPLETE__ begin
end
Er gibt beim Compilieren folgenden Fehler aus: expecting 'state'
Leider finde ich denn Fehler grade nicht selbst.
Die Quest ist nicht von mir sondern von einem anderen User.
Hoffe mir bzw ihm kann jemand Helfen.
Mit freundlichen Grüßen
Anonyme™
|
|
|
04/08/2017, 18:29
|
#12508
|
elite*gold: 0
Join Date: Jun 2011
Posts: 13
Received Thanks: 0
|
Questhilfe
Moin, die Quest funktioniert jetzt so wie sie soll allerdings stört mich noch eine sache..
der 2. questbrief zurück zum stallburschen soll ja erscheinen sobald ich lvl 10 erreicht habe und 10 pms habe..
aber mal angenommen ich werde lvl 10, habe aber erst 9 medailen, hebe ich dann die 10. auf kommt der 2. questbrief nicht...
erscheint nur wenn ich bereits 10 medailen habe und dann lvl 10 erreiche..
kann einer das noch so umschreiben das es egal ist was ich zuerst erreiche, wenn die bedingungen lvl 10 und 10 pms erfüllt sind der questbrief automatisch aufploppt?
PHP Code:
quest horse_getting begin state start begin when login begin send_letter("Der Stallbursche braucht deine Hilfe") end when button or info begin say_title("Ich brauche dringend Hilfe "..pc.get_name()) say("Ich war letztens auf einer Fortbildung.") say("Auf dem Rueckweg ist mir meine Tasche gerissen") say("und habe ein paar meiner Medailen verloren.") say_item_vnum(50050) say(string.format("Geh und bringe mir bitte %d dieser Medailen wieder", 10)) say(string.format("wenn du hier dein %d. Lebensjahr erreicht hast.", 10)) end when login or levelup with pc.get_level()>=9 and pc.count_item(50050)>=9 begin set_state(anfang) end end state anfang begin when letter begin send_letter("Zurueck zum Stallburschen") local vid = find_npc_by_vnum(20349) if vid ~= 0 then target.vid("TARGET_HORSE_GETTING", vid, "gehe zum Stallburschen") end end when TARGET_HORSE_GETTING.target.click begin if pc.count_item(50050)<=9 then say("Komme wieder wenn du 10 meiner Medailen hast") return end pc.remove_item(50050, 10) pc.give_item2(50051, 1) pc.set_skill_level(131, 10) horse.set_level(1) horse.summon() horse.ride() say("Heey nicht so schnell das Ding hat") say("mich viel Arbeit gekostet.") set_state(ende) end end state ende begin end end
noch eine frage am rande, wann benutze ich den befehl return in einer quest?
Benutze ich das dann wenn ich in einer quest einen befehl habe der erst später ausgeführt werden kann und ich hinter diesem befehl noch sachen stehen habe die davor ausgeführt werden sollen?
|
|
|
04/10/2017, 20:30
|
#12509
|
elite*gold: 0
Join Date: Mar 2017
Posts: 103
Received Thanks: 21
|
Code:
when 591.kill or 691.kill or 791.kill or 793.kill or 991.kill or 992.kill or 993.kill or 1091.kill or 1092.kill or 1093.kill or 1094.kill or 1095.kill or 1304.kill or
1403.kill or 2091.kill or 2191.kill or 2206.kill or 2207.kill or 2306.kill or 2493.kill or 2494.kill or 5004.kill or
5161.kill or 5162.kill or 5163.kill or 2597.kill begin
local dropChance = number(10,100)
if dropChance == 1 and pc.count_item(30168) < 20-pc.getqf("actual_collect_count") then
pc.give_item2(30168, 1)
end
end
end
when 20084.chat."Notizen der Anführer " with pc.count_it
when ... if ... end end end when ...
Du hast 1 end zu viel, in Zukunft bitte korrekt einrücken, dann passiert sowas nicht.
Das rote end hat deinen state Block beendet. Demensprechend erwartet der quest Compiler einen state Block und keinen when Block
Edit: Das Ende deiner Quest sieht auch nicht so gesund aus. Da fehlt das end.
|
|
|
04/10/2017, 21:44
|
#12510
|
elite*gold: 310
Join Date: May 2011
Posts: 1,592
Received Thanks: 105
|
Quote:
Originally Posted by std::max
Code:
when 591.kill or 691.kill or 791.kill or 793.kill or 991.kill or 992.kill or 993.kill or 1091.kill or 1092.kill or 1093.kill or 1094.kill or 1095.kill or 1304.kill or
1403.kill or 2091.kill or 2191.kill or 2206.kill or 2207.kill or 2306.kill or 2493.kill or 2494.kill or 5004.kill or
5161.kill or 5162.kill or 5163.kill or 2597.kill begin
local dropChance = number(10,100)
if dropChance == 1 and pc.count_item(30168) < 20-pc.getqf("actual_collect_count") then
pc.give_item2(30168, 1)
end
end
end
when 20084.chat."Notizen der Anführer " with pc.count_it
when ... if ... end end end when ...
Du hast 1 end zu viel, in Zukunft bitte korrekt einrücken, dann passiert sowas nicht.
Das rote end hat deinen state Block beendet. Demensprechend erwartet der quest Compiler einen state Block und keinen when Block
Edit: Das Ende deiner Quest sieht auch nicht so gesund aus. Da fehlt das end.
|
Könntest du eventuell genauer Erklären was du meinst?
Da ich ein Neuling im bereich Questen bin
Dankeschön im Voraus
|
|
|
All times are GMT +1. The time now is 01:50.
|
|