Custom Robust eval Function

From RPTools Wiki
Revision as of 03:18, 16 April 2009 by Verisimilar (talk | contribs) (Initial write-up.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

 Note: This function can only be used in a Trusted Macro

This user defined function redefines the standard eval() function, allowing it to be given a zero and not throw an exception.

Macros

Place both of these macros on the same library token.


onCampaignLoad

[defineFunction("eval", "evalFunction@this")]



evalFunction

[h: assert( argCount() == 1, "eval() requires one parameter.")]
[h, if ( arg(0) == 0 ), code:
{
    [h: macro.return = 0]
};{
    [h: macro.return = oldFunction( arg(0) ) ]
}]