Rehber - GCPHONE IBAN ENTEGRE

Fivem.com.tr

Fivem.com.tr
Katılım
1 Eki 2022
Mesajlar
5,891
Tepki
80
Selam dostlar, bir ara internette araştırıp bulamamıştım sonra ben yapayım dedim ve biraz uğraştıktan sonra bu sonuç çıktı. Bu kodları satanlar varmış. Olayı kökünden çözelim o zaman



Öncelikle gcphone > server > bank.lua'yı açıp birkaç editleme ve ekleme çıkarma yapacağız.



gcPhone:transfer eventini şu şekilde değiştiriyoruz;


Kod:


Kod:
RegisterServerEvent("gcPhone:transfer")
AddEventHandler("gcPhone:transfer", function(a, amount)
    _source = source
    local r5k.senderIBAN = r5k.GetIBAN(_source)
   
    a = tostring(a)

    duzenlenmisAmount = comma_value(amount)

    local gerceklesti = r5k.BankParaGonder(_source, a, tonumber(amount))
    if gerceklesti then
        local forTargetKimden = r5k.GetNameFromIBAN(r5k.senderIBAN)
        local forSenderKimden = r5k.GetNameFromIBAN(a)
        Citizen.Wait(500)
        local r5k.Saat = r5k.SaatKac()
    end
end)



Müşterimin isteği üzerine tamamen BETTERBANK'a uyarlamıştım, o yüzden 16. satır'a şu kodları ekleyebilirsiniz, bu kodlar betterbank'a son işlem eklemeye yarar.


Kod:


Kod:
TriggerEvent('BetterBank:SonIslemEkle', a, 'gelenTransfer', tostring(duzenlenmisAmount), r5k.Saat, forTargetKimden, tonumber(amount))
TriggerEvent('BetterBank:SonIslemEkle', r5k.senderIBAN, 'gidenTransfer', tostring(duzenlenmisAmount), r5k.Saat, forSenderKimden, tonumber(amount))

Ardından aşağıda boş olan yerlere şu kodları ekliyoruz;





Kod:


Kod:
function r5k.GetIdentifierFromIBAN(IBAN)
    local result = MySQL.Sync.fetchAll('SELECT identifier FROM users WHERE IBAN = @IBAN', {
        ['@IBAN'] = IBAN,
    })
    Citizen.Wait(100)
    return result[1].identifier
end

function r5k.BankParaGonder(source, IBAN, miktar)

    local _source = source
    local xPlayer = ESX.GetPlayerFromId(_source)
    local sourceBalance = xPlayer.getAccount('bank').money
    local TIBAN = IBAN

    local targetIdentifier = r5k.GetIdentifierFromIBAN(IBAN)
    local targetID = ESX.GetPlayerFromIdentifier(targetIdentifier)

    if miktar < sourceBalance then
        if targetID == nil then
            local result = MySQL.Sync.fetchAll('SELECT accounts FROM users WHERE IBAN = @TIBAN', {
                ['@TIBAN'] = TIBAN,
            })

            local sqlAccountTable = json.decode(result[1].accounts)
            if (sqlAccountTable["bank"] ~= nil) then
                xPlayer.removeAccountMoney('bank', tonumber(miktar))
                sqlAccountTable["bank"] = sqlAccountTable["bank"] + miktar
                sqlAccountTable = json.encode(sqlAccountTable)
                MySQL.Async.insert("UPDATE users SET accounts = @yeniPara WHERE IBAN = @TIBAN", {
                    ['@TIBAN'] = TIBAN,
                    ['@yeniPara'] = sqlAccountTable
                })
                return true
            end
        else
            xPlayer.removeAccountMoney('bank', tonumber(miktar))
            targetID.addAccountMoney('bank', tonumber(miktar))
            return true
        end
    else
        return false
    end
end

function r5k.GetIBAN(source, id)
    local xPlayer = getPlayerID(source)
    print(xPlayer)

    local result = MySQL.Sync.fetchAll('SELECT IBAN FROM users WHERE identifier = @identifier', {
        ['@identifier'] = xPlayer
    })

    print(result[1].IBAN)

    local x = result[1].IBAN
    Citizen.Wait(100)
    return x
end

function myfirstname(a, b, c)
    MySQL.Async.fetchAll("SELECT firstname, phone_number FROM users WHERE users.firstname = @firstname AND users.phone_number = @phone_number", {["@phone_number"] = a, ["@firstname"] = b}, function(d)
        c(d[1])
    end)
end

function r5k.GetNameFromIBAN(IBAN)
    local result = MySQL.Sync.fetchAll('SELECT firstname, lastname FROM users WHERE IBAN = @IBAN', {
        ['@IBAN'] = IBAN
    })
    local nameAndIBAN = result[1].firstname .." " ..result[1].lastname .." - " ..IBAN
    return nameAndIBAN
end

function r5k.SaatKac()
    local date_table = os.date("*t")
    local hour, minute = date_table.hour, date_table.min
    return (os.date("%d-%m-%Y ") ..hour ..":" ..minute)
end

function comma_value(n)
    local left,num,right = string.match(n,'^([^%d]*%d)(%d*)(.-)$')
    return "$" ..(left..(num:reverse():gsub('(%d%d%d)','%1.'):reverse())..right) ..",00"
end



Çalışmaz ise IBAN yazanları iban yapabilirsiniz. Umarım bu paylaşımdan sonra parayla satılmaya çalışmaz. İstek ve sorunlarınız için; wermacht#2747


Geçmiş ne kadar zor olursa olsun, her zaman tekrar başlayabilirsin. -Buddha

Konu alıntıdır, yanlış veya hatalı bir bilgi/paylaşım var ise yanıtlayabilir veya bizimle iletişime geçebilirsiniz.
 

Şu anda bu konu'yu okuyan kullanıcılar

Benzer konular

Üst