DMH-Online

Dungeon Masters Helper · Est. 2005

Npcs Scripts

NWN Script: misc_activity.htm

Author Sticky: Post Working Scripts Here
Willow the Smasher Posted: Monday, 15 July 10:11PM
NPC 1 time loop action then will be destroyed

Heh, Heh, It took a time for me newbee but I figured out.

A NPC that does an couple of action and walks to points and the disappear after
the fist time.


Trigger Area OnEnter script:
NWScript:
// TriggerArea OnEnter scriptfile: 02_noble_tr_en
//
// created by: Willow the Smacher
// Date: 15/07/'02
//
// A NPC does a couple of actions like "walk and open door speak with
// gruard then walk to a second door and opens it and walks to his
// last waypoint and diappears.
//
// needed files 02_noble_os/02_noble_oh/02_noble_ud for NPC
// and a triggerarea with file: 02_noble_tr_en
/////////////////////////////////////////////////////////////////////
//switch NPC to "walkstate" by trigger area
void main()
{
object oPC=GetEnteringObject();
if(GetIsPC(oPC))
{
SetLocalInt(oPC,"noble_01",1);
}
}




OnHeartbeat Script:

NWScript:
// OnHearbeat scriptfile: 02_noble_oh
//
// created by: Willow the Smacher
// Date: 15/07/'02
//
// A NPC does a couple of actions like "walk and open door speak with
// gruard then walk to a second door and opens it and walks to his
// last waypoint and diappears.
//
// needed files 02_noble_os/02_noble_oh/02_noble_ud for NPC
// and a triggerarea with file: 02_noble_tr_en
/////////////////////////////////////////////////////////////////////
void main()
{
object oPC=GetFirstPC();
if (GetLocalInt(oPC,"noble_01")==1)
    {
    SignalEvent(OBJECT_SELF,EventUserDefined(100));
    }
if (GetLocalInt(OBJECT_SELF,"DESTROY_STATE")==3)
    {
    DelayCommand(35.0,SignalEvent(OBJECT_SELF,EventUserDefined(101)));
    }
}




OnSpawn script:

NWScript:
// OnSpawn scriptfile: 02_noble_os
//
// created by: Willow the Smacher
// Date: 15/07/'02
//
// A NPC does a couple of actions like "walk and open door speak with
// gruard then walk to a second door and opens it and walks to his
// last waypoint and diappears.
//
// needed files 02_noble_os/02_noble_oh/02_noble_ud for NPC
// and a triggerarea with file: 02_noble_tr_en
/////////////////////////////////////////////////////////////////////
void main()
{
SetLocalInt(OBJECT_SELF,"DESTROY_STATE",0);
}




UserDefined script:

NWScript:
// OnUserDefined scriptfile: 02_noble_ud
//
// created by: Willow the Smacher
// Date: 15/07/'02
//
// A NPC does a couple of actions like "walk and open door speak with
// gruard then walk to a second door and opens it and walks to his
// last waypoint and diappears.
//
// needed files 02_noble_os/02_noble_oh/02_noble_ud for NPC
// and a triggerarea with file: 02_noble_tr_en
//
/////////////////////////////////////////////////////////////////////
void main()
{
    int nUser=GetUserDefinedEventNumber();
    object oDoor01=GetNearestObjectByTag("WALLDOOR_01");
    object oGuard=GetNearestObjectByTag("GUARD");
    object oDoor02=GetNearestObjectByTag("WALLDOOR_02");
    object oPoint=GetNearestObjectByTag("WP_NOBLE_END");
         
        switch(nUser)
        {
        case 100://start loop!
            {
                ActionMoveToObject(oDoor01);
                ActionOpenDoor(oDoor01);
                ActionMoveToObject(oGuard);
                ActionWait(3.0);
                ActionSpeakString("He, Guard where is the main entrance?");
                ActionWait(3.0);
                ActionMoveToObject(oDoor02);
                ActionOpenDoor(oDoor02);
                ActionMoveToObject(oPoint);
                SetLocalInt(OBJECT_SELF,"DESTROY_STATE",3);
         }
         break;
         {
         case 101://start destroy
            {
                SetLocalInt(OBJECT_SELF,"DESTROY_STATE",2);
                DestroyObject(OBJECT_SELF);
                ActionDoCommand(SetLocalInt(OBJECT_SELF,"DESTROY_STATE",1));
            }
         }
         break;
         }
}




If any other have sugestions, please post?

⌂ 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