Thanks for the update, point 1 has been taken into consideration now. Many parts now can use variables before it did not support that. There might be still a few places its missed out. Let me know.
Acadie wrote:<float> random from [min] to [max]
On the random one, I dont see much problem here except for that i am not allowing the min and max to be variables, which I should be. But mind you they must be integers, integers = whole numbers without decimal. Its a mistake of mine to print them as floats, i will change that. Thats why you are getting strange behavior when you are using floats (not whole numbers). I mean, if the decompiler gives weird output, then sof will also have weird behavior too. So best just keep to good practises in that case.
There was a major issue in my debug print function which is only noticeable in production version, so i never noticed it because i tested it never in this state lol. It seems to be solved.
3 bugs found. Examples that I've encounter are in the 'code' box
Vector for "move entity" doesn't work. For some reason, it is trying to fetch the floating point from "over 0.000 seconds" or will give an arbitrary big number.
Great job on this tool, I love going through the scripts to see how they made all the cool stuff happen. Been wondering though what else could it be used for, maybe making some fun custom scripts and compiling them back?
Refer to the scripting documentation in the sof sdk, attached for reference.
Basically, there is an entity classname "script_runner", which when "used" executes the script it points to under "script".
So, using other trigger entities, you could move entities around the world based on conditions.
But you have access to :
"run console command <text>". -- If you pair this with sofplus by eg. sp_sc_func_exec some_sofplus_func. Or any console line ,you have far more options.
If the "script" is attached to the "worldspawn" entity, you have a script that is executed/parsed at map loadtime. It can in theory stay running in background I believe, as a listener, in a suspended state using "wait for any" "wait for all" "on ..." lines.
You have access to entity properties like position and speed. You can set them and also do vector math with them using "[0,0,0]" syntax.
You can make ghoul entities perform their animation sequences. Great for cinematic.
But ye, things like bunnytrack with a dynamic world is popular use case.