Lou Montana/Sandbox – User

From Bohemia Interactive Community
< User:Lou Montana
Revision as of 23:22, 6 September 2019 by Lou Montana (talk | contribs) (tiny update)
Jump to navigation Jump to search
this is at the moment only a list of topics and absolutely not the final render. Almost each list entry will result in a chapter.




Category: Scripting Topics

Best practices

Make it readable

See Make it readable for the short version!
  • Some general coding tips from here: standards, line lengths, etc
    • Variable names should indicate what they store / are used for.
Example

// Instead of private _cd = 360; // do private _countDown = 360;

    • Format, indentation, no one-line, spacing, line returns
    • Be consistent (space/tab indentation, (camel)casing, K&R style / Allman style indenting)
  • Use comments frequently to explain not what the code does, but why it is done this way.

Make reusable functions

  • Don't duplicate, make functions
  • Don't make macros to replace SQF code

Variables

  • Prefix your public variables and setVariable with your tag
  • PRIVATE (or params) your variables
  • Use #define SOME_CONST for constant values instead of variables

Code location

  • Nothing in init box but local commands for this specific unit - all the init boxes are run client-side on client connection
  • 0 = myCommand is "useful" only for editor fields that for no apparent reason refuse commands returning a value.


Final words

  • Learn from others' scripts but don't steal code and pretend it's yours — be a decent human being.
  • Don't try to obfuscate your code: it is considered rude, especially since you learnt from others.
  • Have fun!