User:00zX/UScriptIt (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Revision as of 04:55, 6 March 2012 by 00zX (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

UScriptIt

Example of macro usage we need our auto-caster to go in first before the macros are parsed, some might require afterwards so we end up doing a 2 stage compile.

Shortening Locals

<uscript> `define l local `define lb `{l} bool `define lf `{l} float `define ls `{l} string

`define elif else if </uscript>

Iterators

<uscript> `define i index `define j ondex `define li `{l} int `{i} `define lj `{l} int `{j} </uscript>

Automatic casts

Set / Check / Return
Macro

<uscript> `define CheckRet(Obj) if(`Obj == none) return `define SetToDefault(Obj, Var) `{Obj}.`{Var} = `{Obj}.Default.`{Var} `define SetVar(Obj, Var) `{Obj}.`{Var} = `{Var} </uscript>

Usage

<uscript> `SetVar(`P, CustomGravityScaling); `P.MaxDoubleJumpHeight = 110; //87.0 `P.DoubleJumpThreshold = 200.0; //160.0 `P.FallSpeedThreshold = 150.0; //125.0

/** */ `CheckRet(`MProj()_`{P}(`{P}));

`SetVar(`MProj()_`{P}(`{P}), bCanDodge); `SetVar(`MProj()_`{P}(`{P}), bCanWalldodge); </uscript>

Output

<uscript> Pawn.CustomGravityScaling = CustomGravityScaling; Pawn.MaxDoubleJumpHeight = 110; //87.0 Pawn.DoubleJumpThreshold = 200.0; //160.0 Pawn.FallSpeedThreshold = 150.0; //125.0

/** */ if(Plugin_Pawn(Pawn)== none) return;

Plugin_Pawn(Pawn).bCanDodge = bCanDodge; Plugin_Pawn(Pawn).bCanWalldodge = bCanWalldodge;

Iterators
Macro

<uscript> `define fore(this, tmpv) foreach `{this}(`{tmpv}) `define ifind(Ar) `{i} = `Ar.find('`n', `ac) </uscript>

Usage
Output