...... promotes players to different groups based on UTime. --[[ CREDIT FOR THIS VERSION OF AUTOPROMOTE ............ groupSet( ply ) local plhrs = math.floor((ply:GetUTime() + CurTime() - ply:GetUTimeStart())/60/60) ............ end end function effectS( ply ) local ed = EffectData() ed:SetEntity(ply) util.Effect("autopromotion", ............ , true) local vPoint = ply:GetPos() local effectdata = EffectData() local r = math.random(20, 255) ............ (20, 255) local b = math.random(20, 255) effectdata:SetStart( Vector( r, g, b ) ) effectdata: ............ ( vPoint ) effectdata:SetScale( 1 ) util.Effect( "autopromotion2", ............ .random(20, 255) b = math.random(20, 255) effectdata:SetStart( Vector( r, g, b ) ) local vPoint = ply: ............ () effectdata:SetOrigin( vPoint ) util.Effect( "autopromotion2", ............ effectdata ) end) timer.Simple( 2, function() r = math. ............ .random(20, 255) b = math.random(20, 255) effectdata:SetStart( Vector( r, g, b ) ) local vPoint = ply: ............ () effectdata:SetOrigin( vPoint ) util.Effect( "autopromotion2", ............ effectdata ) end) timer.Simple( 3, function() r = math. ............ .random(20, 255) b = math.random(20, 255) effectdata:SetStart( Vector( r, g, b ) ) local vPoint = ply: ............ () effectdata:SetOrigin( vPoint ) util.Effect( "autopromotion2", ............ effectdata ) end) timer.Simple( 4, function() r = math. ............ .random(20, 255) b = math.random(20, 255) effectdata:SetStart( Vector( r, g, b ) ) local vPoint = ply: ............ () effectdata:SetOrigin( vPoint ) util.Effect( "autopromotion2", ............ effectdata ) end) end function timerStart( ply ) timer. ............ ", "PromotionCleanUP", destroyTimers ) I got UTime installed, as it needs that addon to work with it, ......