Table of Contents Jacbo Some useful proxy expressions Animation proxies Jacbo My favorite coding language is pac3 proxies lol You can dm me for help with proxy related things on discord but for other stuff please use the help channel in the pac3 discord Jacbo#1222 Some useful proxy expressions You can use """"variables""""!: You can use model scales as variables and even have 6 “variables” useable by 1 proxy. If you set the target part of a proxy to a model, owner_scale_x() will be the model that the proxy is a child of in the editor and parent_scale_x() will be the scale of the target part. Variables will be indicated like this Rounding a number: floor(INPUT + 0.5) Checking if A > B: clamp((A-B)*1000000,0,1) This will return 1 if A is greater than (>) B, else it will return 0 Checking if A < B: clamp((B-A)*1000000,0,1) This will return 1 if A is less than (<) B, else it will return 0 Checking if A < B < C: clamp((clamp(C-B,0,1)*clamp(B-A,0,1))*1000000,0,1) This will return 1 if A < B and if B < C, else it will return 0 Set and store a random number: SETRANDOM*(rand()*(MAX-MIN)+MIN)+(1-SETRANDOM)*owner_scale_x() This would go in a proxy setting the x part of the scale of its parent. When SETRANDOM is 0, it keeps the current value. When SETRANDOM is 1, it will set a new random value every frame. You could replace SETRANDOM with owner_scale_y() so it can be controlled by other proxies Fade A to B: owner_scale_x()+clamp(FADETO-owner_scale_x(),-SPEED*ftime(),SPEED*ftime()) This will fade the x scale of the parent to FADETO at a constant SPEED that is the same at any FPS. You could replace FADETO with owner_scale_y() so it can be controlled with other proxies. Animation proxies You can play animations at the original rate with proxies. At the time of writing this, the animation part currently does not play animations at 1x speed for a rate of 1, and the value you need to use for 1x speed is different for each animation. Set the rate on the animation part to 0, and set the proxy's “variable name” field to “Offset”. DURATION = duration of the animation RATE = playback speed multiplier MIN, MAX, and OFFSET are the same as on the animation part Looping 1x speed: (timeex()/DURATION)%1 Looping 1x speed with offset: (timeex()/DURATION+OFFSET)%1 Looping with speed multiplier: (timeex()*RATE/DURATION)%1 Looping with min and max: MIN+(timeex()/DURATION/(MAX-MIN))%1*(MAX-MIN) Looping with min, max, and offset: MIN+((timeex()/DURATION+OFFSET)/(MAX-MIN))%1*(MAX-MIN) Ping pong loop at 1x speed: abs(1-(timeex()/DURATION+1)%2) Ping pong loop with min and max: MIN+abs(1-(timeex()/DURATION/(MAX-MIN)+1)%2)*(MAX-MIN) Ping pong loop with min, max, and offset: MIN+abs(1-((timeex()/DURATION+OFFSET)/(MAX-MIN)+1)%2)*(MAX-MIN) Note: When using ping pong looping, OFFSET is 0 to 2 for a MIN of 0 and MAX of 1. You may have to multiply it by 2 to get the results you expect. No loop or X loops: min(LOOPCOUNT,timeex()/DURATION)%1 Use a LOOPCOUNT of 1 to make it not loop. Use a LOOPCOUNT to make it play twice, etc. No loop or X loops, ping pong: abs(1-(min(LOOPCOUNT*2,timeex()/DURATION)+1)%2) Last modified: 3 years ago(external edit) Log In