Metin2 Hungarian Forum

Metin2 => Szerver készítés => Privát szerverek => Segítség => A témát indította: idok2 Dátum 2019-11-01, 01:50:06

Cím: Timerek
Írta: idok2 Dátum 2019-11-01, 01:50:06
Sziasztok!
Timerek felől kérdeznék.
Van egy timerem, ami ha elindul egy quest flaget 1-re rak, amikor végez akkor 0-ra. Működik meg minden, de ha kilépek a timer alatt és visszalépek, vagy elteleportálok, akkor 1-en marad a flag, mert ugye megszakad a timer ha kilépek. Persze úgy meg tudnám oldani, hogy a questbe amikor kilépek mindig visszaállítsa 0ra a flaget, de nekem úgy kéne, hogy folytatódjon a timer akkor is, ha az adott player offline. Nem tudom, hogy ilyet lehet-e csinálni, ha igen, hogy?
Cím: Re:Timerek
Írta: Meli Dátum 2019-11-01, 09:16:05
Idézetet írta: idok2 Dátum 2019-11-01, 01:50:06
Sziasztok!
Timerek felől kérdeznék.
Van egy timerem, ami ha elindul egy quest flaget 1-re rak, amikor végez akkor 0-ra. Működik meg minden, de ha kilépek a timer alatt és visszalépek, vagy elteleportálok, akkor 1-en marad a flag, mert ugye megszakad a timer ha kilépek. Persze úgy meg tudnám oldani, hogy a questbe amikor kilépek mindig visszaállítsa 0ra a flaget, de nekem úgy kéne, hogy folytatódjon a timer akkor is, ha az adott player offline. Nem tudom, hogy ilyet lehet-e csinálni, ha igen, hogy?

Mentsd le kilépésnél a timmer idejét. (flagbe)
és, amikor belép paraméterként add át a flaget.

Pl:

when login begin
timer("TimmerID", pc.getqf("FlagName"))
end
Cím: Re:Timerek
Írta: idok2 Dátum 2019-11-01, 12:25:43
Megcsináltam az alábbi módon, de így meg amikor belépek vagy teleportálok, mindig kész lesz a timer, nem pedig folytatódik. Amikor lejár az egész, akkor egy másik flaghoz +1et ad, és így ha belépek, mindig hozzáad +1et.

Idézwhen login begin
         timer("timerID", pc.getqf("name"))
      end
      when logout begin
         pc.setqf("name", timerID.timer)
      end
Cím: Re:Timerek
Írta: Meli Dátum 2019-11-01, 12:43:33
Idézetet írta: idok2 Dátum 2019-11-01, 12:25:43
Megcsináltam az alábbi módon, de így meg amikor belépek vagy teleportálok, mindig kész lesz a timer, nem pedig folytatódik. Amikor lejár az egész, akkor egy másik flaghoz +1et ad, és így ha belépek, mindig hozzáad +1et.

Idézwhen login begin
         timer("timerID", pc.getqf("name"))
      end
      when logout begin
         pc.setqf("name", timerID.timer)
      end

Azért kell elvenni tőle x időnként x mennyiséget.
Amúgy ez logikus.
Cím: Re:Timerek
Írta: idok2 Dátum 2019-11-01, 13:00:16
Hát, szégyellem, de nekem nem esik le mire gondolsz :p Nem vagyok jártas az ilyenekben.
Cím: Re:Timerek
Írta: Meli Dátum 2019-11-01, 21:10:26
Elsőnek is csináld meg ezt:
https://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/4349002-c-timer-bugfix.html

És ez alapján csináld meg azt, ha letelik pl 5 mp kivon -5 flaget.. vagy hozzáad.

local add = pc.getqf("count")+5
pc.setqf("count",add)


Javaslom, hogy ne 1 másodpercenként menjen a timmer mert okozhat laggokat, ha több játékos van.
Cím: Re:Timerek
Írta: idok2 Dátum 2019-11-01, 23:16:17
Nagyon szépen köszönöm :D
EhPortal 1.39 © 2025, WebDev