ActionUseSkill(int, object, int, object)

Causes a creature to attempt to use a skill on another object.

void ActionUseSkill(
    int nSkill,
    object oTarget,
    int nSubSkill = 0,
    object oItemUsed = OBJECT_INVALID





Target to use the skill on


SUBSKILL_* (Default: 0)


Item to use in conjunction with the skill (Default: OBJECT_INVALID)


Adding this action to the queue of a creature will make it attempt to use the specified skill. It will have no effect on the wrong sort of object - you cannot unlock a creature, or taunt a door.

The nSubSkill parameter is used for recovering, disarming and flagging traps.

oItemUsed must be a valid item appropriate to the skill. For example, a Healing Kit can be used with SKILL_HEAL. The creature must possess the item.

Use ActionUseSkill with the same parameter values on oTarget again to cause it to stop using a skill which it is currently using.


Some skills can be hostile acts, and invite attacks of opportunity, e.g. SKILL_TAUNT.

Also note that most skills are not selectable, so really only SKILL_ANIMAL_EMPATHY, SKILL_DISABLE_TRAP, SKILL_HEAL, SKILL_OPEN_LOCK, SKILL_PICK_POCKET and SKILL_TAUNT.

The skills SKILL_HIDE, and SKILL_SEARCH can be toggled with SetActionMode.

Known Bugs

SKILL_SET_TRAP does not work at all with this function, and therefore NPC's can never ever set traps.

SKILL_PARRY also doesn't work, however, SetActionMode introduced means this would be redunant anyway.




// The NPC in conversation with a PC Attempts to heal a PC with a healing kit
void main()
    // Quick loop of inventory - get first BASE_ITEM_HEALERSKIT
    object oInventory = GetFirstItemInInventory();
    object oKit;
        // Get if healers kit
        if(GetBaseItemType(oInventory) == BASE_ITEM_HEALERSKIT)
            oKit = oInventory;
        oInventory = GetNextItemInInventory();
    // Check oKit
        // Use our heal skill.
        ActionUseSkill(SKILL_HEAL, GetPCSpeaker(), 0, oKit);

See Also

functions: ActionUseFeat | GetHasSkill | GetSkillRank
categories: Action on Object Functions | Henchmen/Familiars/Summoned Functions | Talents/Skills/Feats Functions
constants: SKILL_* Constants | SUBSKILL_* Constants

 author: Iskander Merriman, editor: Jasperre, additional contributor(s): Pedro Vaz, Jasperre