|
You last visited: Today at 23:17
Advertisement
[SERVICE] Die Questerstellung
Discussion on [SERVICE] Die Questerstellung within the Metin2 Private Server forum part of the Metin2 category.
03/25/2017, 20:22
|
#3616
|
elite*gold: 14
Join Date: Dec 2015
Posts: 84
Received Thanks: 19
|
Quote:
Originally Posted by iL0riS
Möchte aber 4 verschiedene
|
da du auf die pm nicht geantwortet hast nehme ich die einfachere version
kriegertruhe
PHP Code:
quest krtruhe begin state start begin when truheid.use begin if pc.get_job() == 0 then syschat("Du hast die Krieger Fertigkeitsbücher erhalten!") pc.give_item2(50416, anzahl) pc.give_item2(50417, anzahl) pc.give_item2(50418, anzahl) pc.give_item2(50419, anzahl) pc.give_item2(50420, anzahl) pc.give_item2(50401, anzahl) pc.give_item2(50402, anzahl) pc.give_item2(50403, anzahl) pc.give_item2(50404, anzahl) pc.give_item2(50405, anzahl) pc.remove_item(truhenid, 1) end else syschat("Du benutzt die falsche truhe für deine Klasse!") end end end end
Ninjatruhe
PHP Code:
quest nitruhe begin state start begin when truhenid.use begin if pc.get_job() == 1 then syschat("Du hast die Ninja Fertigkeitsbücher erhalten!") pc.give_item2(50431, anzahl) pc.give_item2(50432, anzahl) pc.give_item2(50433, anzahl) pc.give_item2(50434, anzahl) pc.give_item2(50435, anzahl) pc.give_item2(50446, anzahl) pc.give_item2(50447, anzahl) pc.give_item2(50448, anzahl) pc.give_item2(50449, anzahl) pc.give_item2(50450, anzahl) pc.remove_item(truhenhid, 1) end else syschat("Du benutzt die falsche Truhe für deine Klasse!") end end end end
Suratruhe
PHP Code:
quest sutruhe begin state start begin when truhenid.use begin if pc.get_job() == 2 then syschat("Du hast die Sura Fertigkeitsbücher erhalten!") pc.give_item2(50461, anzahl) pc.give_item2(50462, anzahl) pc.give_item2(50463, anzahl) pc.give_item2(50464, anzahl) pc.give_item2(50465, anzahl) pc.give_item2(50466, anzahl) pc.give_item2(50476, anzahl) pc.give_item2(50477, anzahl) pc.give_item2(50478, anzahl) pc.give_item2(50479, anzahl) pc.give_item2(50480, anzahl) pc.give_item2(50481, anzahl) pc.remove_item(truhenhid, 1) end else syschat("Du benutzt die falsche truhe für deine Klasse!") end end end end
schamanentruhe
PHP Code:
quest schtruhe begin state start beegin when truhenid.use begin if pc.get_job() == 3 then syschat("Du hast die Schamanen Fertigkeitsbücher erhalten!") pc.give_item2(50491, anzahl) pc.give_item2(50492, anzahl) pc.give_item2(50493, anzahl) pc.give_item2(50494, anzahl) pc.give_item2(50495, anzahl) pc.give_item2(50496, anzahl) pc.give_item2(50506, anzahl) pc.give_item2(50507, anzahl) pc.give_item2(50508, anzahl) pc.give_item2(50509, anzahl) pc.give_item2(50510, anzahl) pc.give_item2(50511, anzahl) pc.remove_item(truhenhid, 1) end else syschat("Du benutzt die falsche Truhe für deine Klasse!") end end end end
lg
|
|
|
03/26/2017, 14:50
|
#3617
|
elite*gold: 34
Join Date: Apr 2011
Posts: 998
Received Thanks: 136
|
Hallo,
ich suche eine Quest mit der ich die Bonis eines Items auslesen kann.
Sprich, Item wird per Trigger eingelesen und die Bonis werden ausgegeben.
Danke
|
|
|
03/26/2017, 21:02
|
#3618
|
elite*gold: 0
Join Date: Jun 2014
Posts: 345
Received Thanks: 243
|
Hallo.
ich suche/brauche eine etwas kompliziertere Quest... Wäre schön wenn mir da einer helfen kann
Also ich habe einen Warpring:
der von Anfang an eine Warpfunktion hat / Reich1 oder Reich2 jenachdem in welchem Reich ich spawne (Gelb oder Blau).
Sobald ich eine Quest erledige beispielsweiße Map2 soll dieser Warpring Automatisch die Warpfunktion bekommen damit man sich direkt auf Map2 porten kann das ganze brauche ich. 8 mal in diesem Warpring..
Funktioniert sowas?
Hoffe konnte es halbwegs verständlich rüberbringen..
|
|
|
03/27/2017, 13:53
|
#3619
|
wild wild son
elite*gold: 0
Join Date: Feb 2011
Posts: 5,836
Received Thanks: 3,369
|
Quote:
Originally Posted by GYJohn
Hallo,
ich suche eine Quest mit der ich die Bonis eines Items auslesen kann.
Sprich, Item wird per Trigger eingelesen und die Bonis werden ausgegeben.
Danke
|
Dies würde eine entsprechende Funktion voraussetzen, standardmäßig ist lediglich eine Funktion zum Setzen von Boni (item.set_value()) enthalten.
Quote:
Originally Posted by Therulas
Hallo.
ich suche/brauche eine etwas kompliziertere Quest... Wäre schön wenn mir da einer helfen kann
Also ich habe einen Warpring:
der von Anfang an eine Warpfunktion hat / Reich1 oder Reich2 jenachdem in welchem Reich ich spawne (Gelb oder Blau).
Sobald ich eine Quest erledige beispielsweiße Map2 soll dieser Warpring Automatisch die Warpfunktion bekommen damit man sich direkt auf Map2 porten kann das ganze brauche ich. 8 mal in diesem Warpring..
Funktioniert sowas?
Hoffe konnte es halbwegs verständlich rüberbringen..
|
Inwiefern automatisch? Du müsstest die Option dann in der jeweiligen Quest, an beliebiger Stelle aktivieren, ließe sich bspw. leicht durch Quest Flags lösen.
|
|
|
03/27/2017, 14:47
|
#3620
|
elite*gold: 14
Join Date: Dec 2015
Posts: 84
Received Thanks: 19
|
Quote:
Originally Posted by Nick
Inwiefern automatisch? Du müsstest die Option dann in der jeweiligen Quest, an beliebiger Stelle aktivieren, ließe sich bspw. leicht durch Quest Flags lösen.
|
Hab ihm/ihr schon ein grundgerüst per pm geschickt das mit questflags funktioniert.
Ich brauch nur noch eine rückantwort ob das dass ist was er/Sie sich vorgestellt hat dann schreib ich die Quest zu Ende.
|
|
|
03/27/2017, 15:57
|
#3621
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by Therulas
Hallo.
ich suche/brauche eine etwas kompliziertere Quest... Wäre schön wenn mir da einer helfen kann
Also ich habe einen Warpring:
der von Anfang an eine Warpfunktion hat / Reich1 oder Reich2 jenachdem in welchem Reich ich spawne (Gelb oder Blau).
Sobald ich eine Quest erledige beispielsweiße Map2 soll dieser Warpring Automatisch die Warpfunktion bekommen damit man sich direkt auf Map2 porten kann das ganze brauche ich. 8 mal in diesem Warpring..
Funktioniert sowas?
Hoffe konnte es halbwegs verständlich rüberbringen..
|
Code:
define WARPRING_VNUM 12345
quest warpring begin
state start begin
when WARPRING_VNUM.use begin
warpTable = warpTable or {
{
name = "Map 1",
children = {
{
name = "Rotes Reich",
warp = {1, 100, 200},
},
{
name = "Blaues Reich",
warp = {2, 100, 200},
},
{
name = "Gelbes Reich",
warp = {3, 100, 200},
},
},
},
{
name = "Maps mit Bedingungen",
condition = warpring.minLevel(30),
children = {
{
name = "Map mit besonderer Bedingung 1",
conditions = {
warpring.hasFlag("anyquest", "boss_killed"),
warpring.maxLevel(90),
},
warp = {4, 100, 200},
},
},
},
}
warpring.showWarps({name = "Warpring", children = warpTable}, 0)
end
function showWarps(entry, stackCount)
if stackCount >= 100 then
say("Die Auswahl wurde aus Sicherheitsgründen beendet.")
return
end
local selectNames = {}
local selectTargets = {}
for _, warp in ipairs(entry.children) do
if warpring.checkConditions(warp) then
table.insert(selectNames, warp.name)
table.insert(selectTargets, warp)
end
end
local BACK = "Zurück"
local CANCEL = "Schließen"
if entry.parent then
table.insert(selectNames, BACK)
end
table.insert(selectNames, CANCEL)
say_title(entry.name)
if table.getn(selectTargets) < 1 then
say("Keine Zielorte zum Auswählen")
end
local selectedNum = select_table(selectNames)
local selectedTarget = selectTargets[selectedNum]
if selectedTarget then
if selectedTarget.children then
selectedTarget.parent = entry
warpring.showWarps(selectedTarget, stackCount + 1)
elseif selectedTarget.warp then
pc.warp(unpack(selectedTarget.warp))
else
say("Keine Informationen zu diesem Punkt.")
end
else
local selectedStr = selectNames[selectedNum]
if selectedStr == BACK and entry.parent then
warpring.showWarps(entry.parent, stackCount + 1)
end
end
end
function checkConditions(entry)
if entry.condition and not entry.condition() then
return false
end
if entry.conditions then
for _, condition in ipairs(entry.conditions) do
if not condition() then
return false
end
end
end
return true
end
function minLevel(value)
return function()
return pc.get_level() >= value
end
end
function maxLevel(value)
return function()
return pc.get_level() <= value
end
end
function hasFlag(questName, flagName)
return function()
return pc.getf(questName, flagName) == 1
end
end
end
end
Sollte so klappen
|
|
|
03/31/2017, 04:42
|
#3622
|
elite*gold: 0
Join Date: Apr 2016
Posts: 92
Received Thanks: 4
|
PHP Code:
quest krtruhe begin state start begin when 38150.use begin if pc.get_job() == 0 then syschat("Du hast die Krieger Fertigkeitsbücher erhalten!") local r = number(1, 10) if r == 1 then pc.give_item2(50416, 1) end if r == 2 then pc.give_item2(50417, 1) end if r == 3 then pc.give_item2(50418, 1) end if r == 4 then pc.give_item2(50419, 1) end if r == 5 then pc.give_item2(50420, 1) end if r == 6 then pc.give_item2(50401, 1) end if r == 7 then pc.give_item2(50402, 1) end if r == 8 then pc.give_item2(50403, 1) end if r == 9 then pc.give_item2(50404, 1) end if r == 10 then pc.give_item2(50405, 1) end pc.remove_item(38150, 1) end end end end
Wie mache ich das mit Du benutzt die falsche Truhe wenn man nicht die Klasse ist?
|
|
|
03/31/2017, 10:15
|
#3623
|
elite*gold: 14
Join Date: Dec 2015
Posts: 84
Received Thanks: 19
|
Quote:
Originally Posted by iL0riS
PHP Code:
quest krtruhe begin state start begin when 38150.use begin if pc.get_job() == 0 then syschat("Du hast die Krieger Fertigkeitsbücher erhalten!") local r = number(1, 10) if r == 1 then pc.give_item2(50416, 1) end if r == 2 then pc.give_item2(50417, 1) end if r == 3 then pc.give_item2(50418, 1) end if r == 4 then pc.give_item2(50419, 1) end if r == 5 then pc.give_item2(50420, 1) end if r == 6 then pc.give_item2(50401, 1) end if r == 7 then pc.give_item2(50402, 1) end if r == 8 then pc.give_item2(50403, 1) end if r == 9 then pc.give_item2(50404, 1) end if r == 10 then pc.give_item2(50405, 1) end pc.remove_item(38150, 1) end end end end
Wie mache ich das mit Du benutzt die falsche Truhe wenn man nicht die Klasse ist?
|
PHP Code:
quest krtruhe begin state start begin when 38150.use begin if pc.get_job() == 0 then syschat("Du hast die Krieger Fertigkeitsbücher erhalten!") local r = number(1, 10) if r == 1 then pc.give_item2(50416, 1) end if r == 2 then pc.give_item2(50417, 1) end if r == 3 then pc.give_item2(50418, 1) end if r == 4 then pc.give_item2(50419, 1) end if r == 5 then pc.give_item2(50420, 1) end if r == 6 then pc.give_item2(50401, 1) end if r == 7 then pc.give_item2(50402, 1) end if r == 8 then pc.give_item2(50403, 1) end if r == 9 then pc.give_item2(50404, 1) end if r == 10 then pc.give_item2(50405, 1) end pc.remove_item(38150, 1) end else syschat("Du benutzt die falsche truhe für deine Klasse!") end end end end
du fragst in dem fall danach was passirt wenn pc.get_job == 0 ist
also kannst du einfach ein else einfügen für alle anderen fälle
|
|
|
03/31/2017, 17:46
|
#3624
|
elite*gold: 118
Join Date: Jan 2013
Posts: 274
Received Thanks: 140
|
Kann mir jemand helfen quest zu schreiben für warpring
{"Map1 Rot", 474100, 955000},
{"Map1 Gelb", 63525, 166543},
{"Map1 Blau", 960100, 268800},
{“PvP Map", 960100, 268800},
{"Land der Elemente", 828300", 763500},
{"Boss Map(50)", 1059000", 726200},
{"Metin Map 1(25)", 0,0},(leerer Drachenraum)
{"Metin Map 2(50)", 0, 0},(OrkTal)
{"Metin Map 3(75)", 960100, 268800},
{"Wüste",297300", 547900},
{"Tal von Seungryong"333074", 747167},
{"Berg Sohan ", 436900", 216100},
{"Roter Wald",1119323", 7952},
{"Spinnendungeon 1",60000", 497000},
{"Spinnendungeon 2",97649", 571124},
{"Spinnendungeon(Boss)",97649", 571124},
{"Grotte 1",10000", 1207800},
{"Grotte 2",241800", 1275000},
{"Grotte 3(Boss)",181473", 1220674},
{"Dämonenturm(Boss)",590406", 110717},
{"Dunkler Wald (75-125)", 960100, 268800},
{"Tempel des Schwert( 110)", 960100, 268800},
{"Land der Todes (115)", 960100, 268800},
{"Glutberge (125)", 960100", 268800},
23.1 Reihenfolge
Reiche
PvP-Map
Land der Elemente (50)
Boss-Map (50)
Wüste
Tal von Seungryong
Berg Sohan
Roter Wald
Metin-Map 1
Metin-Map 2
Metin-Map 3
Spinnendungeon 1
Spinnendungeon 2
Spinnendungeon (Boss)
|
|
|
04/01/2017, 17:00
|
#3625
|
elite*gold: 0
Join Date: Mar 2017
Posts: 28
Received Thanks: 37
|
Quote:
Originally Posted by ©Lice©
Kann mir jemand helfen quest zu schreiben für warpring
{"Map1 Rot", 474100, 955000},
{"Map1 Gelb", 63525, 166543},
{"Map1 Blau", 960100, 268800},
{“PvP Map", 960100, 268800},
{"Land der Elemente", 828300", 763500},
{"Boss Map(50)", 1059000", 726200},
{"Metin Map 1(25)", 0,0},(leerer Drachenraum)
{"Metin Map 2(50)", 0, 0},(OrkTal)
{"Metin Map 3(75)", 960100, 268800},
{"Wüste",297300", 547900},
{"Tal von Seungryong"333074", 747167},
{"Berg Sohan ", 436900", 216100},
{"Roter Wald",1119323", 7952},
{"Spinnendungeon 1",60000", 497000},
{"Spinnendungeon 2",97649", 571124},
{"Spinnendungeon(Boss)",97649", 571124},
{"Grotte 1",10000", 1207800},
{"Grotte 2",241800", 1275000},
{"Grotte 3(Boss)",181473", 1220674},
{"Dämonenturm(Boss)",590406", 110717},
{"Dunkler Wald (75-125)", 960100, 268800},
{"Tempel des Schwert( 110)", 960100, 268800},
{"Land der Todes (115)", 960100, 268800},
{"Glutberge (125)", 960100", 268800},
23.1 Reihenfolge
Reiche
PvP-Map
Land der Elemente (50)
Boss-Map (50)
Wüste
Tal von Seungryong
Berg Sohan
Roter Wald
Metin-Map 1
Metin-Map 2
Metin-Map 3
Spinnendungeon 1
Spinnendungeon 2
Spinnendungeon (Boss)
|
2 Posts über dir steht eine Warpquest von Sensi..
Füg doch einfach deine Koords etc dort ein
Quote:
Originally Posted by rollback
Code:
define WARPRING_VNUM 12345
quest warpring begin
state start begin
when WARPRING_VNUM.use begin
warpTable = warpTable or {
{
name = "Map 1",
children = {
{
name = "Rotes Reich",
warp = {1, 100, 200},
},
{
name = "Blaues Reich",
warp = {2, 100, 200},
},
{
name = "Gelbes Reich",
warp = {3, 100, 200},
},
},
},
{
name = "Maps mit Bedingungen",
condition = warpring.minLevel(30),
children = {
{
name = "Map mit besonderer Bedingung 1",
conditions = {
warpring.hasFlag("anyquest", "boss_killed"),
warpring.maxLevel(90),
},
warp = {4, 100, 200},
},
},
},
}
warpring.showWarps({name = "Warpring", children = warpTable}, 0)
end
function showWarps(entry, stackCount)
if stackCount >= 100 then
say("Die Auswahl wurde aus Sicherheitsgründen beendet.")
return
end
local selectNames = {}
local selectTargets = {}
for _, warp in ipairs(entry.children) do
if warpring.checkConditions(warp) then
table.insert(selectNames, warp.name)
table.insert(selectTargets, warp)
end
end
local BACK = "Zurück"
local CANCEL = "Schließen"
if entry.parent then
table.insert(selectNames, BACK)
end
table.insert(selectNames, CANCEL)
say_title(entry.name)
if table.getn(selectTargets) < 1 then
say("Keine Zielorte zum Auswählen")
end
local selectedNum = select_table(selectNames)
local selectedTarget = selectTargets[selectedNum]
if selectedTarget then
if selectedTarget.children then
selectedTarget.parent = entry
warpring.showWarps(selectedTarget, stackCount + 1)
elseif selectedTarget.warp then
pc.warp(unpack(selectedTarget.warp))
else
say("Keine Informationen zu diesem Punkt.")
end
else
local selectedStr = selectNames[selectedNum]
if selectedStr == BACK and entry.parent then
warpring.showWarps(entry.parent, stackCount + 1)
end
end
end
function checkConditions(entry)
if entry.condition and not entry.condition() then
return false
end
if entry.conditions then
for _, condition in ipairs(entry.conditions) do
if not condition() then
return false
end
end
end
return true
end
function minLevel(value)
return function()
return pc.get_level() >= value
end
end
function maxLevel(value)
return function()
return pc.get_level() <= value
end
end
function hasFlag(questName, flagName)
return function()
return pc.getf(questName, flagName) == 1
end
end
end
end
Sollte so klappen
|
|
|
|
04/06/2017, 00:56
|
#3626
|
elite*gold: 0
Join Date: Aug 2010
Posts: 135
Received Thanks: 6
|
hi @ all,
gibt es ne quest wo der spieler für jeden metin (ab zb 8024) oder für jeden Boss den er gekillt hat einpaar coins (in die db "account" in der tabelle "accounts" ins "coins" Feld) bekommt?
würd ich echt gebrauchen
damals hatte mir .CHKaruzo & .Colossus. diese quest geschrieben aber die funktioniert nicht
------------------------------------
quest coins_for_kill begin
state start begin
local metin = {
[8024] = {30}, -- 1. Vnum des Metin 2. Anzahl der Coins
[8025] = {20}
}
when kill begin
if npc.get_race() == metin[pc.get_mob_vnum] then
notice_all("".. pc.get_name() .." >>>>> hat gerade 1 coins bekommen <<<<<")
mysql_query("UPDATE account.account SET coins = coins + "..metin[pc.get_mob_vnum][2].." WHERE id = "..pc.get_account_id()..";")
end
end
end
end
der error dazu ist :
./qc coins_for_kill.quest
QUEST : coins_for_kill
STATE : start
expecting 'when' or 'function'
coins_for_kill.quest:4:Abort (core dumped)
-----------------------------
natürlich gibts nen thanx
danke.
und 2.
Ist es möglich das jeder Spielen sagen wirmal 1 (eins) coin für jede ingame Stunde die er im Spiel war bekommt?
wenn ja würd ich mich für so eine quest sehr freuen.
danke
|
|
|
04/07/2017, 15:42
|
#3627
|
elite*gold: 0
Join Date: Jun 2011
Posts: 13
Received Thanks: 0
|
Pferdequest Hilfe
Moin elitepvpers
Bin gerade dabei mir ne pferdequest zu schreiben und brauche mal eure hilfe
PHP Code:
quest horse_getting begin state start begin when login begin send_letter("Der Stallbursche braucht Hilfe!") (brief von lv. 1- lv. 10) 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("Geh und bringe mir bitte 10 dieser Medailen wieder") say("wenn du hier dein 10. Lebensjahr erreicht hast.") set_state(weiter) end end state weiter begin when login or levelup with pc.get_level()>=10 begin (der Brief kommt erst ab lvl 10 send_letter("Geh zum Stallburschen") und 10 gesammelten pms mit end pfeil über stallbursche) when button or info begin say_title("Der Stallbursche erwartet dich") say("Geh und guck was er von dir will") end (als nächstes beim Stallbursche wo man end die pms abgibt, ne kleine summe yang end
und dann bekommt man sein pferd)
Wenn man sich einloggt kommt ein Quest-Brief der auffordert lvl 10 zu erreichen und 10 Pferdemedailen zu sammeln > Wenn man dies erreicht hat soll ein 2. Brief aufploppen mit dem Pfeil über dem Stallburschen (Wie bei der quest lvl 5 "Die Ausbildung") Dann geht man dahin und holt sein Pferd ab..
Habe mir das Quest-Schreiben gerade selber beigebracht.
Meine Frage: > sind die states richtig gesetzt? Ich möchte den State setzen wenn er lvl 10 und die 10 pms hat und nicht wenn ich die quest angeklickt habe, nach einem login ist die quest weg und kommt nicht wieder....Und wie bringe ich die restlichen sachen die ich beschrieben habe unter? Kann mir einer helfen die Quest zu überarbeiten?
|
|
|
04/07/2017, 16:19
|
#3628
|
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
|
Quote:
Originally Posted by Delta371
Moin elitepvpers
Bin gerade dabei mir ne pferdequest zu schreiben und brauche mal eure hilfe
PHP Code:
quest horse_getting begin state start begin when login begin send_letter("Der Stallbursche braucht Hilfe!") (brief von lv. 1- lv. 10) 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("Geh und bringe mir bitte 10 dieser Medailen wieder") say("wenn du hier dein 10. Lebensjahr erreicht hast.") set_state(weiter) end end state weiter begin when login or levelup with pc.get_level()>=10 begin (der Brief kommt erst ab lvl 10 send_letter("Geh zum Stallburschen") und 10 gesammelten pms mit end pfeil über stallbursche) when button or info begin say_title("Der Stallbursche erwartet dich") say("Geh und guck was er von dir will") end (als nächstes beim Stallbursche wo man end die pms abgibt, ne kleine summe yang end
und dann bekommt man sein pferd)
Wenn man sich einloggt kommt ein Quest-Brief der auffordert lvl 10 zu erreichen und 10 Pferdemedailen zu sammeln > Wenn man dies erreicht hat soll ein 2. Brief aufploppen mit dem Pfeil über dem Stallburschen (Wie bei der quest lvl 5 "Die Ausbildung") Dann geht man dahin und holt sein Pferd ab..
Habe mir das Quest-Schreiben gerade selber beigebracht.
Meine Frage: > sind die states richtig gesetzt? Ich möchte den State setzen wenn er lvl 10 und die 10 pms hat und nicht wenn ich die quest angeklickt habe, nach einem login ist die quest weg und kommt nicht wieder....Und wie bringe ich die restlichen sachen die ich beschrieben habe unter? Kann mir einer helfen die Quest zu überarbeiten?
|
Code:
define NPC_VNUM 12345
define ITEM_VNUM 50050
define ITEM_COUNT 10
define MIN_LEVEL 10
quest horse_getting begin
state start begin
when login begin
if pc.get_level() >= MIN_LEVEL and pc.count_item(ITEM_VNUM) >= ITEM_COUNT and pc.getqf("letterRead") == 1 then
set_state("training1")
return
end
send_letter("Der Stallbursche braucht 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(ITEM_VNUM)
say(string.format("Geh und bringe mir bitte %d dieser Medailen wieder", ITEM_COUNT))
say(string.format("wenn du hier dein %d. Lebensjahr erreicht hast.", MIN_LEVEL))
pc.setqf("letterRead", 1)
end
when leave begin
clear_letter()
end
end
state training1 begin
when login or enter begin
send_letter("Geh zum Stallburschen")
local vid = find_npc_by_vnum(NPC_VNUM)
if vid ~= 0 then
target.vid("TARGET_HORSE_GETTING", vid, "Gehe zum Stallburschen")
end
end
when button or info begin
say_title("Der Stallbursche erwartet dich")
say("Geh und guck was er von dir will")
end
when TARGET_HORSE_GETTING.target.click begin
if pc.count_item(ITEM_VNUM) < ITEM_COUNT then
say("Du hast nicht die benötigte Anzahl an Items.")
return
end
pc.remove_item(ITEM_VNUM, ITEM_COUNT)
horset.set_level(10)
set_state("training2")
say("Dein Pferd ist nun Level 10")
end
when leave begin
clear_letter()
end
end
state training2 begin
end
end
|
|
|
04/07/2017, 21:36
|
#3629
|
elite*gold: 0
Join Date: Jun 2011
Posts: 13
Received Thanks: 0
|
Moooin, erstmal vielen dank für deine Hilfe, schaut sehr geil aus hab ich auch direkt schonmal getestet und und verstanden wie sie funktioniert..
allerdings muss ich mich jedes mal neu einloggen mit der 2. questbrief angezeigt wird..
kann man das nicht auch so machen das das beim levelup auf 10 automatisch kommt?
die jetzigen anforderungen sind ja min. lvl 10, 10 medailen, lesen des 1. briefs
bei der zeile "when button or enter begin
send_letter("geh zum stallburschen")"
hab ich auch schon lvlup probiert aber dann kommt jedes lvlup der brief.
und wenn ich lvl 10 angebe öffnet er garnicht mehr.
und wenn ich das oben probiere wo der state "training1" gesetzt wurde mit lvl up dann setzt er mich erst auf training 1 wenn ich nen lvl up habe..
im moment schaut die quest so aus
PHP Code:
quest horse_getting begin state start begin when login begin if pc.get_level()>=10 and pc.count_item(50050)>=10 and pc.getqf("letterRead")==1 then set_state(anfang) return end send_letter("Der Stallbursche braucht 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)) pc.setqf("letterRead", 1) end end state anfang begin when login or enter begin send_letter("Geh 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 button or info begin say_title("Der Stallbursche erwartet dich") say("Geh und guck was er von dir will") 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
|
|
|
04/08/2017, 02:53
|
#3630
|
elite*gold: 118
Join Date: Jan 2013
Posts: 274
Received Thanks: 140
|
PHP Code:
[TABLE]quest warpring begin state start begin when 70007.use or 9012.chat.gameforge.map_warp._10_npcChat or 20009.chat.gameforge.neutral_warp._10_npcChat begin local warp = {--koord Pflicht, rest optional! {--Reiche name = "Map 1", {--Rotes Reich name = "Rotes Reich Map 1", koord = {474100, 955000}, }, {--Gelbes Reich name = "Gelbes Reich Map 1", koord = {63525, 166543}, }, {--Blaues Reich name = "Blaues Reich Map 1", koord = {960100, 268800}, }, {--Rotes Reich Map 2 name = "Rotes Reich Map 2", koord = {352200, 882200}, }, {--Gelbes Reich Map 2 name = "Gelbes Reich Map 2", koord = {145900, 239800}, }, {--Blaues Reich Map 2 name = "Blaues Reich Map 2", koord = {863700, 246300}, }, {--PvP_Map name = "PvP_Map 1", koord = {0, 0}, }, {--Land der Riesen name = "Land der Elemente (50)", koord = {828300, 763500}, }, {--Boss Map name = "Boss-Map (50)", koord = {1059000, 726200}, }, {--Metin Map 1 name = "Metin Map 1", koord = {0, 0}, }, {--Metin Map 2 name = "Metin Map 2", koord = {0, 0}, }, {--Metin Map 3 name = "Metin Map 3", koord = {960100, 268800}, }, {--Wüste name = "Wüste (Mitte)", koord = {297300, 547900}, }, {--Tal_von_Seungryong name = "Tal_von_Seungryong", koord = {333074, 747167}, }, {--Eisland Mitte name = "Eisland", koord = {436900, 216100}, }, {--Roter Wald name = "Roter Wald", koord = {1119323, 7952}, }, {--Spinnendungeons 1 name = "SD1", koord = {60000, 497000}, }, {--Spinnendungeons 2 name = "SD2", koord = {703800, 462500}, }, {--Spinnendungeons (Boss) name = "SD3 (Boss)", koord = {69018, 609960}, }, {--Grotte 1 name = "Grotte 1", koord = {10000, 1207800}, }, {--Grotte 2 name = "Grotte 2", koord = {241800, 1275000}, }, {--Grotte (Boss) name = "Drachenkammer (Boss)", koord = {181473, 1220674}, }, {--EisFestung (Boss) name = "Eisfestung (Boss)", koord = {0, 0}, }, {--Dämonenturm (Boss) name = "Dämonenturm (Boss)", koord = {590406, 110717}, }, {--Dunkler Wald (75-125) name = "Dunkler Wald (75-125)", koord = {960100, 268800}, }, {--Tempel des Schwert (110) name = "Tempel des Schwert (110)", koord = {960100, 268800}, }, {--Land der Todes (115) name = "Land der Todes (115)", koord = {960100, 268800}, }", {--Glutberge (125) name = "Glutberge (125)", koord = {960100, 268800}, }, warpring.sho warpring.showwarps(warp) end function warp(tbl) local level = pc.get_level() if tbl.minlevel and level < tbl.minlevel then say("Dein Level ist zu niedrig, um diese Map zu betreten.") say("Minimal Level: "..tbl.minlevel) select("Abbrechen") return elseif tbl.maxlevel and level > tbl.maxlevel then say("Dein Level ist zu hoch, um diese Map zu betreten.") say("Maximal Level: "..tbl.maxlevel) select("Abbrechen") return end while not pc.can_warp() do say("Du kannst dich noch nicht teleportieren, da du in") say("den letzten 10 Sekunden gehandelt hast.") if select("Erneut versuchen", "Abbrechen") == 2 then return end end local warpneedstrings = warpring.get_warpneedstrings(tbl) if table.getn(warpneedstrings) > 0 then say("Um diese Map zu betreten benötigst du folgende") say("Dinge:") for _,v in ipairs(warpneedstrings) do say(v) end say("") say("Möchtest du trotzdem fortfahren?") if select("Teleportieren", "Abbrechen") == 2 then return end end if not warpring.check_and_remove_warpneeds(tbl) then say("Dir fehlt mindestens eins der benötigten Dinge.") select("Abbrechen") return end pc.warp(tbl.koord[1], tbl.koord[2]) end function get_warpneedstrings(tbl) local warpneeds = {} if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do table.insert(warpneeds, "- "..v[2].."x "..item_name(v[1])) end end if tbl.goldneed and tbl.goldneed > 0 then table.insert(warpneeds, "- "..tbl.goldneed.." Yang") end return warpneeds end function check_warpneeds(tbl) if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do if pc.count_item(v[1]) < v[2] then return false end end end if tbl.goldneed and tbl.goldneed > 0 then if pc.get_gold() < tbl.goldneed then return false end end return true end function remove_warpneeds(tbl) if tbl.itemneed and table.getn(tbl.itemneed) > 0 then for _,v in ipairs(tbl.itemneed) do pc.remove_item(v[1], v[2]) end end if tbl.goldneed and tbl.goldneed > 0 then pc.change_gold(-tbl.goldneed) end end function check_and_remove_warpneeds(tbl) if not warpring.check_warpneeds(tbl) then return false end warpring.remove_warpneeds(tbl) return true end function get_warpnames(tbl) local level = pc.get_level() local names = {} for _,v in ipairs(tbl) do if v.minlevel and level < v.minlevel then v.name = v.name.." (ab Lv. "..v.minlevel..")" elseif v.maxlevel and level > v.maxlevel then v.name = v.name.." (bis Lv. "..v.maxlevel..")" end table.insert(names, v.name) end return names end function showwarps(tbl) local warpnames = warpring.get_warpnames(tbl) local s = tbl[select3(warpnames)] or false if not s then return end if s.koord then warpring.warp(s) return end warpring.showwarps(s) end end end[/TABLE]
Hab dort problme könnte jemand helpen
|
|
|
|
|
Similar Threads
|
[Community]Questerstellung
09/06/2015 - Metin2 Private Server - 5 Replies
Hallo liebe Community,
ich möchte meine Questkenntnisse ein wenig erweitern, deshalb möchte ich euch hier die Möglichkeit geben, Ideen, Wünsche und alles was mit Quests zu tun hat an mich weiterzuleiten.
Ich werde, sobald ich Zeit und Lust habe, die Ideen größtenteils umsetzen und das Ergebnis hier veröffentlichen. Wie oben schon erwähnt bin ich Quasi noch am 'lernen' (ja ich weis, man lernt nie aus), deshalb bitte ich euch, mich zu informieren wenn ich irgendwo gefailed hab, man es...
|
Hilfe bei Questerstellung
02/25/2012 - Metin2 Private Server - 0 Replies
€dit:
Kan gelöscht werden habe jemanden gefunden!!!!
|
Hilfe bei Questerstellung
02/15/2012 - Metin2 Private Server - 8 Replies
Heyy
Ich hätte eine bitte an euch.
Und zwar einer von euch mir einige quests erstellst.
Ich habe voll kp von quests.
Als blohnung würde ich dir auf meinem server
5k coins (Wert 50€) geben.
also hier die quests:
30 Quest
Belohnung: 100kk 42 rüssi+7 je nach der klasse.
|
Hilfe bei Questerstellung
08/16/2011 - Metin2 Private Server - 0 Replies
Mahlzeit
also ich suche jemanden der mir ein grundgerüst einer quest erstellen kann so das ich diese weiter ausbauen kann,
So nun zur quest idee
Also ich möchte einen NPC hinstellen nennen wir den mal Questnpc
wenn man den anklickt soll man dem levelabhängig quest angeboten bekommen,zum beispiel ab lvl10 töte 50 weisse Tiger,aber lvl40 töte 30 Oberork und so weiter,was mit levelanstieg natürlich komplexer werden sollte.Manche Quest sollten nur einmal zumachen gehen und manche im höheren lvl...
|
[SERVICE]Questerstellung
05/24/2011 - Metin2 Private Server - 4 Replies
Abend e*pvp,
nach langem Überlegen hab ich mich doch dazu entschlossen, meine Arbeit gegen e*gold zur Verfügung zu stellen.
Ich werde euch mal die wichtigsten Fragen beantworten ;)
Woraus besteht dein Service?
Zum einen erstelle ich einzelne, sowie ganze Questreihen. Die von mir verschickten Dateien werden Unikate bleiben, und sofort nach erfolgreichem Transfer gelöscht. Außerdem biete ich nochmal seperat eine Questverbesserung zum Sammelthread an. Diese wird dann natürlich...
|
All times are GMT +2. The time now is 23:17.
|
|