//1 Execution order and prevention of unwanted usage
System call -> initPlayerLocal.sqf // Only the game engine is allowed to call this function
initPlayerLocal spawns the function armajunkies_fnc_SpawnMyGear
The idea: armajunkies_fnc_SpawnMyGear is never being called by any player directly. The execution order is:
System call -> initPlayerLocal.sqf -> armajunkies_fnc_SpawnMyGear
//All these information can be collected preinit. They have to be compiled.
//2
for some reason i want to have admin actions as direct entry: (debug mode or be execution) or i have dynamic code
i programm a function which is delivering a modified spectator cam, or i want to start monitoring scripts manually.
These scripts need an exlusion
//3 prevent script file execution as description.ext parameter
The most hack scripts are trying to inject scripts into variables or calls
OK. Thats not good.
Now we have a system, which is able to analyze execution orders.
We have 2 things:
a) a lot of BIS scripts and functions - they shouldnt change after an release and definitely not at runtime (able takes care of the runtime thing with the new be version)
- in Arma are some execVM executed scripts. OK, these could be replaced. Not good.
Create a name, hash array of these files
-> OnKeyBindung -> Check the Hash
-> OnSuspicios Actions like opening UI Element a function check the list again
If something is unnormal: give a hint to battleeye and let us decide what to do (log, kick, ban)
And now i want to decide as scripter: My Mission consists only of registered functions in my function namespace and a limited number of BIS functions and scripts.
Description.ext -> allowedNamespaces = [bis, armajunkies]
If i want to use cba: allowedNamespaces = [bis, armajunkies, cba]
followStrictExecutionOrder = true