OPX//77
opx_infinityentry

entry

Last updated on

The client flow that turns a new, empty character into a playable one — the game's creator for body and face, then a form for the name.

Finishes on the client a character the server created empty. When the appearance module says the character needs a body, entry opens the game's own character creator. Once the face is settled, it shows a form for a first and last name and keeps asking until the server accepts one (a name is written once). It also tells other modules when the player is still being asked something, so the spawn menu and the HUD wait. A returning character with a name sees nothing from this module.

Sideclient
Requirescharacter (hard)
Optionalappearance (no creator without it), form (no name form without it)
Contractentry v1 — client
Configconfig/entry.lua (shared)
Datanone

The order

A new character is asked three things, in order: the creator (body and face), the name, then the clothes (the appearance module's fitting room, if its WARDROBE.OFFER_POLICY offers one). The spawn menu waits until all three are done. Nothing schedules this; each screen waits while the one before it reports busy on opx:on:entry:state.

  • A cancelled name form comes back after 1.5 s.
  • A sent name is waited on for up to 8 s before the form is offered again.
  • A refused creator is asked for again after 2 s.

Configuration

config/entry.lua sets OPX.Config.MODULES.entry. Shared.

KeyDefaultEffect
enabledtruefalse: nobody is sent to the creator or asked for a name. New characters keep no name.
NAME{ MIN = 2, MAX = 32 }Length bounds the form uses. Keep them equal to CHARACTERS.NAME in config/character.lua; the server's bounds are the ones that count.

Refusal codes

The name is refused by the character module: character.badName, character.nameSet, error.tooFast, error.notLoggedIn. The form shows the refusal text above the fields and keeps what the player typed. A code with no locale text shows as That was refused (<code>).

On this page