Knowledge from the fieldRedM

`p_safebla01x` is a bank-vault DOOR, not a freestanding safe — for shop safes use `s_safe01x` (mission safe with open anim)

learning:16

p_safebla01x is a bank-vault DOOR, not a freestanding safe — for shop safes use s_safe01x (mission safe with open anim)

Context

You want a "rob the safe" script and grep the object_list for safe. You see:

p_safebla01x       -- generic | p_door.rpf
p_safe01           -- generic | p_office.rpf
p_safe_ser         -- generic | p_office.rpf
p_safetydepositbox01x -- generic | p_office.rpf
s_safe01x          -- lev_des  | s_lev_des.rpf

You pick p_safebla01x because the name reads "safe black". When spawned in a shop it looks completely wrong — too tall, no body, just a door panel.

The trap

The .rpf source column tells you what kind of object it actually is. p_door.rpf props are doors, hatches, vault gates — not standalone furniture. p_safebla01x is the BLACK BANK VAULT DOOR, e.g. the one behind the teller cage in Valentine bank. The "safe" in the name refers to the safe BEHIND it.

Picks for shop/office safes

  • s_safe01x (hash 0x45FCD11E) — used in story mission ig24 (script_story@wnt4@ig@ig_24_gang_looting). Has a dedicated open animation: ig24_safe_open_s_safe01x. Apply with PLAY_ENTITY_ANIM(safe, "ig24_safe_open_s_safe01x", "script_story@wnt4@ig@ig_24_gang_looting", 1000.0, false, true, ...) and stayInAnim=true keeps the door open after the explosion. Best pick.
  • p_safe01 — small office safe, no known dedicated open anim.
  • p_safe_ser — service-style safe, referenced in a Dutch + billstack01 cutscene.

Adjacent finding

p_safenbd01x and p_safenbd02x are also in p_door.rpf (NBD = New Bank Door variants). Same trap — they're door panels, not safes.

Rule of thumb

For a "freestanding object" in any RDR3 mission script, prefer p_office.rpf or s_lev_des.rpf over p_door.rpf. The .rpf path in object_list comments is load-bearing context.


Tags: none
Category: uncategorized
Created: 2026-05-01T13:43:39.399Z

Back to documentation