// Gets the player's quickbar slot info public QuickBarSlot NWNX_Player_GetQuickBarSlot(NWPlayer player, int slot) { string sFunc = "GetQuickBarSlot"; QuickBarSlot qbs = new QuickBarSlot(); NWNX_PushArgumentInt(NWNX_Player, sFunc, slot); NWNX_PushArgumentObject(NWNX_Player, sFunc, player.Object); NWNX_CallFunction(NWNX_Player, sFunc); qbs.Associate = NWObject.Wrap(NWNX_GetReturnValueObject(NWNX_Player, sFunc)); qbs.AssociateType = NWNX_GetReturnValueInt(NWNX_Player, sFunc); qbs.DomainLevel = NWNX_GetReturnValueInt(NWNX_Player, sFunc); qbs.MetaType = NWNX_GetReturnValueInt(NWNX_Player, sFunc); qbs.INTParam1 = NWNX_GetReturnValueInt(NWNX_Player, sFunc); qbs.ToolTip = NWNX_GetReturnValueString(NWNX_Player, sFunc); qbs.CommandLine = NWNX_GetReturnValueString(NWNX_Player, sFunc); qbs.CommandLabel = NWNX_GetReturnValueString(NWNX_Player, sFunc); qbs.Resref = NWNX_GetReturnValueString(NWNX_Player, sFunc); qbs.MultiClass = NWNX_GetReturnValueInt(NWNX_Player, sFunc); qbs.ObjectType = NWNX_GetReturnValueInt(NWNX_Player, sFunc); qbs.SecondaryItem = NWItem.Wrap(NWNX_GetReturnValueObject(NWNX_Player, sFunc)); qbs.Item = NWItem.Wrap(NWNX_GetReturnValueObject(NWNX_Player, sFunc)); return(qbs); }
// Create a QBS for using a feat public QuickBarSlot UseFeat(int nFeat) { QuickBarSlot qbs = Empty(QuickBarSlotType.Feat); qbs.INTParam1 = nFeat; return(qbs); }
// Create a QBS for quickchat command public QuickBarSlot QuickChat(int nCommand) { QuickBarSlot qbs = Empty(QuickBarSlotType.QuickChat); qbs.INTParam1 = nCommand; return(qbs); }
// Create a QBS for using a skill public QuickBarSlot UseSkill(int nSkill) { QuickBarSlot qbs = Empty(QuickBarSlotType.Skill); qbs.INTParam1 = nSkill; return(qbs); }
// Create a QBS for toggling a mode public QuickBarSlot ToggleMode(int nMode) { QuickBarSlot qbs = Empty(QuickBarSlotType.ModeToggle); qbs.INTParam1 = nMode; return(qbs); }
// Create a QBS for emoting public QuickBarSlot Emote(int nEmote) { QuickBarSlot qbs = Empty(QuickBarSlotType.Emote); qbs.INTParam1 = nEmote; return(qbs); }
// Create a QBS for equipping an item public QuickBarSlot EquipItem(NWItem oItem, NWItem oSecondaryItem) { QuickBarSlot qbs = Empty(QuickBarSlotType.Item); qbs.Item = oItem; qbs.SecondaryItem = oSecondaryItem; return(qbs); }
// Create a QBS for using an item public QuickBarSlot UseItem(NWItem oItem, int nPropertyID) { QuickBarSlot qbs = Empty(QuickBarSlotType.Item); qbs.Item = oItem; qbs.INTParam1 = nPropertyID; return(qbs); }
// Create a QBS for casting a spell public QuickBarSlot UseSpecialAbility(int nSpell, int nCasterLevel) { QuickBarSlot qbs = Empty(QuickBarSlotType.Spell); qbs.INTParam1 = nSpell; qbs.DomainLevel = nCasterLevel; return(qbs); }
// Create a QBS for casting a spell public QuickBarSlot CastSpell(int nSpell, int nClassIndex, int nMetamagic, int nDomainLevel) { QuickBarSlot qbs = Empty(QuickBarSlotType.Spell); qbs.INTParam1 = nSpell; qbs.MultiClass = nClassIndex; qbs.MetaType = nMetamagic; qbs.DomainLevel = nDomainLevel; return(qbs); }
// Create an empty QBS of given type public QuickBarSlot Empty(QuickBarSlotType type) { QuickBarSlot qbs = new QuickBarSlot { ObjectType = (int)type, Item = null, SecondaryItem = null, MultiClass = 0, Resref = "", CommandLabel = "", CommandLine = "", ToolTip = "", INTParam1 = 0, MetaType = 0, DomainLevel = 0, AssociateType = 0, Associate = null }; return(qbs); }
// Sets a player's quickbar slot public void SetQuickBarSlot(NWPlayer player, int slot, QuickBarSlot qbs) { string sFunc = "SetQuickBarSlot"; NWNX_PushArgumentObject(NWNX_Player, sFunc, qbs.Item.Object); NWNX_PushArgumentObject(NWNX_Player, sFunc, qbs.SecondaryItem.Object); NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.ObjectType); NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.MultiClass); NWNX_PushArgumentString(NWNX_Player, sFunc, qbs.Resref); NWNX_PushArgumentString(NWNX_Player, sFunc, qbs.CommandLabel); NWNX_PushArgumentString(NWNX_Player, sFunc, qbs.CommandLine); NWNX_PushArgumentString(NWNX_Player, sFunc, qbs.ToolTip); NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.INTParam1); NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.MetaType); NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.DomainLevel); NWNX_PushArgumentInt(NWNX_Player, sFunc, qbs.AssociateType); NWNX_PushArgumentObject(NWNX_Player, sFunc, qbs.Associate.Object); NWNX_PushArgumentInt(NWNX_Player, sFunc, slot); NWNX_PushArgumentObject(NWNX_Player, sFunc, player.Object); NWNX_CallFunction(NWNX_Player, sFunc); }