NPC: Difference between revisions

From OpenMW Wiki
Jump to navigation Jump to search
(NPC_, NPCs...)
 
mNo edit summary
 
Line 1: Line 1:
NPC_ NPCs
NPC_ NPCs
  NAME = Variable length, string. NPC ID.
  NAME = Variable length, string. NPC ID.
Line 10: Line 11:
  SCRI = Variable length, string. Script name (optional).
  SCRI = Variable length, string. Script name (optional).
  NPDT = 12 or 52 bytes. NPC Data as described:
  NPDT = 12 or 52 bytes. NPC Data as described:
    -- 52 bytes version:
      -- 52 bytes version:
      -- 2 bytes, short. Level.
    2 bytes, short. Level.
      -- 1 byte, byte.  Strength.
    1 byte, byte.  Strength.
      -- 1 byte, byte.  Intelligence.
    1 byte, byte.  Intelligence.
      -- 1 byte, byte.  Willpower.
    1 byte, byte.  Willpower.
      -- 1 byte, byte.  Agility.
    1 byte, byte.  Agility.
      -- 1 byte, byte.  Speed.
    1 byte, byte.  Speed.
      -- 1 byte, byte.  Endurance.
    1 byte, byte.  Endurance.
      -- 1 byte, byte.  Personality.
    1 byte, byte.  Personality.
      -- 1 byte, byte.  Luck.
    1 byte, byte.  Luck.
      -- 27 bytes, byte[27]. 27 Skills level, according to the skillID (0-26).
    27 bytes, byte[27]. 27 Skills level, according to the skillID (0-26).
      -- 1 byte, byte.  Reputation.
    1 byte, byte.  Reputation.
      -- 2 bytes, short. Health.
    2 bytes, short. Health.
      -- 2 bytes, short. SpellPts.
    2 bytes, short. SpellPts.
      -- 2 bytes, short. Fatigue.
    2 bytes, short. Fatigue.
      -- 1 byte, byte.  Disposition.
    1 byte, byte.  Disposition.
      -- 1 byte, byte.  FactionID.
    1 byte, byte.  FactionID.
      -- 1 byte, byte.  Rank.
    1 byte, byte.  Rank.
      -- 1 byte, byte.  Unknown.
    1 byte, byte.  Unknown.
      -- 4 bytes, integer. Gold.
    4 bytes, integer. Gold.
    -- 12 byte Version
      -- 12 byte Version
      -- 2 bytes, short. Level.
    2 bytes, short. Level.
      -- 1 byte, byte.  Disposition.
    1 byte, byte.  Disposition.
      -- 1 byte, byte.  FactionID?
    1 byte, byte.  FactionID?
      -- 1 byte, byte.  Rank.
    1 byte, byte.  Rank.
      -- 1 byte, byte.  Unknown.
    1 byte, byte.  Unknown.
      -- 1 byte, byte.  Unknown.
    1 byte, byte.  Unknown.
      -- 1 byte, byte.  Unknown.
    1 byte, byte.  Unknown.
      -- 4 bytes, integer.  Gold?
    4 bytes, integer.  Gold?
  FLAG = 4 bytes, integer. NPC Flags as described:
  FLAG = 4 bytes, integer. NPC Flags as described:
       -- 0x0001 = Female.
       -- 0x0001 = Female.
Line 48: Line 49:
       -- 0x0800 = Blood Metal.
       -- 0x0800 = Blood Metal.
  NPCO = 36 bytes, NPC item as described.
  NPCO = 36 bytes, NPC item as described.
      -- 4 bytes, integer. Copies of the item.
    4 bytes, integer. Copies of the item.
      -- 32 bytes, string. Item ID.
    32 bytes, string. Item ID.
       -- NPCO may appear 0 or multiple times.
       --NPCO may appear 0 or multiple times.
  NPCS = 32 bytes, string. NPC spell ID.
  NPCS = 32 bytes, string. NPC spell ID.
       -- NPCS may appear 0 or multiple times.
       -- NPCS may appear 0 or multiple times.
  AIDT = AI data (12 bytes)
  AIDT = AI data (12 bytes)
      -- 1 byte, byte. Hello.
    1 byte, byte. Hello.
      -- 1 byte, byte. Unknown.
    1 byte, byte. Unknown.
      -- 1 byte, byte. Fight.
    1 byte, byte. Fight.
      -- 1 byte, byte. Flee.
    1 byte, byte. Flee.
      -- 1 byte, byte. Alarm.
    1 byte, byte. Alarm.
      -- 1 byte, byte. Unknown.
    1 byte, byte. Unknown.
      -- 1 byte, byte. Unknown.
    1 byte, byte. Unknown.
      -- 1 byte, byte. Unknown.
    1 byte, byte. Unknown.
      -- 4 bytes, integer. Flags:
    4 bytes, integer. Flags:
       --     0x00001 = Weapon.
       -- 0x00001 = Weapon.
       --     0x00002 = Armor.
       -- 0x00002 = Armor.
       --     0x00004 = Clothing.
       -- 0x00004 = Clothing.
       --     0x00008 = Books.
       -- 0x00008 = Books.
       --     0x00010 = Ingrediant.
       -- 0x00010 = Ingrediant.
       --     0x00020 = Picks.
       -- 0x00020 = Picks.
       --     0x00040 = Probes.
       -- 0x00040 = Probes.
       --     0x00080 = Lights.
       -- 0x00080 = Lights.
       --     0x00100 = Apparatus.
       -- 0x00100 = Apparatus.
       --     0x00200 = Repair.
       -- 0x00200 = Repair.
       --     0x00400 = Misc.
       -- 0x00400 = Misc.
       --     0x00800 = Spells.
       -- 0x00800 = Spells.
       --     0x01000 = Magic Items.
       -- 0x01000 = Magic Items.
       --     0x02000 = Potions.
       -- 0x02000 = Potions.
       --     0x04000 = Training.
       -- 0x04000 = Training.
       --     0x08000 = Spellmaking.
       -- 0x08000 = Spellmaking.
       --     0x10000 = Enchanting.
       -- 0x10000 = Enchanting.
       --     0x20000 = Repair Item.
       -- 0x20000 = Repair Item.
  AI_W = 14 bytes, AI Walking as described.
  AI_W = 14 bytes, AI Walking as described.
      -- 2 bytes, short. Distance.
    2 bytes, short. Distance.
      -- 2 bytes, short. Duration.
    2 bytes, short. Duration.
      -- 1 byte, byte. TimeOfDay.
    1 byte, byte. TimeOfDay.
      -- 8 byte, byte[8]. Idle.
    8 byte, byte[8]. Idle.
      -- 1 byte, byte. Unknown (usually 1?).
    1 byte, byte. Unknown (usually 1?).
  AI_T = 16 bytes, AI Travel as described.
  AI_T = 16 bytes, AI Travel as described.
      -- 4 bytes, float. X.
    4 bytes, float. X.
      -- 4 bytes, float. Y.
    4 bytes, float. Y.
      -- 4 bytes, float. Z.
    4 bytes, float. Z.
      -- 4 bytes, integer. Unknown (usually 1?)
    4 bytes, integer. Unknown (usually 1?)
  AI_F = 48 bytes, AI Follow as described.
  AI_F = 48 bytes, AI Follow as described.
      -- 4 bytes, float X.
    4 bytes, float X.
      -- 4 bytes, float Y.
    4 bytes, float Y.
      -- 4 bytes, float Z.
    4 bytes, float Z.
      -- 2 bytes, short Duration.
    2 bytes, short Duration.
      -- 32 bytes, char[32]. ID.
    32 bytes, char[32]. ID.
      -- 2 bytes, short Unknown (usually 0x0100?)
    2 bytes, short Unknown (usually 0x0100?)
  AI_E = 48 bytes, AI Escort as described.
  AI_E = 48 bytes, AI Escort as described.
      -- 4 bytes, float X.
    4 bytes, float X.
      -- 4 bytes, float Y.
    4 bytes, float Y.
      -- 4 bytes, float Z.
    4 bytes, float Z.
      -- 2 bytes, short Duration.
    2 bytes, short Duration.
      -- 32 bytes, char[32]. ID.
    32 bytes, char[32]. ID.
      -- 2 bytes, short Unknown (usually 0x0100?)
    2 bytes, short Unknown (usually 0x0100?)
  CNDT = Variable length, string. Optional cell escort/follow to.
  CNDT = Variable length, string. Optional cell escort/follow to.
  AI_A = 33 bytes. AI Activate as described.
  AI_A = 33 bytes. AI Activate as described.
      -- 32 bytes, char[32]. Name.
    32 bytes, char[32]. Name.
      -- 1 byte, byte. Unknown (1?)
    1 byte, byte. Unknown (1?)
  DODT = 24 bytes, Cell Travel Destination as described.
  DODT = 24 bytes, Cell Travel Destination as described.
      -- 4 bytes, float. XPos
    4 bytes, float. XPos
      -- 4 bytes, float. YPos
    4 bytes, float. YPos
      -- 4 bytes, float. ZPos
    4 bytes, float. ZPos
      -- 4 bytes, float. XRot
    4 bytes, float. XRot
      -- 4 bytes, float. YRot
    4 bytes, float. YRot
      -- 4 bytes, float. ZRot
    4 bytes, float. ZRot
  DNAM = Various lenght, string. Cell name for previous DODT, if interior.
  DNAM = Various lenght, string. Cell name for previous DODT, if interior.
  XSCL = 4 bytes, float. Optional scale.
  XSCL = 4 bytes, float. Optional scale.

Latest revision as of 15:12, 12 March 2013

NPC_ NPCs

NAME = Variable length, string. NPC ID.
FNAM = Variable length, string. NPC name.
MODL = Variable length, string. Animation filename (optional).
RNAM = Variable length, string. Race Name.    }
ANAM = Variable length, string. Faction name. } Required, even if empty
BNAM = Variable length, string. Head model.   }
CNAM = Variable length, string. Class name.
KNAM = Variable length, string. Hair model.   }
SCRI = Variable length, string. Script name (optional).
NPDT = 12 or 52 bytes. NPC Data as described:
      -- 52 bytes version:
    2 bytes, short. Level.
    1 byte, byte.  Strength.
    1 byte, byte.  Intelligence.
    1 byte, byte.  Willpower.
    1 byte, byte.  Agility.
    1 byte, byte.  Speed.
    1 byte, byte.  Endurance.
    1 byte, byte.  Personality.
    1 byte, byte.  Luck.
    27 bytes, byte[27]. 27 Skills level, according to the skillID (0-26).
    1 byte, byte.  Reputation.
    2 bytes, short. Health.
    2 bytes, short. SpellPts.
    2 bytes, short. Fatigue.
    1 byte, byte.  Disposition.
    1 byte, byte.  FactionID.
    1 byte, byte.  Rank.
    1 byte, byte.  Unknown.
    4 bytes, integer. Gold.
      -- 12 byte Version
    2 bytes, short. Level.
    1 byte, byte.  Disposition.
    1 byte, byte.  FactionID?
    1 byte, byte.  Rank.
    1 byte, byte.  Unknown.
    1 byte, byte.  Unknown.
    1 byte, byte.  Unknown.
    4 bytes, integer.  Gold?
FLAG = 4 bytes, integer. NPC Flags as described:
      -- 0x0001 = Female.
      -- 0x0002 = Essential.
      -- 0x0004 = Respawns.
      -- 0x0008 = None?
      -- 0x0010 = Autocalc.
      -- 0x0400 = Blood Skel.
      -- 0x0800 = Blood Metal.
NPCO = 36 bytes, NPC item as described.
    4 bytes, integer. Copies of the item.
    32 bytes, string. Item ID.
      --NPCO may appear 0 or multiple times.
NPCS = 32 bytes, string. NPC spell ID.
      -- NPCS may appear 0 or multiple times.
AIDT = AI data (12 bytes)
    1 byte, byte. Hello.
    1 byte, byte. Unknown.
    1 byte, byte. Fight.
    1 byte, byte. Flee.
    1 byte, byte. Alarm.
    1 byte, byte. Unknown.
    1 byte, byte. Unknown.
    1 byte, byte. Unknown.
    4 bytes, integer. Flags:
      -- 0x00001 = Weapon.
      -- 0x00002 = Armor.
      -- 0x00004 = Clothing.
      -- 0x00008 = Books.
      -- 0x00010 = Ingrediant.
      -- 0x00020 = Picks.
      -- 0x00040 = Probes.
      -- 0x00080 = Lights.
      -- 0x00100 = Apparatus.
      -- 0x00200 = Repair.
      -- 0x00400 = Misc.
      -- 0x00800 = Spells.
      -- 0x01000 = Magic Items.
      -- 0x02000 = Potions.
      -- 0x04000 = Training.
      -- 0x08000 = Spellmaking.
      -- 0x10000 = Enchanting.
      -- 0x20000 = Repair Item.
AI_W = 14 bytes, AI Walking as described.
    2 bytes, short. Distance.
    2 bytes, short. Duration.
    1 byte, byte. TimeOfDay.
    8 byte, byte[8]. Idle.
    1 byte, byte. Unknown (usually 1?).
AI_T = 16 bytes, AI Travel as described.
    4 bytes, float. X.
    4 bytes, float. Y.
    4 bytes, float. Z.
    4 bytes, integer. Unknown (usually 1?)
AI_F = 48 bytes, AI Follow as described.
    4 bytes, float X.
    4 bytes, float Y.
    4 bytes, float Z.
    2 bytes, short Duration.
    32 bytes, char[32]. ID.
    2 bytes, short Unknown (usually 0x0100?)
AI_E = 48 bytes, AI Escort as described.
    4 bytes, float X.
    4 bytes, float Y.
    4 bytes, float Z.
    2 bytes, short Duration.
    32 bytes, char[32]. ID.
    2 bytes, short Unknown (usually 0x0100?)
CNDT = Variable length, string. Optional cell escort/follow to.
AI_A = 33 bytes. AI Activate as described.
    32 bytes, char[32]. Name.
    1 byte, byte. Unknown (1?)
DODT = 24 bytes, Cell Travel Destination as described.
    4 bytes, float. XPos
    4 bytes, float. YPos
    4 bytes, float. ZPos
    4 bytes, float. XRot
    4 bytes, float. YRot
    4 bytes, float. ZRot
DNAM = Various lenght, string. Cell name for previous DODT, if interior.
XSCL = 4 bytes, float. Optional scale.
      -- XSCL is only present if the scale is not 1.0

Go back to main esx page.