Neler yeni

Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

  • Merhaba Değerli Ziyaretçimiz, ForumaGel ailesi seni bekliyor! 🌟 Aramıza katılarak güçlü ve samimi topluluğumuzun bir parçası olabilirsin. Burada her üye değerli, her katkı kıymetli. Şimdi üye ol, bizimle birlikte gelişmenin ve keyifli sohbetlerin tadını çıkar! Sevgi ve Saygılarla, ForumaGel Yönetimi ❤️
Yan Yana Banner

Metin Bot Kontrol Sistemi (1 Görüntüleyici)

404notfound
Yan Yana Banner
Katılım
7 Nis 2025
Konular
46
Mesajlar
459
Tepkime puanı
114
Puan
93
Konum
İstanbul
Web sitesi
forumagel.com
Bot kontrolun çalışma mantığı 30 metin kırdığınızda çarınız sersemler ve quest ekranı gelir orada captcha doğrulaması yapmanızı ister 3 hakkınız var 3 kere yanlış yaparsanız sizi köye ışınlar.

Kod:
quest anti_bot_captcha begin
    state start begin
        function setting()
            return
            {
                ["true_vnum"] = { 101129 , 9600 , 12829 , 2169 , 11839 , 12789 , 71107 , 79 , 2099 , 199 , 2159 , 3169 , 2139 , 5349 , 1139 , 101006 , 12809 , 7009 , 13109 , 7029 , 189 , 39 , 7019 , 29 , 101005 },
                ["fake_vnum1"] = { 11299 , 17229 , 7379 , 2079 , 101119 , 20509 , 2129 , 18089 , 11819 , 129 , 13089 , 89 , 69 , 11849 , 101141 , 469 , 12849 , 101004 , 16579 , 2069 , 101140 , 14579 , 169 , 2039 , 15459 },
                ["fake_vnum2"] = { 11899 , 2019 , 101144 , 11499 , 20259 , 3199 , 139 , 101109 , 7059 , 2109 , 13169 , 17709 , 14229 , 2059 , 7039 , 99 , 49 , 101143 , 13069 , 18099 , 11699 , 479 , 15449 , 179 , 2049 },
                ["fake_vnum3"] = { 5129 , 20009 , 59 , 2089 , 2379 , 9830 , 11829 , 20759 , 101142 , 119 , 2179 , 2009 , 2119 , 16229 , 11809 , 101139 , 19 , 2029 , 1349 , 11859 , 2179 , 13149 , 7049 , 13129 , 2149 },

                ["metin_limit"] = { 50 },
                ["failed_limit"] = { 3 },
            }
        end

        function block_player()
            pc.setqf("anti_bot_captcha_status", 1)

            pc.affect_stun()
        end

        function unblock_player()
            pc.setqf("anti_bot_captcha_status", 0)
            pc.setqf("anti_bot_captcha_metin_counter", 0)
            pc.setqf("anti_bot_captcha_failed_counter", 0)

            affect.remove(210)
        end

        function metin_register()
            pc.setqf("anti_bot_captcha_metin_counter", pc.getqf("anti_bot_captcha_metin_counter")+1)

            local metin_counter = pc.getqf("anti_bot_captcha_metin_counter")
            local captcha_status = pc.getqf("anti_bot_captcha_status")

            -- syschat(string.format("anti_bot_captcha_metin_counter: %d / anti_bot_captcha_status: %d", metin_counter, captcha_status))
        end

        function captcha_ok()
            anti_bot_captcha.unblock_player()
        end

        function captcha_failed()
            local setting = anti_bot_captcha.setting()


            pc.setqf("anti_bot_captcha_failed_counter", pc.getqf("anti_bot_captcha_failed_counter")+1)

            syschat(string.format("Wrong captcha! (You failed %d of %d attempts)", pc.getqf("anti_bot_captcha_failed_counter"), setting.failed_limit[1]))

            if pc.getqf("anti_bot_captcha_failed_counter") >= setting.failed_limit[1] then
                pc.setqf("anti_bot_captcha_failed_counter", 0)
                warp_to_village()
            end

            send_letter("Captcha")
        end

        function show_captcha()
            local setting = anti_bot_captcha.setting()

            local true_vnum_total = table.getn(setting.true_vnum) -- total of items in the table
            local random_true_vnum = number(1, true_vnum_total) -- random value
            local true_item = setting.true_vnum[random_true_vnum] -- random result

            local fake_vnum_total1 = table.getn(setting.fake_vnum1) -- total of items in the table
            local fake_vnum_total2 = table.getn(setting.fake_vnum2) -- total of items in the table
            local fake_vnum_total3 = table.getn(setting.fake_vnum3) -- total of items in the table

            local random_fake_vnum_1 = number(1, fake_vnum_total1) --- random value
            local fake_item1 = setting.fake_vnum1[random_fake_vnum_1] -- random result

            local random_fake_vnum_2 = number(1, fake_vnum_total2) --- random value
            local fake_item2 = setting.fake_vnum2[random_fake_vnum_2] -- random result

            local random_fake_vnum_3 = number(1, fake_vnum_total3) --- random value
            local fake_item3 = setting.fake_vnum3[fake_vnum_total3] -- random result

            local random_question = number(1, 4)

            if pc.getqf("anti_bot_captcha_status") == 0 then
                say_title("Captcha:")
                say("You have no pending verification.")
                return;
            end

            say("What is the name of this item?")
            say_item_vnum(true_item)
            say("[ENTER][ENTER]")

            if random_question == 1 then
                local menu = select(item_name(true_item), item_name(fake_item1), item_name(fake_item2), item_name(fake_item3))

                if menu == 1 then
                    anti_bot_captcha.captcha_ok()
                elseif menu == 2 then
                    anti_bot_captcha.captcha_failed()
                elseif menu == 3 then
                    anti_bot_captcha.captcha_failed()
                elseif menu == 4 then
                    anti_bot_captcha.captcha_failed()
                end

            elseif random_question == 2 then
                local menu = select(item_name(fake_item1), item_name(true_item), item_name(fake_item2), item_name(fake_item3))

                if menu == 1 then
                    anti_bot_captcha.captcha_failed()
                elseif menu == 2 then
                    anti_bot_captcha.captcha_ok()
                elseif menu == 3 then
                    anti_bot_captcha.captcha_failed()
                elseif menu == 4 then
                    anti_bot_captcha.captcha_failed()
                end

            elseif random_question == 3 then
                local menu = select(item_name(fake_item1), item_name(fake_item2), item_name(true_item), item_name(fake_item3))

                if menu == 1 then
                    anti_bot_captcha.captcha_failed()
                elseif menu == 2 then
                    anti_bot_captcha.captcha_failed()
                elseif menu == 3 then
                    anti_bot_captcha.captcha_ok()
                elseif menu == 4 then
                    anti_bot_captcha.captcha_failed()
                end

            elseif random_question == 4 then
                local menu = select(item_name(fake_item1), item_name(fake_item2), item_name(fake_item3), item_name(true_item))

                if menu == 1 then
                    anti_bot_captcha.captcha_failed()
                elseif menu == 2 then
                    anti_bot_captcha.captcha_failed()
                elseif menu == 3 then
                    anti_bot_captcha.captcha_failed()
                elseif menu == 4 then
                    anti_bot_captcha.captcha_ok()
                end
            end
        end

        when login or letter begin
            send_letter("Captcha")
        end

        when button or info begin
            anti_bot_captcha.show_captcha()
        end

        when kill with not npc.is_pc() and npc.is_metin() begin
            anti_bot_captcha.metin_register()

            local setting = anti_bot_captcha.setting()

            if pc.getqf("anti_bot_captcha_metin_counter") >= setting.metin_limit[1] then
                anti_bot_captcha.block_player()
                anti_bot_captcha.show_captcha()
            end
        end

    end
end

Kod:
// aç : questlua_pc.cpp

// dosya içinde bul void RegisterPCFunctionTable() üstüne ekle
    int pc_affect_stun(lua_State * L)
    {
        const uint32_t lDuration = 86400; // 24h in seconds
        const LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
        if (ch)
            ch->AddAffect(AFFECT_STUN, POINT_NONE, 0, AFF_STUN, lDuration, 0, true);
        return 0;
    }
bul
{ NULL,            NULL            }
üstüne ekle
{ "affect_stun", pc_affect_stun },
 

Ekli dosyalar

  • forumagel.com Metin Bot Kontrol Sistemi
    1744549433827.png
    154.6 KB · Görüntüleme: 0

Şu an konuyu görüntüleyenler

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz

Zevkini yansıtan rengi seç

Geniş / Dar görünüm

Temanızı geniş yada dar olarak kullanmak için kullanabileceğiniz bir yapıyı kontrolünü sağlayabilirsiniz.

Izgara görünümlü forum listesi

Forum listesindeki düzeni ızgara yada sıradan listeleme tarzındaki yapının kontrolünü sağlayabilirsiniz.

Resimli ızgara modu

Izgara forum listesinde resimleri açıp/kapatabileceğiniz yapının kontrolünü sağlayabilirsiniz.

Kenar çubuğunu kapat

Kenar çubuğunu kapatarak forumdaki kalabalık görünümde kurtulabilirsiniz.

Sabit kenar çubuğu

Kenar çubuğunu sabitleyerek daha kullanışlı ve erişiminizi kolaylaştırabilirsiniz.

Köşe kıvrımlarını kapat

Blokların köşelerinde bulunan kıvrımları kapatıp/açarak zevkinize göre kullanabilirsiniz.

Geri