166 lines
		
	
	
		
			No EOL
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			166 lines
		
	
	
		
			No EOL
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
function Notification(msg)
 | 
						|
    lib.notify({
 | 
						|
        title = 'Notification',
 | 
						|
        description = msg
 | 
						|
    })
 | 
						|
end
 | 
						|
 | 
						|
function ExecuteAnimation(start)
 | 
						|
    ClearPedTasks(cache.ped)
 | 
						|
 | 
						|
    for k, v in pairs(GetGamePool('CObject')) do
 | 
						|
        if IsEntityAttachedToEntity(cache.ped, v) then
 | 
						|
            DeleteObject(v)
 | 
						|
            DetachEntity(v, 0, 0)
 | 
						|
            SetEntityAsMissionEntity(v, true, true)
 | 
						|
            Wait(100)
 | 
						|
            DeleteEntity(v)
 | 
						|
        end
 | 
						|
    end
 | 
						|
    
 | 
						|
    if start then
 | 
						|
        local prop = `prop_franklin_dl`
 | 
						|
        lib.requestModel(prop)
 | 
						|
        lib.requestAnimDict('paper_1_rcm_alt1-8')
 | 
						|
        if cardProp then 
 | 
						|
			DeleteObject(cardProp)
 | 
						|
			DetachEntity(cardProp)
 | 
						|
            cardProp = nil
 | 
						|
        end
 | 
						|
        cardProp = CreateObject(prop, GetEntityCoords(cache.ped), true, true, true)
 | 
						|
        AttachEntityToEntity(cardProp, cache.ped, GetPedBoneIndex(cache.ped, 57005), 0.1000, 0.0200, -0.0300, -90.000, 170.000, 78.999, true, true, false, false, 1, true)
 | 
						|
        TaskPlayAnim(cache.ped, 'paper_1_rcm_alt1-8', 'player_one_dual-8', 5.0, 5.0, -1, 51, 0, false, false, false)
 | 
						|
    else
 | 
						|
        if IsEntityPlayingAnim(cache.ped, "paper_1_rcm_alt1-8", "player_one_dual-8", 3) then
 | 
						|
            ClearPedTasks(cache.ped)
 | 
						|
        end
 | 
						|
        if cardProp then 
 | 
						|
			DeleteObject(cardProp)
 | 
						|
			DetachEntity(cardProp)
 | 
						|
            cardProp = nil
 | 
						|
        end
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
function onEnterZone()
 | 
						|
    lib.showTextUI('[E] Open')
 | 
						|
end
 | 
						|
 | 
						|
function onExitZone()
 | 
						|
    lib.hideTextUI()
 | 
						|
end
 | 
						|
 | 
						|
lib.callback.register('cs:identity:getClosestPlayer', function()
 | 
						|
    local nearPly = {}
 | 
						|
    local nearby = lib.getNearbyPlayers(GetEntityCoords(cache.ped), 2.0, true)
 | 
						|
    if #nearby == 0 then return end
 | 
						|
    for _, v in pairs(nearby) do
 | 
						|
        table.insert(nearPly, GetPlayerServerId(v.id))
 | 
						|
    end
 | 
						|
    return nearPly
 | 
						|
end)
 | 
						|
 | 
						|
function capturePic(callback)
 | 
						|
    local WebhookAPI = lib.callback.await('cs:identity:fetchWebhookAPI', false)
 | 
						|
    if CodeStudio.IDPhotoMode.Save_Method == 'discord' then
 | 
						|
        exports['screenshot-basic']:requestScreenshotUpload(WebhookAPI, "files[]", function(uploadData)
 | 
						|
            local image = json.decode(uploadData)
 | 
						|
            callback(json.encode(image.attachments[1].proxy_url))
 | 
						|
        end)
 | 
						|
    elseif CodeStudio.IDPhotoMode.Save_Method == 'fivemanage' then
 | 
						|
        exports['screenshot-basic']:requestScreenshotUpload('https://api.fivemanage.com/api/image', 'image', {
 | 
						|
            headers = {
 | 
						|
                Authorization = WebhookAPI
 | 
						|
            }
 | 
						|
        }, function(data)
 | 
						|
            local resp = json.decode(data)
 | 
						|
            if resp then
 | 
						|
                callback(resp.url)
 | 
						|
            end
 | 
						|
        end)
 | 
						|
    elseif CodeStudio.IDPhotoMode.Save_Method == 'fivemerr' then
 | 
						|
        exports['screenshot-basic']:requestScreenshotUpload('https://api.fivemerr.com/v1/media/images', 'file', {
 | 
						|
            headers = {
 | 
						|
                Authorization = WebhookAPI
 | 
						|
            },
 | 
						|
            encoding = 'png'
 | 
						|
        }, function(data)
 | 
						|
            local resp = json.decode(data)
 | 
						|
            local link = (resp and resp.url) or 'invalid_url'
 | 
						|
            callback(link)
 | 
						|
        end)
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
CreateThread(function()
 | 
						|
    for _, coords in pairs(CodeStudio.FakeID.location) do
 | 
						|
        if CodeStudio.LocationSettings.useTextUI.Enable then
 | 
						|
            lib.zones.sphere({
 | 
						|
                coords = coords,
 | 
						|
                radius = 2.5,
 | 
						|
                debug = CodeStudio.Debug,
 | 
						|
                type = 'fakeID',
 | 
						|
                inside = insideZone,
 | 
						|
                onEnter = onEnterZone,
 | 
						|
                onExit = onExitZone
 | 
						|
            })
 | 
						|
        end
 | 
						|
        if CodeStudio.LocationSettings.useTarget.Enable then
 | 
						|
            if CodeStudio.LocationSettings.useTarget.Target == 'ox_target' then
 | 
						|
                exports.ox_target:addBoxZone({
 | 
						|
                    name = "ultFakeMenu".._,
 | 
						|
                    coords = coords,
 | 
						|
                    size = vector3(2.0, 2.0, 2.0),
 | 
						|
                    rotation = 45.0,
 | 
						|
                    debug = CodeStudio.Debug,
 | 
						|
                    options = {
 | 
						|
                        {
 | 
						|
                            onSelect = function()
 | 
						|
                                openFakeIDCreator()
 | 
						|
                            end,
 | 
						|
                            icon = "fas fa-gear",
 | 
						|
                            label = CodeStudio.Language.fake_id_menu
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                })
 | 
						|
            else
 | 
						|
                exports[CodeStudio.LocationSettings.useTarget.Target]:AddBoxZone("ultFakeMenu".._, coords, 2.0, 2.0, {
 | 
						|
                    name = "ultFakeMenu".._,
 | 
						|
                    debugPoly = CodeStudio.Debug,
 | 
						|
                }, {
 | 
						|
                    options = {
 | 
						|
                        {
 | 
						|
                            action = function()
 | 
						|
                                openFakeIDCreator()
 | 
						|
                            end,
 | 
						|
                            icon = "fas fa-gear",
 | 
						|
                            label = CodeStudio.Language.fake_id_menu
 | 
						|
                        },
 | 
						|
                    },
 | 
						|
                    distance = 2.5
 | 
						|
                })
 | 
						|
            end
 | 
						|
        end
 | 
						|
    end
 | 
						|
end)
 | 
						|
 | 
						|
function openFakeIDCreator()
 | 
						|
    TriggerEvent('cs:identity:fakeCreator')
 | 
						|
end
 | 
						|
 | 
						|
--Used in Green Screen Studio --
 | 
						|
function DisableWeatherSync(disable) -- Add your weathersync events here 
 | 
						|
    if disable then --Disable
 | 
						|
        if GetResourceState('cs_weather') == 'started' then
 | 
						|
            TriggerEvent('cs:weather:client:DisableSync')
 | 
						|
            return
 | 
						|
        end
 | 
						|
        TriggerEvent('qb-weathersync:client:DisableSync')
 | 
						|
    else --Enable
 | 
						|
        if GetResourceState('cs_weather') == 'started' then
 | 
						|
            TriggerEvent('cs:weather:client:DisableSync')
 | 
						|
            return
 | 
						|
        end
 | 
						|
        TriggerEvent('qb-weathersync:client:EnableSync')
 | 
						|
    end
 | 
						|
end |