Sziasztok!
Olyan questre lenne szükségem, hogy lenne egy adott map.
Ami jelenesetben, egy Farm Map lenne, és úgy kéne megoldani hogy ha bemegy valaki akkor csak maga legyen, vagy ha csoportban szeretnének bemenni akkor belehessen.
De ez időben más is betudjon menni, de ne lássák egymást / ne találkozzanak egymással.
Valaki tudna nekem ilyen quest-et írni?
A dungeon (http://metin2hungary.net/index.php/topic,182966.0.html) használatával te is megoldhatod.
nem tudom hogy kell ellenőrizni, hogy csoportba van-e az adott játékos így szétszedtem 2 részre
quest farmmap begin
state start begin
when ID.chat."Farmolás egyedül" begin
say_title("Biztos egyedül szeretnél farmolni?")
local e = select("Igen", "Nem")
if e == 2 then
return
else
say("Máris teleportállak.")
pc.d.new_jump(mapindex, koordi, koordi)
end
end
when ID.chat."Farmolás csoportban" begin
say_title("Biztos csoportban szeretnétek farmolni?")
local c = select("Igen", "Nem")
if c == 2 then
return
else
say("Máris teleportállak.")
d.new_jump_party(mapindex, koordi, koordi)
end
end
end
end
if party.is_party() then -- ha csoportban van
if not party.is_party() then -- ha nem csoportban van
akkor valahogy így
quest farmmap begin
state start begin
when ID.chat."Farm Map" begin
if pc.ist_party() then
d.new_jump_party(mapindex, koordi, koordi)
else
pc.d.new_jump(mapindex, koordi, koordi)
end
end
end
end
d.join(mapindex)
így ellenőrizni se kell, ha egyedül van akkor egyedül viszi be; ha csoportban, akkor az egész csoportot
Mint ahogy Distraught is írta, d.join-al ésszerűbb.
Gyorsan megírtam:
quest dungeon_farm begin
state start begin
when NPCID.chat."Egyedüli farm map" begin
say_title("Farm: ")
say("Üdvözöllek! ")
say("El szeretnél menni a farm mapra?")
say("Egy farm mapra viszlek, ami csak a tiéd!")
say(" ")
say_reward("Amennyiben csoportban vagy, ")
say_reward("A csoportod is teleportálódik veled, ")
say_reward("Ha meletted vannak.")
local valaszt = select("Igen", "Nem")
if valaszt == 2 then
return
end
if valaszt == 1 then
say_title("Farm: ")
say("Jó utat a farm mapra! ")
wait()
d.join(mapindex)
end
end
end
end
Persze ha pl a farm map game99-en, akkor ahol van az NPC, annak a mapnak is game99-en kell lennie.
Ha a farmmap a ch-kon van, akkor ahol van az npc, annak a mapnak is a ch-kon kell lennie.
Ha nem stimmel, akkor nem fog teleportálni.
quest dungeon_farm begin
state start begin
when 20023.chat."Farm Map" with pc.get_map_index() == 182 begin
say_title("Farm: ")
say("Üdvözöllek! ")
say("Kiegészítettük a Farm Map-ot, ahol minden szörnyet megtalálsz!")
say("El szeretnél menni a farm mapra?")
say("Olyan Farm Map, ahol csak egyedül vagy!")
say("")
say_reward("Amennyiben csoportban vagy, ")
say_reward("A csoportod is teleportálódik veled, ")
say_reward("Ha meletted vannak.")
local valaszt = select("Igen", "Nem")
if valaszt == 2 then
return
end
if valaszt == 1 then
say_title("Farm: ")
say("Jó utat a farm mapra! ")
wait()
d.join(183)
d.regen_file( "data/dungeon/farmmap/regen.txt" )
end
end
end
end
Elteleportál meg minden, de a mobokat nem látom.
de ha a questbe bele írom hogy: d.regen_file( "data/dungeon/farmmap/regen.txt" )
akkor látom, de nem spawn-olnak vissza. pedig a regen-be 60 másodpercenként kéne. Valami ötlet?
Asszem ha npc.txt-be írod bele, akkor alapból betölti, és talán még respawnolnak is.
Idézetet írta: TheSLZ Dátum 2014-08-04, 17:20:11
Asszem ha npc.txt-be írod bele, akkor alapból betölti, és talán még respawnolnak is.
Az adott Farm Map szerveri oldalába is bele írtam npc.txt-be. De úgy nem jeleníti meg sajnos
Úgy meg lehet oldani hogy amikor minden szörnyet/metint megöltek a térképen, akkor töltse újra a regent, az nem lenne jó?
gyakorlatilag azt jelenti a respawn :D
Idézetet írta: Ezion Dátum 2014-08-05, 16:08:16
gyakorlatilag azt jelenti a respawn :D
Csak gyakorlatilag :D Mert ugye normál esetben ha 1-et megölnek az respawnol, de így csak akkor ha mindent megöltek a térképen.
Samboy,
d.set_warp_at_eliminate(3, d.get_map_index(), kordix, kordiy, "data/dungeon/run_regen_valami.txt")
Bár így lehet ha mindent megöltek akkor csak 1x tölti be újra, valami rendszerességet még ki kell találni rá :D
egy ciklus? :o
-- d.set_warp_at_eliminate működése
HA megölnek minden mobot AKKOR
az argumentumaimban megadott helyre portálok ÉS betöltöm a regen fájlt
Portoláskor mielőtt elviszi a farm mapra adj a játékosnak egy questflagot
pc.setqf("dfarm", 1)
loginkor:
when login with pc.getqf("dfarm") == 1 begin
pc.setqf("dfarm", 0)
loop_timer("check_farmrun", 10)
end
Timer:
when check_farmrun.timer begin
d.set_warp_at_eliminate(3, d.get_map_index(), kordix, kordiy, "data/dungeon/run_regen_valami.txt")
end
Hátha működik :)
Ha nem akkor jelezz vissza és majd még gondolkodok hogy lehet megoldani.
és ha:
d.set_regen_file
ezzel próbálod?
Idézetet írta: Ezion Dátum 2014-08-05, 16:33:29
és ha:
d.set_regen_file
ezzel próbálod?
Elsőnek kipróálom ezt, ha nem sikerül akkor TheSLZ ötletét kipróbálom.:D
Szerk: Így próbáltam questbe:
--d.set_regen_file (setting.mob_regen_file_path.."regen.txt")
De így sem jó
Ha "--"-t írsz elé, akkor az adott sort nem érzékeli.
Idézetet írta: TheSLZ Dátum 2014-08-05, 16:46:50
Ha "--"-t írsz elé, akkor az adott sort nem érzékeli.
Hoppá, elfelejtettem kivenni előle.:) Tesztelem:)
--d.set_regen_file (setting.mob_regen_file_path.."regen.txt")
setting.mob_regen_file_path.. <-- ez gondolom egy változó és DEFINE-vel lett létrehozva tehát preqc-s, amiből azt feltételezem hogy valamelyik GF-es 40k-s quest-ből szedted
ezt is így kell használni:
d.set_regen_file("data/dungeon/run_regen_valami.txt")
Idézetet írta: Ezion Dátum 2014-08-05, 16:50:02
--d.set_regen_file (setting.mob_regen_file_path.."regen.txt")
setting.mob_regen_file_path.. <-- ez gondolom egy változó és DEFINE-vel lett létrehozva tehát preqc-s, amiből azt feltételezem hogy valamelyik GF-es 40k-s quest-ből szedted
ezt is így kell használni:
d.set_regen_file("data/dungeon/run_regen_valami.txt")
Köszi így szuper spawnolnak :)
d.set_regen_file("data/dungeon/run_regen_valami.txt")
Köszi mindenkinek!:) Témát zárom!:)