GFX 高级送货工作

GFX 高级送货工作

Config             = {}
Config.SQLScript   = "oxmysql" -- oxmysql or ghmattimysql or mysql-async

Config.InteractionKey = 38 -- https://docs.fivem.net/docs/game-references/controls/ 38 = E

Config.Target = "qb-target" -- "qb-target", "ox-target", "drawtext"

Config.ProfilePhotoType = "steam" -- "discord", "steam", "none" --if you use steam profile photo, must be STEAM WEBAPI key in server.cfg

Config.DiscordToken = "" -- Your Discord Bot Token if you use Discord Profile Photo

Config.NoImage = "assets/delivery-user.png" -- default image for profile photo
--==========================================================================================================================================
-- ======================================================PRODUCED BY GFX==================================================================
--==========================================================================================================================================
Config.Npc         = {
    {
        pos = vector3(132.69, 96.06, 82.51),
        heading = 150.92,
        model = "S_M_M_Postal_02",
        label = "Delivery Job",
        anim = {
            animLib = "amb@world_human_clipboard@male@idle_a",
            animName = "idle_a",
            prop = "prop_cs_tablet",
            bone = 60309,
            proppos = {x=0.0, y=0.0,z=0.0, xRot=0.0, yRot=-90.0, zRot=0.0},
        },
        blipSprite = 616, --https://docs.fivem.net/docs/game-references/blips/
        blipColor = 0,
        blipName = "Delivery Job",
        blipShortRange = true,
        carLoadCoord = vector3(120.01, 99.51, 81.08),
        DeliveryCar = {
            model = "boxville2",
            coords = vector3(111.57, 99.42, 80.46),
            heading =  103.55,
            plate = "GFX",
            fuel = 100,
        },
    },
    {
        pos = vector3(-422.84, 6134.78, 30.88),
        heading = 170.76,
        model = "S_M_M_UPS_02",
        label = "Delivery Job",
        anim = {
            animLib = "amb@world_human_clipboard@male@idle_a",
            animName = "idle_a",
            prop = "prop_cs_tablet",
            bone = 60309,
            proppos = {x=0.0, y=0.0,z=0.0, xRot=0.0, yRot=-90.0, zRot=0.0},
        },
        blipSprite = 616,
        blipColor = 0,
        blipName = "Delivery Job",
        blipShortRange = true,
        carLoadCoord = vector3(-425.59, 6134.81, 31.48),
        DeliveryCar = {
            model = "boxville4",
            coords = vector3(-432.22, 6135.85, 31.48),
            heading = 219.66,
            plate = "GFX",
            fuel = 100,
        },
    },
}

Config.DepositMoney = 1000

Config.DeliveryTime = 3000 -- milisecond

Config.DeliveryPackages = {
    Basic = {
        model = {"prop_cs_cardbox_01", "v_ind_meatboxsml", "prop_big_bag_01", "prop_security_case_01", "prop_acc_guitar_01"},
        propPos = {0.0,0.0,0.0,0.0,0.0,0.0},
        bone = 28422,
    },
    Advanced = {
        model = {"v_res_m_dinechair","v_ret_chair_white","prop_exercisebike","prop_exer_bike_01"},
        propPos = {0.0,0.0,0.0,0.0,0.0,0.0},
        bone = 28422,
    },
    Illegal = {
        model = {"bkr_prop_weed_bigbag_03a","hei_prop_heist_weed_block_01","bkr_prop_coke_doll_bigbox", "prop_gun_case_02", "prop_minigun_01","sf_prop_sf_weed_med_01a"},
        propPos = {0.0,0.0,0.0,0.0,0.0,0.0},
        bone = 28422,
    },
}

Config.Level  = {
    deliveryPoint = 1,  -- point for each delivery
    secondLevel = 50,   -- needed point for second level
    thirdLevel = 100,    -- needed point for third level
    abandonJobTime = 120, -- seconds for auto abandon job
    abandonJobPenalty = 5, -- penalty point for abandon job
}

Config.Money ={
    Basic = 1, -- money multiplier for basic package
    Advanced = 1.5, -- money multiplier for advanced package
    Illegal = 2, -- money multiplier for illegal package
    minContractUserCount = 2, -- min number of uses of the contract
    maxContractUserCount = 5, -- max number of uses of the contract
    creatableMaxContract = 1, -- max number of contracts a player can create
    contractMoney = 150,      -- contract revenue per use
    moneyPerPackage = 100,    -- money for each package
    contractUserIncomePercent = 0.25, -- income percent for each user
    contractOwnerIncomePercent = 0.4, -- income percent for contract owner
}

Config.DeliveryDestinations = {
    blipSprite = 501, --https://docs.fivem.net/docs/game-references/blips/
    blipColor = 26,
    blipName = "Delivery Point",
    Zones = {
        DownTown = {
            vector3(0.97, 31.42, 71.07),
            vector3(256.31, -380.62, 44.68),
            vector3(127.68, -409.79, 41.06),
            vector3(-966.51, -400.99, 37.68),
            vector3(-1145.42, -231.21, 37.86),
            vector3(-1288.3, -647.78, 26.61),
            vector3(-1504.96, -679.78, 28.0),
            vector3(-1892.61, -360.38, 49.1),
            vector3(-1860.16, -390.46, 46.92),
            vector3(-1619.1, 57.26, 61.76),
            vector3(-1068.66, 316.93, 65.77),
            vector3(-947.11, 438.16, 79.94),
            vector3(-762.76, 666.78, 143.85),
            vector3(357.59, -126.29, 66.03),
            vector3(413.44, -806.74, 29.31),
            vector3(320.87, -1064.12, 29.43),
            vector3(-45.4, -1080.28, 26.69),
            vector3(-290.61, -1334.29, 31.15),
            vector3(-174.82, -1417.95, 31.23),
            vector3(-61.26, -1754.12, 29.23),
            vector3(88.34, -1386.24, 29.28)
        },
        SandyShores = {
            vector3(1758.08, 3296.35, 41.14),
            vector3(1782.03, 3328.18, 41.26),
            vector3(1698.84, 3583.86, 35.52),
            vector3(1844.71, 3667.39, 33.73),
            vector3(1933.59, 3720.31, 32.87),
            vector3(1969.72, 3737.49, 32.23),
            vector3(2008.29, 3779.36, 32.18),
            vector3(1544.4, 3776.81, 34.05),
            vector3(1397.64, 3595.45, 34.91),
            vector3(912.31, 3640.51, 32.38),
            vector3(66.79, 3634.4, 39.54),
            vector3(263.44, 2849.17, 43.59),
            vector3(212.77, 2467.44, 55.69),
            vector3(610.48, 2739.65, 41.89),
            vector3(586.45, 2790.74, 42.17),
            vector3(2546.69, 2615.68, 37.94),
            vector3(2759.3, 3469.06, 55.7),
            vector3(2860.77, 4416.17, 49.06),
            vector3(2552.59, 4672.81, 33.95),
            vector3(2411.53, 4989.11, 46.25),
            vector3(1698.36, 4940.4, 42.08)
        },
        PaletoBay = {
            vector3(425.89, 6539.94, 27.73),
            vector3(415.8, 6478.0, 28.81),
            vector3(168.33, 6622.29, 31.8),
            vector3(46.7, 6598.8, 31.79),
            vector3(-35.1, 6413.81, 31.49),
            vector3(-49.85, 6526.49, 31.49),
            vector3(-96.08, 6423.43, 31.45),
            vector3(-110.37, 6448.23, 31.4),
            vector3(-167.68, 6454.18, 31.48),
            vector3(-208.99, 6344.03, 31.47),
            vector3(-251.25, 6206.7, 31.49),
            vector3(-321.64, 6261.62, 31.36),
            vector3(-434.35, 6207.32, 29.69),
            vector3(-423.2, 6126.58, 31.42),
            vector3(-376.07, 6137.2, 31.36),
            vector3(-432.82, 6043.86, 31.3),
            vector3(-335.13, 6068.66, 31.2),
            vector3(-278.88, 6065.02, 31.49),
            vector3(-75.91, 6277.18, 31.44),
            vector3(-198.76, 6307.77, 31.49),
            vector3(110.32, 6381.38, 31.23) 
        },
    },
}

Config.NotifyTexts = {
 
    abandonJob = "İşi terk ettiniz!, %s puan kaybettiniz!",
    carLoad = " %s / %s",
    loadCar = "Basın [~g~E~w~] Paketleri Alın!",
    deliveryFinish = "Tüm paketleri teslim ettiniz!",
    giveBackVehicle = "Aracı geri verdiniz!",
    delivering = "Bir paket teslim ettiniz!",
    delivered = "Bir paket teslim ettiniz!",
    deleteCar = "Arabayı bırakmak için [~g~E~w~] tuşuna basın",
    youHaveJobAlready = "Zaten bir işiniz var!",
    startjob = "İşi başlatmak için [~g~E~w~] tuşuna basın",
    gainMoney = "$%s kazandınız!",
    gainOwner = "$%s kazandınız, bir vatandaş sözleşmenizi kullandı!",
    cardropoff = "Araba Bırakma",
    youReachMaxContract = "Maksimum sözleşme sayısına ulaştınız!",
    contractDoesntExis = "Mevcut sözleşme yok",
    youHaventGotDepositMoney = "Depozito tutarınız yok!",
    youPaidDeposit = "Depozito ödediniz, aracı iade ettiğinizde depozitoyu geri alabilirsiniz."
}

 
 
function SetFuel(vehicle, fuel)
    if GetResourceState('LegacyFuel') == 'started' then
        exports['LegacyFuel']:SetFuel(vehicle, fuel)
    elseif GetResourceState('ox_fuel') == 'started' then
        Entity(vehicle).state.fuel = fuel
    end
end

function Notify(text , type, length)
    -- you can change this function for your framework notification function
    if QBCore ~= nil then
        type = type ~= nil and type or "primary"
        length = length ~= nil and length or 5000
        QBCore.Functions.Notify(text, type, length)
    elseif ESX ~= nil then
        type = type ~= nil and type or "info"
        length = length ~= nil and length or 5000
        ESX.ShowNotification(text , type, length)
    end
end

function CreateBlipEntity(entity, sprite, color, text, isShortRange, blipSize)
    isShortRange = isShortRange ~= nil and isShortRange or true
    blipSize = blipSize ~= nil and blipSize or 1.0
    local blip = AddBlipForEntity(entity)
    SetBlipAsShortRange(blip, isShortRange)
    SetBlipSprite(blip, sprite)
    SetBlipColour(blip, color)
    SetBlipScale(blip, blipSize)
    BeginTextCommandSetBlipName("STRING")
    AddTextComponentString(text)
    EndTextCommandSetBlipName(blip)
    return blip
end

function CreateBlipCoords(coordx, coordy, coordz, sprite, color, text, isShortRange, blipSize)
    isShortRange = isShortRange ~= nil and isShortRange or true
    blipSize = blipSize ~= nil and blipSize or 1.0
    local blip = AddBlipForCoord(coordx, coordy, coordz)
    SetBlipAsShortRange(blip, isShortRange)
    SetBlipSprite(blip, sprite)
    SetBlipColour(blip, color)
    SetBlipRoute(blip, true)
    SetBlipScale(blip, blipSize)
    SetBlipRouteColour(blip, color)
    BeginTextCommandSetBlipName("STRING")
    AddTextComponentString(text)
    EndTextCommandSetBlipName(blip)
    return blip
end

function DrawText3D(x, y, z, scl_factor, text)
    local onScreen, _x, _y = World3dToScreen2d(x, y, z)
    local p = GetGameplayCamCoords()
    local distance = GetDistanceBetweenCoords(p.x, p.y, p.z, x, y, z, 1)
    local scale = (1 / distance) * 2
    local fov = (1 / GetGameplayCamFov()) * 100
    local scale = scale * fov * scl_factor
    if onScreen then
        SetTextScale(0.0, scale)
        SetTextFont(0)
        SetTextProportional(1)
        SetTextColour(255, 255, 255, 215)
        SetTextDropshadow(0, 0, 0, 0, 255)
        SetTextEdge(2, 0, 0, 0, 150)
        SetTextDropShadow()
        SetTextFont(4)
        SetTextOutline()
        SetTextEntry("STRING")
        SetTextCentre(1)
        AddTextComponentString(text)
        DrawText(_x, _y)
    end
end

 

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 共2条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复