|
You last visited: Today at 09:34
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
05/01/2011, 17:52
|
#2206
|
elite*gold: 0
Join Date: Dec 2010
Posts: 86
Received Thanks: 8
|
Quote:
Originally Posted by DivineShot
-- Teleporter
quest map_warp begin
state start begin
when 9012.chat."Möchtest du reisen?" begin
say_title("Teleporter:")
say("Dies ist eine faszinierende Gegend. Aber")
say("passiert hier denn auch mal etwas")
say("Außergewöhnliches? Eher wohl nicht. In anderen")
say("Teilen des Landes sieht es mitunter ganz anders.")
say("aus! Es gibt daher sicher einen intressanten")
say("Ort, an den ich dich teleportieren könnte. Da")
say("jedoch die Kräfte des Bösen wieder stärker")
say("geworden sind, wurden Raum und Zeit ins Chaos")
say("gestürzt. Dadurch kann es passieren, dass deine")
say("Rückkehr nicht immer augenblicklich funktioniert.")
say("Möchtest du dennoch teleportiert werden?")
local main_set = select("Ja","Nein")
if main_set == 2 then
return
end
if pc.get_level() <= 10 then
say_title("Teleporter:")
say("Hm… Mit deinem derzeitigen Level bist du noch")
say("zu schwach für die Reise durch Zeit und Raum.")
say("Komm wieder, wenn du höher als Level 10 bist.")
return
end
local map = pc.get_map_index()
local empire = pc.get_empire()
local level = pc.get_level()
local cost = math.floor(level / 5) * 1000
-- ?? ????
if cost < 1000 then
cost = 1000
end
say_title("Teleporter:")
say("Wohin möchtest du teleportiert werden?")
say_reward(string.format("Das kostet dich %d Yang.", cost))
-- ?? ?? ???? ?? ?? (? ?? 1,2 ??)
if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then
local guild_map_names = {
"Gildenzone",
"Gildenzone",
"Gildenzone",
}
guild_map_name = guild_map_names[empire]
local empire_castle={
"Burgschlacht",
"Burgschlacht",
"Burgschlacht",
}
empire_castle =empire_castle[empire]
local sub_set = 0
if level < 60 then -- 60?? : ?????, ???, ????, ???
sub_set = select(guild_map_name, "Tal von Seungryong", "Yongbi-Wüste", "Berg Sohan", empire_castle,"Andere Gebiete")
if sub_set == 6 then -- ??
return
end
else -- 61?? : ????, ???, ????, ????
sub_set = select(guild_map_name, "Tal von Seungryong", "Yongbi-Wüste", "Berg Sohan", empire_castle,"Andere Gebiete")
if sub_set == 6 then -- ??
say_title("Teleporter:")
say("Wohin möchtest du teleportiert werden?")
say_reward(string.format("Das kostet dich %d Yang.", cost))
sub_set = select("Doyyumhwaji", "Dämonenturm", "Spinnendungeon", "Lungsam", "Roter Wald", "Land der Riesen", "FarmMap", "Zurück", "Abbrechen") + 5
if sub_set == 13 then -- ??
return
end
if sub_set == 12 then -- ??
say_title("Teleporter:")
say("Wohin möchtest du teleportiert werden?")
--- l
say_reward(string.format("Das kostet dich %d Yang.", cost))
sub_set = select(guild_map_name, "Tal von Seungryong", "Yongbi-Wüste", "Berg Sohan", empire_castle,"Andere Gebiete")
if sub_set == 6 then -- ??
say_title("Teleporter:")
say("Wohin möchtest du teleportiert werden?")
say_reward(string.format("Das kostet dich %d Yang.", cost))
sub_set = select("Doyyumhwaji", "Dämonenturm", "Spinnendungeon", "Lungsam", "Roter Wald", "Land der Riesen", "Abbrechen") + 5
if sub_set == 12 then -- ??
return
end
end
end
end
end
if pc.gold < cost then
say("Du hast nicht genug Geld,")
say_title("Teleporter:")
say("Ich würde dich auch kostenlos teleportieren,")
say("aber ich habe eine große Familie. Um sie zu")
say("ernähren, muss ich Geld verdienen.")
say_reward(string.format("Es kostet %d Yang.", cost))
return
end
pc.changegold(-cost)
local warp = {
-- guild_map
{
{ 128500, 1000 },
{ 179500, 1000 },
{ 271800, 13000 },
},
-- 64 map_n_threeway
{
{ 402100, 673900 },
{ 270400, 739900 },
{ 321300, 808000 },
},
-- 63 metin2_map_n_desert_01
{
{ 217800, 627200 },
{ 221900, 502700 },
{ 344000, 502500 },
},
-- 61 map_n_snowm_01
{
{ 434200, 290600 },
{ 375200, 174900 },
{ 491800, 173600 },
},
{--empire_castle
{975200, 133000},
{977200, 185000},
{923900, 183600},
} ,
-- 62 metin2_map_n_flame_01
{
{ 599400, 756300 },
{ 597800, 622200 },
{ 730700, 689800 },
},
-- devil_tower
{
{ 590500, 110500 },
{ 590500, 110500 },
{ 590500, 110500 },
},
-- 104 metin2_map_spiderdungeon
{
{ 60000, 496000 },
{ 60000, 496000 },
{ 60000, 496000 },
},
-- 67 metin2_map_trent
{
{ 288700, 5700 },
{ 288700, 5700 },
{ 288700, 5700 },
},
-- 68 metin2_map_trent02
{
{ 1119900, 70800 },
{ 1119900, 70800 },
{ 1119900, 70800 },
},
-- 70 metin2_map_nusluck01
{
{ 845100, 745900 },
{ 845100, 745900 },
{ 845100, 745900 },
},
-- 103 metin2_map_t1
{
{ 38300, 64000 },
{ 38300, 64000 },
{ 38300, 64000 },
},
}
test_chat(warp[sub_set][empire][1]..warp[sub_set][empire][2])
say_title("Teleporter:")
say("Achtung, ich teleportiere dich jetzt. Du wirst")
say("an einem gefährlichen Ort landen, also pass auf")
say("dich auf. Viel Glück!")
wait()
pc.warp(warp[sub_set][empire][1], warp[sub_set][empire][2])
else -- ? ?? 1,2 ? ??? ?????? ? ?? 1,2 ? ??? ?? ??
local sub_set2 = 3
--sub_set2 = select(locale.vileage1_name[empire], locale.vileage2_name[empire], locale.cancel)
if empire==1 then
sub_set2 = select("Yongan","Jayang" , locale.cancel)
elseif empire ==2 then
sub_set2 = select("Joan","Bokjung" , locale.cancel)
elseif empire ==3 then
sub_set2 = select("Pyungmoo","Bakra" , locale.cancel)
end
if sub_set2 != 3 then
if pc.gold < cost then
say_title("Teleporter:")
say("Ich würde dich auch umsonst teleportieren,")
say("aber ich habe eine große Familie. Um sie zu")
say("ernähren, muss ich Geld verdienen.")
say_reward(string.format("Es kostet %d Yang.", cost))
else
if sub_set2 == 1 then
say_title("Teleporter:")
say("Ich teleportiere dich dorthin.")
wait()
if empire == 1 then
pc.warp(474300,954800)
elseif empire == 2 then
pc.warp(63800,166400)
elseif empire == 3 then
pc.warp(959900,269200)
end
elseif sub_set2 == 2 then
say_title("Teleporter:")
say("Ich teleportiere dich dorthin.")
wait()
if empire == 1 then
pc.warp(353100,882900)
elseif empire == 2 then
pc.warp(145500,240000)
elseif empire == 3 then
pc.warp(863900,246000)
end
end
pc.changegold(-cost)
end
end
end
end -- end_of_chat
end -- end_of_state
end -- end_of_quest
Ich will an den Ort "Insel des Todes" die Map soll FarmMap heißen die Koords. da hab ich Rot markiert.
Also ich will den Quest dann wieder in den normalen Teleporter einbauen ..
|
Könnte einer machen ? ..
|
|
|
05/01/2011, 18:37
|
#2207
|
elite*gold: 0
Join Date: Jul 2009
Posts: 195
Received Thanks: 3
|
Quote:
Originally Posted by Yoscha
Ich will ja nicht nerven aber,die ist noch überhaupt nicht ausgereift, im Prinzip ist da gar nix , aber ich will das wenn jemand in die Map kommt ( index 459 ) zu der Postion x 30 ,y 30 geportet wird, weil man sonst irgendwie in einem Berg steht
Und diese hier, funktioniert nicht. Habe in der DB schon type auf 18 gemacht ^.^
____
EDIT :
Ich hab natürlich neuen Char verwendet, aber ich finde die Quest irgendwie nicht die davor kommt.
Ich suche sie grad ^^
|
DRINGEND HILFE
|
|
|
05/01/2011, 20:24
|
#2208
|
elite*gold: 5
Join Date: Dec 2010
Posts: 356
Received Thanks: 181
|
Quote:
Originally Posted by Yoscha
Ich will ja nicht nerven aber,die ist noch überhaupt nicht ausgereift, im Prinzip ist da gar nix , aber ich will das wenn jemand in die Map kommt ( index 459 ) zu der Postion x 30 ,y 30 geportet wird, weil man sonst irgendwie in einem Berg steht
Und diese hier, funktioniert nicht. Habe in der DB schon type auf 18 gemacht ^.^
____
EDIT :
Ich hab natürlich neuen Char verwendet, aber ich finde die Quest irgendwie nicht die davor kommt.
Ich suche sie grad ^^
|
Hey
Erst mal deine nicht funktionierende Quest:
PHP Code:
quest lawl_idee begin
state start begin
when 70011.use begin
say("Wähle den Shop aus")
local s=select("Waffen Level 0 - 30","Waffen I","Waffen II","Gemischtwarenhändler","Itemshop","Steinladen" ,"Spezial Items I","Spezial Items II")
if s==1 then
npc.open_shop(1)
elseif s==2 then
npc.open_shop(17)
elseif s==3 then
npc.open_shop(6)
elseif s==4 then
npc.open_shop(3)
elseif s==5 then
npc.open_shop(12)
elseif s==6 then
npc.open_shop(18)
elseif s==7 then
npc.open_shop(998)
elseif s==8 then
npc.open_shop(997)
end
end
end
end
Was das porten angeht:
Dazu kannst du einfach in FileZilla in den map-Ordner gehen & dort in der " town.txt" eingeben, wo der Standard-Platz ist.
|
|
|
05/01/2011, 20:27
|
#2209
|
elite*gold: 0
Join Date: Jul 2009
Posts: 195
Received Thanks: 3
|
Danke, aber leider kann man da nur den NEUSTART Ort eingeben, nicht den SPAWN oder START Ort.
Nur halt die Stadt ... :/
|
|
|
05/01/2011, 20:48
|
#2210
|
elite*gold: 5
Join Date: Dec 2010
Posts: 356
Received Thanks: 181
|
Quote:
Originally Posted by Yoscha
Danke, aber leider kann man da nur den NEUSTART Ort eingeben, nicht den SPAWN oder START Ort.
Nur halt die Stadt ... :/
|
Ok, dann versuchs mal so:
PHP Code:
quest port begin
state start begin
when login with pc.get_map_index() == 459 begin
pc.warp(xxx, yyy)
end
end
end
Ich denke mal du weißt wie du die x- & y-Koordinaten findest.
|
|
|
05/01/2011, 21:27
|
#2211
|
elite*gold: 0
Join Date: Jul 2009
Posts: 195
Received Thanks: 3
|
Funzt leider nicht  die Shops auch nicht, das leigt aber bestimmt daran das der npc nicht dabei ist
|
|
|
05/01/2011, 21:29
|
#2212
|
elite*gold: 0
Join Date: Jul 2009
Posts: 195
Received Thanks: 3
|
obwohl muss die die koordinaten mit /c -> , -> debuginfo da eingeben ?
|
|
|
05/01/2011, 21:37
|
#2213
|
elite*gold: 5
Join Date: Dec 2010
Posts: 356
Received Thanks: 181
|
Quote:
Originally Posted by Yoscha
Funzt leider nicht  die Shops auch nicht, das leigt aber bestimmt daran das der npc nicht dabei ist 
|
Achso, stimmt <.<
Man kann Shops per Item nicht öffnen, sry, hab ich vergessen 
Musst dann einen NPC auswählen.
|
|
|
05/01/2011, 22:05
|
#2214
|
elite*gold: 17
Join Date: Jul 2009
Posts: 1,562
Received Thanks: 478
|
Ich habe gerade erst angefangen, Quests zu schreiben, und wollte eben meine erste Quest fertigstellen.
Sie klappt nicht-.-
PHP Code:
quest test start state start begin when login with pc.is_gm begin set_state(quest) end end state quest begin when letter begin send_letter("Meine erste Quest") end when button or info begin say_title("Ich versuche jetzt Quests zu schreiben!") say("Gehe zur Gemmi und spreche mit ihr") set_state(gemmisuchen) end end state gemmisuchen begin when letter begin local v = find_npc_by_vnum(9003) if v==0 then else target.vid("__TARGET__", v,"Geh zur Gemi") end end when letter begin send_letter("Komm her") end when button or info gebin say_title("Komm her") say("Geh zur Gemmi") say("") end when __TARGET__.target.click begin target.delete("__TARGET__") say("Gemmi:") say("Willst du ein Schwert +0?") locale f = select("Ja", "Nein du Sack") if f == 1 then say("Da hast dus") pc.give_item2(10) clear_letter() q.done() set_state(__fertig__) else say("Dann halt nicht") clear_letter() q.done() set_state(__fertig__) end end end state __fertig__ begin end end
|
|
|
05/01/2011, 22:08
|
#2215
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
probiers mal mit quest test begin anstatt quest test start
ansonsten schreibe hier mal bitte deine Fehlermeldung rein.
|
|
|
05/01/2011, 22:13
|
#2216
|
elite*gold: 17
Join Date: Jul 2009
Posts: 1,562
Received Thanks: 478
|
Super danke.
Es klappt^^
Doofer Fehler *schäm*^^
€dit:
Beim Compilen der Quest kein Fehler, aber sie erscheint nicht.
Ich habe sie schon soweit geändert:
PHP Code:
quest test begin state quest begin when login with pc.get_level()==127 begin send_letter("Meine erste Quest") end when button or info begin say_title("Ich versuche jetzt Quests zu schreiben!") say("Gehe zur Gemmi und spreche mit ihr") set_state(gemmisuchen) end end state gemmisuchen begin when letter begin local v = find_npc_by_vnum(9003) if v==0 then else target.vid("__TARGET__", v,"Geh zur Gemi") end end when letter begin send_letter("Komm her") end when button or info gebin say_title("Komm her") say("Geh zur Gemmi") say("") end when __TARGET__.target.click begin target.delete("__TARGET__") say("Gemmi:") say("Willst du ein Schwert +0?") locale f = select("Ja", "Nein du Sack") if f == 1 then say("Da hast dus") pc.give_item2(10) clear_letter() q.done() set_state(__fertig__) else say("Dann halt nicht") clear_letter() q.done() set_state(__fertig__) end end end state __fertig__ begin end end
|
|
|
05/01/2011, 22:22
|
#2217
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
hm probiers mal so^^
PHP Code:
quest test begin state quest begin when login with pc.get_level()==127 begin set_state(information) end end state information begin when letter begin send_letter("Meine erste Quest") end when button or info begin say_title("Ich versuche jetzt Quests zu schreiben!") say("Gehe zur Gemmi und spreche mit ihr") set_state(gemmisuchen) end end state gemmisuchen begin when letter begin local v = find_npc_by_vnum(9003) if v==0 then else target.vid("__TARGET__", v,"Geh zur Gemi") end end when letter begin send_letter("Komm her") end when button or info gebin say_title("Komm her") say("Geh zur Gemmi") say("") end when __TARGET__.target.click begin target.delete("__TARGET__") say("Gemmi:") say("Willst du ein Schwert +0?") locale f = select("Ja", "Nein du Sack") if f == 1 then say("Da hast dus") pc.give_item2(10) clear_letter() q.done() set_state(__fertig__) else say("Dann halt nicht") clear_letter() q.done() set_state(__fertig__) end end end state __fertig__ begin end end
|
|
|
05/01/2011, 22:33
|
#2218
|
elite*gold: 17
Join Date: Jul 2009
Posts: 1,562
Received Thanks: 478
|
Die Quest erscheint trotzdem nicht.
Ich probier es noch mal mit pc.is_gm()
|
|
|
05/01/2011, 22:38
|
#2219
|
elite*gold: 0
Join Date: Jul 2009
Posts: 195
Received Thanks: 3
|
Können wir uns nochmal um mein start set kümmern ?
|
|
|
05/01/2011, 22:40
|
#2220
|
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
|
Quote:
Originally Posted by Yoscha
Können wir uns nochmal um mein start set kümmern ? 
|
lässt sich durchaus einrichten 
wie war das, bekommste ne Fehlermeldung?
|
|
|
All times are GMT +1. The time now is 09:34.
|
|