// Convert unpacked effect structure to native type public static Lite.Effect PackEffect(EffectUnpacked effect) { Internal.NativeFunctions.nwnxSetFunction(PLUGIN_NAME, "PackEffect"); ResolvePack(effect); return(new Lite.Effect(Internal.NativeFunctions.nwnxPopEffect())); }
public static void ReplaceEffectByIndex(uint oObject, int nIndex, EffectUnpacked e) { Internal.NativeFunctions.nwnxSetFunction(PLUGIN_NAME, "ReplaceEffectByIndex"); ResolvePack(e, true); Internal.NativeFunctions.nwnxPushInt(nIndex); Internal.NativeFunctions.nwnxPushObject(oObject); Internal.NativeFunctions.nwnxCallFunction(); }
/// <summary> /// Convert unpacked effect structure to native type /// </summary> /// <param name="effect"></param> /// <returns></returns> public static Effect PackEffect(EffectUnpacked effect) { string sFunc = "PackEffect"; NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.EffectID); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.Type); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.SubType); NWNXCore.NWNX_PushArgumentFloat(NWNX_Effect, sFunc, effect.Duration); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.ExpiryCalendarDay); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.ExpiryTimeOfDay); NWNXCore.NWNX_PushArgumentObject(NWNX_Effect, sFunc, effect.Creator); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.SpellID); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.Expose); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.ShowIcon); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.CasterLevel); NWNXCore.NWNX_PushArgumentEffect(NWNX_Effect, sFunc, effect.LinkLeft); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.LinkLeftValid); NWNXCore.NWNX_PushArgumentEffect(NWNX_Effect, sFunc, effect.LinkRight); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.LinkRightValid); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.NumIntegers); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.nParam0); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.nParam1); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.nParam2); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.nParam3); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.nParam4); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.nParam5); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.nParam6); NWNXCore.NWNX_PushArgumentInt(NWNX_Effect, sFunc, effect.nParam7); NWNXCore.NWNX_PushArgumentFloat(NWNX_Effect, sFunc, effect.fParam0); NWNXCore.NWNX_PushArgumentFloat(NWNX_Effect, sFunc, effect.fParam1); NWNXCore.NWNX_PushArgumentFloat(NWNX_Effect, sFunc, effect.fParam2); NWNXCore.NWNX_PushArgumentFloat(NWNX_Effect, sFunc, effect.fParam3); NWNXCore.NWNX_PushArgumentString(NWNX_Effect, sFunc, effect.sParam0); NWNXCore.NWNX_PushArgumentString(NWNX_Effect, sFunc, effect.sParam1); NWNXCore.NWNX_PushArgumentString(NWNX_Effect, sFunc, effect.sParam2); NWNXCore.NWNX_PushArgumentString(NWNX_Effect, sFunc, effect.sParam3); NWNXCore.NWNX_PushArgumentString(NWNX_Effect, sFunc, effect.sParam4); NWNXCore.NWNX_PushArgumentString(NWNX_Effect, sFunc, effect.sParam5); NWNXCore.NWNX_PushArgumentObject(NWNX_Effect, sFunc, effect.oParam0); NWNXCore.NWNX_PushArgumentObject(NWNX_Effect, sFunc, effect.oParam1); NWNXCore.NWNX_PushArgumentObject(NWNX_Effect, sFunc, effect.oParam2); NWNXCore.NWNX_PushArgumentObject(NWNX_Effect, sFunc, effect.oParam3); NWNXCore.NWNX_PushArgumentString(NWNX_Effect, sFunc, effect.Tag); NWNXCore.NWNX_CallFunction(NWNX_Effect, sFunc); return(NWNXCore.NWNX_GetReturnValueEffect(NWNX_Effect, sFunc)); }
/// <summary> /// Convert native effect type to unpacked structure /// </summary> /// <param name="effect"></param> /// <returns></returns> public static EffectUnpacked UnpackEffect(Effect effect) { string sFunc = "UnpackEffect"; NWNXCore.NWNX_PushArgumentEffect(NWNX_Effect, sFunc, effect); NWNXCore.NWNX_CallFunction(NWNX_Effect, sFunc); EffectUnpacked n = new EffectUnpacked { Tag = NWNXCore.NWNX_GetReturnValueString(NWNX_Effect, sFunc), oParam3 = NWNXCore.NWNX_GetReturnValueObject(NWNX_Effect, sFunc), oParam2 = NWNXCore.NWNX_GetReturnValueObject(NWNX_Effect, sFunc), oParam1 = NWNXCore.NWNX_GetReturnValueObject(NWNX_Effect, sFunc), oParam0 = NWNXCore.NWNX_GetReturnValueObject(NWNX_Effect, sFunc), sParam5 = NWNXCore.NWNX_GetReturnValueString(NWNX_Effect, sFunc), sParam4 = NWNXCore.NWNX_GetReturnValueString(NWNX_Effect, sFunc), sParam3 = NWNXCore.NWNX_GetReturnValueString(NWNX_Effect, sFunc), sParam2 = NWNXCore.NWNX_GetReturnValueString(NWNX_Effect, sFunc), sParam1 = NWNXCore.NWNX_GetReturnValueString(NWNX_Effect, sFunc), sParam0 = NWNXCore.NWNX_GetReturnValueString(NWNX_Effect, sFunc), fParam3 = NWNXCore.NWNX_GetReturnValueFloat(NWNX_Effect, sFunc), fParam2 = NWNXCore.NWNX_GetReturnValueFloat(NWNX_Effect, sFunc), fParam1 = NWNXCore.NWNX_GetReturnValueFloat(NWNX_Effect, sFunc), fParam0 = NWNXCore.NWNX_GetReturnValueFloat(NWNX_Effect, sFunc), nParam7 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), nParam6 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), nParam5 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), nParam4 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), nParam3 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), nParam2 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), nParam1 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), nParam0 = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), NumIntegers = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), LinkRightValid = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), LinkRight = NWNXCore.NWNX_GetReturnValueEffect(NWNX_Effect, sFunc), LinkLeftValid = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), LinkLeft = NWNXCore.NWNX_GetReturnValueEffect(NWNX_Effect, sFunc), CasterLevel = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), ShowIcon = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), Expose = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), SpellID = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), Creator = NWNXCore.NWNX_GetReturnValueObject(NWNX_Effect, sFunc), ExpiryTimeOfDay = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), ExpiryCalendarDay = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), Duration = NWNXCore.NWNX_GetReturnValueFloat(NWNX_Effect, sFunc), SubType = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), Type = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc), EffectID = NWNXCore.NWNX_GetReturnValueInt(NWNX_Effect, sFunc) }; return(n); }
// Convert native effect type to unpacked structure public static EffectUnpacked UnpackEffect(NWN.Effect effect) { Internal.NativeFunctions.nwnxSetFunction(PLUGIN_NAME, "GetCurrentNodeType"); Internal.NativeFunctions.nwnxPushEffect(effect.Handle); Internal.NativeFunctions.nwnxCallFunction(); var newEffect = new EffectUnpacked { Tag = Internal.NativeFunctions.nwnxPopString(), oParam3 = Internal.NativeFunctions.nwnxPopObject().AsObject(), oParam2 = Internal.NativeFunctions.nwnxPopObject().AsObject(), oParam1 = Internal.NativeFunctions.nwnxPopObject().AsObject(), oParam0 = Internal.NativeFunctions.nwnxPopObject().AsObject(), sParam5 = Internal.NativeFunctions.nwnxPopString(), sParam4 = Internal.NativeFunctions.nwnxPopString(), sParam3 = Internal.NativeFunctions.nwnxPopString(), sParam2 = Internal.NativeFunctions.nwnxPopString(), sParam1 = Internal.NativeFunctions.nwnxPopString(), sParam0 = Internal.NativeFunctions.nwnxPopString(), fParam3 = Internal.NativeFunctions.nwnxPopFloat(), fParam2 = Internal.NativeFunctions.nwnxPopFloat(), fParam1 = Internal.NativeFunctions.nwnxPopFloat(), fParam0 = Internal.NativeFunctions.nwnxPopFloat(), nParam7 = Internal.NativeFunctions.nwnxPopInt(), nParam6 = Internal.NativeFunctions.nwnxPopInt(), nParam5 = Internal.NativeFunctions.nwnxPopInt(), nParam4 = Internal.NativeFunctions.nwnxPopInt(), nParam3 = Internal.NativeFunctions.nwnxPopInt(), nParam2 = Internal.NativeFunctions.nwnxPopInt(), nParam1 = Internal.NativeFunctions.nwnxPopInt(), nParam0 = Internal.NativeFunctions.nwnxPopInt(), NumIntegers = Internal.NativeFunctions.nwnxPopInt(), LinkRightValid = Internal.NativeFunctions.nwnxPopInt(), LinkRight = new NWN.Effect(Internal.NativeFunctions.nwnxPopEffect()), LinkLeftValid = Internal.NativeFunctions.nwnxPopInt(), LinkLeft = new NWN.Effect(Internal.NativeFunctions.nwnxPopEffect()), CasterLevel = Internal.NativeFunctions.nwnxPopInt(), ShowIcon = Internal.NativeFunctions.nwnxPopInt(), Expose = Internal.NativeFunctions.nwnxPopInt(), SpellID = Internal.NativeFunctions.nwnxPopInt(), Creator = Internal.NativeFunctions.nwnxPopObject().AsObject(), ExpiryTimeOfDay = Internal.NativeFunctions.nwnxPopInt(), ExpiryCalendarDay = Internal.NativeFunctions.nwnxPopInt(), Duration = Internal.NativeFunctions.nwnxPopFloat(), SubType = Internal.NativeFunctions.nwnxPopInt(), Type = Internal.NativeFunctions.nwnxPopInt(), EffectID = Internal.NativeFunctions.nwnxPopInt() }; return(newEffect); }
/// Convert unpacked effect structure to native type. /// <param name="e">The NWNX_EffectUnpacked structure to convert.</param> /// <returns>The effect.</returns> public static System.IntPtr PackEffect(EffectUnpacked e) { VM.NWNX.SetFunction(NWNX_Effect, "PackEffect"); VM.NWNX.StackPush(e.nType); VM.NWNX.StackPush(e.nSubType); VM.NWNX.StackPush(e.fDuration); VM.NWNX.StackPush(e.nExpiryCalendarDay); VM.NWNX.StackPush(e.nExpiryTimeOfDay); VM.NWNX.StackPush(e.oCreator); VM.NWNX.StackPush(e.nSpellId); VM.NWNX.StackPush(e.bExpose); VM.NWNX.StackPush(e.bShowIcon); VM.NWNX.StackPush(e.nCasterLevel); VM.NWNX.StackPush(e.eLinkLeft, NWScript.ENGINE_STRUCTURE_EFFECT); VM.NWNX.StackPush(e.bLinkLeftValid); VM.NWNX.StackPush(e.eLinkRight, NWScript.ENGINE_STRUCTURE_EFFECT); VM.NWNX.StackPush(e.bLinkRightValid); VM.NWNX.StackPush(e.nNumIntegers); VM.NWNX.StackPush(e.nParam0); VM.NWNX.StackPush(e.nParam1); VM.NWNX.StackPush(e.nParam2); VM.NWNX.StackPush(e.nParam3); VM.NWNX.StackPush(e.nParam4); VM.NWNX.StackPush(e.nParam5); VM.NWNX.StackPush(e.nParam6); VM.NWNX.StackPush(e.nParam7); VM.NWNX.StackPush(e.fParam0); VM.NWNX.StackPush(e.fParam1); VM.NWNX.StackPush(e.fParam2); VM.NWNX.StackPush(e.fParam3); VM.NWNX.StackPush(e.sParam0); VM.NWNX.StackPush(e.sParam1); VM.NWNX.StackPush(e.sParam2); VM.NWNX.StackPush(e.sParam3); VM.NWNX.StackPush(e.sParam4); VM.NWNX.StackPush(e.sParam5); VM.NWNX.StackPush(e.oParam0); VM.NWNX.StackPush(e.oParam1); VM.NWNX.StackPush(e.oParam2); VM.NWNX.StackPush(e.oParam3); VM.NWNX.StackPush(e.vParam0); VM.NWNX.StackPush(e.vParam1); VM.NWNX.StackPush(e.sTag); VM.NWNX.Call(); return(VM.NWNX.StackPopStruct(NWScript.ENGINE_STRUCTURE_EFFECT)); }
// Convert unpacked effect structure to native type public static NWN.Effect PackEffect(EffectUnpacked effect) { Internal.NativeFunctions.nwnxSetFunction(PLUGIN_NAME, "PackEffect"); Internal.NativeFunctions.nwnxPushInt(effect.EffectID); Internal.NativeFunctions.nwnxPushInt(effect.Type); Internal.NativeFunctions.nwnxPushInt(effect.SubType); Internal.NativeFunctions.nwnxPushFloat(effect.Duration); Internal.NativeFunctions.nwnxPushInt(effect.ExpiryCalendarDay); Internal.NativeFunctions.nwnxPushInt(effect.ExpiryTimeOfDay); Internal.NativeFunctions.nwnxPushObject(effect.Creator !); Internal.NativeFunctions.nwnxPushInt(effect.SpellID); Internal.NativeFunctions.nwnxPushInt(effect.Expose); Internal.NativeFunctions.nwnxPushInt(effect.ShowIcon); Internal.NativeFunctions.nwnxPushInt(effect.CasterLevel); Internal.NativeFunctions.nwnxPushEffect(effect.LinkLeft !.Handle); Internal.NativeFunctions.nwnxPushInt(effect.LinkLeftValid); Internal.NativeFunctions.nwnxPushEffect(effect.LinkRight !.Handle); Internal.NativeFunctions.nwnxPushInt(effect.LinkRightValid); Internal.NativeFunctions.nwnxPushInt(effect.NumIntegers); Internal.NativeFunctions.nwnxPushInt(effect.nParam0); Internal.NativeFunctions.nwnxPushInt(effect.nParam1); Internal.NativeFunctions.nwnxPushInt(effect.nParam2); Internal.NativeFunctions.nwnxPushInt(effect.nParam3); Internal.NativeFunctions.nwnxPushInt(effect.nParam4); Internal.NativeFunctions.nwnxPushInt(effect.nParam5); Internal.NativeFunctions.nwnxPushInt(effect.nParam6); Internal.NativeFunctions.nwnxPushInt(effect.nParam7); Internal.NativeFunctions.nwnxPushFloat(effect.fParam0); Internal.NativeFunctions.nwnxPushFloat(effect.fParam1); Internal.NativeFunctions.nwnxPushFloat(effect.fParam2); Internal.NativeFunctions.nwnxPushFloat(effect.fParam3); Internal.NativeFunctions.nwnxPushString(effect.sParam0 !); Internal.NativeFunctions.nwnxPushString(effect.sParam1 !); Internal.NativeFunctions.nwnxPushString(effect.sParam2 !); Internal.NativeFunctions.nwnxPushString(effect.sParam3 !); Internal.NativeFunctions.nwnxPushString(effect.sParam4 !); Internal.NativeFunctions.nwnxPushString(effect.sParam5 !); Internal.NativeFunctions.nwnxPushObject(effect.oParam0 !); Internal.NativeFunctions.nwnxPushObject(effect.oParam1 !); Internal.NativeFunctions.nwnxPushObject(effect.oParam2 !); Internal.NativeFunctions.nwnxPushObject(effect.oParam3 !); Internal.NativeFunctions.nwnxPushString(effect.Tag !); Internal.NativeFunctions.nwnxCallFunction(); return(new NWN.Effect(Internal.NativeFunctions.nwnxPopEffect())); }
private static EffectUnpacked ResolveUnpack(bool bLink = true) { var newEffect = new EffectUnpacked(); newEffect.sItemProp = Internal.NativeFunctions.nwnxPopString(); newEffect.Tag = Internal.NativeFunctions.nwnxPopString(); newEffect.vParam1 = new Vector3 { Z = Internal.NativeFunctions.nwnxPopFloat(), Y = Internal.NativeFunctions.nwnxPopFloat(), X = Internal.NativeFunctions.nwnxPopFloat(), }; newEffect.vParam0 = new Vector3 { Z = Internal.NativeFunctions.nwnxPopFloat(), Y = Internal.NativeFunctions.nwnxPopFloat(), X = Internal.NativeFunctions.nwnxPopFloat(), }; newEffect.oParam3 = Internal.NativeFunctions.nwnxPopObject(); newEffect.oParam2 = Internal.NativeFunctions.nwnxPopObject(); newEffect.oParam1 = Internal.NativeFunctions.nwnxPopObject(); newEffect.oParam0 = Internal.NativeFunctions.nwnxPopObject(); newEffect.sParam5 = Internal.NativeFunctions.nwnxPopString(); newEffect.sParam4 = Internal.NativeFunctions.nwnxPopString(); newEffect.sParam3 = Internal.NativeFunctions.nwnxPopString(); newEffect.sParam2 = Internal.NativeFunctions.nwnxPopString(); newEffect.sParam1 = Internal.NativeFunctions.nwnxPopString(); newEffect.sParam0 = Internal.NativeFunctions.nwnxPopString(); newEffect.fParam3 = Internal.NativeFunctions.nwnxPopFloat(); newEffect.fParam2 = Internal.NativeFunctions.nwnxPopFloat(); newEffect.fParam1 = Internal.NativeFunctions.nwnxPopFloat(); newEffect.fParam0 = Internal.NativeFunctions.nwnxPopFloat(); newEffect.nParam7 = Internal.NativeFunctions.nwnxPopInt(); newEffect.nParam6 = Internal.NativeFunctions.nwnxPopInt(); newEffect.nParam5 = Internal.NativeFunctions.nwnxPopInt(); newEffect.nParam4 = Internal.NativeFunctions.nwnxPopInt(); newEffect.nParam3 = Internal.NativeFunctions.nwnxPopInt(); newEffect.nParam2 = Internal.NativeFunctions.nwnxPopInt(); newEffect.nParam1 = Internal.NativeFunctions.nwnxPopInt(); newEffect.nParam0 = Internal.NativeFunctions.nwnxPopInt(); newEffect.NumIntegers = Internal.NativeFunctions.nwnxPopInt(); if (bLink) { newEffect.LinkRightValid = Internal.NativeFunctions.nwnxPopInt() == 1; newEffect.LinkRight = new Lite.Effect(Internal.NativeFunctions.nwnxPopEffect()); newEffect.LinkLeftValid = Internal.NativeFunctions.nwnxPopInt() == 1; newEffect.LinkLeft = new Lite.Effect(Internal.NativeFunctions.nwnxPopEffect()); } else { newEffect.LinkRightValid = false; newEffect.LinkLeftValid = false; } newEffect.CasterLevel = Internal.NativeFunctions.nwnxPopInt(); newEffect.ShowIcon = Internal.NativeFunctions.nwnxPopInt(); newEffect.Expose = Internal.NativeFunctions.nwnxPopInt(); newEffect.SpellId = Internal.NativeFunctions.nwnxPopInt(); newEffect.Creator = Internal.NativeFunctions.nwnxPopObject(); newEffect.ExpiryTimeOfDay = Internal.NativeFunctions.nwnxPopInt(); newEffect.ExpiryCalendarDay = Internal.NativeFunctions.nwnxPopInt(); newEffect.Duration = Internal.NativeFunctions.nwnxPopFloat(); newEffect.SubType = Internal.NativeFunctions.nwnxPopInt(); newEffect.Type = Internal.NativeFunctions.nwnxPopInt(); newEffect.EffectId = Internal.NativeFunctions.nwnxPopInt(); return(newEffect); }
private static void ResolvePack(EffectUnpacked e, bool bReplace = false) { if (!bReplace) { Internal.NativeFunctions.nwnxPushInt(e.Type); } Internal.NativeFunctions.nwnxPushInt(e.SubType); Internal.NativeFunctions.nwnxPushFloat(e.Duration); Internal.NativeFunctions.nwnxPushInt(e.ExpiryCalendarDay); Internal.NativeFunctions.nwnxPushInt(e.ExpiryTimeOfDay); Internal.NativeFunctions.nwnxPushObject(e.Creator); Internal.NativeFunctions.nwnxPushInt(e.SpellId); Internal.NativeFunctions.nwnxPushInt(e.Expose); Internal.NativeFunctions.nwnxPushInt(e.ShowIcon); Internal.NativeFunctions.nwnxPushInt(e.CasterLevel); if (!bReplace) { Internal.NativeFunctions.nwnxPushEffect(e.LinkLeft); Internal.NativeFunctions.nwnxPushInt(e.LinkLeftValid ? 1 : 0); Internal.NativeFunctions.nwnxPushEffect(e.LinkRight); Internal.NativeFunctions.nwnxPushInt(e.LinkRightValid ? 1 : 0); } Internal.NativeFunctions.nwnxPushInt(e.NumIntegers); Internal.NativeFunctions.nwnxPushInt(e.nParam0); Internal.NativeFunctions.nwnxPushInt(e.nParam1); Internal.NativeFunctions.nwnxPushInt(e.nParam2); Internal.NativeFunctions.nwnxPushInt(e.nParam3); Internal.NativeFunctions.nwnxPushInt(e.nParam4); Internal.NativeFunctions.nwnxPushInt(e.nParam5); Internal.NativeFunctions.nwnxPushInt(e.nParam6); Internal.NativeFunctions.nwnxPushInt(e.nParam7); Internal.NativeFunctions.nwnxPushFloat(e.fParam0); Internal.NativeFunctions.nwnxPushFloat(e.fParam1); Internal.NativeFunctions.nwnxPushFloat(e.fParam2); Internal.NativeFunctions.nwnxPushFloat(e.fParam3); Internal.NativeFunctions.nwnxPushString(e.sParam0); Internal.NativeFunctions.nwnxPushString(e.sParam1); Internal.NativeFunctions.nwnxPushString(e.sParam2); Internal.NativeFunctions.nwnxPushString(e.sParam3); Internal.NativeFunctions.nwnxPushString(e.sParam4); Internal.NativeFunctions.nwnxPushString(e.sParam5); Internal.NativeFunctions.nwnxPushObject(e.oParam0); Internal.NativeFunctions.nwnxPushObject(e.oParam1); Internal.NativeFunctions.nwnxPushObject(e.oParam2); Internal.NativeFunctions.nwnxPushObject(e.oParam3); Internal.NativeFunctions.nwnxPushFloat(e.vParam0.X); Internal.NativeFunctions.nwnxPushFloat(e.vParam0.Y); Internal.NativeFunctions.nwnxPushFloat(e.vParam0.Z); Internal.NativeFunctions.nwnxPushFloat(e.vParam1.X); Internal.NativeFunctions.nwnxPushFloat(e.vParam1.Y); Internal.NativeFunctions.nwnxPushFloat(e.vParam1.Z); Internal.NativeFunctions.nwnxPushString(e.Tag); Internal.NativeFunctions.nwnxPushString(e.sItemProp); }