Tips
Tips

Paylaşım GCPhone İban Entegre Etmek

☆ ᴇʀᴍᴀɴ ☆

FivemTurks.COM
Mesajlar
820
Katılım
22 Ocak 2020
Reaction score
61
Puanları
28

Reputation:

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

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

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:
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:
[/CENTER]
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
[CENTER]
Ç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
 
Üst Alt
Lütfen Javascript'i etkinleştirin!Javascript'i etkinleştirin!