DMH-Online

Dungeon Masters Helper · Est. 2005

Npcs Scripts

NWN Script: item_guardian.htm

Author Sticky: Post Working Scripts Here
Sarryn Posted: Tuesday, 02 July 01:22AM
There is probably a better way to do this
but its my very first script that worked (albeit most of it came from the module tutorial) tinkering with it and writing it away from the computer and original script taught me a lot.

I hope this went into one of the script window boxes, apologies in advance if I got that wrong.


NWScript:
//::///////////////////////////////////////////////
//:: Name  Item Guardian Attacks PC if Item is taken.
//:: FileName   me_acquireitem.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*  If the a PC picks up the item(oItem) that has a guardian
    creature (oElemental) then it adds several actions to the guardian's
    action queue.
    1st. Changes his faction to hostile
    2nd. Makes him say a bit of flavour text/trash talk etc
    3rd. The actual attack command itself
*/
//:://////////////////////////////////////////////
//:: Created By:  D. Stokes (Sarryn) after Jay Watamaniuk's tutorial OnAcquireItem script
//:: Created On:  2nd July, 2002
//:://////////////////////////////////////////////
void main()
{
    // variable declarations
    object oPC; // the PC that acquires the item
    object oItem; // the item that was acquired
    object oElemental; //the guardian elemental
     //find the elemental guardian
    oElemental = GetObjectByTag("ct_summonedwater");
    // get the item that was acquired
    oItem = GetModuleItemAcquired();
    // if this item is a valid object
    if (GetIsObjectValid(oItem) == TRUE)
        {
        // if the valid item's tag is "it_wateramulet"
        if (GetTag(oItem) == "it_wateramulet")
            {
            // get the PC that acquired the item
            oPC = GetItemPossessor(oItem);
            //this set of commands tells the guardian elemental to become hostile then attack the pc
            AssignCommand(oElemental, ChangeToStandardFaction(oElemental, STANDARD_FACTION_HOSTILE));   //Put any commands you want the
            AssignCommand(oElemental, ActionSpeakString("Return the Amulet! Thief!!"));                 //guardian to perform here.
            AssignCommand(oElemental, ActionAttack(oPC));
            } // if
        } // if
}
⌂ All Scripts ← PreviousNext → 👁 Category List

All Npcs Scripts

📄 ambient_animations 📄 barmaid 📄 barmaid002 📄 barmaid003 📄 barmaid003a 📄 barmaid004 📄 bitch_slap 📄 blacksmith 📄 blacksmith_001 📄 blacksmith_002 📄 blacksmith_003 📄 bounty_hunter 📄 check 📄 check_pc_item 📄 check_pc_item_002 📄 cheer_pcs 📄 cook 📄 daily_activity 📄 day_merchant 📄 determine_armed 📄 drunk 📄 equip_dequip 📄 equip_dequip_002 📄 escort 📄 flee 📄 flee_001 📄 force_pc_sit 📄 gate_guard 📄 get_nearest 📄 guard_dog_002 📄 guard_patrol 📄 healer 📄 impersonation 📄 item_guardian 📄 item_guardian_002 📄 jail_cell 📄 janitor 📄 janitor_002 📄 living_statues 📄 misc_activity 📄 monolouge 📄 multi_converse 📄 night_watch 📄 npc_brawls 📄 npc_pick_pocket 📄 npc_speak_onperception 📄 npc_start_conv 📄 npc_start_conv_002 📄 npc_start_conv_003 📄 npc_start_conv_004 📄 npc_start_conv_005 📄 open_door 📄 polymorph 📄 prostitute 📄 protect_items 📄 protect_items_002 📄 random_speak 📄 random_speak_002 📄 random_speak_003 📄 random_speak_004 📄 random_speak_005 📄 random_walk2 📄 reinforcements 📄 reinforcements_002 📄 remember_conv 📄 rowdy 📄 sheath_weapons 📄 sit_and_talk 📄 sit_and_talk_002 📄 sit_in_nearest_chair 📄 smart_npc 📄 smart_sitting 📄 streetfight 📄 tag 📄 tag_001a 📄 teleport_away 📄 teleport_away_002 📄 teleport_away_003 📄 town_crier 📄 trivia_bot 📄 walk_after 📄 woodcutter 📄 worker 📄 worker_002 📄 workstation 📄 wrestling_game