Hikayeler

Reklam vermek için turkmmo@gmail.com

Serverimdeki BK takas sistemi hatası

  • Konuyu başlatan Rhanb
  • Başlangıç tarihi
  • Cevaplar 1
  • Görüntüleme 508

Rhanb

Level 3
Telefon Numarası Onaylanmış Üye
TM Üye
Üye
Katılım
30 May 2019
Konular
28
Mesajlar
144
Online süresi
4g 14905s
Reaksiyon Skoru
16
Altın Konu
0
Başarım Puanı
82
Yaş
26
TM Yaşı
6 Yıl 10 Ay 26 Gün
MmoLira
233
DevLira
0

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

Merhaba arkadaşlar serverimdeki bk sisteminde BK-3 hatası alıyorum, BK-3 hatası yanında yazmışlar envanter sayınızı girin 90 olan yere diye 225 yaptım sorun düzeldi fakat sadece gm hesabımda düzeldi oyuncular bk takas sistemni yapamıyor hala. sorun nerede sizce? kodu aşağıya bırakıyorum. kırmızı ile verilen hatanın kodunu işaretledim teşekkürler şimdiden.


Kod:
quest bk_trade begin
    state start begin
        function get_input(func)
            cmdchat("bk_trade_sys block 0")
            local input = input(cmdchat(func))
            cmdchat("bk_trade_sys break 0")
            if input == "" or string.find(string.lower(input), "nan") or string.find(string.lower(input), "nil") then
                return 0
            else
                return tostring(input)
            end
        end

        when 20095.chat."Kitapları nasıl takas ederim? " with game.get_event_flag("beceri_takas") > 0  begin
            say("Hoş geldin! ")
            say("Bende kitap mı takas edeceksin? Harika! Beceri ve ")
            say("ustalık kitaplarını her zaman alırım. Bana bunlardan ")
            say("10 tane getirirsen sana sıfına uygun bir beceri ")
            say("kitabı veririm. Adil bir pazarlık, değil mi? Ha, ")
            say("neredeyse söylemeyi unutuyordum, bu takas için ")
            say("1.000.000 Yang isterim.")
        end

        when 20095.chat."Kitap takas et " with game.get_event_flag("beceri_takas") > 0  begin
            setskin(NOWINDOW)
            cmdchat("bk_trade_sys open 0")
        end

        when login begin
            cmdchat("bk_trade_sys qid "..q.getcurrentquestindex())
        end

        function checkflagoverflow()
            if pc.getqf("bk_miktar") > 10 or pc.getqf("bk_miktar") < 0 then
                pc.setqf("bk_miktar", 0)
            end
        end

        when button or info begin
            data = bk_trade.get_input("bk_trade_sys get 0")

            local _, count = string.gsub(data, "|", "")
            if count < 9 or count > 9 then
                syschat("(BK-1)Bilinmeyen hata. Lutfen oyun yoneticisine basvurun") -- Uygunsuz format
                return
            end

            if pc.get_money() < 1000000 then
                syschat("Yeterli yang mevcut degil")
                return
            end
            if pc.count_item(50300) < 10 then
                syschat("Yeterli beceri kitabi mevcut degil")
                return
            end
            if pc.get_skill_group() == 0 then
                syschat("Henuz Cok acemisin :(")
                return
            end
            bk_trade.checkflagoverflow()


            splitData = bk_trade.split(data, '|')
            for i = 1, 10 do
                if splitData[i] == "" or string.find(string.lower(splitData[i]), "nan") or string.find(string.lower(splitData[i]), "nil") then
                    syschat("(BK-2)Bilinmeyen hata. Lutfen oyun yoneticisine basvurun") -- Splitlinen icerik boş yada uygunsuz
                    return
                end

                if tonumber(splitData[i]) > 225 or tonumber(splitData[i]) < 0 then
                    -- Gelen slotlar envanter slot miktarından farklı[min 0, max 90]
                    -- Envanter sayısınız 2den farklıysa 90 kısmına her sayfa için +45 ekleyin
                    -- 4 Sayfa envanter için 180 gibi
                    syschat("(BK-3)Bilinmeyen hata. Lutfen oyun yoneticisine basvurun")
                    return
                end

                item.select_cell(splitData[i])
                if not item.get_id() or item.get_id() == 0 then
                    syschat("Item bulunamadi> " ..splitData[i])
                    return
                end

                if tostring(item.get_vnum()) != tostring(50300) then
                    syschat("(BK-4)Bilinmeyen hata. Lutfen oyun yoneticisine basvurun") -- beceri kitabı vnumu değilse iptal
                    return
                end
                if tostring(item.get_count()) != tostring(1) then
                    syschat("(BK-5)Bilinmeyen hata. Lutfen oyun yoneticisine basvurun") -- miktar 1 den farklıysa iptal
                    return
                end

                pc.setqf("bk_miktar", pc.getqf("bk_miktar") + 1)
                item.remove()

            end

            if pc.getqf("bk_miktar") == 10 then
                local x
                if pc.get_job() <= 1 then
                    x = number(1,5)
                else
                    x = number(1,6)
                end
                bk_trade.give_new_book(x)
                return
            else
                syschat("(BK-6)Bilinmeyen hata. Lutfen oyun yoneticisine basvurun") -- BK Flagları 10dan farklı uygunsuz durum
                return
            end

        end

        function give_new_book(sock)
            local skill_list = special.active_skill_list[pc.get_job()+1][pc.get_skill_group()]
            if pc.get_money() < 1000000 then
                syschat("Yeterli yang mevcut degil")
                return
            end

            pc.change_gold(-1000000)
            pc.give_item2_select(50300)
            item.set_socket(0, skill_list[sock])
            pc.setqf("bk_miktar", 0)
            return
        end

        function split(command_, x)
            return bk_trade.split_(command_,x)
        end

        function split_(string_,delimiter)
            local result = { }
            local from  = 1
            local delim_from, delim_to = string.find( string_, delimiter, from  )
            while delim_from do
                table.insert( result, string.sub( string_, from , delim_from-1 ) )
                from  = delim_to + 1
                delim_from, delim_to = string.find( string_, delimiter, from  )
            end
            table.insert( result, string.sub( string_, from  ) )
            return result
        end
    end
end
 
Çözüm
if tonumber(splitData) > 225 or tonumber(splitData) < 0 then -- Gelen slotlar envanter slot miktarından farklı[min 0, max 90] -- Envanter sayısınız 2den farklıysa 90 kısmına her sayfa için +45 ekleyin -- 4 Sayfa envanter için 180 gibi syschat("(BK-3)Bilinmeyen hata. Lutfen oyun yoneticisine basvurun")
kod oldugu için kırmızıyla işaretlenmemiş oyun içinde gelen hata burası.
if tonumber(splitData) > 225 or tonumber(splitData) < 0 then -- Gelen slotlar envanter slot miktarından farklı[min 0, max 90] -- Envanter sayısınız 2den farklıysa 90 kısmına her sayfa için +45 ekleyin -- 4 Sayfa envanter için 180 gibi syschat("(BK-3)Bilinmeyen hata. Lutfen oyun yoneticisine basvurun")
kod oldugu için kırmızıyla işaretlenmemiş oyun içinde gelen hata burası.
 
Çözüm

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

Geri
Üst