Inkompetent – User talk

From Bohemia Interactive Community
Jump to navigation Jump to search
Line 9: Line 9:


Example:
Example:
    if ((nr >= 0) and {alive(someArray select nr)}) then {}:
<code>if ((nr >= 0) and {alive(someArray select nr)}) then {};</code>




Line 18: Line 18:


Example:
Example:
    waitUntil {
<pre>waitUntil
        .....your code here....
{
        sleep 0.5;
    ...your code here...
        false
    sleep 0.5;
    };
    false
};</pre>





Revision as of 18:59, 8 July 2012

Gathered know-how

Proper use of IF-function:

Only ever use one single check per IF-function, because SQF doesn't do lazy evaluations. ALL of the checks in an IF-clause will be tested, even if the first one and all before the current tested one has failed.


NOTE EXCEPTION: Code can be used for lazy evaluation since build 93640.

Example: if ((nr >= 0) and {alive(someArray select nr)}) then {};


Substitute while-loop with waitUntil

Since while-loops only run for 10000 iterations one can instead use waitUntil with a false return value to emulate a while-loop that needs to run for the entire mission.

Example:

waitUntil
{
    ...your code here...
    sleep 0.5;
    false
};


Multiplayer Scripting

http://community.bistudio.com/wiki/6thSense.eu:EG


Code Optimization

http://community.bistudio.com/wiki/Code_Optimisation


CONFIGS

http://community.bistudio.com/wiki/6thSense.eu:CG


Programming standards and suggestions

http://forums.bistudio.com/showthread.php?115836-Some-advises