Sziasztok!
Egy kis segítséget szeretnék kérni tőletek. Még csak tanulgatom a szerverkészítést és a questekkel még hadilábon állok. Van egy map betéve, amihez szeretnék egy beportoló questet.
Elve az lenne, hogy 9519-es NPC-n keresztül belépő segítségével beportolja a csoportot (min.3 játékos) az adott mapra. A belépővel csak a vezetőnek kellene rendelkeznie. Szeretnék egy alsó szintkorlátot és felső szintkorlátot is betenni hozzá, hogy csak 61-64-es szintű játékosok mehessenek be és ha megoldható, akkor úgy, hogy a csoportok ne keveredjenek, tehát egyidejűleg bárki használhassa a pályát.
Nekem eddig ennyit sikerült összehozni más questből kinézve, de meg is állt a tudomány.
Előre is köszönöm a segítséget! :)
[spoiler]quest hold_barlang begin
state start begin
when login with pc.get_map_index() == 15 begin
syschat("Teleportálás a városba...")
warp_to_village()
end
when 9519.chat."Hold Barlang" begin
say_title("Barlangok Őre:")
say("")
say("Be szeretnél menni a Hold barlangba?")
say("Ha te vagy a csoport vezető, és van")
say("Nálad belépési tekercs, akkor rendben.")
say("")
say_reward("Csak a vezetőnek kell belépő, de ő")
say_reward("Maximum Lv.64 lehet!")
say_item_vnum(71183)
pc.delqf("belepettbp8")
wait()
if party.is_leader() and pc.get_level() <= 64 then
if pc.count_item("71183") >= 1 then
say_title("Barlangok Őre:")
say("")
say("Nálad van belépő, sőt te vagy ")
say("A csoport vezetője is!")
say("")
say_reward("Be szeretnél menni a csoportoddal?")
local s = select("Igen!", "Nem!")
if s == 1 then
pc.remove_item(71183,1)
say_title("Barlangok Őre:")
say("")
say("Azonnal teleportállak téged")
say("és a csoportodat is!")
say("[DELAY value; 1000]. . . . . . . . . .[/DELAY]")
wait()
pc.setqf("belepettbp8", 1)
d.new_jump_party(15, 21099 , 16227)
end
if s == 2 then
return
end
end
if pc.count_item("71183") == 0 then
say_title("Barlangok Őre:")
say("")
say("A csoport vezetőnek szüksége van")
say("egy belépési tekercs-re a bejutáshoz!")
say("")
say_item_vnum(71183)
end
else
say_title("Barlangok Őre:")
say("")
if not party.is_leader() then
say_reward("Te nem vagy csoport vezető!")
end
if pc.get_level() >= 64 then
say_reward("Túl nagy vagy már te ehhez!")
end
end
end
end
[/spoiler]
???
if party.is_leader() and pc.get_level() <= 64 and pc.get_level() > 60 then
így oldanám még a szintkorlátot.. :)
Ahhoz ,hogy mindenki külön legyen szét kell osztanod őket a loginnál rögtön és minden egyéb parancsánál :
when login with pc.get_map_index() >= 9400000 and pc.get_map_index() < 9410000 begin
..
when logout with pc.get_map_index() >= 9400000 and pc.get_map_index() < 9410000 begin
..
when x.kill with pc.get_map_index() >= 9400000 and pc.get_map_index() < 9410000 begin
Fogalmam sincs ,hogy megy-e ez a quest, csak előkaptam egyik mappából... ,de tökéletes kiindulónak :
[spoiler]quest meleybelep begin
state start begin
when 50081.click begin
say_title("Meley")
say("Üdvözöllek")
say("Sajnos nagy gondvan!")
say("A sárkányom sajnos elszabadult.")
say("Valaminél oknál fogva megorült és nem tud lenyugodni.")
say("Lenne kedved segíteni, igérem megkapod a jutalmad!!")
say("De viszont egyedül nem tudod legyozni ezért kell csapattárs is!")
say("kell neked ez.... ID ")
local s = select ("Belépek", "Kihagyom")
if s == 1 then
if pc.get_level() >= 150 and pc.countitem(30129) >= 1 and party.is_leader() then
say_title("Meley")
say("......")
say("........")
wait()
d.new_jump_party(216, 94631 ,100)
pc.remove_item(30129,1)
d.regen_file("data/dungeon/meley_d2/regen.txt")
notice_all(""..pc.get_name().." megpróbálja kiszabadítani Meley sárkányát")
else
say_title("Meley")
say("Nem küzdhetsz meg a következô okok valamiért vele ! ")
say_reward("Nem vagy 150")
say_reward("Nincs nálad a belépô ")
say_reward("Nem vagy csoportvezetô ")
end
end
if s == 2 then
say_title("Meley")
say("Oké megértem.....")
end
end
when login with pc.get_map_index() >= 9400000 and pc.get_map_index() < 9410000 begin
notice("A rendelkezésetekre áll összesen 30 perc !")
notice("Az elsô feladatként üssétek szét a szobrokat ezzel hergelve Meley sárkányát")
timer("meleyido", 30*60)
end
when meleyido.timer begin
notice("Lejárt az idô , 1 perc múlva ki lesztek teleportálva.")
timer("vegetenyleg", 1*60)
end
when vegetenyleg.timer begin
warp_to_village()
end
when logout with pc.get_map_index() >= 9400000 and pc.get_map_index() < 9410000 begin
warp_to_village()
end
when 50083.kill with pc.get_map_index() >= 9400000 and pc.get_map_index() < 9410000 begin
d.notice("Az elsô szobor szétzúzva !")
d.notice("Keressétek meg a 2. szobrot és pusztítsátok el ")
mob.spawn(50080,115,123,1)
end
when 50080.kill with pc.get_map_index() >= 9400000 and pc.get_map_index() < 9410000 begin
d.notice("Úgyhallom Meley sárkánya elôtör.")
d.notice("20 Másodpercetek van felkészülni rá !")
timer("elojon", 1*20)
q.set_clock("Hátralévo ido: ", game.get_event_flag("meleyido")-get_time())
end
when elojon.timer begin
d.notice("Már itt is van , sok sikert harcosok !")
mob.spawn(50074,127,152,1)
end
when 50074.kill with pc.get_map_index() >= 9400000 and pc.get_map_index() < 9410000 begin
say_title("Jutalom")
say("A jutalmat a ládából tudjátok felvenni!")
say_reward("Erre 2 perc áll rendelkezésetekre utána ki lesztek teleportálva.")
mob.spawn(50082,127,152,1)
notice_all(""..pc.get_name().." megölte Meley fenevadját !")
timer("vege", 3*60)
end
when 50082.chat."Jutalom" with pc.get_map_index() >= 9400000 and pc.get_map_index() < 9410000 begin
say_title("Láda")
say("Gratulálok ifjú harcosok")
pc.give_item2(19,1)
end
when vege.timer begin
warp_to_village()
end
end
end
[/spoiler]
Köszönöm a segítséget, ez egy remek kiinduló!:)
Azt esetleg meg tudja még valaki mondani, hogy hogy rakom be egy adott questbe, hogy ne csak a csoport vezetőnek a szintjét nézze, hogy elegendő-e, hanem a csoport tagjaiét is?
Az lett megadva, hogy 60-64 között lehet bemenni a runra, de ez csak a csoport vezetőjére érvényes sajnos. Az meg elég cink, ha egy adott runon bemegy egy max szintes kifullozott karakter és 2 perc alatt leszed mindent.
Köszönöm előre is! =)