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);

    }

}