Global Öldürme V2 lua

  • Konuyu açan Konuyu açan raderde
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 0
  • Gösterim Gösterim 18

raderde

Üye
Üye
Mesaj
2
Beğeni
0
Puan
403
Ticaret Puanı
0
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:
Genişlet Daralt Kopyala
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.

1000204427.webp
 
Geri
Üst