Metin2 Hungarian Forum

Metin2 => Szerver készítés => Privát szerverek => Segítség => A témát indította: BRics97 Dátum 2017-02-05, 15:38:17

Cím: Quest segítség
Írta: BRics97 Dátum 2017-02-05, 15:38:17
Sziasztok!

Írtam egy questet, amelynek az lenne a lényege, hogyha megölik a map1-es bosst, akkor jelenjen meg egy láda, ugye villogjon felette a nyíl, majd, ha rákattintanak akkor kiírja, hogy a jutalmad a leltáradban megtalálod, majd 2 perc múlva tűnjön el a láda. Azonban! Nem tudom, hogy működik-e rendesen. Eléggé kezdő vagyok még quest írásban, ezért, ha valami hiányzik belőle kérlek jelezzétek, viszont, ha úgy jeleztek vissza, hogy már csatoljátok is az általatok jónak vélt változatot, azt nagyon megköszönném!

Szóval. Azt szeretném, hogy a láda mindig jelenjen meg, és mindenki feltudja belőle venni a jutalmát, DE CSAK EGYSZER, ha leverik a bosst. Valamint ez a quest ne legyen csoporthoz kötve. Ha 20-an ölték egyszerre, akkor mind a 20 ember feltudja venni a jutalmát. De mivel egyáltalán nem tudom, hogy így működne-e a quest amit írtam, így mielőtt beraknám megmutatom nektek, hátha találtok benne hibát, javítani valót.

Röviden azt szeretném, hogy akárhányszor leverik a bosst, jelenjen meg a láda, és mindenki feltudja venni a jutalmát, de csak 1x. Mert már jártam úgy, hogy akárhányszor rákattintottak, annyiszor tudták felvenni a jutalmat. Majd 2 perc múlva tűnjön el a láda.

A válaszokat előre is nagyon várom, és köszönöm!

quest MambaKiralyno begin
state Kiralyno begin
when 106.kill begin
notice_all(""..pc.get_name().." és társai sikeresen megölték a Mamba Királynőt!");
d.spawn_mob(20359, 673, 1173)
local v=find_npc_by_vnum(20359)
if v!=0 then target.vid("__TARGET__", l, "Lada")
end

when __TARGET__.target.click or 20359.chat."Szerezd meg a jutalmad!" begin
target.delete("__TARGET__")
say_reward("A jutalmadat megtalálod a leltáradban!")
pc.give_item2(50070, 1)
timer("eltunes", 120)
end

when eltunes.timer begin
npc.purge(20359)
set_state(vege)
end
end

state vege begin
end
end
Cím: Re:Quest segítség
Írta: TheSLESH Dátum 2017-02-05, 16:11:27
Szerintem futtas le egy szerver időt, amikor megölik a bosst, ne pedig egyesével mindig, amikor rákattintanak.
Cím: Re:Quest segítség
Írta: BRics97 Dátum 2017-02-05, 16:27:09
Idézetet írta: TheSLESH Dátum 2017-02-05, 16:11:27
Szerintem futtas le egy szerver időt, amikor megölik a bosst, ne pedig egyesével mindig, amikor rákattintanak.

Mint említettem kezdő vagyok quest írás terén. Szóval amit írtál azt se tudom, hogy egyem vagy igyam. :) Viszont átalakítottam, és így lefutott hiba nélkül.

Kérdés, hogy játékban úgy működik-e, ahogy kell. Mindjárt ki is próbálom.

quest MambaKiralyno begin
state start begin
when 106.kill begin
timer("eltunes", 120)
notice_all(""..pc.get_name().." és társai sikeresen megölték a Mamba Királynőt!");
d.spawn_mob(20359, 673, 1173)
say_reward("A jutalmadat megtalálod a leltáradban!")
pc.give_item2(50070, 1)
end

when eltunes.timer begin
npc.purge(20359)
set_state(__VEGE__)
end
end

state __VEGE__ begin
end
end
Cím: Re:Quest segítség
Írta: TheSLESH Dátum 2017-02-05, 16:36:09
Így csak az kapja meg a tárgyat, aki megölte, illetve neki számolja a timert.
Cím: Re:Quest segítség
Írta: BRics97 Dátum 2017-02-05, 16:40:40
Idézetet írta: TheSLESH Dátum 2017-02-05, 16:36:09
Így csak az kapja meg a tárgyat, aki megölte, illetve neki számolja a timert.

Igen rájöttem. :( Remélem akad majd valaki aki kiegészíti azzal ami hiányzik belőle.. :) De addig is próbálkozok. Egyszer csak jó lesz.
Cím: Re:Quest segítség
Írta: TheSLESH Dátum 2017-02-05, 16:48:43
Talán:

quest mambakirayno begin
state start begin
when 106.kill begin
server_timer("eltunes", 120)
notice_all(""..pc.get_name().." és társai sikeresen megölték a Mamba Királynőt!");
d.spawn_mob(20359, 673, 1173)
end

when 20359.chat."Szerezd meg a jutalmad!" begin
say_reward("A jutalmadat megtalálod a leltáradban!")
pc.give_item2(50070, 1)
end

when eltunes.server_timer() begin
npc.purge(20359)
set_state(__VEGE__)
end
end

state __VEGE__ begin
end
end
Cím: Re:Quest segítség
Írta: BRics97 Dátum 2017-02-05, 17:02:26
Idézetet írta: TheSLESH Dátum 2017-02-05, 16:48:43
Talán:

quest mambakirayno begin
state start begin
when 106.kill begin
server_timer("eltunes", 120)
notice_all(""..pc.get_name().." és társai sikeresen megölték a Mamba Királynőt!");
d.spawn_mob(20359, 673, 1173)
end

when 20359.chat."Szerezd meg a jutalmad!" begin
say_reward("A jutalmadat megtalálod a leltáradban!")
pc.give_item2(50070, 1)
end

when eltunes.server_timer() begin
npc.purge(20359)
set_state(__VEGE__)
end
end

state __VEGE__ begin
end
end


Nem jó. Valamiért nem rakja le a ládát. :(
Cím: Re:Quest segítség
Írta: TheSLESH Dátum 2017-02-05, 19:45:36
Az  viszont d.spawn_mob hibája. Miért dungeonban akarod spawnoltatni? az a d betű azt jelenti elötte.

Üzenet összefésülés: 2017-02-05, 19:49:49

Plusz még annyit hozzá tennék, hogy így többször is fel tudja venni a jutalmat, ahányszor rákattint.
quest mambakirayno begin
state start begin
when 106.kill begin
server_timer("eltunes", 120)
notice_all(""..pc.get_name().." és társai sikeresen megölték a Mamba Királynőt!");
d.spawn_mob(20359, 673, 1173)
end

when 20359.chat."Szerezd meg a jutalmad!" begin
if pc.getqf("ladavan") == 1 then
say("Te már fel vetted a ládát!")
else
pc.setqf("ladavan", 1)
say_reward("A jutalmadat megtalálod a leltáradban!")
pc.give_item2(50070, 1)
end

when eltunes.server_timer() begin
npc.purge(20359)
set_state(__VEGE__)
end
end

state __VEGE__ begin
end
end


így viszont már nem. Így csak 1x
EhPortal 1.39 © 2025, WebDev