import bpy # function run every frame def change_text(): #get object named count, this should be the name of the text object you want to count count = bpy.data.objects['count'] # get object named Text, this should be the text object you want to change text = bpy.data.objects['Text'] # this is the text that will be changed string = "Is there a way to insert a comma value every 3 digits left of the decimal point? Ie: 10000.00 becomes 10,000.00 or 1000000.00 becomes 1,000,000.00" # split the string into an array to iterate through t = string.split() # get current framw current_frame = bpy.context.scene.frame_current end_frame = 180 # get framefrate frames_s = bpy.context.scene.render.fps i = 0 while i in range(0, 250): # get the modulus of current frame and 10 this will be used to change the text on every 10 frames if(current_frame % 10 == 0): # get the first and then the next word in the string array which is now t render = t[int(current_frame/10) ] # change the text body to the value of render text.data.body = str(render) i+=1 n = 0 # making the count if n < 10000: # value will be the current frame x any value large values = large number value = current_frame * 250 # adding a comma in the digit so its easier to read count.data.body = '{:,}'.format(value) # n = current_frame * 10 # handler function def my_handler(scene): change_text() # call function every frame def register(): bpy.app.handlers.frame_change_post.append(my_handler) def unregister(): bpy.app.handlers.frame_change_post.remove(my_handler) register() #unregister()