Hikayeler

Reklam vermek için turkmmo@gmail.com

Global Öldürme V2 Lua

raderde

Gerçekçi Ol, İmkansızı İste.
Telefon Numarası Onaylanmış Üye
Uzman Moderatör
Katılım
29 Haz 2011
Konular
97
Mesajlar
287
Online süresi
3g 52212s
Reaksiyon Skoru
297
Altın Konu
0
Başarım Puanı
155
TM Yaşı
14 Yıl 9 Ay 28 Gün
MmoLira
8,633
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.
aa.PNG
 

Ekli dosyalar

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

En Çok Reaksiyon Alan Mesajlar

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

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)

Geri
Üst