DMH-Online

Dungeon Masters Helper · Est. 2005

Npcs Scripts

NWN Script: jail_cell.htm

Author Sticky: Post Working Scripts Here
Karthal Posted: Wednesday, 03 July 06:20PM
Here are a couple of scripts that make a guard the temporary enemy of a player when they step outside of their cell. When they return to their cell, they are made temporary friends. The friend state decays back to neutral.

How to use:

1. Create a guard (tag: GUARD) which is stationed outside of the cell of the prisoner. Make sure they are usually neutral to the character.
2. Draw a generic trigger polygon around the area considered the prison cell.
3. Make this script the onExit script (named: cs_leave_cell):
NWScript:
// cs_leave_cell makes the PC an enemy of the guards when they exit a particular
//      area. The script is reversed by calling cs_enter_cell.
void main()
{
    object oPC = GetExitingObject();
    if (GetIsPC(oPC))
    {
        object oGuard1 = GetObjectByTag("GUARD");
        SetIsTemporaryEnemy(oPC, oGuard1);
        SendMessageToPC(oPC, "WATCH OUT FOR THE GUARDS!");
    }
}


4. Make this the onEnter script (named: cs_enter_cell)

NWScript:
// cs_enter_cell makes the PC an friend of the guards when they return to an
//      area. The script is reversed by calling cs_leave_cell.
void main()
{
    object oPC = GetEnteringObject();
    if (GetIsPC(oPC))
    {
        object oGuard1 = GetObjectByTag("GUARD");
        SetIsTemporaryFriend(oPC, oGuard1, TRUE, 15.0);
        SendMessageToPC(oPC, "You should be safe again.");
    }
}


This works better if the guard is patrolling some waypoints. They should go back to their patrol when they are friendly to the NPC again.

⌂ 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