DMH-Online

Dungeon Masters Helper · Est. 2005

Npcs Scripts

NWN Script: prostitute.htm

Author: maddman75
Author Website: n/a
Script Name: NPC Prostitute
Description: Causes a prostitute to act the part.
Instructions on Use: Give the prostitute a dialogue tree. She propositions the player if male and has one of two possible actions. The first is to give a 'special favor', which is a pretty severe abuse of the Worship animation.  When you reach that point in the conversation, set the actions taken to this script.

Script 1 below currently costs the PC 15 gold pieces and makes the prostitute worship him.  Script 2 is an alternate choice that will cause the prostitute to follow the PC around, script 3 ensures that the Prostitute does not follow the PC out of the area the encounter began in.

Scripts 1 and 2 are called from the "ActionTaken" part of a conversation, script 3 goes into the OnHearbeat of the prostitute.  You will also need a waypoint with the tag 'pro_start' at the point that you want her to return to after the PC leaves the area.

Script 1(ActionTaken):

//::///////////////////////////////////////////////
//:: FileName pro15gp
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: maddman75
//:: Created On: 7/6/2002 11:59:31 PM
//:://////////////////////////////////////////////
void main()
{
    // Remove some gold from the player
    TakeGoldFromCreature(15, GetPCSpeaker(), TRUE);
    
    // perform the favor
    PlaySound("al_na_sludglake1");
    PlayAnimation(ANIMATION_LOOPING_WORSHIP, 1.0, 8.0);
}

Script 2(ActionTaken):

//::///////////////////////////////////////////////
//:: FileName kela5gp
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: maddman75
//:: Created On: 7/6/2002 11:59:31 PM
//:://////////////////////////////////////////////
void main()
{
    object trick;
    trick = GetPCSpeaker();
    // Remove some gold from the player
    TakeGoldFromCreature(5, GetPCSpeaker(), FALSE);
    ActionForceFollowObject(GetPCSpeaker(), 1.0);
}

Script 3(OnHearbeat):

// Additions to default heartbeat script
    object trick;
    object inn;
    inn = GetObjectByTag("tag of area");
    if(trick != OBJECT_INVALID                                                      )
    {
    ActionForceFollowObject (trick, 1.0);
    }
    if(trick == OBJECT_INVALID)
    {
    ActionForceMoveToLocation(GetLocation(GetWaypointByTag("pro_start")));
    }
    if (inn != GetArea(OBJECT_SELF))
    {
    ClearAllActions();
    ActionForceMoveToLocation(GetLocation(GetWaypointByTag("pro_start")));
    trick = OBJECT_INVALID;
    }
⌂ 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