Gah - a solution with more questions. – EntropicLqd
Difference between revisions of "User:00zX/UScriptIt (UDK)"
From Unreal Wiki, The Unreal Engine Documentation Site
m |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 18: | Line 18: | ||
</uscript> | </uscript> | ||
====Automatic casts==== | ====Automatic casts==== | ||
− | =====Set / Check / Return===== | + | =====Set/Check/Return===== |
======Macro====== | ======Macro====== | ||
<uscript> | <uscript> | ||
Line 50: | Line 50: | ||
Plugin_Pawn(Pawn).bCanDodge = bCanDodge; | Plugin_Pawn(Pawn).bCanDodge = bCanDodge; | ||
Plugin_Pawn(Pawn).bCanWalldodge = bCanWalldodge; | Plugin_Pawn(Pawn).bCanWalldodge = bCanWalldodge; | ||
+ | </uscript> | ||
=====Iterators===== | =====Iterators===== | ||
======Macro====== | ======Macro====== | ||
Line 58: | Line 59: | ||
======Usage====== | ======Usage====== | ||
======Output====== | ======Output====== | ||
+ | |||
+ | |||
+ | ===Links=== | ||
+ | http://forums.epicgames.com/threads/809064-UScriptIt-Generator-Parser |
Latest revision as of 04:57, 6 March 2012
Contents
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
`define l local `define lb `{l} bool `define lf `{l} float `define ls `{l} string `define elif else if
Iterators
`define i index `define j ondex `define li `{l} int `{i} `define lj `{l} int `{j}
Automatic casts
Set/Check/Return
Macro
`define CheckRet(Obj) if(`Obj == none) return `define SetToDefault(Obj, Var) `{Obj}.`{Var} = `{Obj}.Default.`{Var} `define SetVar(Obj, Var) `{Obj}.`{Var} = `{Var}
Usage
`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);
Output
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
`define fore(this, tmpv) foreach `{this}(`{tmpv}) `define ifind(Ar) `{i} = `Ar.find('`n', `ac)
Usage
Output
Links
http://forums.epicgames.com/threads/809064-UScriptIt-Generator-Parser