local peds = {} CreateThread(function() while true do Wait(500) for k = 1, #Config.PedList, 1 do v = Config.PedList[k] local playerCoords = GetEntityCoords(PlayerPedId()) local dist = #(playerCoords - v.coords) if dist < 50.0 and not peds[k] then local ped = nearPed(v.model, v.coords, v.heading, v.gender, v.animDict, v.animName, v.scenario) peds[k] = {ped = ped} end if dist >= 50.0 and peds[k] then for i = 255, 0, -51 do Wait(50) SetEntityAlpha(peds[k].ped, i, false) end DeletePed(peds[k].ped) peds[k] = nil end end end end) nearPed = function(model, coords, heading, gender, animDict, animName, scenario) RequestModel(GetHashKey(model)) while not HasModelLoaded(GetHashKey(model)) do Wait(1) end if gender == 'male' then genderNum = 4 elseif gender == 'female' then genderNum = 5 else print("No gender provided! Check your configuration!") end ped = CreatePed(genderNum, GetHashKey(v.model), coords, heading, false, true) SetEntityAlpha(ped, 0, false) FreezeEntityPosition(ped, true) SetEntityInvincible(ped, true) SetBlockingOfNonTemporaryEvents(ped, true) if animDict and animName then RequestAnimDict(animDict) while not HasAnimDictLoaded(animDict) do Wait(1) end TaskPlayAnim(ped, animDict, animName, 8.0, 0, -1, 1, 0, 0, 0) end if scenario then TaskStartScenarioInPlace(ped, scenario, 0, true) end for i = 0, 255, 51 do Wait(50) SetEntityAlpha(ped, i, false) end return ped end