Hikayeler

Reklam vermek için turkmmo@gmail.com

[C++] EP Kuponu Sistemi

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,

mysql_query veya mysql_query10 komutları sıkıntı çıkartıyor diyenlere net çözüm c++ ep kuponu sistemi.
Kodlama bana ait değil tabi ki, çok uğraş verdim araştırırken sonunda çözüme kavuştum sizinle de paylaşmak istedim.


1.Aşama:
db/src de ClientManagar.cpp açıp aratılır;

Kod:
sprintf(szQuery, "update account set `cash` = `cash` + %d where id = %d limit 1", packet->dwAmount, packet->dwAID);
Buradaki cash yerine coins yazıp kaydediyoruz.
Sonuç:

Kod:
sprintf(szQuery, "update account set `coins` = `coins` + %d where id = %d limit 1", packet->dwAmount, packet->dwAID);
Ardından db mizi build edip db dosyasını gerekli yere atıyoruz.
ayrac.png
2.Aşama
Quest oluşturacağız bunun için quest bölümüne charge_coins.lua veya ep_kuponu.lua (size kalmış) isminde bir dosya açıyoruz ;

Kod:
quest charge_cash_by_voucher begin
    state start begin
        function charge(amount, charge_type)
            if charge_type == nil then
                charge_type = "coins"
            end

            if 0 < amount then
                -- syntax : pc.charge_cash(amount, charge_type)
                -- warning:     1. 'charge_type' : "cash"(default) | "mileage"
                --            2. 'amount' must be positive number.
                local result = pc.charge_cash(amount, charge_type)

                if true == result then
                    local item_id = item.get_id()
                    char_log(item_id, "CHARGE_CASH_BY_VOUCHER", amount)
                    syschat(string.format(gameforge.charge_cash_by_voucher._010_syschat, amount))

                    local flag_name = "total_" .. charge_type
                    pc.setqf(flag_name, pc.getqf(flag_name) + amount)

                    item.remove()
                end
            end

            return false
        end
 
        when 80014.use or 80015.use or 80016.use or 80017.use begin
            local amount = item.get_value(0)

            charge_cash_by_voucher.charge(amount, "coins")
        end
    end
end
içine yapıştırıyoruz, questte herhangi bir değişiklik yapmanıza gerek yok ve kaydedip ./qc çekiyoruz.

Son olarak reboot atıp deneyebilirsiniz.




Bir teşekkür yeterli iyi kullanımlar :)

test etim sadece 500 ep kuponu olmuyor çok anlamsız geldi bana
 
Amount komutu işliyor yani item_proto da ep kuponlarinin kodlarina git mesela 80017 , sağa kaydır value0 da 50 yazar oradan çekiyor amount komutunu orayi kaç yaparsan o kadar ep verir kupon yani questi editlemeyin verdigim şekilde kalsın
sistem çalıştı fakat tıkladığım kupon yok olmuyor ve tıklandığıda belli olmuyor 100 kere tıkla hepsindede epi veriyor kuponun kaybolduğuda yok altan yazı geçtiğide yok ?
 
sistem çalıştı fakat tıkladığım kupon yok olmuyor ve tıklandığıda belli olmuyor 100 kere tıkla hepsindede epi veriyor kuponun kaybolduğuda yok altan yazı geçtiğide yok ?

kuponların objectine bak içinde eski sisteminiz vardır onları sil veya ep kuponlarinizin flaglari yanlış olabilir
 
Son düzenleme:

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

Geri
Üst