Idő korlátos quest (K)

Indította Janekpapa89, 2013-05-22, 12:46:31

2013-05-22, 12:46:31 Utolsó szerkesztés: 2013-05-22, 20:34:58 Szerző: [MOD]Aegist
Sziasztok kellene nekem egy idő korlátos quest boss map-ra ami emberenként külön számol célzok itt pl a DT-quest-re ami mindenkit ki rak..eddig belépőbe próbáltam..belerakni hogy pl az ember rá katol beteleportál eltünik a belépő és az lett volna a cél hogy az idő lejárta után ki teleportálja de még se szóval nem működik.. :) valami ötlet a megvalósításra? :))

Ha jól értelmezem, neked egy quest kell ami egy játékost bevisz egy adott mapra, páldának 10percig, és belépőt is kérjen.

Javíts ha rosszúl értelmezem, ha ez kell akkor írj és feltöltöm neked.

Igen igen ez kellene nekem hálás lenék érte :)) és persze idő lejárta után tegye ki map1-re...  :)

Remélem segítettem.

Idézquest questname begin
   state start begin
      when NPCID.chat."NPCBE TELEPORT NEVE " begin
         if pc.get_level() < 30 then
            say_reward("Nem léphetsz be, túl alacsony szintű vagy. ")
         elseif pc.count_item(TÁRGYID) < 1 then
            say_reward("Nincs nálad belépő.! ")
         else
            pc.warp(warpXY, WARPYX)
            pc.remove_item(TÁRGYID,1)
            pc.setqf("farm_time",get_time()+60*60) --- egy órát tartókodhat bent
            d.notice("Innentől 1 órát tartózkodhatsz ")
            d.notice("ezen a Mapon. ")
         end
      end
      when login with pc.get_map_index() == MAPINDEX begin
         loop_timer("farm",3) --- 3mp-nként ellenőrzi, hogy még nem e telt el az az idő amit bent tölthet
      end
      when farm.timer begin
         if pc.getqf("farm_time") < get_time() then
            warp_to_village();
            d.notice("Lejárt az időd! ")
         end
      end
   end
end

d.notice nem fog működni....

dungeon parancsokat nem lehet csak úgy használni.
használj inkább sima notice-t

Nézd már megjött a "Profi" quest író
Ezzel a parancssal
notice
Még annak is ki írja aki map1-en van ezért
notice_in_map
inkább ezt használd :|
Tudom Paraszt voltam MEGINT

2013-05-22, 14:57:41 #6 Utolsó szerkesztés: 2013-05-22, 15:05:36 Szerző: ParaFarm
"Nézdmár. megjött a profi vérpista"

nem notice_all hanem d.notice ( FEHÉRREL ÍRJA KI CSAK ANNAK AKIT KIDOB )

Nekem is ez a küldi van bent és TÖKÉLETESEN működik.


(Edit: de nem baj ha kiveszed a d.t változatlan marad.:) )

Idézetet írta: DeathKnight Dátum 2013-05-22, 14:53:39
Nézd már megjött a "Profi" quest író
Ezzel a parancssal
notice
Még annak is ki írja aki map1-en van ezért
notice_in_map
inkább ezt használd :|
Tudom Paraszt voltam MEGINT

Oké....




ParaFarm lehet hogy működik, viszont a syserrbe írkálni fogja minden egyes kiiratásnál, hogy no dungeon !!!
Úgy tudom, hogy minden dungeon-al kezdődő (pl d.jump_all, d.notice, d.kill_all) parancs csakis egy d.new_jump_all után használható.
Azért javasoltam inkább a sima notice-t, ami ugyanaz mint a d.notice, azzal a kivétellel, hogy a notice csak 1 embernek megy, a d.notice pedig mindenkinek aki abba a dungeonba van. Jelen esetben nem változtatna semmin, viszont a d.notice lehet bugol a fent leírtak miatt.

Akria értem, ezt nem tudtam köszönöm :)

itt ki beszélt notice_all-ról?? o.O notice_in_map és kész... :|

Ahogy látom PONT TE :)

Idézetet írta: DeathKnight Dátum 2013-05-22, 14:53:39
Még annak is ki írja aki map1-en van ezért

a notice de nem notice_all :| olvasni szabad :|

Nem igazán értem mit akarod megmagyarázni a hülyeségedet ???

notice_in_map-al megkapja mindenki az adott mapon.
sima notice és kész!

Na most jutottma el odáig h ki próbáljam.. idö korlátot persze a teszt erejéig át írtam 1*60-ra és mikor lejárt az idő nem történt semmi O.o szóval odáig jó hogy beteleportál elveszi a belépőt.. :D de onnantól semmi az lehet baj hogy  ch1-ről teleportál és 99ch-n van a map? O.o

Lehet az is gond.
De ezt berakod warp_to_village() helyére, akkor minden játékost a saját biri map1jére dob

if pc.get_empire() == 1 then
pc.warp(474300, 954800)
end
if pc.get_empire() == 2 then
pc.warp(63800, 166400)
end
if pc.get_empire() == 3 then
pc.warp(959900, 269200)
end

Átt írtam. Nem írja ki azt se hogy mostantól ennyi időt tölthetsz a mappon O.o
akkor gondolom inentől nem jó valami...
pc.setqf("farm_time",get_time()+60*60)
farm_time hellyet nem farm.timer-kel mert hogy olyan mappát hozott létre a quest/object-ben hogy farm/timer?

Másold be hogy néz ki most a quest

quest belepo begin
   state start begin
      when 30121.chat."Boss map" begin
         if pc.get_level() < 10 then
            say_reward("Nem léphetsz be, túl alacsony szintű vagy. ")
         elseif pc.count_item(30128) < 1 then
            say_reward("Belépő nélkül nem léphetsz be! ")
         else
            pc.warp(7511900, 7527300)
            pc.remove_item(30128)
            pc.setqf("farm_time",get_time()+1*60)
            d.notice("Innentől 5 órát tartózkodhatsz ")
            d.notice("a boss mapon, hajrá! ")
         end
      end
      when login with pc.get_map_index() == MAPINDEX begin
         loop_timer("farm",3)
      end
      when farm.timer begin
         if pc.getqf("farm_time") < get_time() then
            if pc.get_empire() == 1 then
pc.warp(474300, 954800)
end
if pc.get_empire() == 2 then
pc.warp(63800, 166400)
end
if pc.get_empire() == 3 then
pc.warp(959900, 269200)
end
            d.notice("Lejárt az időd! ")
         end
      end
   end
end

Tess :)

2013-05-22, 19:19:00 #18 Utolsó szerkesztés: 2013-05-22, 19:35:26 Szerző: Morpheus
dungeon parancs így soha az életbe nem fog működni.

quest belepo begin
state start begin
when 30121.chat."Boss Map " begin
say("blablabla")
say("1 órát tölthetsz bent el")
wait()
if pc.get_level() < 10 then
say_reward("Nem léphetsz be, túl alacsony szintű vagy. ")
elseif pc.count_item(30128) < 1 then
say_reward("Nem léphetsz be, nincs nálad belépő. ")
else
pc.warp(7511900, 7527300)
pc.remove_item(30128,1)
pc.setqf("farm_time",get_time()+60*60)
                                syschat("Az idő elindult!")
end
end
when login with pc.get_map_index() == MAP_INDEXET IDE begin
loop_timer("farm",3)
end
when farm.timer begin
if pc.getqf("farm_time") < get_time() then
syschat("Lejárt az időd!")
warp_to_village();
end
end
end
end


Ha véletlen nem írná ki azt, hogy az idő elindult akkor írd át ezt:

syschat("Az idő elindult!")

Erre:

say("Az idő elindult!")

És ne feledd el beleírni a mapindexet se >> MAP_INDEXET IDE

60*60 = 1 óra

Idézetet írta: Akria Dátum 2013-05-22, 14:50:58
d.notice nem fog működni....

dungeon parancsokat nem lehet csak úgy használni.
használj inkább sima notice-t