14. Scene
Every ped and camera position. Nothing here is derived — what you put in is exactly what the game does.
| Field | Meaning |
|---|---|
ped |
vector4(x, y, z, heading) — where the character’s feet go and which way they face |
camera |
vector3(x, y, z) — where the lens sits |
aim |
vector3(x, y, z) — the point the lens looks at |
fov |
Zoom. Lower is tighter: 30 is tight, 50 is wide |
Stand where you want it, look where you want the camera to look, then run /ccpos
in F8 — it prints ped, camera and aim lines ready to paste.
interp is how long a camera move takes in ms.
Backdrop
Section titled “Backdrop”A still image behind the characters instead of the world. It cannot be done in
CSS: the NUI is drawn over the game, so a background image in
html/css/style.css would sit in front of the ped. The image is a flat,
camera-facing panel parked just behind the furthest character and sized to fill
the lens.
| Option | Notes |
|---|---|
enabled |
false leaves the real world showing behind the peds |
selection |
Image behind the line-up, relative to the resource |
creator |
Image behind the character being built |
distance |
Metres the panel sits behind the furthest character. Too small and it clips through them; too large and more of the real scene shows underneath |
minDistance |
Floor for the above, for tight head/feet shots |
brightness |
0–255. Drawn unlit at full strength by default — turn it down to sit an image into a night scene |
overscan |
Panel size as a fraction of the lens. 1.0 is an exact fit; a little over hides rounding at the frame edge |
fade |
ms the panel takes to fade in once its texture is ready |
aspect |
Image shape, width/height. false reads it from the PNG and falls back to 16:9. Only worth setting if a replacement is a different shape and comes out stretched |
Both shipped images are 1672×941 (16:9) and are cropped to fill, centred, on any
other screen shape. Any PNG or JPG in html/images works. /ccbackdrop toggles
it in game.
Selection screen
Section titled “Selection screen”The camera never moves on this screen. Both shots are fixed points, and
highlighting a character slides the whole row sideways until that one stands on
ped. Nothing here changes with the number of slots.
| Option | Notes |
|---|---|
ped |
Where the highlighted character stands, and the spot the line-up slides through. Leave the row room to travel — characters either side run off both edges of frame |
spacing |
Metres between neighbouring characters. Also how far the row travels for one step, so it is how far apart they read on screen |
wide |
Establishing shot, used only when no character is highlighted. Shipped identical to focus; give it a real pull-back if you want one |
focus |
The shot every character is seen in. Set it up against a single character standing on ped |
To move the whole rig without changing the framing, add the same offset to every vector in the table — both scenes are written against one floor.
Creation screen
Section titled “Creation screen”One camera per step group, set by camera in Config.Creator. The TATTOOS step
picks its shot per body zone instead, from camera in Config.Tattoos. Any
control may also name a shot with camera = "..."; clicking anything else on the
step goes back to the step’s own.
| Shot | Framing |
|---|---|
full |
Whole body. IDENTITY, CLOTHING, FINISH |
feet |
Shins down. The SHOES spinners on CLOTHING |
torso |
Chest up. APPEARANCE and DETAILS |
head |
Head and shoulders. HERITAGE, HAIR, FACE |
arm_left arm_right leg_left leg_right |
Limbs, for the TATTOOS step |
wrist |
Left wrist, for WATCH and BRACELET — a watch is prop slot 6 and the game always puts it on the left wrist |
The limb and wrist shots are the only ones off the centre line and are set up
against the character’s default heading, so rotating the character moves the
framing with the world — the FACE CAMERA button puts it back. “Left” and “right”
are the character’s, so arm_left is on the right-hand side of the screen.
Line-up poses
Section titled “Line-up poses”Config.Animations — one entry per character slot, so no two cards stand the same
way and a character keeps its stance every login. There are Config.MaxSlots of
them and the list wraps if that ceiling is raised.
| Field | Notes |
|---|---|
m |
Clip for male characters — { dict = ..., name = ... } |
f |
Clip for female characters (falls back to m) |
active |
Optional { m = ..., f = ... }, played only while the camera is pushed in on this character |
label |
Documentation only |
idle and active at the top of the table are the fallback for slots past the end
of the list, and for any pose whose dict the game does not have. A missing dict
costs a pose, not a hang — check one with /ccpose, or
print(DoesAnimDictExist("your@dict@here")).
Config.Relog
Section titled “Config.Relog”Allow /relog. Only enable it if every resource on your server resets its state
correctly on logout.
