NPC Debugging

From Valve Developer Community
Revision as of 06:17, 8 March 2008 by Beeswax (talk | contribs)
Jump to navigation Jump to search

Stub

This article or section is a stub. You can help by expanding it.

misc

npc_height_adjust 1

  • <1> Enable test mode for ik height adjustment.

npc_vphysics

  • <1>

NPC AI

AI navigation

npc_route

  • Displays the current route of the given NPC as a line on the screen.
  • Arguments : <npc_name> / <npc_class_name> / no argument picks what player is looking at.
  • Waypoints along the route are drawn as small cyan rectangles. Line is color coded in the following manner:
  • Blue : Path to a node
  • Cyan : Detour around an object (triangulation)
  • Red : Jump
  • Maroon : Path to final target position

npc_bipass

  • Todo: <1>?
    Displays the local movement attempts by the given NPC(s) (triangulation detours).
  • Failed bypass routes are displayed in red, successful bypasses are shown in green.

npc_nearest

  • Draw's a while box around the NPC(s) nearest node.
  • Arguments : <npc_name> / <npc_class_name> / no argument picks what player is looking at.

npc_steering

  • Displays the steering obstructions of the NPC (used to perform local avoidance)
  • Arguments : <npc_name> / <npc_class_name> / no argument picks what player is looking at.

npc_steering_all

  • Displays the steering obstructions of all NPCs (used to perform local avoidance).

AI think

npc_focus

  • Displays red line to NPC's enemy (if has one) and blue line to NPC's target entity (if has one)
  • Arguments : <npc_name> / <npc_class_name> / no argument picks what player is looking at.

npc_conditions

  • Displays all the current AI conditions that an NPC has in the overlay text.
  • Arguments : <npc_name> / <npc_class_name> / no argument picks what player is looking at.

npc_reset

  • Reloads schedules for all NPC's from their script files.

npc_task_text

  • Outputs text debugging information to the console about the all the tasks and break conditions of the selected NPC current schedule.
  • Arguments : <npc_name> / <npc_class_name> / no argument picks what player is looking at.
  • This will let you see what that and why your AI schedule/task failed.

npc_tasks

  • Displays detailed text debugging information about the all the tasks of the selected NPC current schedule (See Overlay Text)
  • Arguments : <npc_name> / <npc_class_name> / no argument picks what player is looking at.

npc_thinknow

  • Trigger NPC to think.

npc_viewcone

  • Displays the viewcone of the NPC (where they are currently looking and what the extents of there vision is)
  • Arguments : <npc_name> / <npc_class_name> / no argument picks what player is looking at.

AI enemies & allies

npc_squads

  • Obsolete. Replaced by npc_combat.

npc_combat

  • Displays text debugging information about the squad and enemy of the selected NPC (See Overlay Text)
  • Arguments : <npc_name> / <npc_class_name> / no argument picks what player is looking at.

npc_enemies

  • Shows memory of NPC. Draws an X on top of each memory.
  • Arguments : <npc_name> / <npc_class_name> / no argument picks what player is looking at.
Blue Eluded entities (don't know where it went)
Green Unreachable entities (can't get to it)
Red Current enemy
Magenta Current target entity
Pink All other entities drawn


AI responses

npc_sentences

  • <1>

npc_speakall

  • Force the npc to try and speak all their responses.






edit NPC

npc_select

  • Selects or deselects the given NPC(s) for later manipulation. Selected NPC's are shown surrounded by a red translucent box
  • Arguments : <npc_name> / <npc_class_name> / no argument picks what player is looking at.

npc_ammo_deplete

  • Subtracts half of the target's ammo.

npc_create

  • Creates an NPC of the given type where the player is looking (if the given NPC can actually stand at that location). Note that this only works for npc classes that are already in the world. You can not create an entity that doesn't have an instance in the level.
  • Arguments : <npc_class_name>.

npc_create_aimed

  • Creates an NPC aimed away from the player of the given type where the player is looking (if the given NPC can actually stand at that location). Note that this only works for npc classes that are already in the world. You can not create an entity that doesn't have an instance in the level.
  • Arguments : <npc_class_name>.

npc_create_equipment

  • <1>
    Todo: arguments

npc_destroy

  • Removes the given NPC(s) from the universe
  • Arguments : <npc_name> / <npc_class_name> / no argument picks what player is looking at.

npc_destroy_unselected

  • Removes all NPCs from the universe that aren't currently selected.

npc_freeze

  • Selected NPC(s) will freeze in place (or unfreeze).
  • If there are no selected NPCs, uses the NPC under the crosshair.

npc_go

  • Selected NPC(s) will go to the location that the player is looking (shown with a purple box).

npc_go_do_run

  • <1> Set whether should run on NPC go.

npc_go_random

  • Sends all selected NPC(s) to a random node.

npc_heal

  • Heals the target back to full health.

npc_kill

  • Kills the given NPC(s)
  • Arguments : <npc_name> / <npc_class_name> / no argument picks what player is looking at.


NPC class specific

Todo: It's probably better to document these ConComs on the relevant npc_class_name entity page? Although the squad-related ones might be better in NPC AI ?


npc_citizen_auto_player_squad

  • <1>

npc_citizen_auto_player_squad_allow_use

  • <0>

npc_citizen_squad_marker

  • <0>

npc_citizen_explosive_resist

  • <0>

npc_citizen_insignia

  • <0>

npc_barnacle_swallow

  • Todo: <0> or <1>
    = Use prototype swallow code.

npc_strider_height_adj

  • <0>

npc_strider_shake_ropes_magnitude

  • <150>

npc_strider_shake_ropes_radius

  • <1200>