1 mesaj
Administrator Administrator
  • Mesaje: 4312
  • Reacții: 86345
  • Mesaje utile: 44
  • Status: Pe aici.. 🤠
  • Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Contact:
    *Descriere:

    Acest tutorial iti arata cum sa gestionezi dinamic mesajele de tip "Time remaining" in questurile Metin2, folosind un singur server timer in loc de mai multe timere separate. Metoda este mai curata, mai eficienta si mai usor de adaptat pentru dungeon-uri, evente cu timp limita si questuri custom.

    In loc sa folosesti cate un timer pentru fiecare notificare (45 min, 30 min, 15 min etc.), aici vei folosi un singur server loop timer care verifica periodic timpul ramas si executa actiunea finala cand timpul expira.


    *Link download / Code:

    Deschide questul tau dungeon / event si cauta partea unde initializezi timerele de timp ramas, de exemplu:
    Code:
    	when devilcatacomb_45m_left_timer.server_timer begin
    		if d.select(get_server_timer_arg()) then
    			d.notice(string.format(gameforge.devilcatacomb_zone._20_say, 45))
    			server_timer('devilcatacomb_30m_left_timer', 60 * 15, get_server_timer_arg())
    		end
    	end
    
    	when devilcatacomb_30m_left_timer.server_timer begin
    		if d.select(get_server_timer_arg()) then
    			d.notice(string.format(gameforge.devilcatacomb_zone._20_say, 30))
    			server_timer('devilcatacomb_15m_left_timer', 60 * 15, get_server_timer_arg())
    		end
    	end
    
    	when devilcatacomb_15m_left_timer.server_timer begin
    		if d.select(get_server_timer_arg()) then
    			d.notice(string.format(gameforge.devilcatacomb_zone._20_say, 15))
    			server_timer('devilcatacomb_5m_left_timer', 60 * 10, get_server_timer_arg())
    		end
    	end
    
    	when devilcatacomb_5m_left_timer.server_timer begin
    		if d.select(get_server_timer_arg()) then
    			d.notice(string.format(gameforge.devilcatacomb_zone._20_say, 5))
    			server_timer('devilcatacomb_1m_left_timer', 60 * 4, get_server_timer_arg())
    		end
    	end
    
    	when devilcatacomb_1m_left_timer.server_timer begin
    		if d.select(get_server_timer_arg()) then
    			d.notice(string.format(gameforge.devilcatacomb_zone._20_say, 1))
    			server_timer("devilcatacomb_0m_left_timer", 60 * 1, get_server_timer_arg())
    		end
    	end
    
    	when devilcatacomb_0m_left_timer.server_timer begin
    		if d.select(get_server_timer_arg()) then
    			d.notice(gameforge.devilcatacomb_zone._210_dNotice)
    			d.set_warp_location(65, 5914, 992)
    			server_timer('devilcatacomb_exit_timer', 7, get_server_timer_arg())
    		end
    	end
    
    Inlocuieste / Adapteaza cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide questul tau dungeon / event si cauta locul unde pornesti dungeon-ul sau eventul:
    Code:
    	-- aici pornesti dungeon-ul / eventul
    
    Adapteaza cu:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Explicatie scurta:
    - TIME_OUT = timpul total al dungeon-ului sau eventului, in secunde
    - TIME_OUT_STEP = la cate secunde sa se faca verificarea si anuntul
    - seconds_passed = flag care retine cate secunde au trecut
    - cand timpul ajunge la limita, timerul este oprit si jucatorii sunt scosi din dungeon

    Exemplu util:
    - 3600 = 1 ora
    - 60 = verificare din minut in minut
    - daca vrei update mai des, poti seta 30 sau 10 secunde

    Observatie:
    Pentru acest sistem ai nevoie ca functiile InDungeon(...) si get_time_format(...) sa existe deja in sursa ta de questuri, daca vrei sa folosesti exact exemplul de mai sus. Daca nu le ai, poti adapta mesajele fara ele.

    Avantajul acestui sistem este ca ai control complet dintr-un singur timer, codul este mai curat si poti modifica foarte usor timpul ramas afisat in orice dungeon Metin2.

    Nou Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo
    Te asteptam si pe serverul de Discord :p - aici ne-am strans toata comunitatea de Metin2 din Romania.
    Link: https://discord.gg/jWxeDSf7HP

    Suntem aproape 2000 membri! - Avem chat activ zilnic, support, cereri, resurse. :D :ymcowboy:





    See full signature

    📢 Resurse Metin2 Premium!

    Zeci de resurse Metin2 Premium - exclusive și 100% funcționale începând cu 15.99€!.

    Vezi resursele Cumpără premium
    Premium
    Premium
    Anunț

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.

    Înregistrare

    Autentifică-te

    Înapoi la “Îmbunătățiri”

    Informații

    Utilizatori ce navighează pe acest forum: 08y, 0NeXuS0, andruu_99, Azzyrq, ddarpepsi, devlimit, Dintisor, Gabriel, GRINCH, jordan59, LeH, marius_69140, notpsychopath, Rofedexx, sergiu_95, Vlad și 4 vizitatori

    Discord ID copiat: