DMH-Online

Dungeon Masters Helper · Est. 2005

Npcs Scripts

NWN Script: check_pc_item.htm

Author Sticky: Post Working Scripts Here
RicoBlanco Posted: Tuesday, 02 July 08:53PM
Script checks to see if the player is wearing a certain armor, and if he isn't, the creature with the script will switch to a hostile faction.

Things you need to do:
Make a creature(doesn't need to be placed in map), tag him hostiletoplayer, give him the faction HostileToPlayer and make that faction friendly to all except for the player.
Make the creature you want the script to affect with this script as either the OnPerception or OnHeartbeat.

The script is detailed and explains the whole operation, great for learning.

Script:
NWScript:
void main()
{
//Declares the PC as oPC
 object oPC =  GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC);
//Declares the target with this script as oGuard
 object oGuard = OBJECT_SELF;
//Declares the target that's tagged as oHostileToPlayer
 object oHostileToPlayer = GetObjectByTag("hostiletoplayer");
//Declares oItem as the tag on your armor, in this case, the tag is guardarmor
 object oItem = GetObjectByTag("guardarmor");
//Declares the chest slot as the nArmorSlot
 int nArmorSlot = INVENTORY_SLOT_CHEST;
//Checks to see if player(oPC) has the right armor(oItem) in the right slot(nArmorSlot)
   if (GetItemInSlot(nArmorSlot, oPC) == oItem)
//If true, do nothing
    {
    }
//If false...
   else
//Set oGuard's faction to HostileToPlayer
    {
     ChangeFaction(oGuard, oHostileToPlayer);
    }
}
⌂ 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