Global Öldürme V2 Lua

raderde

Gerçekçi Ol, İmkansızı İste.
Katılım
29 Haz 2011
Konular
97
Mesajlar
287
Online süresi
3g 52617s
Reaksiyon Skoru
298
Altın Konu
0
Başarım Puanı
155
TM Yaşı
14 Yıl 9 Ay 28 Gün
MmoLira
8,636
DevLira
6

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Orjinal Konusu
quest forumdan alınıp üzerinde geliştirme yapılmış halidir.

Sistem Özellikleri:

Ortak Hedef: Tüm oyuncuların kestiği canavarlar tek bir havuzda birikir.

Katkı : quest 100k mob'a ayarlıdır katkı sınırı 5k 'dır herkesin kestiği mob havuzda birikir ama 5000 limiti aşamayan oyuncular ödül alamaz.
Süre : quest 24 saate ayarlıdır 24 saat içinde etkinlik tamamlanmadı ise notice ile bildirim yapar ve etkinliği kapatır kimse ödül alamaz.

Ödül Sınırı : Her oyuncu 24 saate sadece 1 defa ödül alabilir reboot atınca bile süresi sıfırlanmaz.
Anlık Takip: Sol görev penceresi üzerinden anlık kalan süre ve kesilen sayı görülebilir.


GM Kontrolü: Etkinlik sadece yöneticiler tarafından 20095 NPC'si ile başlatılır. Quest İçinden Değiştirilebilir.


Ödül: Hedefe ulaşıldığı an sistem belirlenmiş katkı sınırını geçen herkese belirlenen ödülü verir 20095 nolu npc üzerinden.





Kod:
quest global_sayac begin
    state start begin


        function config()
            local t = {}
            t.hedef_kill = 100000
            t.sure_saat = 24
            t.min_katki = 5000        -- odul icin minimum kill (degistirebilirsin)
            return t
        end

        function odul_ver()
            -- ODULU BURADAN DEGISTIR
            pc.give_gold(50000000)
            pc.give_item2(25041, 2)
            pc.give_item2(25040, 5)
            pc.give_item2(76015, 5)
            pc.give_item2(39028, 50)
            pc.give_item2(39029, 5)
        end


        when 20095.chat."Global Etkinligi Baslat" with pc.is_gm() begin
            local cfg = global_sayac.config()

            game.set_event_flag("global_kill_active", 1)
            game.set_event_flag("global_total_kills", 0)
            game.set_event_flag("global_finish_time", get_time() + (cfg.sure_saat * 3600))
            game.set_event_flag("global_done", 0)

            notice_all("Global av etkinligi basladi!")
            notice_all("Hedef: "..cfg.hedef_kill.." kill")

            send_letter("Sayac Durumu")
        end

        when 20095.chat."Global Etkinligi Kapat" with pc.is_gm() begin
            game.set_event_flag("global_kill_active", 0)
            notice_all("Global av etkinligi kapatildi!")
        end

        when 20095.chat."Global Etkinligi Resetle" with pc.is_gm() begin
            local cfg = global_sayac.config()

            game.set_event_flag("global_kill_active", 0)
            game.set_event_flag("global_total_kills", 0)
            game.set_event_flag("global_finish_time", 0)
            game.set_event_flag("global_done", 0)

            notice_all("Global av etkinligi resetlendi!")
        end


        when 20095.chat."Global Odul Al" begin
            local cfg = global_sayac.config()

            if game.get_event_flag("global_done") != 1 then
                say("Etkinlik bitmedi.")
                return
            end

            if pc.getqf("my_kills") < cfg.min_katki then
                say("Odul icin yeterli katkın yok.")
                say("Min: "..cfg.min_katki.." kill")
                return
            end

            if pc.getqf("global_odul_aldi") == 1 then
                say("Odulu zaten aldin.")
                return
            end

            pc.setqf("global_odul_aldi", 1)
            global_sayac.odul_ver()
            say_reward("Odul verildi!")
        end


        when login or enter begin
            if game.get_event_flag("global_kill_active") == 1 then
                send_letter("Sayac Durumu")
            end
        end


        when letter begin
            if game.get_event_flag("global_kill_active") != 1 then
                return
            end
            setskin(NOWINDOW)
            makequestbutton("Sayac Durumu")
            q.set_title("Sayac Durumu")
        end


        when info or button begin
            local cfg = global_sayac.config()

            if game.get_event_flag("global_kill_active") != 1 then
                say_title("Sayac Durumu")
                if game.get_event_flag("global_done") == 1 then
                    say("Etkinlik tamamlandi.")
                    say("Odul NPC'den alinabilir.")
                else
                    say("Etkinlik aktif degil.")
                end
                return
            end

            local kalan_sure = game.get_event_flag("global_finish_time") - get_time()

            say_title("Canavar Av Durumu")
            say("")
            say("Senin katkın: "..pc.getqf("my_kills"))
            say("Genel ilerleme: "..game.get_event_flag("global_total_kills").." / "..cfg.hedef_kill)
            say("")

            if kalan_sure > 0 then
                local saat = math.floor(kalan_sure / 3600)
                local dakika = math.floor((kalan_sure - (saat * 3600)) / 60)
                if dakika < 0 then dakika = 0 end
                say("Kalan sure: "..saat.." saat "..dakika.." dakika")
            else
                say("Sure bitti. GM kapatabilir.")
            end
        end


        when kill begin
            if game.get_event_flag("global_kill_active") != 1 then return end
            if npc.is_pc() then return end

            local cfg = global_sayac.config()

            if game.get_event_flag("global_finish_time") <= get_time() then
                return
            end

            pc.setqf("my_kills", pc.getqf("my_kills") + 1)
            game.set_event_flag("global_total_kills", game.get_event_flag("global_total_kills") + 1)

            if game.get_event_flag("global_total_kills") >= cfg.hedef_kill then
                game.set_event_flag("global_kill_active", 0)
                game.set_event_flag("global_done", 1)
                notice_all("Global av etkinligi tamamlandi! Odulleri Seon-Hae'den alinabilir.")
            end
        end

    end
end


Video içinde görev penceresi göstermemişim.
 

Ekli dosyalar

  • global_sayac.lua
    4.9 KB · Görüntüleme: 0
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

Ellerine sağlık, güzel revizyon kullanacak arkadaşlara başarılar güle güle kullansınlar
 
PAYLAŞIM İÇİN TEŞEKKÜRLER,ELİNE SAĞLIK.
 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)