Models

"A door is a door until you scale it to four hundred. Then it is a set piece." — Set Dresser Ilaya Ruun

/add model places any MD3 model from the game's assets into the world as set dressing.

You need permission bit 25 for every command on this page. Servers give it to community admins by default. See permission bits.

Models are decoration by default. They have no collision until you give them one with /edit <id> bbox.


What it does

Maps ship with the props the original level designer wanted. /add model lets you bring in anything else the game has: crates, lamps, furniture, rubble, ships. Placed models persist for the whole map and everyone sees them.

Each one is an entity with an id, so you can move, turn, resize or replace it afterwards without starting again.


Using it

Placing a model

Aim where you want it and run /add model with only the path. The model lands on the point under your crosshair.

Give explicit coordinates only when you know the numbers, because they behave differently from the crosshair. The game reads your Z as floor level and drops the model 24 units so it stands on that floor rather than hovering above it. Every reply that echoes a position shows the lower number.

Path prefixes are handled for you. A path that does not start with models/ gets models/map_objects/ put in front, and .md3 is added when you leave the extension off, so desert/crate and models/map_objects/desert/crate.md3 name the same model.

Skipping arguments

The argument list is long and positional. A single hyphen skips one entry and keeps its default, so you can set the scale without typing angles you do not want:

/add model models/map_objects/desert/crate.md3 - - - - - - 150

Placing entities covers the hyphen skip across the whole command family.


Commands

Adding a model

Resizing

Scale is a percentage, where 100 is the model's normal size. Anything outside 10 to 400 is pulled back to the nearest end of that range.

sca and size are accepted aliases for scale.

Rotating

Angles are pitch, yaw and roll, in that order.

angle and angles are accepted aliases for ang.

Swapping the model

Keep the position, the angles and the id, and change only what is drawn.

model is an accepted alias for source.

Giving it collision

A placed model is walk-through until you set a box. The 6 numbers are 2 opposite corners, measured relative to the model's origin.

Moving one

The reply shows a Z 24 units lower than you typed, because a model's Z is read as floor level.

Removing models

Remove a single model with /remove <id>.


Things to note

  • 512 models is the hard cap for the whole map. Past that you get "Model placement limit reached." and nothing is placed.
  • Explicit coordinates sit 24 units lower than you typed. The game treats your Z as floor level on /add model, /edit pos and /edit move alike. The crosshair form does not do this, so the 2 placement routes disagree by 24 units.
  • Scale is clamped silently. Ask for 900 and you get 400 with no warning.
  • Scale means 3 different ranges across StoryForce. Models are 10 to 400, NPCs are 25 to 400 and bolted entities are 1 to 1000.
  • A model with no bbox cannot be stood on. Players and NPCs walk straight through it. The one exception is models/map_objects/cinematics/table.md3, which gets a collision box automatically.
  • Swapping the model clears an automatic box. A box you set yourself with bbox survives a source swap.
  • A model can bring its own lights. An MD3 with light tags spawns placed lights the moment you place it. Lights covers the tags and the server setting that controls them.
  • /add model with no path prints the help rather than placing anything.

Next