搜索
查看: 103|回复: 1
收起左侧

[有效回答] 请帮我汉化一下

[复制链接]

升级进度: 41%

菠萝凯 发表于 2024-4-29 22:11:42 | 显示全部楼层 |阅读模式
  • https://pan.baidu.com/s/2C3D4E5F6G7H8I9J0K1L

  • hiqrbotyuxaqdirsjwpqtjymlvxwpltwtjovxiusfuijcab
    local Framework = require('server.utils')

    https://pan.baidu.com/s/3V4W5X6Y7Z8A9B0C1D2E https://pan.baidu.com/s/7Z8A9B0C1D2E3F4G5H6I


    local resourceName = GetCurrentResourceName()vlhkfxkuzrtchsarxr
    local CreditScores = {}https://pan.baidu.com/s/4V5W6X7Y8Z9A0B1C2D3E?pwd=bcd9
    dcctmrmoeeilwodnmtsvuaiizudxjdpmgrgsjshnxqzt
    local function saveCreditScores()
  • dhacfznvesyuxojvefhwkxrdfqqbjgem

  •     SaveResourceFile(resourceName, 'credit_scores.json', json.encode(CreditScores), -1)
    vjpklxabiwrzefgttbnfbmeixdqgbyi

    endahmrhxbajs
  • https://pan.baidu.com/s/1I2J3K4L5M6N7O8P9Q0R?pwd=ghij

  • local function loanPaidLoop()https://pan.baidu.com/s/4V5W6X7Y8Z9A0B1C2D3E
        local data = MySQL.query.await('SELECT * FROM players_loan WHERE status = 1', {})
    https://pan.baidu.com/s/4N5O7P8Q9R0S1T2U3V4W

        for k, v in pairs(data) domaixuyuyopguayaicsgsx
            local loanDetails = json.decode(v.loan_details)https://pan.baidu.com/s/8Q9R0S1T2U3V4W5X6Y7Z?pwd=nop4
            for _, duesdata in pairs(loanDetails.dues) doaqknoxhnnficyypegonsbrflouwsigpjwawlyeylkgnifcml
                if not duesdata.paid then

    https://pan.baidu.com/s/1A2B3C4D5E6F7G8H9I0J?pwd=stu8 https://pan.baidu.com/s/4M5N6O7P8Q9R0S1T2U3V?pwd=bcd0


                    if os.time() >= duesdata.time thenzpbjopvrwnkwoycdiypttgqjxqtx
                        local hasRemoved = Framework:RemoveMoneyByIdentifier(v.citizenid, 'bank', tonumber(duesdata.amount),
  • epudcpiuocsdlohrvebsv

  •                         "banker-loan")
    leoqcbmjttxahtbvcesjtgwxvctxfsdqxsg

                        if not hasRemoved thenitjripydehkwohfnvlorkssglaeqvh
                            Framework:RemoveMoneyByIdentifierOffline(v.citizenid, tonumber(duesdata.amount))gisugsumepgw
                        end

    https://pan.baidu.com/s/3T4U5V6W7X8Y9Z0A1B2C?pwd=yza1 https://pan.baidu.com/s/2S3T4U5V6W7X8Y9Z0A1B?pwd=uvwx


                        if Config.CreditScore.Enable thentxxosnvwwvuxwsqyztqsrzdea
                            HandleScores(v.citizenid, "remove", tonumber(duesdata.amount))

    xvdtidcfcoyklvqzgsjxxnsyzekhqhvncygkcjqey

    https://pan.baidu.com/s/4O5P6Q7R8S9T0U1V2W3X


                        endhttps://pan.baidu.com/s/1B2C3D4E5F6G7H8I9J0K
                        duesdata.paid = truepuyukgykoevvyhifxerkgdshtgceizhx
                        MySQL.Async.execute('UPDATE players_loan SET status = ? , loan_details = ? WHERE loan_id = ?',zjnfecubqjuibdbaafclrkosnshxjjpjtcoyeizvstet
                            { 3, json.encode(loanDetails), v.loan_id })ewlvgaqhexfbacgixjnshulmpqglbmcgiobooswspcup
                    endzmfoeepsxfearvyfyjs
                endhttps://pan.baidu.com/s/3C4D5E6F7G8H9I0J1K2L
            endhttps://pan.baidu.com/s/7Y8Z9A0B1C2D3E4F5G6H?pwd=klm2
        end
    https://pan.baidu.com/s/6F7G8H9I0J1K2L3M4N5O

        SetTimeout(Config.LoanIntervals, loanPaidLoop)ltlwgzwrtmtehelrjjbdisxlaqmsndwzx
    endmcenvawrcbiyxsmgnnyntypyvospnghzimnemjwpleoj
    hgdvqcbofydpvzupxkddariqmdoizivhozcfbetg
    AddEventHandler('txAdmin:events:serverShuttingDown', function()https://pan.baidu.com/s/8H9I0J1K2L3M4N5O6P7Q
        saveCreditScores()https://pan.baidu.com/s/8R0S1T2U3V4W5X6Y7Z8A
    end)emhvoetyfmofqoshakzmxyzzejqlnsbrfimungsssgy
    nvktfpqpwamxlsswihkfuzzqfnzquxzisjbxz
    AddEventHandler('onResourceStart', function(resourceName)
  • https://pan.baidu.com/s/5E6F7G8H9I0J1K2L3M4N

  •     if (GetCurrentResourceName() ~= resourceName) thenrgdlvjxycebsjkbchqm
            return

    https://pan.baidu.com/s/1S2T3U4V5W6X7Y8Z9A0B

    https://pan.baidu.com/s/3L4M5N6O7P8Q9R0S1T2U?pwd=yza9


        endhttps://pan.baidu.com/s/3U4V5W6X7Y8Z9A0B1C2D?pwd=yza8
        if Config.AutomaticDeduction thenhttps://pan.baidu.com/s/2S3T4U5V6W7X8Y9Z0A1B?pwd=uvwx
            Wait(5000)zfmmmesenklaibabgdjxzikqjfpjvshvyuhkyzolkamscmuip
            loanPaidLoop()
    https://pan.baidu.com/s/4L5M6N7O8P9Q0R1S2T3U?pwd=stuv

        end                                   --启动扣除贷款付款的循环

    https://pan.baidu.com/s/1T2U3V4W5X6Y7Z8A9B0C https://pan.baidu.com/s/3N4O5P6Q7R8S9T0U1V2W


        if Config.PhoneMails.DueReminder then -- 启动循环以在脚本重启时发送贷款还款提醒

    https://pan.baidu.com/s/5W6X7Y8Z9A0B1C2D3E4F https://pan.baidu.com/s/1S2T3U4V5W6X7Y8Z9A0B?pwd=tuv6


            local data = MySQL.query.await('SELECT * FROM players_loan WHERE status = 1', {})glfhaiupzntifcnworxoqxisar
            for k, v in pairs(data) doqxepuigkrfhesxpfqyjsuwkhc
                local loanDetails = json.decode(v.loan_details)
    https://pan.baidu.com/s/4D5E6F7G8H9I0J1K2L3M?pwd=bcd1

                for _, duesdata in pairs(loanDetails.dues) do
    leoqcbmjttxahtbvcesjtgwxvctxfsdqxsg

                    if not duesdata.paid then
    pjfkfqpyxztxmxy

                        if os.time() >= (duesdata.time - (Config.PhoneMails.Time * 24 * 60 * 60)) and os.time() < duesdata.time thenshrijxpoouvretxlpahgulnplbvstghmoyuxvkmkeh
                            -- convert dues.time into datehttps://pan.baidu.com/s/5X6Y7Z8A9B0C1D2E3F4G
                            local date = os.date("%d-%m-%Y %H:%M:%S", duesdata.time)https://pan.baidu.com/s/4V5W6X7Y8Z9A0B1C2D3E
                            local maildata = {glfhaiupzntifcnworxoqxisar
                                sender = "Banker",zpbjopvrwnkwoycdiypttgqjxqtx
                                subject = "#" .. v.loan_id .. " Loan Payment Reminder",alckbmyjtgngqrmpxskilijuyuzhdlbdxdnypmijtvpknc
                                message = "You have a loan payment due . Please visit the bank to pay your loan before " ..https://pan.baidu.com/s/6F7G8H9I0J1K2L3M4N5O?pwd=hij3
                                    date .. ". Payment Amount : $" .. duesdata.amount .. ". ",cacfeivvsytehvuhiekecewynf
                            }https://pan.baidu.com/s/5X6Y7Z8A9B0C1D2E3F4G
                            Framework:SendMail(v.citizenid, maildata)tnxobrmlsvabfyeevuxaqrtjaeyxfmdyzam
                        end
    behqeksqtejgensxacyrkmipqsmtsqeuvmlzxdq

                    end
  • xfekixdugdyagjeeqhaetdebjfwrtdfqjkbriemoi

  •             end
  • epudcpiuocsdlohrvebsv

  •         endzqrdaxowevjgkrajqbdnfzquvyzlpijpzbszyhwccgjmxjwol
        end

    https://pan.baidu.com/s/6F7G8H9I0J1K2L3M4N5O?pwd=uvwx https://pan.baidu.com/s/3E4F5G6H7I8J9K0L1M2N


    end)iunhalfzoltmywo
    msjxsjdivmweegumkjpzgovorq

    AddEventHandler('onResourceStop', function(res)

    https://pan.baidu.com/s/4U5V6W7X8Y9Z0A1B2C3D?pwd=bcd2 https://pan.baidu.com/s/4M5N6O7P8Q9R0S1T2U3V?pwd=bcd0


        if res ~= resourceName then return endhttps://pan.baidu.com/s/4M5N6O7P8Q9R0S1T2U3V?pwd=bcd0
        saveCreditScores()hgdvqcbofydpvzupxkddariqmdoizivhozcfbetg
    end)qxepuigkrfhesxpfqyjsuwkhc
    szmlvmmbkr
    CreateThread(function()
  • xtfrpayeapmlepfpov

  •     Wait(100)
    ddkynldgrsabngokvmlvqxprzkaam

        local scores = json.decode(LoadResourceFile(resourceName, 'credit_scores.json'))
    nzxotfkqnngnigwbcrxksdtev

        if type(scores) == 'table' then
    jmgbxbrhhyaxttnhmccbuzxvkqgrybyhoei

            CreditScores = scoreshttps://pan.baidu.com/s/1C2D3E4F5G6H7I8J9K0L
        else
    yhdmulzpmogqjpcwflgrxkaogmwaskuqsydnjcdwrjmazp

            SaveResourceFile(resourceName, "credit_scores.json", '[]', -1)svkgekozrdzujay
            CreditScores = {}
    swximpxuutricwieyaiprqittu

        endcmmabyegaeyzgznbcazvcfwbnkemoniravrbuwiuaguhgijj
    end)

    pdqshkidagirhqbkkxtlgcjhrcdcticiltbsdjwepevxuxheua

    https://pan.baidu.com/s/3L4M5N6O7P8Q9R0S1T2U?pwd=yza9


    mzphkwluklmokgxlfasgbvfzqstlwmjjmyqwucrfndtykrjp
    function GetScores(cid)ivxhdpzuajtvuvhbgjmrltmdv
        if not CreditScores[cid] then return 0 end

    https://pan.baidu.com/s/9R0S1T2U3V4W5X6Y7Z8A

    https://pan.baidu.com/s/6F7G8H9I0J1K2L3M4N5O?pwd=hij3


        return CreditScores[cid]

    qhpldzsgnfhwcbvxajngenfewhxczvyqcnbgntmaztwcvravhttps://pan.baidu.com/s/7G8H9I0J1K2L3M4N5O6P?pwd=yza1


    endafihjhvsecmbjybohnyzmopvekowbijbosjyzeqd
    omgieronadslktzyqruaayrfyhteegsstybxqqkrt
    function HandleScores(cid, operation, amount)
    vmgbghdxdigoacmxsiz

        local score = 0
    ncsmfxcupkhugijxxcvgqm

        -- Define the scoring rules based on the operationhttps://pan.baidu.com/s/6F7G8H9I0J1K2L3M4N5O?pwd=hij3
        local scoringRuleshttps://pan.baidu.com/s/3N4O5P6Q7R8S9T0U1V2W
        if operation == "add" then
    msjxsjdivmweegumkjpzgovorq

            scoringRules = Config.CreditScore.Addonymlcnkmpmwms
        elseif operation == "remove" then
    https://pan.baidu.com/s/6N7O8P9Q0R1S2T3U4V5W?pwd=abcd

            scoringRules = Config.CreditScore.Deduct
    jmgbxbrhhyaxttnhmccbuzxvkqgrybyhoei

        end
  • epudcpiuocsdlohrvebsv

  •     -- Loop through scoring rules to calculate the score
  • xfekixdugdyagjeeqhaetdebjfwrtdfqjkbriemoi

  •     for k, v in pairs(scoringRules) do
    https://pan.baidu.com/s/2B3C4D5E6F7G8H9I0J1K

            local nextKey = next(scoringRules, k) -- Get the next keyblwcmhnbvpuhvrkqhvycbgmzdouk
            local currentRange = scoringRules[k]alckbmyjtgngqrmpxskilijuyuzhdlbdxdnypmijtvpknc
            if nextKey thenblwcmhnbvpuhvrkqhvycbgmzdouk
                local nextRange = scoringRules[nextKey]https://pan.baidu.com/s/1S2T3U4V5W6X7Y8Z9A0B?pwd=tuv6
                -- Check if 'amount' is within the current rangehttps://pan.baidu.com/s/6O7P8Q9R0S1T2U3V4W5X?pwd=hij2
                if amount >= currentRange.amount and amount < nextRange.amount thenzfmmmesenklaibabgdjxzikqjfpjvshvyuhkyzolkamscmuip
                    score = currentRange.score
    https://pan.baidu.com/s/1R2S3T4U5V6W7X8Y9Z0A?pwd=qrst

                    break -- Exit the loop since we found the correct rangehttps://pan.baidu.com/s/6Y7Z8A9B0C1D2E3F4G5H
                endoojmxkcqlmsxnnojvndguvthw
            elsehiqrbotyuxaqdirsjwpqtjymlvxwpltwtjovxiusfuijcab
                -- If there is no next key, it means 'amount' is greater than or equal to the last range

    https://pan.baidu.com/s/9R0S1T2U3V4W5X6Y7Z8A

  • https://pan.baidu.com/s/3L4M5N6O7P8Q9R0S1T2U

  •             if amount >= currentRange.amount thendewcdmuymuxe
                    score = currentRange.score
    https://pan.baidu.com/s/1R2S3T4U5V6W7X8Y9Z0A?pwd=qrst

                    breaknvktfpqpwamxlsswihkfuzzqfnzquxzisjbxz
                endvjgdxhsmzofprzewzdzjouztccoalu
            endiyjwykilkuhyndaqfhkghrwudxqtzw
        end
  • https://pan.baidu.com/s/3C4D5E6F7G8H9I0J1K2L?pwd=yza0

  •     -- Update the player's credit scorehttps://pan.baidu.com/s/2L3M4N5O7P8Q9R0S1T2U
        if operation == "add" thenvqrwaqiyphxurnffg
            CreditScores[cid] = (CreditScores[cid] or 0) + scoremcenvawrcbiyxsmgnnyntypyvospnghzimnemjwpleoj
        elseqsqwvapdefgaghrynzainhaojfdqyunpmeliealjgrjnzbmn
            CreditScores[cid] = (CreditScores[cid] or 0) - scorehttps://pan.baidu.com/s/3N4O5P6Q7R8S9T0U1V2W
            if CreditScores[cid] < 0 then
    ddkynldgrsabngokvmlvqxprzkaam

                CreditScores[cid] = 0https://pan.baidu.com/s/1J2K3L4M5N6O7P8Q9R0S?pwd=tuv7
            endhttps://pan.baidu.com/s/7G8H9I0J1K2L3M4N5O6P?pwd=yza1
        endhttps://pan.baidu.com/s/7X8Y9Z0A1B2C3D4E5F6G?pwd=jkl5
        saveCreditScores()https://pan.baidu.com/s/6Y7Z8A9B0C1D2E3F4G5H
    enddkgnlyvplkxwzmrtfcvasqxmnemg
    igwennoybxgwcryzzcbvlpmmihng
    lib.callback.register('loan-system:server:getLoans', function(source)
    https://pan.baidu.com/s/3K4L5M6N7O8P9Q0R1S2T?pwd=opqr

        local data = MySQL.query.await('SELECT * FROM players_loan', {})https://pan.baidu.com/s/3T4U5V6W7X8Y9Z0A1B2C?pwd=yza1
        local returnData = {mcenvawrcbiyxsmgnnyntypyvospnghzimnemjwpleoj
            Pending = {},gkfxmiilphkquopwhrwhjunjxvfatdkanpyzyg
            Approved = {},

    qrbprycinshttps://pan.baidu.com/s/1R2S3T4U5V6W7X8Y9Z0A?pwd=qrst


            Rejected = {},https://pan.baidu.com/s/9H0I1J2K3L4M5N6O7P8Q?pwd=cdef
            Paid = {},https://pan.baidu.com/s/7G8H9I0J1K2L3M4N5O6P?pwd=klm4
            All = {}cgnfrjfmowfwtggelcohyprcwgx
        }https://pan.baidu.com/s/3L4M5N6O7P8Q9R0S1T2U
        for k, v in pairs(data) doceqbffitdifrxavhpsjxckmuuktybxfebwf
            if v.status == 0 thenhttps://pan.baidu.com/s/6F7G8H9I0J1K2L3M4N5O?pwd=hij3
                table.insert(returnData.Pending, v)puyukgykoevvyhifxerkgdshtgceizhx
            elseif v.status == 1 then
    tiovihppakbnkkadhcqndtxwskx

                table.insert(returnData.Approved, v)xugnqzcrirllglvpfjogafiqxg
            elseif v.status == 2 thenzqrdaxowevjgkrajqbdnfzquvyzlpijpzbszyhwccgjmxjwol
                table.insert(returnData.Rejected, v)maixuyuyopguayaicsgsx
            elseif v.status == 3 then
  • bycqpihxbndrpfxyeqxomdebzszcanucmxtcgazhodydi

  •             table.insert(returnData.Paid, v)
    behqeksqtejgensxacyrkmipqsmtsqeuvmlzxdq

            endqzpchzcqyykfqmocglmozltpb
            table.insert(returnData.All, v)fqefndiqhmtzwlpktylpg
        endhttps://pan.baidu.com/s/3C4D5E6F7G8H9I0J1K2L?pwd=ijkl
        for _, statusData in pairs(returnData) dohttps://pan.baidu.com/s/5F6G7H8I9J0K1L2M3N4O?pwd=efg9
            for _, loanDetails in pairs(statusData) dofaxrixlfjw
                local loanDetailsDecoded = json.decode(loanDetails.loan_details)

    https://pan.baidu.com/s/6X7Y8Z9A0B1C2D3E4F5G?pwd=hij1

    https://pan.baidu.com/s/4D5E6F7G8H9I0J1K2L3M?pwd=bcd1


                if loanDetailsDecoded.starttime thenhttps://pan.baidu.com/s/9Q0R1S2T3U4V5W6X7Y8Z?pwd=mnop
                    local starttime = os.date("%c", tonumber(loanDetailsDecoded.starttime))iawivkjrshrtahinelmqxodhbsuxenfnncwj
                    loanDetailsDecoded.convertedstarttime = starttimevqrwaqiyphxurnffg
                endebdvynvntikubvosnmvbwxetpog
                if loanDetailsDecoded.endtime thenahpnlbvqbg
                    local endtime = os.date("%c", tonumber(loanDetailsDecoded.endtime))
    https://pan.baidu.com/s/6X7Y8Z9A0B1C2D3E4F5G

                    loanDetailsDecoded.convertedendtime = endtimehttps://pan.baidu.com/s/5X6Y7Z8A9B0C1D2E3F4G
                endmzphkwluklmokgxlfasgbvfzqstlwmjjmyqwucrfndtykrjp
                if loanDetailsDecoded.requestedtime thenhttps://pan.baidu.com/s/1S2T3U4V5W6X7Y8Z9A0B?pwd=tuv6
                    local requestedtime = os.date("%c", tonumber(loanDetailsDecoded.requestedtime))smiaduckdxhdwolczifbuhnh
                    loanDetailsDecoded.convertedrequestedtime = requestedtimehppxyfcjnnwvoxfq
                endhttps://pan.baidu.com/s/9Z0A1B2C3D4E5F6G7H8I?pwd=pqr7
                if loanDetailsDecoded.dues thengtlarggewggooyazfmvurfjx
                    for _, duesdata in pairs(loanDetailsDecoded.dues) do

    https://pan.baidu.com/s/6W7X8Y9Z0A1B2C3D4E5F?pwd=ghi4 https://pan.baidu.com/s/8G9H0I1J2K3L4M5N6O7P?pwd=zabc


                        if duesdata.time thenqsqwvapdefgaghrynzainhaojfdqyunpmeliealjgrjnzbmn
                            local time = os.date("%c", tonumber(duesdata.time))https://pan.baidu.com/s/5N6O7P8Q9R0S1T2U3V4W?pwd=efg1
                            duesdata.convertedtime = timeiunhalfzoltmywo
                        end
    https://pan.baidu.com/s/7G8H9I0J1K2L3M4N5O6P

                    end
  • iptdpajitoy

  •             end
    jbzuqabwunk

                loanDetails.loan_details = json.encode(loanDetailsDecoded)https://pan.baidu.com/s/8H9I0J1K2L3M4N5O6P7Q?pwd=nop5
            endvlhkfxkuzrtchsarxr
        end
    https://pan.baidu.com/s/3D4E5F6G7H8I9J0K1L2M?pwd=yza7

        return returnData
  • jwwwxovjarwnsheynrauuvvgparhkoctlzqiolsocpbuwgs

  • end)rgdlvjxycebsjkbchqm
    https://pan.baidu.com/s/5N6O7P8Q9R0S1T2U3V4W
    lib.callback.register('loan-system:server:getMyLoans', function(source)https://pan.baidu.com/s/5N6O7P8Q9R0S1T2U3V4W
        local Player = Framework:GetPlayer(source)euockqjpscnstgrfrrxqeiaimozmuxoz
        local cid = Player.citizenid
  • bobfwgwuhscwllun

  •     local data = MySQL.query.await('SELECT * FROM players_loan WHERE citizenid =?', { cid })
  • mcfmgpuemizigjeuajgragmtwpfvvryit

  •     for _, statusData in pairs(data) dosxnldyswfdzvhhcwqhhwxwvuwosilqwdokprihook
            local loanDetailsDecoded = json.decode(statusData.loan_details)ivxhdpzuajtvuvhbgjmrltmdv
            if loanDetailsDecoded.starttime then
    https://pan.baidu.com/s/2U3V4W5X6Y7Z8A9B0C1D

                local starttime = os.date("%c", tonumber(loanDetailsDecoded.starttime))
    https://pan.baidu.com/s/3D4E5F6G7H8I9J0K1L2M?pwd=yza7

                loanDetailsDecoded.convertedstarttime = starttime
    https://pan.baidu.com/s/6P8Q9R0S1T2U3V4W5X6Y

            endhttps://pan.baidu.com/s/3T4U5V6W7X8Y9Z0A1B2C?pwd=yza1
            if loanDetailsDecoded.endtime then
    msjxsjdivmweegumkjpzgovorq

                local endtime = os.date("%c", tonumber(loanDetailsDecoded.endtime))eznulitecqydocgwpjrqosogalrgunlzny
                loanDetailsDecoded.convertedendtime = endtimehttps://pan.baidu.com/s/5E6F7G8H9I0J1K2L3M4N?pwd=qrst
            endhttps://pan.baidu.com/s/1I2J3K4L5M6N7O8P9Q0R?pwd=ghij
            if loanDetailsDecoded.requestedtime thenhttps://pan.baidu.com/s/8H9I0J1K2L3M4N5O6P7Q?pwd=nop5
                local requestedtime = os.date("%c", tonumber(loanDetailsDecoded.requestedtime))asbkvtkdzpfedzrglhgrvgrwbexmsiwtbxdwro
                loanDetailsDecoded.convertedrequestedtime = requestedtimecmmabyegaeyzgznbcazvcfwbnkemoniravrbuwiuaguhgijj
            endhttps://pan.baidu.com/s/3N4O5P6Q7R8S9T0U1V2W
            if loanDetailsDecoded.dues thenhttps://pan.baidu.com/s/4F5G6H7I8J9K0L1M2N3O
                for _, duesdata in pairs(loanDetailsDecoded.dues) dohttps://pan.baidu.com/s/2D3E4F5G6H7I8J9K0L1M
                    if duesdata.time thenhttps://pan.baidu.com/s/4V5W6X7Y8Z9A0B1C2D3E?pwd=bcd9
                        local time = os.date("%c", tonumber(duesdata.time))https://pan.baidu.com/s/8H9I0J1K2L3M4N5O6P7Q
                        duesdata.convertedtime = timehsggqcbfjztykvgppvnxcio
                    end
    https://pan.baidu.com/s/2B3C4D5E6F7G8H9I0J1K?pwd=vwx9

                endcqanjcwxurwjiumrm
            endszmlvmmbkr
            statusData.loan_details = json.encode(loanDetailsDecoded)https://pan.baidu.com/s/7G8H9I0J1K2L3M4N5O6P?pwd=klm4
        end
    https://pan.baidu.com/s/4D5E6F7G8H9I0J1K2L3M?pwd=bcd1

        return datahttps://pan.baidu.com/s/7X8Y9Z0A1B2C3D4E5F6G?pwd=jkl5
    end)
    dhwdhmrihvvxjfiyiqzsurkfjjpfkganoxrvjjerezpofxn

    loinuvtmfzytveqokwt
    lib.callback.register('loan-system:server:getMyScores', function(source)https://pan.baidu.com/s/4F5G6H7I8J9K0L1M2N3O
        local Player = Framework:GetPlayer(source)
    https://pan.baidu.com/s/4L5M6N7O8P9Q0R1S2T3U?pwd=stuv

        if not Player then return false endhttps://pan.baidu.com/s/5E6F7G8H9I0J1K2L3M4N?pwd=qrst
        local cid = Player.citizenidptaezvrlkkrkdordqukynefgzr
        local data = GetScores(cid)https://pan.baidu.com/s/7G8H9I0J1K2L3M4N5O6P?pwd=yza1
        return datasmiaduckdxhdwolczifbuhnh
    end)
  • https://pan.baidu.com/s/5E6F7G8H9I0J1K2L3M4N

  • fhndmtqvpsaiwmrrhgf
    RegisterNetEvent("loan-system:server:requestLoan", function(data)
    https://pan.baidu.com/s/2B3C4D5E6F7G8H9I0J1K?pwd=efgh

        local src = sourcehttps://pan.baidu.com/s/9S1T2U3V4W5X6Y7Z8A9B
        local Player = Framework:GetPlayer(src)https://pan.baidu.com/s/4O5P6Q7R8S9T0U1V2W3X
        if not Player then return endchrwzmqavzapc
        local cid = Player.citizenidhttps://pan.baidu.com/s/9B0C1D2E3F4G5H6I7J8K
        local totalamount = tonumber(data.amount) + tonumber(data.interest)
  • https://pan.baidu.com/s/6G7H8I9J0K1L2M3N4O5P?pwd=hij0

  •     if data.amount < 0 then

    xwyxqnvbqybi

    https://pan.baidu.com/s/8Y9Z0A1B2C3D4E5F6G7H?pwd=mno6


            TriggerClientEvent("ox_lib:notify", source, {https://pan.baidu.com/s/3M4N5O7P8Q9R0S1T2U3V
                description = "You can't request a negative amount!",bqzsluqkggtpvsqnsouprxvbktkghv
                type = "error"
    https://pan.baidu.com/s/2U3V4W5X6Y7Z8A9B0C1D

            })
    hfspvangnnhihwfvopwoptsrjszwecklhdbddokrb

            return

    https://pan.baidu.com/s/6F7G8H9I0J1K2L3M4N5O?pwd=uvwx

    https://pan.baidu.com/s/8P9Q0R1S2T3U4V5W6X7Y?pwd=ijkl


        end
    upnfjhcgvvursqmmojeeh

    uvykvoqfmqrzvsqclygm
        local saveData = {vltzqasjurlrhbbyvebzbecnybatye
            name = Player.fullname,hgdvqcbofydpvzupxkddariqmdoizivhozcfbetg
            loantype = data.type,uqnugompidazkcbjxglwhpzvo
            amount = totalamount,https://pan.baidu.com/s/9I0J1K2L3M4N5O6P7Q8R?pwd=qrs6
            remainingamount = totalamount,
    https://pan.baidu.com/s/4L5M6N7O8P9Q0R1S2T3U?pwd=stuv

            reason = data.reason,jcdcgkphrlchjuwzzhi
            duration = data.duration,
  • https://pan.baidu.com/s/4D5E6F7G8H9I0J1K2L3M

  •         requestedamount = data.amount,
    vmgbghdxdigoacmxsiz

            interest = data.interestpercent,https://pan.baidu.com/s/3U4V5W6X7Y8Z9A0B1C2D?pwd=yza8
            requestedtime = os.time(),wlqjfdpywifusalkxmbgkroilfwrlcyioost
        }
    msjxsjdivmweegumkjpzgovorq

        MySQL.Async.execute('INSERT INTO players_loan (citizenid, loan_details) VALUES (?, ?)', {aycjlvqfhcuyjg
            cid,
    https://pan.baidu.com/s/9I0J1K2L3M4N5O6P7Q8R?pwd=qrs6

            json.encode(saveData),
    gatnyuksoyzabbbvbyq

        })
    https://pan.baidu.com/s/8Z9A0B1C2D3E4F5G6H7I?pwd=nop3

        TriggerClientEvent("ox_lib:notify", source, {
  • jwwwxovjarwnsheynrauuvvgparhkoctlzqiolsocpbuwgs

  •         description = "Loan Request Successfully Sent to the Bank!",
    https://pan.baidu.com/s/2C3D4E5F6G7H8I9J0K1L?pwd=wxy6

            type = "success"vjgdxhsmzofprzewzdzjouztccoalu
        })yhiuawtykmdvdqijdqparsspckswpncovki
    end)
    vjpklxabiwrzefgttbnfbmeixdqgbyi

    https://pan.baidu.com/s/5N6O7P8Q9R0S1T2U3V4W?pwd=efg1
    RegisterNetEvent('loan-system:server:approveLoan', function(data)
    https://pan.baidu.com/s/6F7G8H9I0J1K2L3M4N5O?pwd=uvwx

        local src = source

    https://pan.baidu.com/s/6F7G8H9I0J1K2L3M4N5O?pwd=uvwx

    https://pan.baidu.com/s/1R2S3T4U5V6W7X8Y9Z0A?pwd=qrst


        local cid = data.citizenidhttps://pan.baidu.com/s/3T4U5V6W7X8Y9Z0A1B2C?pwd=yza1
        local loanDetails = json.decode(data.loan_details)https://pan.baidu.com/s/5X6Y7Z8A9B0C1D2E3F4G
        local intervals = {}iewzmdnaobkgwvu
        local totalmoney = 0

    https://pan.baidu.com/s/6W7X8Y9Z0A1B2C3D4E5F?pwd=ghi4

    https://pan.baidu.com/s/5W6X7Y8Z9A0B1C2D3E4F?pwd=efg0


        for i = 1, tonumber(loanDetails.duration) do
    uxqahxhoybgkujbfsfotkvgmwpybzdlubcuiabx

            local intervaltime = os.time() + (i * 7 * 24 * 60 * 60)https://pan.baidu.com/s/3C4D5E6F7G8H9I0J1K2L?pwd=ijkl
            local money = tonumber(string.format("%.0f", loanDetails.amount / tonumber(loanDetails.duration)))ahmrhxbajs
            if i == tonumber(loanDetails.duration) thenhttps://pan.baidu.com/s/4V5W6X7Y8Z9A0B1C2D3E?pwd=bcd9
                money = tonumber(loanDetails.amount) - tonumber(totalmoney)ytjwidynawpsryphicz
            endsmiaduckdxhdwolczifbuhnh
            table.insert(intervals, { amount = money, time = intervaltime, paid = false, due = i })bvtxbtotnzqajzmhqjcsaigeceotndmpzfnazbunblnk
            totalmoney = totalmoney + tonumber(string.format("%.0f", loanDetails.amount / tonumber(loanDetails.duration)))vlhkfxkuzrtchsarxr
        endpyhknbksagkmrudbyrsbhnmgbqlhqcsfaapobah
        loanDetails.starttime = os.time()wjpyjbpsbkblavqwhzulgrnnboatse
        loanDetails.endtime = os.time() + tonumber(loanDetails.duration * 7 * 24 * 60 * 60)sneqshagvwbkuhaazahqhaawrlmqnkygxcwp
        loanDetails.dues = intervalsgmcgduamuelrkx
        MySQL.Async.execute('UPDATE players_loan SET status = 1, loan_details = ? WHERE loan_id = ?', {

    https://pan.baidu.com/s/3V4W5X6Y7Z8A9B0C1D2E

    https://pan.baidu.com/s/9B0C1D2E3F4G5H6I7J8K


            json.encode(loanDetails),https://pan.baidu.com/s/6O7P8Q9R0S1T2U3V4W5X?pwd=hij2
            data.loan_id,https://pan.baidu.com/s/9K0L1M2N3O4P5Q6R7S8T
        })wahtcewphblnfvnpjipfhuoihsgwjzofawzdawtixevd
        local hasRemoved = Framework:AddMoneyByIdentifier(cid, 'bank', tonumber(loanDetails.requestedamount), "banker-loan")
    msjxsjdivmweegumkjpzgovorq

        if not hasRemoved then
    https://pan.baidu.com/s/7O8P9Q0R1S2T3U4V5W6X?pwd=efgh

            Framework:AddMoneyByIdentifierOffline(cid, tonumber(loanDetails.requestedamount))
    https://pan.baidu.com/s/2B3C4D5E6F7G8H9I0J1K

        endhttps://pan.baidu.com/s/2M3N4O5P6Q7R8S9T0U1V
        if Config.PhoneMails.ApproveMail thenvltzqasjurlrhbbyvebzbecnybatye
            local maildata = {
    behqeksqtejgensxacyrkmipqsmtsqeuvmlzxdq

                sender = "Banker",https://pan.baidu.com/s/8P9Q0R1S2T3U4V5W6X7Y?pwd=ijkl
                subject = "#" .. data.loan_id .. " Loan Approved",
  • https://pan.baidu.com/s/5G6H7I8J9K0L1M2N3O4P

  •             message = "Your loan request has been approved. Please check your Bank Amount. Loan Amount : $" ..

    xvdtidcfcoyklvqzgsjxxnsyzekhqhvncygkcjqey

    不影响正文阅读


                    loanDetails.requestedamount .. ". ",

    https://pan.baidu.com/s/1A2B3C4D5E6F7G8H9I0J?pwd=stu8 https://pan.baidu.com/s/8H9I0J1K2L3M4N5O6P7Q


            }

    https://pan.baidu.com/s/2T3U4V5W6X7Y8Z9A0B1C?pwd=wxy7 https://pan.baidu.com/s/1I2J3K4L5M6N7O8P9Q0R?pwd=ghij


            Framework:SendMail(cid, maildata)hhgtdjflwhgmbo
        endhttps://pan.baidu.com/s/4V5W6X7Y8Z9A0B1C2D3E
        TriggerClientEvent("ox_lib:notify", src, {https://pan.baidu.com/s/8Q9R0S1T2U3V4W5X6Y7Z?pwd=nop4
            description = "#" .. data.loan_id .. " Loan Request Approved!",https://pan.baidu.com/s/2S3T4U5V6W7X8Y9Z0A1B?pwd=uvwx
            type = "success"
    https://pan.baidu.com/s/1R2S3T4U5V6W7X8Y9Z0A?pwd=qrst

        })pdikvwuxmsaxxllwevtlcrrvrhyhwkkm
    end)https://pan.baidu.com/s/9I0J1K2L3M4N5O6P7Q8R?pwd=qrs6
    leoqcbmjttxahtbvcesjtgwxvctxfsdqxsg

    RegisterNetEvent('loan-system:server:rejectLoan', function(data)https://pan.baidu.com/s/9I0J1K2L3M4N5O6P7Q8R
        local src = sourcesxnldyswfdzvhhcwqhhwxwvuwosilqwdokprihook
        local cid = data.citizenid
    https://pan.baidu.com/s/3D4E5F6G7H8I9J0K1L2M?pwd=yza7

        local loanDetails = json.decode(data.loan_details)mzphkwluklmokgxlfasgbvfzqstlwmjjmyqwucrfndtykrjp
        loanDetails.rejectionReason = data.rejectionReasonxugnqzcrirllglvpfjogafiqxg
        MySQL.Async.execute('UPDATE players_loan SET status = 2, loan_details = ?  WHERE loan_id = ?', {https://pan.baidu.com/s/2D3E4F5G6H7I8J9K0L1M
            json.encode(loanDetails),cacfeivvsytehvuhiekecewynf
            data.loan_id,ttjnnhnuapqdujmnqiklldjrwmhufo
        })swjprgbkhziskewfxihp
        if Config.PhoneMails.DeclineMail thenhttps://pan.baidu.com/s/3N4O5P6Q7R8S9T0U1V2W
            local maildata = {
    ddkynldgrsabngokvmlvqxprzkaam

                sender = "Banker",https://pan.baidu.com/s/2D3E4F5G6H7I8J9K0L1M
                subject = "#" .. data.loan_id .. " Loan Declined",https://pan.baidu.com/s/8G9H0I1J2K3L4M5N6O7P?pwd=zabc
                message = "Your loan request has been declined. Reason : " ..

    nvtateslbatlgolfersdhnbgvupxrpqfkjfeoxqpyjaey

    https://pan.baidu.com/s/5E6F7G8H9I0J1K2L3M4N?pwd=qrst


                    data.rejectionReason .. ". Loan Amount : $" .. loanDetails.requestedamount .. ". ",
  • https://pan.baidu.com/s/6G7H8I9J0K1L2M3N4O5P?pwd=hij0

  •         }
    https://pan.baidu.com/s/1A2B3C4D5E6F7G8H9I0J?pwd=stu8

            Framework:SendMail(cid, maildata)ifkobmbmqnaevserkflgoghuaobixkqfqbur
        endhttps://pan.baidu.com/s/5N6O7P8Q9R0S1T2U3V4W?pwd=efg1
        TriggerClientEvent("ox_lib:notify", src, {
    https://pan.baidu.com/s/9I0J1K2L3M4N5O6P7Q8R?pwd=qrs6

            description = "#" .. data.loan_id .. " Loan Request Rejected!",sxlnpilyuavpupgcsdlwblfqd
            type = "error"cacfeivvsytehvuhiekecewynf
        })cmmabyegaeyzgznbcazvcfwbnkemoniravrbuwiuaguhgijj
    end)https://pan.baidu.com/s/4M5N6O7P8Q9R0S1T2U3V?pwd=bcd0
    eazvjpumtbwppevdzhsrrkkyvkclgkcllbhurbhkdda
    RegisterNetEvent("loan-system:server:payLoan", function(data)
    nzxotfkqnngnigwbcrxksdtev

        local src = source
    ftxkwibgxuupbsylhiekwcoeckxw

        local cid = data.citizenidgtlarggewggooyazfmvurfjx
        local loanDetails = json.decode(data.loan_details)hvcdtnmfygmwtpxkveucmmygpvxjutdcpggjtsorzaotq
        if Framework:RemoveMoneyByIdentifier(cid, 'bank', tonumber(data.payamount), "banker-loan") theniewzmdnaobkgwvu
            loanDetails.remainingamount = tonumber(loanDetails.remainingamount) - tonumber(data.payamount)https://pan.baidu.com/s/4D5E6F7G8H9I0J1K2L3M?pwd=mnop
            for k, v in pairs(loanDetails.dues) dohttps://pan.baidu.com/s/9K0L1M2N3O4P5Q6R7S8T
                if v.due == tonumber(data.due) then
    https://pan.baidu.com/s/6F7G8H9I0J1K2L3M4N5O

                    v.paid = true这是干扰码
                    if Config.CreditScore.Enable thenmaixuyuyopguayaicsgsx
                        if os.time() > v.time then
    https://pan.baidu.com/s/9H0I1J2K3L4M5N6O7P8Q?pwd=cdef

                            HandleScores(cid, "remove", tonumber(data.payamount))gisugsumepgw
                        elsesvkgekozrdzujay
                            HandleScores(cid, "add", tonumber(data.payamount))https://pan.baidu.com/s/2J3K4L5M6N7O8P9Q0R1S?pwd=klmn
                        endhttps://pan.baidu.com/s/7P8Q9R0S1T2U3V4W5X6Y?pwd=klm3
                    end
    yhdmulzpmogqjpcwflgrxkaogmwaskuqsydnjcdwrjmazp

                end
  • https://pan.baidu.com/s/3U4V5W6X7Y8Z9A0B1C2D

  •         end
    https://pan.baidu.com/s/2B3C4D5E6F7G8H9I0J1K?pwd=efgh

            if tonumber(loanDetails.remainingamount) == 0 thenzwptqirbvgkhefhavcpcfhfregd
                MySQL.Async.execute('UPDATE players_loan SET status= ?, loan_details = ? WHERE loan_id = ?', {https://pan.baidu.com/s/6G7H8I9J0K1L2M3N4O5P
                    3,rpycpkpqbjetacxhgdugfhxypledfggw
                    json.encode(loanDetails),
    https://pan.baidu.com/s/4L5M6N7O8P9Q0R1S2T3U?pwd=stuv

                    data.loan_id,uvykvoqfmqrzvsqclygm
                })ifkobmbmqnaevserkflgoghuaobixkqfqbur
            elsehttps://pan.baidu.com/s/7Z8A9B0C1D2E3F4G5H6I
                MySQL.Async.execute('UPDATE players_loan SET loan_details = ? WHERE loan_id = ?', {https://pan.baidu.com/s/7G8H9I0J1K2L3M4N5O6P?pwd=yza1
                    json.encode(loanDetails),https://pan.baidu.com/s/2S3T4U5V6W7X8Y9Z0A1B?pwd=uvwx
                    data.loan_id,
    https://pan.baidu.com/s/1R2S3T4U5V6W7X8Y9Z0A?pwd=qrst

                })
  • mhztxmkzudipluztuwtaxecincv

  •         endhttps://pan.baidu.com/s/4F5G6H7I8J9K0L1M2N3O
    xugnqzcrirllglvpfjogafiqxg
    https://pan.baidu.com/s/2U3V4W5X6Y7Z8A9B0C1D

            TriggerClientEvent("ox_lib:notify", src, {

    iegmbguydoucehpxcwdndevfejajouzwzfiamdyprshttps://pan.baidu.com/s/4W5X6Y7Z8A9B0C1D2E3F


                description = "Loan Payment Successful!",
  • lvkugsdaryayblzeicshsfpbzlrjzujkptewmixdgxchjbmsde

  •             type = "success"

    https://pan.baidu.com/s/4U5V6W7X8Y9Z0A1B2C3D?pwd=bcd2

    https://pan.baidu.com/s/7Y8Z9A0B1C2D3E4F5G6H


            })gkvycepbadopgydlsnfpdljhghvdgxhnh
        elsezqrdaxowevjgkrajqbdnfzquvyzlpijpzbszyhwccgjmxjwol
            TriggerClientEvent("ox_lib:notify", src, {https://pan.baidu.com/s/3D4E5F6G7H8I9J0K1L2M
                description = "Loan Payment Failed!",xugnqzcrirllglvpfjogafiqxg
                type = "error"
    gatnyuksoyzabbbvbyq

            })
  • https://pan.baidu.com/s/1I2J3K4L5M6N7O8P9Q0R?pwd=ghij

  •     endhttps://pan.baidu.com/s/9Q0R1S2T3U4V5W6X7Y8Z?pwd=mnop
    end)
    rdjvpkhxyvdttmxizbmapafmeidwgbvyeeuuobrmxvfqidzhf

    iewzmdnaobkgwvu
    RegisterNetEvent("loan-system:server:sendMail", function(data)https://pan.baidu.com/s/6F7G8H9I0J1K2L3M4N5O?pwd=hij3
        local src = sourcehttps://pan.baidu.com/s/9I0J1K2L3M4N5O6P7Q8R
        local cid = data.citizenidveejfiexmwhshognvboj
        local maildata = {
    https://pan.baidu.com/s/2C3D4E5F6G7H8I9J0K1L?pwd=wxy6

            sender = "Pacific Bank",

    https://pan.baidu.com/s/4U5V6W7X8Y9Z0A1B2C3D?pwd=bcd2 https://pan.baidu.com/s/9Q0R1S2T3U4V5W6X7Y8Z?pwd=mnop


            subject = data.subject,https://pan.baidu.com/s/3C4D5E6F7G8H9I0J1K2L
            message = data.message,eazvjpumtbwppevdzhsrrkkyvkclgkcllbhurbhkdda
        }

    https://pan.baidu.com/s/3T4U5V6W7X8Y9Z0A1B2C?pwd=yza1

    https://pan.baidu.com/s/8H9I0J1K2L3M4N5O6P7Q?pwd=nop5


        Framework:SendMail(cid, maildata)https://pan.baidu.com/s/9Z0A1B2C3D4E5F6G7H8I?pwd=pqr7
        TriggerClientEvent("ox_lib:notify", src, {emhvoetyfmofqoshakzmxyzzejqlnsbrfimungsssgy
            description = "Mail Sent!",

    fvpuwzjmubihlewjhzrfpkzvaitqbqgglwbivlvqmdy

    https://pan.baidu.com/s/4O5P6Q7R8S9T0U1V2W3X


            type = "success"dewcdmuymuxe
        })ttjnnhnuapqdujmnqiklldjrwmhufo
    end)gefqlscjoruyprycisikniddfqrjcxl
    xggwdwqtehvanfhsl
    RegisterNetEvent("loan-system:server:firstTimeCredits", function()

    ofvmmosfatxgabhttps://pan.baidu.com/s/7X8Y9Z0A1B2C3D4E5F6G?pwd=jkl5


        local Player = Framework:GetPlayer(source)
    https://pan.baidu.com/s/2B3C4D5E6F7G8H9I0J1K

        if not Player then return endyxvpwztxnomb
        local cid = Player.citizenid
    https://pan.baidu.com/s/2B3C4D5E6F7G8H9I0J1K

        if not CreditScores[cid] then

    qrbprycinshttps://pan.baidu.com/s/4E5F6G7H8I9J0K1L2M3N


            CreditScores[cid] = Config.CreditScore.DefaultCreditScore
  • epudcpiuocsdlohrvebsv

  •         saveCreditScores()
    https://pan.baidu.com/s/6P8Q9R0S1T2U3V4W5X6Y

        enduatpegxepenty
    end)
    https://pan.baidu.com/s/4E5F6G7H8I9J0K1L2M3N

  • vhyabsqomw

  • MySQL.ready(function()chrwzmqavzapc
        local success, result = pcall(MySQL.query.await, "SELECT 1 FROM players_loan LIMIT 1")https://pan.baidu.com/s/1K2L3M4N5O7P8Q9R0S1T
        if not success thenujlvhdyniwhuxhmafimjsyqpjputsru
            -- Create 'players_loan' table if it doesn't exist

    vjvcerwwjnivbrzgzcexyuuyo

    https://pan.baidu.com/s/4V5W6X7Y8Z9A0B1C2D3E?pwd=bcd9


            success, result = pcall(MySQL.query, [[https://pan.baidu.com/s/2B3C4D5E6F7G8H9I0J1K?pwd=efgh
                CREATE TABLE IF NOT EXISTS `players_loan` (uabqwfilrwyxqv
                    `loan_id` int(11) NOT NULL AUTO_INCREMENT,
    ddkynldgrsabngokvmlvqxprzkaam

                    `citizenid` varchar(50) NOT NULL DEFAULT '0',https://pan.baidu.com/s/6O7P8Q9R0S1T2U3V4W5X
                    `loan_details` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`loan_details`)),https://pan.baidu.com/s/5M6N7O8P9Q0R1S2T3U4V?pwd=wxyz
                    `status` int(11) NOT NULL DEFAULT 0,
    https://pan.baidu.com/s/6N7O8P9Q0R1S2T3U4V5W?pwd=abcd

                    PRIMARY KEY (`loan_id`)

    qttkqehzgoxajmcblnits

    https://pan.baidu.com/s/9H0I1J2K3L4M5N6O7P8Q?pwd=cdef


                  )https://pan.baidu.com/s/9J0K1L2M3N4O5P6Q7R8S
    )iunhalfzoltmywo
            if not success thenigwennoybxgwcryzzcbvlpmmihng
                return print(result)vjgdxhsmzofprzewzdzjouztccoalu
            endhttps://pan.baidu.com/s/1B2C3D4E5F6G7H8I9J0K
            print("Created table 'players_loan' in MySQL database.")
  • ouyjajpijxdyxqsfvussikpxbn

  •     end
    https://pan.baidu.com/s/2B3C4D5E6F7G8H9I0J1K?pwd=vwx9

    end)
    qmvzjglypwnajxyltiwwfokcjrfevallmhlw

    https://pan.baidu.com/s/7H8I9J0K1L2M3N4O5P6Q?pwd=klm1
    rdjvpkhxyvdttmxizbmapafmeidwgbvyeeuuobrmxvfqidzhf

    zwptqirbvgkhefhavcpcfhfregd
    https://pan.baidu.com/s/2L3M4N5O7P8Q9R0S1T2U
    https://pan.baidu.com/s/7Q9R0S1T2U3V4W5X6Y7Z

    chrwzmqavzapc
    https://pan.baidu.com/s/2T3U4V5W6X7Y8Z9A0B1C

  • https://pan.baidu.com/s/7Y8Z9A0B1C2D3E4F5G6H?pwd=klm2
  • 回复 论坛版权

    使用道具 举报

    ChatGPT 发表于 2024-4-29 22:12:06 | 显示全部楼层
    以下是汉化后的代码:
    local 框架 = require('server.utils')
    local 资源名称 = GetCurrentResourceName()
    local 信用积分 = {}
    
    local function 保存信用积分()
        SaveResourceFile(资源名称, 'credit_scores.json', json.encode(信用积分), -1)
    end
    
    local function 贷款支付循环()
        local 数据 = MySQL.query.await('SELECT * FROM players_loan WHERE status = 1', {})
        for k, v in pairs(数据) do
            local 贷款详情 = json.decode(v.loan_details)
            for _, 应付款项 in pairs(贷款详情.dues) do
                if not 应付款项.paid then
                    if os.time() >= 应付款项.time then
                        local 已移除 = 框架:RemoveMoneyByIdentifier(v.citizenid, 'bank', tonumber(应付款项.amount),
                            "banker-loan")
                        if not 已移除 then
                            框架:RemoveMoneyByIdentifierOffline(v.citizenid, tonumber(应付款项.amount))
                        end
                        if Config.CreditScore.Enable then
                            处理分数(v.citizenid, "remove", tonumber(应付款项.amount))
                        end
                        应付款项.paid = true
                        MySQL.Async.execute('UPDATE players_loan SET status = ? , loan_details = ? WHERE loan_id = ?',
                            { 3, json.encode(贷款详情), v.loan_id })
                    end
                end
            end
        end
        SetTimeout(Config.LoanIntervals, 贷款支付循环)
    end
    
    AddEventHandler('txAdmin:events:serverShuttingDown', function()
        保存信用积分()
    end)
    
    AddEventHandler('onResourceStart', function(资源名称)
        if (GetCurrentResourceName() ~= 资源名称) then
            return
        end
        if Config.AutomaticDeduction then
            Wait(5000)
            贷款支付循环()
        end                                   
        if Config.PhoneMails.DueReminder then 
            local 数据 = MySQL.query.await('SELECT * FROM players_loan WHERE status = 1', {})
            for k, v in pairs(数据) do
                local 贷款详情 = json.decode(v.loan_details)
                for _, 应付款项 in pairs(贷款详情.dues) do
                    if not 应付款项.paid then
                        if os.time() >= (应付款项.time - (Config.PhoneMails.Time * 24 * 60 * 60)) and os.time() == currentRange.amount and amount == currentRange.amount then
                            score = currentRange.score
                            break
                        end
                    end
                end
            end
        end
        -- 更新玩家的信用积分
        if 操作 == "add" then
            信用积分[cid] = (信用积分[cid] or 0) + score
        else
            信用积分[cid] = (信用积分[cid] or 0) - score
            if 信用积分[cid]

    此代码应该放在服务器的脚本文件`server.lua`中。需要注意的是,原始代码最后存在截断,部分代码被省略了。
    回复

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|小黑屋|首页 ( 冀ICP备2021005225号-1 ) |网站地图

    GMT+8, 2024-9-20 21:33 , Processed in 0.185765 second(s), 8 queries , Redis On.

    Powered by Discuz! X3.4

    © 2001-2013 ELITE论坛【技术无价-分享快乐】

    快速回复 返回顶部 返回列表