Metin Kesici Etkinliği

Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

Tugian2Mt2shop

Tugian2-Mt2shopYazilim
MT Üye
Mesaj
239
Çözümler
3
Beğeni
144
Puan
774
Ticaret Puanı
0
Merhabalar arkadaşlar,

Bu questi beğendiğim için buradada paylaşmak istedim hayırlı kullanimlar.


Quest açıklaması;

"Metin Kesici Etkinliği" adı verdiğim kendim yazdığım bir Etkinlik, ilk 100 metini kesen oyunculara özel bir ödül verilmesini sağlar. Aşağıda etkinlik adımlarının açıklamalarını bulabilirsiniz:

1. Oyuncular "Etkinlik Başlat" adlı bir seçenekle etkinliğe katılmayı seçerler.
2. Etkinlik başladığında, katılımcılara etkinlik hakkında bilgi verilir.
3. Etkinlik sırasında oyuncular metin kesmeye başlar ve kesilen metin sayısı takip edilir.
4. İlk 100 metini kesen oyunculara ödül verilir.
5. Etkinlik tamamlandığında, oyuncular "Etkinlik Bitti" adlı bir seçenekle etkinliği sonlandırır.
6. Eğer etkinlik tamamlanmamışsa, oyunculara etkinliğin devam ettiği ve ilk 100 metini kesene kadar devam edeceği bildirilir.
7. Eğer etkinlik tamamlandıysa ve oyuncu ödülü daha önce almamışsa, ödül verilir ve oyuncuya tebrikler mesajı iletilir.
8. Eğer etkinlik tamamlandıysa ve oyuncu ödülü daha önce almışsa, oyuncuya etkinliğin zaten tamamlandığı bilgisi iletilir.
9. Etkinlik başlamadan veya bitirilmeden "Etkinlik Bitti" seçeneği seçilirse, ilgili duruma göre uygun mesajlar verilir.

Bu etkinlik, ilk 100 metini kesen oyunculara özel bir deneyim sunmayı ve onları ödüllendirmeyi amaçlar. Ödül eşyası ve diğer etkinlik ayrıntıları, ihtiyaçlarınıza ve oyununuzun gereksinimlerine göre özelleştirilebilir.

metin_kesici.lua:
Genişlet Daralt Kopyala
quest first_100_metin_event begin
    state start begin
        when 20001.chat."Etkinlik Başlat" begin
            say_title("Metin Kesici Etkinliği")
            say("Bu etkinlikte, ilk 100 metin kesen oyuncuya özel bir ödül verilecektir.")
            say("Eğer ilk 100 oyuncu arasına girmeyi başarırsanız, ödülü kazanacaksınız.")

            local start_event = select("Evet, etkinliğe katılmak istiyorum.", "Hayır, teşekkürler.")
            if start_event == 2 then
                say("Anladım, başka bir zaman katılabilirsiniz. İyi oyunlar!")
                return
            end

            say("Etkinlik başladı!")
            say("İlk 100 metini kesen oyuncular, ödülü kazanacak.")

            pc.setqf("first_100_metin_count", 0) -- Metin kesme sayısını sıfırla
            pc.setqf("first_100_metin_reward_given", 0) -- Ödül verildiğini sıfırla
            pc.setqf("first_100_metin_event_active", 1) -- Etkinlik aktif olarak işaretle
        end

        when 20001.chat."Etkinlik Bitti" begin
            local event_active = pc.getqf("first_100_metin_event_active")

            if event_active == 1 then
                local metin_count = pc.getqf("first_100_metin_count")

                if metin_count < 100 then
                    say_title("Metin Kesici Etkinliği")
                    say("Etkinlik henüz bitmedi. İlk 100 metini kesene kadar devam edecektir.")
                else
                    local reward_item_vnum = 12345 -- Ödül olarak verilecek eşyanın vnum değeri

                    if pc.getqf("first_100_metin_reward_given") == 0 then
                        pc.give_item2(reward_item_vnum, 1) -- Ödül eşyasını oyuncuya ver
                        pc.setqf("first_100_metin_reward_given", 1) -- Ödül verildiğini işaretle

                        say_title("Metin Kesici Etkinliği")
                        say("Tebrikler! İlk 100 metini keserek etkinliği tamamladınız.")
                        say("Ödülünüz size verildi. İyi oyunlar!")
                    else
                        say_title("Metin Kesici Etkinliği")
                        say("Etkinlik zaten tamamlandı. Ödülü daha önce aldınız.")
                    end

                    pc.setqf("first_100_metin_event_active", 0) -- Etkinlik bitirildiğini işaretle
                end
            else
                say_title("Metin Kesici Etkinliği")
                say("Henüz etkinlik başlamadı. Lütfen daha sonra tekrar deneyin.")
            end
        end
 
Çalıştığına dair kanıt atabilir misiniz
 
Telefondan bakıyorum ama gözümden kaçmış olabilir metin_count’u tetikleyen kill satırını göremedim
 
event oluşturursanız game srcde gerekli şartları sağlayan çalışmaya çalışır. src kısmı olmadan bu quest çalışmayacaktır.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst