Timerek

Indította idok2, 2019-11-01, 01:50:06

2019-11-01, 01:50:06 Utolsó szerkesztés: 2019-11-01, 01:53:39 Szerző: idok2
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?

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

“Majdnem minden tudásunkért nem azoknak tartozunk, akik egyetértettek, hanem azoknak, akik nem.”

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

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.

“Majdnem minden tudásunkért nem azoknak tartozunk, akik egyetértettek, hanem azoknak, akik nem.”

Hát, szégyellem, de nekem nem esik le mire gondolsz :p Nem vagyok jártas az ilyenekben.

2019-11-01, 21:10:26 #5 Utolsó szerkesztés: 2019-11-01, 21:13:12 Szerző: Meli
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.

“Majdnem minden tudásunkért nem azoknak tartozunk, akik egyetértettek, hanem azoknak, akik nem.”

Nagyon szépen köszönöm :D