DMH-Online

Dungeon Masters Helper · Est. 2005

Npcs Scripts

NWN Script: janitor.htm

Author Sticky: Post Working Scripts Here
Tychon Posted: Monday, 01 July 08:50PM
Just a simple janitor script. I also made them try to "hang out" with each other, so you can get semi-roving packs of janitors, hehe. Moreso just a fun thing than anything of especial use. I used the "Old Guy" model when creating, hence some of the things they say.

NWScript:
void main()
{
 ClearAllActions();
 object oNearest = GetNearestObject(OBJECT_TYPE_ITEM, OBJECT_SELF);
 if (GetIsObjectValid(oNearest))
 {
  ActionMoveToObject(oNearest, TRUE, 1.0f);
  int nSay0 = Random(4);
  if (nSay0 == 1)
  {
   SpeakString("Ooo, stuff!");
  }
  else if (nSay0 == 2)
  {
   SpeakString("It's -MINE-");
  }
  else if (nSay0 == 3)
  {
   SpeakString("Old guy comin' through!");
  }
  else if (nSay0 == 0)
  {
   SpeakString("Ahahaha, gold for the old!");
  }
  ActionPickUpItem(oNearest);
 }
 else
 {
  int nRand = Random(3);
  if (nRand == 1)
  {
   ActionRandomWalk();
   int nSay1 = Random(4);
   if (nSay1 == 1)
   {
    SpeakString("*sigh*");
   }
   else if (nSay1 == 2)
   {
    SpeakString("Walk, walk, walk. It's all I do!");
   }
   else if (nSay1 == 3)
   {
    SpeakString("Must.. find.. stuff!");
   }
   else if (nSay1 == 0)
   {
    SpeakString("*cough*");
   }
  }
  else if (nRand == 2)
  {
   object oFollow = GetNearestCreature(CREATURE_TYPE_CLASS, CLASS_TYPE_COMMONER);
   ActionForceFollowObject(oFollow);
   int nSay2 = Random(4);
   if (nSay2 == 1)
   {
    SpeakString("Here I come!");
   }
   else if (nSay2 == 2)
   {
    SpeakString("Bum rush!");
   }
   else if (nSay2 == 3)
   {
    SpeakString("Hahaha!");
   }
   else if (nSay2 == 0)
   {
    SpeakString("<This model powered by Energizer. Do you have the Bunny inside?>");
   }
  }
  else if (nRand == 0)
  {
   int nSay3 = Random(4);
   if (nSay3 == 1)
   {
    SpeakString("Uh, what?");
   }
   else if (nSay3 == 2)
   {
    SpeakString("You lookin' at me punk?");
   }
   else if (nSay3 == 3)
   {
    SpeakString("Leave me be!");
   }
   else if (nSay3 == 0)
   {
    SpeakString("Default text goes here. Uhh... huh?");
   }
  }
 }
}
⌂ 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