DMH-Online

Dungeon Masters Helper · Est. 2005

Npcs Scripts

NWN Script: protect_items.htm

Author Sticky: Post Working Scripts Here
EtherDragon Posted: Thursday, 27 June 07:27PM
Hey, here's another good'n.

1. On_Disturb

2. Intended to be used on containers that have inventory. Causes Merchants to defend their containers.

3. Make sure there is an NPC in the area with the tag "MERCHANT".

NWScript:
/*
    On Disturbed Theft Detection Script
    by, EtherDragon, Jun 27, 2001.
    Message me at my Bioware account if you have
    any comments.
    This Script is designed to allow a near-by Merchant
    a chance to see the Player stealing items from
    their chests.
    Use: Placeable Containers, On Disturbed.
    Make sure the Chest or Container is part of the same
    faction that the Merchant is. If the player gets
    caught stealing enough, the Merchants will then no
    longer deal with them.
*/
void main()
{
    // Initialize Objects
    object oChest = OBJECT_SELF;
    object oPlayer = GetLastDisturbed();
    object oMerchant = GetNearestObjectByTag("MERCHANT");
    // Get the skill checks to see if the Merchant spotted the theft.
    int iPPSkillCheck = d20(1) + 1 + GetSkillRank(SKILL_PICK_POCKET, oPlayer);
    // The Merchant has a +2 circumstance bonus to spot.
    int iSpotCheck = d20(1) + 3 + GetSkillRank(SKILL_SPOT, oMerchant);
    // Make a text string to display to the Player.
    string sSkillCheck = "Pick Pocket " + IntToString(iPPSkillCheck) + " vs Spot " + IntToString(iSpotCheck);
    if (iPPSkillCheck > iSpotCheck)
    {
    // Theft not spotted.
        FloatingTextStringOnCreature(sSkillCheck + " - Success!", oPlayer);
        // Slightly worsen the rep with Merchants
        AdjustReputation(oPlayer, oChest, -5);
        return;
    }
    else
    {
    // Theft was spotted.
        FloatingTextStringOnCreature(sSkillCheck + " - Failed!", oPlayer);
        // Give the Player a bad rep with Merchants
        // and instruct the Merchant to attack the player.
        AdjustReputation(oPlayer, oChest, -20);
        AssignCommand(oMerchant, ActionAttack(oPlayer));
    }
}



~ED

⌂ 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