CallGlobalFunctionNoWait - Utility
From Creation Kit
Member of: Utility Script
Calls a global function asynchronously. Script execution continues immediately without waiting for the global function you called to finish (or even start).
Function CallGlobalFunctionNoWait(string asScriptName, string asFuncName, Var aParams) native global
- asScriptName: The name of the script containing the function
- asFuncName: The name of the function to call
- aParams: The list of parameters to pass
; Call "Function MakeEvenCooler(int aiValue, float afValue, From aItem) global" ; on script "CoolModScript" and don't wait for it to finish Var params = new Var params = 10 params = 11.0 ; Note the '.0' to make this a float params = MyCoolArmor as Form ; Must cast as form by hand, even though armor is derived from form Utility.CallGlobalFunctionNoWait("CoolModScript", "MakeEvenCooler", params) params = MyCoolWeapon as Form Utility.CallGlobalFunctionNoWait("CoolModScript", "MakeEvenCooler", params) ; Now we have two copies of MakeEvenCooler running in parallel with us, each with different parameters
- If the script name or function name don't exist, the function will error. You may want to check for the existence of the mod you want to talk to before using this.
- The parameter types must match exactly. You cannot insert a float into the param array if the function expects an int, or a Actor if the function expects an ObjectReference. Normally the compiler would do these casts for you in a normal function call, but it doesn't know what the parameters are, so it is your responsibility to match them up.
- The compiler cannot check the script name, function name, or parameters for you, so make sure to triple check everything!
- If you need the return value from the function you'll have to use CallGlobalFunction instead.