@JuanShot2Go
.
Of course, as is with programming languages, an eclectic approach is acceptable and whichever solution you deem to be the most fitting is the one you should use. Regarding the specific scenario you presented, depends on what you need. FT will sometimes ignore the limits set by min/max of inputControllers, so ideally you should use a clamp function to restrict your ranges of values, just in case.
.
As for your second question- storing variables are a just a bit more difficult, but is somewhat possible. The main idea is to use the smooth function, mainly by having your actual "variable" be in the x part of smooth(x, r), and the r- the rate of the smooth function- be a very high value, like 10^5, when you want to change the value of the variable, and also be 0 whenever you want to store it. For example, I could "store" the altitude value with AG1 by using smooth(Altitude, clamp01(Activate1)*pow(10,5)), in which when AG1 is off, the output of the smooth function does not change in value, but should I want to update my variable, I press AG1 and the smooth function "updates" to output the current Altitude value. If I wanted to store it again, I could disable AG1 to do so.
.
It is my pleasure to be able to help others. No problem.
@Nerfaddict
.
Not to diss the tracks mod, but I personally dislike parts mods very much... much rather work with default parts. Not to mention, the tracks mod isn't the best at doing double pin tracks.
.
Also, working suspension and all the cool stuff of tracks included.
@CRJ900Pilot
.
No, but are you using <= instead of < ? For tolerancing purposes, just try rolling with < and see how that plays out. Also, you can remove the Throttle* bit, I forgot to change that in the previous comment.
@CRJ900Pilot
.
If you're putting it on an aircraft, I suppose you won't exactly go backwards, so you don't really need the directional control vector... so including an altitude limitation, the code would be something like clamp01(AltitudeAgl < a)*sum(Control*GS)/(2pi*r), same thing for r and a is the max altitude above the ground at which the wheels will operate.
.
Set the rotator speed to 1.5x ~ 2x and range to 180º.
@CRJ900Pilot
.
If you wanf it to be realistic, then you have to first find the circumference of the wheel, then divide the integral displacement of the vehicle by it. That is, something like sum(Control*GS)/(2pi*r), where r is the radius of your wheel, in meters, and Control is the control input you are using for your car (something like Pitch). I recommend using Pitch and Roll for the vehicle's controls.
@typeZERO
.
Sorry, I must've missed your question somehow. If we're talking miles per hour here, then 900mph ~= 402 m/s, so in the input attribute of a part writing TAS > 402 would return a output of 1 when it is true, and -1 otherwise.
@typeZERO @MRMDAWURM
. typeZERO is incorrect, every unit in Funky Trees is based on SI units (not necessarily metric, but most SI units are metric). Unless you're using the archaic system of (v < spd), which you should not be, the system is consistent in using meters per second for data calculation.
.
If you have evidence that proves otherwise, please notify me and I will contact the devs.
@Mustang51 @Mustang51
.
Just a thing to add- no need for G-meters: the console command DebugExpression VerticalG gives exactly what you need with incredible accuracy.
@An2k
.
Most people do, but it's fairly pointless to do so normally because FT expressions are usually specifc to the craft. Instead, what really helps others is creating a general form of a system, like he did with the Desmos widget, but it take more effort and most don't have the time to spare.
@AerialFighterSnakes
.
You can start with some form of Altitude != usemetricforeverything, but that likely will not be very stable at all. Best is to use the PID controller, but there's no way I can explain that to you over the internet.
@FeistyPapa
.
I have no idea what you've done wrong, then. It works perfectly for everyone else I know and for myself... I'm not sure if I can help you any more at this point. Game version?
@Lightsaber70
.
The hull shape is insufficiently done, the paint job is lackluster, and details are blocky at best. Also, why would I compare combat capability in SP? It's a trivial matter at best.
@JustDatGuy
.
"Processed" string data are not strings. ammo("string") returns a float/number datatype, not strings. I never said you could not use strings.
I original intended to say something about advertising it as the first, but it sounded too pretentious so I decided not to. Although, since we came to it, I would call this more 'gun convergence' than fire control system.. It fails to address the many other parts of a modern fire control system, such as target lead or optical parallax. Cool nonetheless, have you tried this for three dimensional objects (as guns act as 2D vectors ingame)?
@TrislandianAlliance
.
SP is based in Unity. Unity is based in SI units; your statement is false. The game merely converts its units into an imperial format as to cater to that audience.
@Minecraftpoweer
.
Could you specify? I kind of have an idea but I ain't sure
@JuanShot2Go
.
Of course, as is with programming languages, an eclectic approach is acceptable and whichever solution you deem to be the most fitting is the one you should use. Regarding the specific scenario you presented, depends on what you need. FT will sometimes ignore the limits set by min/max of inputControllers, so ideally you should use a clamp function to restrict your ranges of values, just in case.
.
As for your second question- storing variables are a just a bit more difficult, but is somewhat possible. The main idea is to use the
smooth
function, mainly by having your actual "variable" be in thex
part ofsmooth(x, r)
, and ther
- the rate of the smooth function- be a very high value, like 10^5, when you want to change the value of the variable, and also be 0 whenever you want to store it. For example, I could "store" the altitude value with AG1 by usingsmooth(Altitude, clamp01(Activate1)*pow(10,5))
, in which when AG1 is off, the output of the smooth function does not change in value, but should I want to update my variable, I press AG1 and the smooth function "updates" to output the currentAltitude
value. If I wanted to store it again, I could disable AG1 to do so..
It is my pleasure to be able to help others. No problem.
@Ultra0
.
Change the function to do that. You know, change the multiplier to the sine... Period is
2pi/b
.@Ultra0
.
In the input field, write in
sin(Time*180)
... You said it yourself.Use your own client... Overload is built-in.
@MRMDAWURM
.
2.1k atm.
@Nerfaddict
.
Not to diss the tracks mod, but I personally dislike parts mods very much... much rather work with default parts. Not to mention, the tracks mod isn't the best at doing double pin tracks.
.
Also, working suspension and all the cool stuff of tracks included.
Use your built-in finetuner or Overload mod.
Try starting with
sum(Pitch)
and see where that gets you.Use the massEdit script.
@CRJ900Pilot
.
Odd. Possibly send screenshots of the Overload window and how you set it up?
一番いい方法ならオンラインIDEなどうを使って(たとえばrepl.it)スクリプトにするものですが、十分な説明があるかぎりどんなかたちでもかまわないんだっとおもっています。
@CRJ900Pilot
.
Try this:
clamp01(AltitudeAgl < 5)
*
sum(GS)/(2pi*
0.24)@CRJ900Pilot
.
No, but are you using <= instead of < ? For tolerancing purposes, just try rolling with < and see how that plays out. Also, you can remove the
Throttle*
bit, I forgot to change that in the previous comment.@CRJ900Pilot
.
If you're putting it on an aircraft, I suppose you won't exactly go backwards, so you don't really need the directional control vector... so including an altitude limitation, the code would be something like
clamp01(AltitudeAgl < a)*sum(Control*GS)/(2pi*r)
, same thing forr
anda
is the max altitude above the ground at which the wheels will operate..
Set the rotator speed to 1.5x ~ 2x and range to 180º.
@CRJ900Pilot
.
If you wanf it to be realistic, then you have to first find the circumference of the wheel, then divide the integral displacement of the vehicle by it. That is, something like
sum(Control*GS)/(2pi*r)
, wherer
is the radius of your wheel, in meters, andControl
is the control input you are using for your car (something like Pitch). I recommend using Pitch and Roll for the vehicle's controls.@typeZERO
.
I have started a series on them, but progress is a bit slow- I should be able to push a new video out by next week. Thanks for asking.
@MRMDAWURM
.
Heh. I can talk!
@typeZERO
.
Sorry, I must've missed your question somehow. If we're talking miles per hour here, then 900mph ~= 402 m/s, so in the input attribute of a part writing
TAS > 402
would return a output of 1 when it is true, and -1 otherwise.@typeZERO @MRMDAWURM
.
typeZERO is incorrect, every unit in Funky Trees is based on SI units (not necessarily metric, but most SI units are metric). Unless you're using the archaic system of (v < spd), which you should not be, the system is consistent in using meters per second for data calculation.
.
If you have evidence that proves otherwise, please notify me and I will contact the devs.
@Mustang51 @Zoowarp
.
Open the console, copy and paste the aforementioned text.
@Mustang51 @Mustang51
.
Just a thing to add- no need for G-meters: the console command
DebugExpression VerticalG
gives exactly what you need with incredible accuracy.@TOMJeb117
.
tbh I understand why most people don't- it's more effort that the needs.
To reduce visible "visible ammo count" you can apply FT to the activationGroup of the "shell casing" cannon in order to disable whenever applicable.
Personally enjoy the fuselage-detacher ejection method better, but given that the ammo count is 1200 I think I know why you chose this method.
Great build.
@RuvienRepublicCitizen
.
Part count != quality, but generally with 300 parts or less you aren't gonna get very far.
@Blyatsickle
.
Easy, make do with the
ammo
function.@An2k
.
Most people do, but it's fairly pointless to do so normally because FT expressions are usually specifc to the craft. Instead, what really helps others is creating a general form of a system, like he did with the Desmos widget, but it take more effort and most don't have the time to spare.
@AerialFighterSnakes
.
You can start with some form of
Altitude != usemetricforeverything
, but that likely will not be very stable at all. Best is to use the PID controller, but there's no way I can explain that to you over the internet.Use FT, and model a human joint using video frame analysis to get the data. Example video here.
@raceplaneVIBEZ
.
Just reverse the input/AG on one of them. Either add a negative sign or use the boolean inverter operator (!).
@typeZERO
.
Altitude > 400
@EngineerOtaku
.
I'm active on Discord, weird that you can't contact me... huh.
@MemeLord21
.
2047 as of now.
Only the server host can kick players... iirc MP devs wanted to fix this problem but they're too busy to work on it.
@FeistyPapa
.
I have no idea what you've done wrong, then. It works perfectly for everyone else I know and for myself... I'm not sure if I can help you any more at this point. Game version?
@Lightsaber70
.
The hull shape is insufficiently done, the paint job is lackluster, and details are blocky at best. Also, why would I compare combat capability in SP? It's a trivial matter at best.
@Lightsaber70
.
How is that a decently built tank?
Brute-forcing clicks. I think I saw a forum post on how to do it somewhere.
@Jerba
.
Are you talking about the fume extractor? That doesn't need elevation to do its job. A neutral loading position is demonstrated here.
@JustDatGuy
.
"Processed" string data are not strings. ammo("string") returns a float/number datatype, not strings. I never said you could not use strings.
@JustDatGuy
.
Also...
It's already there...
@cedblox332
.
The ammo condition that you specified.
I original intended to say something about advertising it as the first, but it sounded too pretentious so I decided not to. Although, since we came to it, I would call this more 'gun convergence' than fire control system.. It fails to address the many other parts of a modern fire control system, such as target lead or optical parallax. Cool nonetheless, have you tried this for three dimensional objects (as guns act as 2D vectors ingame)?
@Jauntyccmbr
.
That isn't too helpful... be specific, as I replied earlier.
@cedblox332
.
You want the timed action to happen when that condition is fufilled, correct?
@exosuit
.
I hate Discord images... rather use imgur than Discord.
@wonkapilot
.
Been working on the turret the past few days. Thanks for asking.
Completely depends on the input you wish to use for it. Be specific and I can help.
@TrislandianAlliance
.
SP is based in Unity. Unity is based in SI units; your statement is false. The game merely converts its units into an imperial format as to cater to that audience.
Yes, funky trees!