Lua API reference
API set
Language Lua 5.4Scripting guide
1,763 functions
Core & resources408
AddEventHandler(event, handler)Listens for a local event.clientAddEventHandler(event, handler)Listens for an event in this resource; the same function as Open77.events.on.serverAddStateBagChangeHandler(key, bagName, handler)FiveM compatibility: watches a state-bag key with FiveM's argument list.clientAddStateBagChangeHandler(key?, bagName?, handler)Subscribes to bag changes, FiveM style.serverAdoptElevator(engineEntity, x, y, z, bucket, initialFloor, flags, floorCount)Takes a native lift under server authority so every player sees the same cab.serverAllowAim(enabled)Allow or block a local-player action.clientAllowCrouch(enabled)Allow or block a local-player action.clientAllowDodge(enabled)Allow or block a local-player action.clientAllowInteraction(enabled)Allow or block a local-player action.clientAllowJump(enabled)Allow or block a local-player action.clientAllowRunning(enabled)Allow or block a local-player action.clientAllowShoot(enabled)Allow or block a local-player action.clientAllowWeapons(enabled)Allow or block a local-player action.clientAttachEffect(targetId, kind, effect, slot, localAnchor, localSlot, ttlMs?, radius, hysteresis, localEvent?, soundEvent?, soundOnOwner?)world.effects;serverBanPlayer(playerId, reason, seconds)Low-level alias of Open77.players.ban.serverCancelEvent()Server only. Vetoes the cancellable event this handler is running under.serverCancelNpcTask(npcId, taskId, reason)Low-level alias of Open77.npcs.tasks.cancel.serverCitizen.Await(promise)Waits for a promise; exactly promise:await().clientCitizen.Await(promise)Waits for a promise; exactly promise:await().serverCitizen.ClearTick(id)Alias of ClearTick.clientCitizen.ClearTick(id)Alias of ClearTick.serverCitizen.ClearTimeout(id)Alias of ClearTimeout.clientCitizen.ClearTimeout(id)Alias of ClearTimeout.serverCitizen.CreateThread(body)Alias of CreateThread.clientCitizen.CreateThread(body)Alias of CreateThread.serverCitizen.SetTick(body)Alias of SetTick.clientCitizen.SetTick(body)Alias of SetTick.serverCitizen.SetTimeout(milliseconds, body)Alias of SetTimeout.clientCitizen.SetTimeout(milliseconds, body)Alias of SetTimeout.serverCitizen.Trace(...)Writes to the resource log at debug level; the same function as Open77.log.debug.clientCitizen.Trace(...)Writes to the resource log at debug level; the same function as Open77.log.debug.serverCitizen.Wait(milliseconds)Alias of Wait.clientCitizen.Wait(milliseconds)Alias of Wait.serverClearNpcTasks(npcId, channel, reason)Low-level alias of Open77.npcs.tasks.clear.serverClearProps()Low-level alias of Open77.props.clear.serverClearTick(id)Cancels a tick created by SetTick.clientClearTick(id)Cancels a tick created by SetTick.serverClearTimeout(id)Cancels a timer created by SetTimeout.clientClearTimeout(id)Cancels a timer created by SetTimeout.serverCreateEffect(name, x, y, z, qx, qy, qz, qw, bucket, visible?, radius, hysteresis, ttl?)Registers a looping particle effect at a world point and answers its id as a decimal string.serverCreateLootDrop(item, quantity, x, y, z, bucket, pickupRadius, label, model, ttlMs)Low-level alias of Open77.loot.create.serverCreateNpc(template, x, y, z, yaw, bucket, appearance, loadoutJson, aiMode, damagePolicy, health, maxHealth, streamingRadius, streamingHysteresis, despawnWhenUnobserved?, persistent?, behaviorJson, authorityPolicy)Spawns a server-owned NPC from a 2.31 Character.* record and answers its id.serverCreateProp(model, x, y, z, yaw, bucket, kind?, physics?, appearance?, collision?, visible?, scaleX, scaleY, scaleZ, radius, hysteresis, light?, ttl?)Places a replicated prop from a catalogue model and answers its id as a decimal string.serverCreateThread(body)Starts a coroutine managed by the host.clientCreateThread(body)Starts a coroutine this resource's scheduler manages.serverCreateVehicle(record, x, y, z, yaw, bucket, appearance, health, flags, primary1, primary2, primary3, secondary1, secondary2, secondary3)Low-level alias of Open77.vehicles.create.serverDamageNpc(id, amount, source, cause)Applies damage to an owned NPC and answers whether it landed.serverDamagePlayer(playerId, amount, attacker, kindName, weaponTdbId)Low-level alias of Open77.players.damage.serverDeleteResourceKvp(key)FiveM-style alias for Open77.kvp.delete.clientDeleteResourceKvp(key)FiveM-style alias for Open77.kvp.delete.serverDestroySound(id)DestroySound: local package audio.clientDestroySound(id)DestroySound: server-authoritative network package audio.serverDoesEntityExist(kind, id)Whether an id is live in the registry that owns that kind.clientDoesEntityExist(kind, id)Whether an id is live in the registry that owns that kind.serverDropPlayer(playerId, reason)Low-level alias of Open77.players.disconnect.serverEnqueueNpcTask(npcId, type, parametersJson, channel, priority, timeoutMilliseconds)Queues one task on an owned NPC's task channel and answers the task id.serverEntity(id)FiveM compatibility: a table carrying one entity's state bag.clientEntity(entityId)Addresses one entity's state bag, FiveM style.serverExecuteCommand(line)FiveM-style alias for Open77.runtime.executeCommand.clientExecuteCommand(line)FiveM-style alias for Open77.runtime.executeCommand.serverexports(name, body)Declares a function callable by other resources, and proxies calls to theirs.clientexports(name, fn)Publish a server export, or index another resource's exports for a synchronous call.serverFadePlayerScreen(playerId, out, durationMs?, options?)Cover (out true) or uncover one player's screen with the native quest fade.serverForcePlayerOutOfVehicle(playerId, vehicleId)Low-level alias of Open77.vehicles.forcePlayerOutOfVehicle.serverFreezePosition(enabled)Request or release a native local-player freeze.clientFreezeRotation(enabled)Request or release a native local-player freeze.clientGetConvar(name, default?)Reads a convar as a string, or the caller's default.serverGetConvarBool(name, default?)Reads a convar as a boolean, or the caller's default.serverGetConvarInt(name, default?)Reads a convar as an integer, or the caller's default.serverGetCurrentResourceGeneration()Opaque generation identity of this server VM, changed on restart/reload.serverGetCurrentResourceName()Name of the current resource.clientGetCurrentResourceName()Return this manifest's resource name.serverGetEffect(id)Low-level alias of Open77.effects.get.serverGetEffects(bucket)Low-level alias of Open77.effects.all.serverGetElevator(id)Low-level alias of Open77.elevators.get.serverGetElevators(bucket)Low-level alias of Open77.elevators.all.serverGetEntityRoutingBucket(entityId)Low-level alias of Open77.routingBuckets.getEntity.serverGetGameTimer()Monotonic milliseconds since an arbitrary epoch.clientGetGameTimer()Process-monotonic milliseconds, the clock the server scheduler runs on.serverGetHashKey(text)TweakDBID of a record name -- not a GTA hash.clientGetHashKey(text)TweakDBID of a record name -- not a Jenkins hash.serverGetInvokingResource()Real caller of the currently executing export.clientGetInvokingResource()Immediate caller resource name inside an exported coroutine;serverGetInvokingResourceGeneration()Generation of the resource invoking the current export.clientGetInvokingResourceGeneration()Immediate caller's VM generation inside an exported coroutine;serverGetLootDrop(id)Low-level alias of Open77.loot.get.serverGetLootDrops(bucket)Low-level alias of Open77.loot.all.serverGetNpc(id)Low-level alias of Open77.npcs.get.serverGetNpcAttitude(id)Low-level alias of Open77.npcs.getAttitude.serverGetNpcCapacity()Low-level alias of Open77.npcs.capacity.serverGetNpcRelationship(first, second)Low-level alias of Open77.npcs.getRelationship.serverGetNpcs(bucket, includeForeign?)Lists the NPCs in one routing bucket, this resource's own unless asked otherwise.serverGetNpcTarget(id)Low-level alias of Open77.npcs.target.serverGetNpcTask(id, taskId)Low-level alias of Open77.npcs.tasks.get.serverGetNpcTasks(npcId)Low-level alias of Open77.npcs.tasks.all.serverGetNpcTemplates()Low-level alias of Open77.npcs.templates.serverGetNumResources()How many resources this server has discovered.serverGetPlayerDistance(reason, reason)Low-level alias of Open77.players.distance.serverGetPlayerEndpoint(playerId)FiveM-style alias for Open77.players.endpoint.serverGetPlayerHealth(playerId)Low-level alias of Open77.players.getHealth.serverGetPlayerHoloCallEyes()Low-level alias of Open77.players.getHoloCallEyes.serverGetPlayerIdentifier(playerId)Low-level alias of Open77.players.identifier.serverGetPlayerIdentifierByType(playerId, identifierType)One identifier of a connected player, as a bare value.serverGetPlayerIdentifiers(playerId)Every identifier of a connected player, in FiveM's array-of-strings shape.serverGetPlayerIdentity(playerId){ userId, name, publicKey, fingerprint, joinedAt } for an admitted player, or nil.serverGetPlayerLastMsg(playerId)FiveM spelling of the age of the newest packet the server holds for a player, in milliseconds.serverGetPlayerLifeState(playerId)Low-level alias of Open77.players.getLifeState.serverGetPlayerLocale(playerId)FiveM-style alias for Open77.players.locale.serverGetPlayerModel(playerId?)Read this client's NPC presentation state for a player.clientGetPlayerModel(playerId)Read the authoritative model selection and owner's readiness.serverGetPlayerName(playerId)Low-level alias of Open77.players.name.serverGetPlayerObservers(subjectId)Return the viewers currently observing a player.serverGetPlayerPing(playerId)FiveM-style alias for Open77.players.ping.serverGetPlayerPosition(playerId)Low-level alias of Open77.players.position.serverGetPlayerRead(playerId)Low-level alias of Open77.players.get.serverGetPlayerRoutingBucket(playerId)Low-level alias of Open77.routingBuckets.getPlayer.serverGetPlayers()Array of every authenticated player id, ascending.serverGetPlayersInBucket(bucket)Ids of the authenticated players whose routing bucket is bucket, ascending.serverGetPlayersInScope(viewerId)Return the players currently in a viewer's replication scope.serverGetPlayersNearby(reason, radius, options)Low-level alias of Open77.players.nearby.serverGetPlayerSpectateTarget(playerId)Who this player is watching, or 0.serverGetPlayerSpectators(playerId)Everyone watching this player, ascending.serverGetPlayersPositions(){ [playerId] = { x, y, z, bucket } } for every player with a snapshot younger than two seconds.serverGetPlayerStats(playerId)Combined canonical health/stamina snapshot or nil.serverGetPlayerTimeOnline(playerId)FiveM spelling of the live session length, in milliseconds.serverGetPlayerVehicleSeat(playerId)Low-level alias of Open77.vehicles.getPlayerSeat.serverGetPlayerWeapons(playerId)Low-level alias of Open77.weapons.get.serverGetProp(id)Low-level alias of Open77.props.get.serverGetProps(bucket)Low-level alias of Open77.props.all.serverGetRecordData()Reads one row of the shipped 2.31 record catalogue: a vehicle, weapon, item or NPC.serverGetRegisteredCommands()FiveM-style alias for Open77.runtime.commands.clientGetRegisteredCommands()FiveM-style alias for Open77.runtime.commands.serverGetResourceByFindIndex(index)The name of one discovered resource, by ZERO-based index.serverGetResourceKvp(key, default?)FiveM-style alias for Open77.kvp.get.clientGetResourceKvp(key, default?)FiveM-style alias for Open77.kvp.get.serverGetResourceMetadata(name, key?)FiveM-style alias for Open77.resource.metadata.serverGetResourceState(resource)State of a resource on this client: discovered, starting, running, stopping, stopped, failed, blocked, or missing for a name this host does not know. There is no started: a resource that is up reads running, so == "started" is never true.clientGetResourceState(resourceName)Return the current server resource state: discovered, starting, running, stopping, stopped, failed, blocked, or missing for a name the server does not know.serverGetScreenEffectCatalog()The screen-effect aliases this server accepts, ascending.serverGetSoundState(id)GetSoundState: local package audio.clientGetSoundState(id)GetSoundState: server-authoritative network package audio.serverGetUnixTime()wall-clock seconds since 1970 UTC, fractionalserverGetUtcTimestamp()the same instant as an ISO 8601 stringserverGetVehicle(id)Low-level alias of Open77.vehicles.get.serverGetVehicles(bucket)Low-level alias of Open77.vehicles.all.serverGlobalState()The server-wide state bag, read-only on the client.clientGlobalState()The server-wide state bag, as a table.serverGoToElevator(id, floor, travelMilliseconds, force?)Low-level alias of Open77.elevators.goTo.serverHealPlayer(playerId, amount)Low-level alias of Open77.players.heal.serverIsDuplicityVersion()False in the client VM, true in the server VM.clientIsDuplicityVersion()True in this VM; the client's answer is false.serverIsPlayerAceAllowed(playerId, permission)Whether a connected player holds a permission; the same function as Open77.acl.isAllowed.serverIsPlayerAiming(playerId?)Graph-produced aiming state, including toggle aim.clientIsPlayerCrouching(playerId?)Crouched locomotion state.clientIsPlayerDead(playerId)Low-level alias of Open77.players.isDead.serverIsPlayerDiving(playerId?)Native underwater swimming state.clientIsPlayerDriver(playerId?)Mounted in the driver seat.clientIsPlayerFalling(playerId?)Falling phase.clientIsPlayerFrozen(playerId)Whether the canonical life state is currently frozen, by any resource.serverIsPlayerGhosted(playerId)Whether the canonical life state is currently ghosted.serverIsPlayerGrounded(playerId?)Locomotion ground contact.clientIsPlayerInScope(viewerId, subjectId)Check whether a player is in another player's native replication scope.serverIsPlayerInVehicle(playerId?)Native vehicle mounting state.clientIsPlayerJumping(playerId?)Jump or double-jump phase.clientIsPlayerModelReady(playerId?)Check whether the model is ready on this client.clientIsPlayerModelReady(playerId)Read the model owner's native presentation acknowledgement.serverIsPlayerModelValid(record)Validate a Character record in the client's installed game data.clientIsPlayerPassenger(playerId?)Mounted in a non-driver seat.clientIsPlayerReloading(playerId?)Reloading state.clientIsPlayerShooting(playerId?)Graph trigger state, not confirmation of a projectile or damage.clientIsPlayerSliding(playerId?)Sliding locomotion state.clientIsPlayerSprinting(playerId?)Sprint state rather than a velocity threshold.clientIsPlayerSwimming(playerId?)Native surface-swimming or diving state.clientIsPlayerVaulting(playerId?)Vault traversal state.clientIsPlayerVisible(playerId)Whether the canonical life state says this player is rendered.serverIsPrincipalAceAllowed(userId, permission)The same ACL check, addressed by account id instead of session id.serverIsVehicleVisibleTo(vehicleId, playerId)Low-level alias of Open77.vehicles.isVisibleTo.serverjoaat(text)Alias of GetHashKey; returns a TweakDBID.clientjoaat(text)Alias of GetHashKey; returns a TweakDBID.serverjson.decode(text)Decodes JSON into safe Lua values.serverjson.encode(value)Serialises a bounded Lua value to JSON.serverKillNpc(id, reason)Low-level alias of Open77.npcs.kill.serverKillPlayer(playerId, killer, causeName, weapon, impulseX?, impulseY?, impulseZ?)Kills a player where they stand and answers whether the life ledger accepted it.serverLoadResourceFile(resourceName, path)Reads a file belonging to the calling resource.clientLoadResourceFile(resourceName, path)Reads a file belonging to the calling resource.serverOpen77.access.allow(userId, label?)Adds an identity to the built-in whitelist.serverOpen77.access.ban(userId, reason?, seconds?, name?)Bans an identity on the built-in list and disconnects them if they are online.serverOpen77.access.disallow(userId)Takes an identity off the built-in whitelist.serverOpen77.access.isAllowed(userId)Whether an identity is on the built-in whitelist.serverOpen77.access.isBanned(userId)Whether an identity is on the built-in ban list.serverOpen77.access.setWhitelist(enabled)Turns the built-in whitelist on or off.serverOpen77.access.status()The server's built-in whitelist and ban list.serverOpen77.access.unban(userId)Lifts a ban on the built-in list.serverOpen77.acl.addRole(userId, role)Puts a user in an ACL role at runtime.serverOpen77.acl.definePermission(role, permissions)Defines, retunes or deletes what a runtime ACL role may do.serverOpen77.acl.grant(userId, permission)Grants one permission to a user id at runtime, persisted.serverOpen77.acl.grants(userId)What the runtime overlay holds for one user id.serverOpen77.acl.isAllowed(playerId, right)Whether a connected player holds an ACL right on this server.serverOpen77.acl.removeRole(userId, role)Takes a user out of a role the runtime put them in.serverOpen77.acl.revoke(userId, permission)Takes back a runtime permission grant.serverOpen77.acl.roles(playerId)The ACL roles a connected player holds.serverOpen77.convars.get(name, default?)Namespaced spelling of GetConvar.serverOpen77.convars.getBool(name, default?)Namespaced spelling of GetConvarBool.serverOpen77.convars.getInt(name, default?)Namespaced spelling of GetConvarInt.serverOpen77.convars.set(name, value)Namespaced spelling of SetConvar.serverOpen77.events.cancel()Server only. Vetoes the cancellable event this handler is running under.serverOpen77.events.emit(event, ...?)Publishes an event in this resource's VM; the same function as TriggerEvent.clientOpen77.events.emit(event, ...)Publishes an event host-wide; the same function as TriggerEvent.serverOpen77.events.emitCancellable(event, ...?)Server only. Publishes a host-wide cancellable event and returns its verdict handle.serverOpen77.events.emitLocal(event, ...?)Server only. Fires an event in this resource's VM only.serverOpen77.events.off(handler)Removes a handler registered with on.clientOpen77.events.off(handlerId)Removes a local or network handler; the same function as RemoveEventHandler.serverOpen77.events.on(event, handler)Listens for a local event.clientOpen77.events.on(event, handler)Registers an event handler; the same function as AddEventHandler.serverOpen77.events.wasCanceled()Server only. Whether the cancellable event being dispatched has already been vetoed.serverOpen77.EventVerdict.await()Waits for the event to have been offered to every resource, then answers the verdict.serverOpen77.EventVerdict.canceled()The verdict itself, once it has settled.serverOpen77.EventVerdict.status()Whether the verdict has settled, without waiting.serverOpen77.exports.call(resource, export, β¦?)Calls a function exported by another resource, asynchronously.clientOpen77.exports.call(target, name, ...)Calls another server resource's export and returns a promise.serverOpen77.exports.callSync(resource, export, β¦?)Calls a function exported by another resource, inline on this thread.clientOpen77.exports.callSync(target, name, ...)Calls another server resource's export inline on this thread.serverOpen77.json.decode(text)Parses a JSON string.clientOpen77.json.encode(value)Serialises a Lua value to JSON.clientOpen77.Promise.await()Waits for a promise to settle.clientOpen77.Promise.await()Waits for the promise to settle and returns its values.serverOpen77.Promise.next(onResolved?, onRejected?)Schedules a continuation for when the promise settles.clientOpen77.Promise.next(onResolved?, onRejected?)Schedules a continuation for when the promise settles.serverOpen77.Promise.reject(reason?)Settles a promise you created with promise.new as failed.clientOpen77.Promise.reject(reason?)Settles a promise you created with promise.new as failed.serverOpen77.Promise.resolve(...?)Settles a promise you created with promise.new, with the values the awaiter receives.clientOpen77.Promise.resolve(...?)Settles a promise you created with promise.new, with the values the awaiter receives.serverOpen77.Promise.status()State of the promise, without waiting.clientOpen77.Promise.status()State of the promise, without waiting.serverOpen77.ready.hold(playerId, reason?)Takes or refreshes this resource's hold on a player.serverOpen77.ready.isReady(playerId)Whether anything is still holding a player.serverOpen77.ready.participate(options?)Declares that this resource holds joining players until it is finished with them.serverOpen77.ready.release(playerId, session?, note?)Clears this resource's hold on a player.serverOpen77.ready.status(playerId)Who is holding a player, and for how long.serverOpen77.resource.generation(resource?)Generation number, incremented on every reload.clientOpen77.resource.generation(resourceName?)A running server resource's opaque VM generation.serverOpen77.resource.hasPermission(permission)Whether the resource holds this permission.clientOpen77.resource.list()Every discovered resource and its runtime state.serverOpen77.resource.metadata(name, key?)One resource's parsed manifest, or one field of it.serverOpen77.resource.name()Name of the current resource.clientOpen77.resource.name()This resource's name, as its manifest declares it.serverOpen77.resource.readFile(path)Reads a file from the resource, within its declared allowlist.clientOpen77.resource.readPackedFile(resource, path)Reads a file another resource declared, as base64.clientOpen77.resource.restart(name)Queues a resource restart for the next tick boundary.serverOpen77.resource.start(name)Queues a resource start for the next tick boundary.serverOpen77.resource.state(resource)State of a resource on this client: discovered, starting, running, stopping, stopped, failed, blocked, or missing for a name this host does not know. There is no started: a resource that is up reads running, so == "started" is never true.clientOpen77.resource.state(resourceName)The current server-side state of a resource.serverOpen77.resource.stop(name)Queues a resource stop for the next tick boundary.serverOpen77.resource.version()Version declared in open77.lua.clientOpen77.runtime.cancelRestart()Disarms a pending server restart.serverOpen77.runtime.commands()Every client command registered across every running resource.clientOpen77.runtime.commands()Every command registered across every running resource, plus the built-in verbs.serverOpen77.runtime.executeCommand(line)Runs a command line against the CLIENT command registry only.clientOpen77.runtime.executeCommand(line)Queues one console line to run at the next tick boundary.serverOpen77.runtime.luaVersion()Embedded Lua version.clientOpen77.runtime.luaVersion()The Lua version this server VM runs.serverOpen77.runtime.registerCommand(name, handler, restricted?, suggestion?)Registers a client-side slash command in this resource's VM.clientOpen77.runtime.restartStatus()Whether a restart is armed, and how long is left.serverOpen77.runtime.scheduleRestart(seconds, reason?)Schedules a server restart, with the same warnings an operator's would raise.serverOpen77.runtime.unregisterCommand(name)Withdraws a client command this resource registered.clientOpen77.runtime.version()Open77 version.clientOpen77.tunables.capture()A frozen plain table of every current value.serverOpen77.tunables.declare(declaration)Declares this resource's operator-tunable settings and returns a live proxy.serverOpen77.tunables.get(key)The current value of one tunable.serverOpen77.tunables.pending()The changes waiting on a round or match boundary.serverOpen77.tunables.promote()Adopts every pending change and returns the keys that moved.serverOpen77.tunables.set(key, value)Writes one tunable, with the same validation as the admin panel.serverPauseElevator(id)Low-level alias of Open77.elevators.pause.serverPauseSound(id)PauseSound: local package audio.clientPauseSound(id)PauseSound: server-authoritative network package audio.serverPerformHttpRequest(url, callback?, method?, body?, headers?)Performs an outbound HTTP request, off the tick thread.serverPlay2DSound(asset, options?)Play2DSound: local package audio.clientPlay2DSound(asset, options?)Play2DSound: server-authoritative network package audio.serverPlay3DSound(asset, position, options?)Play3DSound: local package audio.clientPlay3DSound(asset, position, options?)Play3DSound: server-authoritative network package audio.serverPlayEffect(name, x, y, z, qx, qy, qz, qw, bucket, range, sound?)Plays a one-shot particle effect at a world point for everyone in range.serverPlayEntityEffect(target, name, duration, loop?, slot?, targetKind?)Low-level alias of Open77.effects.playOn.serverPlayEntitySound(target, soundEvent, unique?, targetKind?, duration?, actionId?, excluded)Plays a sound event on an entity, so it follows that entity instead of a fixed point.serverPlayer(id)FiveM compatibility: a table carrying one player's state bag and source.clientPlayer(playerId)Addresses one player's state bag, FiveM style.serverplayerConnecting(name, setKickReason, deferrals)The same gate as onPlayerConnecting, under the FiveM name and with the FiveM argument order, so a ported whitelist runs unchanged. It votes in the same tally; a resource may register either name or both. deferrals is the same table. source is not set: no player id exists yet, and the connection token is not one. setKickReason(message) records a message and refuses nobody β the same as in FiveM, where the refusal comes from CancelEvent. Open77 has CancelEvent, but it only means something inside a TriggerCancellableEvent dispatch, and the connection gate is not one: called here it answers false, "not_in_cancellable_event". Refuse with deferrals.done(message). The runtime says this once per resource in the log the first time setKickReason is called.serverplayerDropped(reason)FiveM's leave event, emitted for every disconnection beside onPlayerDisconnected. source is the player who left; reason is the same text onPlayerDisconnected receives. Both arrive in the same tick and either is a complete account of the leave β do not sequence work across the two.serverplayerJoining(oldId)FiveM's join event, emitted when a player is assigned a session, and seen by a resource before onPlayerConnected. source is the new player id. oldId is always the empty string: FiveM puts the temporary connection id there, and an Open77 player is given one id and keeps it.serverPlayerScreenEffect(playerId, name, opts?)boolean, reason? β a full-screen post-process on ONE player.serverPlaySound(id)PlaySound: local package audio.clientPlaySound(id)PlaySound: server-authoritative network package audio.serverprint(β¦)Writes to the Open77 log, prefixed with the resource name.clientprint(...)Write a resource-prefixed line to the server log.serverpromise.new()Creates a promise this resource settles itself.clientpromise.new()Creates a promise this resource settles itself.serverquat(x, y, z, w)Builds a quaternion: a plain { x, y, z, w } table with three rotation methods.clientquat(x, y, z, w)Builds a quaternion: a plain { x, y, z, w } table with three rotation methods.serverRegisterCommand(name, handler, restricted?, suggestion?)FiveM-style alias for Open77.runtime.registerCommand.clientRegisterCommand(name, handler, restricted?)Registers a command usable from the server console and from chat.serverRegisterKeyMapping(id, name, key, onPressed?, onReleased?)Declares a named, rebindable action bound to a key.clientRegisterNetEvent(event, handler?)Allows an event to arrive from the server.clientRegisterNetEvent(event, handler?)Registers a handler for an authenticated client event; the same function as Open77.net.on.serverRemoveEffect(id, reason?)Low-level alias of Open77.effects.remove.serverRemoveElevator(id)Low-level alias of Open77.elevators.remove.serverRemoveEventHandler(event, handler)Removes a handler.clientRemoveEventHandler(handlerId)Removes a handler by id; the same function as Open77.events.off.serverRemoveLootDrop(id)Low-level alias of Open77.loot.remove.serverRemoveNpc(id)Low-level alias of Open77.npcs.remove.serverRemoveProp(id, reason?)Low-level alias of Open77.props.remove.serverRemoveStateBagChangeHandler(subscription)FiveM compatibility: stops a state-bag change subscription.clientRemoveStateBagChangeHandler(subscriptionId)Cancels a subscription made by AddStateBagChangeHandler.serverRemoveVehicle(id)Low-level alias of Open77.vehicles.remove.serverRequestPlayerLifeResync(playerId)Low-level alias of Open77.players.requestLifeResync.serverrequire(module)Loads a local Lua module or a published dependency library into the caller's client VM.clientResetPlayerModel(playerId)Release this resource's model override and restore the original character.serverResetVehiclePaint(id)Drops a custom paint job and returns the vehicle to its record's own colours.serverRespawnPlayer(playerId, x, y, z, yaw, bucket, health, grace)Brings a dead player back at a chosen pose, bucket and health.serverRestorePlayerHealth(playerId)Fill health.serverRestorePlayerStamina(playerId)Fill stamina.serverResumeElevator(id)Low-level alias of Open77.elevators.resume.serverReviveNpc(id, health)Low-level alias of Open77.npcs.revive.serverRevivePlayer(playerId, health, grace)Low-level alias of Open77.players.revive.serverSaveResourceFile(resourceName, path, data)Writes a file belonging to the calling resource. Server only.serverScreen2DPointTo3DSpace(x, y, maxDistance?)Unproject a normalized screen point into a world-space ray.clientSeekSound(id, seconds)SeekSound: local package audio.clientSeekSound(id, seconds)SeekSound: server-authoritative network package audio.serverSetCombatDamageMultiplier(multiplier)Low-level alias of Open77.combat.setDamageMultiplier.serverSetCombatFriendlyFire(enabled?)Low-level alias of Open77.combat.setFriendlyFire.serverSetCombatHeadshotMultiplier(multiplier)Low-level alias of Open77.combat.setHeadshotMultiplier.serverSetCombatKindMultiplier(kindName, multiplier)Low-level alias of Open77.combat.setKindDamageMultiplier.serverSetCombatTeam(playerId, team)Low-level alias of Open77.combat.setTeam.serverSetCombatWeaponMultiplier(weaponTdbId, multiplier)Low-level alias of Open77.combat.setWeaponDamageMultiplier.serverSetConvar(name, value)Records a server-wide, in-memory convar override.serverSetElevatorFlags(id, flags)Low-level alias of Open77.elevators.setFlags.serverSetEntityInvincible(kind, id, enabled)FiveM's invincibility toggle under its own name: Open77.players.setGodMode for a player, refused by name for every other kind.serverSetEntityRoutingBucket(entityId, bucket)Low-level alias of Open77.routingBuckets.setEntity.serverSetHttpHandler(handler)FiveM spelling of a whole-resource inbound HTTP handler.serverSetNpcAttitude(npcId, attitude?, scope, targetId?, group?)Sets how one owned NPC feels about everyone, one player, one NPC, or a group.serverSetNpcBucket(id, bucket)Low-level alias of Open77.npcs.setBucket.serverSetNpcGroup(id, group)Low-level alias of Open77.npcs.setGroup.serverSetNpcRelationship(first, second, attitude)Low-level alias of Open77.npcs.setRelationship.serverSetNpcTransform(id, x, y, z, yaw)Low-level alias of Open77.npcs.setTransform.serverSetPlayerArmor(playerId, armor)Low-level alias of Open77.players.setArmor.serverSetPlayerDownedDamageable(playerId, enabled)players.stats.apply;serverSetPlayerFrozen(playerId, frozen)Hold the player's body where it stands, or release this resource's hold.serverSetPlayerGhosted(playerId, ghosted, options?)Toggle the server-owned non-solid spawn state and its optional automatic clear policy.serverSetPlayerGodMode(playerId, enabled?)Low-level alias of Open77.players.setGodMode.serverSetPlayerHealth(playerId, value)Explicit health setter;serverSetPlayerIntoVehicle(playerId, vehicleId, seat, moveBucketValue?, exitLockedValue?, animatedValue?)Teleports a player straight into a seat, moving their bucket to the vehicle's.serverSetPlayerMaxHealth(playerId, maximum)Explicit health maximum setter.serverSetPlayerMaxStamina(playerId, maximum)Explicit stamina maximum setter.serverSetPlayerModel(playerId, record, options?)Select a server-owned NPC body for a connected player.serverSetPlayerRegen(playerId, rate)Set health regeneration rate.serverSetPlayerRegenEnabled(playerId, enabled)Toggle health regeneration.serverSetPlayerRoutingBucket(playerId, bucket)Low-level alias of Open77.routingBuckets.setPlayer.serverSetPlayerStamina(playerId, value)Explicit stamina setter.serverSetPlayerStaminaRegen(playerId, rate)Set stamina regeneration rate.serverSetPlayerStaminaRegenEnabled(playerId, enabled)Toggle stamina regeneration.serverSetPlayerVehicleExitLocked(playerId, locked?, vehicleId)Low-level alias of Open77.vehicles.setPlayerExitLocked.serverSetPlayerVisible(playerId, visible)Hide a player's body from every other client, or show it again.serverSetPropBucket(id, bucket)Low-level alias of Open77.props.setBucket.serverSetPropTransform(id, x, y, z, yaw, scaleX?, scaleY?, scaleZ?)Moves and rotates a prop, optionally rescaling it, and answers whether it took.serverSetResourceKvp(key, value)FiveM-style alias for Open77.kvp.set.clientSetResourceKvp(key, value)FiveM-style alias for Open77.kvp.set.serverSetRoutingBucketEntityLockdownMode(bucket, mode)Low-level alias of Open77.routingBuckets.setLockdownMode.serverSetRoutingBucketPopulationEnabled(bucket, enabled?)Low-level alias of Open77.routingBuckets.setPopulationEnabled.serverSetSoundPosition(id, position)SetSoundPosition: local package audio.clientSetSoundPosition(id, position)SetSoundPosition: server-authoritative network package audio.serverSetSoundVolume(id, volume)SetSoundVolume: local package audio.clientSetSoundVolume(id, volume)SetSoundVolume: server-authoritative network package audio.serverSetTick(body)Runs a function once per host tick.clientSetTick(body)Runs a function once per server tick.serverSetTimeout(milliseconds, body)Runs a function once, later.clientSetTimeout(milliseconds, body)Runs a function once, later.serverSetVehicleLocked(id, locked?)Low-level alias of Open77.vehicles.setLocked.serverSetVehiclePaint(id, primaryR, primaryG, primaryB, secondaryR, secondaryG, secondaryB)Repaints a vehicle: primary and secondary colour as six 0-255 channels.serverSetVehicleTransform(id, x, y, z, yaw)Teleports a vehicle to a position and heading.serverSpectatePlayer(playerId, targetId|false, options?)Put one player behind another player's shoulder: ghost, hide, and a follow camera on the target, as one transaction that fails closed.serverStartResource(name)FiveM-style alias for Open77.resource.start.serverStopResource(name)FiveM-style alias for Open77.resource.stop.serverStopSound(id)StopSound: local package audio.clientStopSound(id)StopSound: server-authoritative network package audio.serverTeleportElevator(id, floor)Low-level alias of Open77.elevators.teleport.serverTriggerCancellableEvent(event, ...?)Server only. Publishes a host-wide event handlers may veto, and returns a verdict handle.serverTriggerClientEvent(event, playerId, ...?)Sends an event to one player's client, or to every connected client with -1.serverTriggerEvent(event, ...?)Publishes an event to every handler in this resource's VM.clientTriggerEvent(event, ...?)Publishes an event host-wide: every running resource that handles the name receives it.serverTriggerLatentClientEvent(name, target, bytesPerSecond, ...?)Sends a client event too large for one net event, paced at a byte rate (FiveM spelling).serverTriggerLocalEvent(event, ...?)Server only. Fires an event in this resource's VM and nowhere else.serverTriggerServerEvent(event, ...?)Sends an event to the server.clientTriggerVehicleHorn(id, duration)Low-level alias of Open77.vehicles.triggerHorn.serverUpdateEffect(id, x?, y?, z?, qx?, qy?, qz?, qw?, bucket?, visible?, radius?, hysteresis?, ttl?)Low-level alias of Open77.effects.update.serverUpdateLootDrop(id, quantity, x, y, z, bucket, pickupRadius, label, model)Low-level alias of Open77.loot.update.serverUpdateNpc(id, appearance, loadoutJson, aiMode, damagePolicy, health, maxHealth, ragdoll, behaviorJson)Low-level alias of Open77.npcs.update.serverUpdateProp(id, appearance?, physics?, collision?, visible?, bucket?, light?, radius?, hysteresis?, ttl?)Patches a prop in place: appearance, physics, visibility, bucket, light or lifetime.serverUpdateVehicleState(id, health, flags, primaryR, primaryG, primaryB, secondaryR, secondaryG, secondaryB, doors, windows, tires, bodyDamage, brokenGlass, brokenLights, detachedParts)Writes a vehicle's whole replicated state at once: health, flags, paint, damage.servervec(...)Builds a vector of the size the arguments imply.clientvec(...)Builds a vector of the size the arguments imply.servervector2(x, y)Builds a 2D vector: a plain { x, y } table with vector behaviour.clientvector2(x, y)Builds a 2D vector: a plain { x, y } table with vector behaviour.servervector3(x, y, z)Builds a 3D vector: a plain { x, y, z } table with vector behaviour.clientvector3(x, y, z)Builds a 3D vector: a plain { x, y, z } table with vector behaviour.servervector4(x, y, z, w)Builds a 4D vector: a plain { x, y, z, w } table with vector behaviour.clientvector4(x, y, z, w)Builds a 4D vector: a plain { x, y, z, w } table with vector behaviour.serverVehicleDrivingCommand(operation, vehicleId, options?)world.vehicles;serverWait(milliseconds)Suspends the current coroutine.clientWait(milliseconds)Suspends the current managed coroutine.serverWasEventCanceled()Server only. Whether the cancellable event being dispatched has already been vetoed.server
Players & characters269
Open77.animations.cancel(playbackId?)Cancel the local player's RP action and pending requests.clientOpen77.animations.clip(clip)Look up which RP profile owns a clip name.clientOpen77.animations.clip(clip)Look up which RP profile owns a clip name.serverOpen77.animations.clips(query?)List every addressable clip with the profile that owns it.clientOpen77.animations.clips(query?)List every addressable clip with the profile that owns it.serverOpen77.animations.current(entity)The clip a body is currently playing.clientOpen77.animations.current(playerId)Read a player's authoritative active RP playback state.serverOpen77.animations.get(profileId)Look up one RP profile without starting playback.clientOpen77.animations.get(profileId)Read the definition and allowed clips of one RP profile.serverOpen77.animations.isPointing(playerId?)Check whether a player is pointing in their camera direction.clientOpen77.animations.list(query?)Find synchronized RP animation profiles in the local catalogue.clientOpen77.animations.list(query?)Search the authoritative RP profile catalogue.serverOpen77.animations.play(entity, animation)Plays a named animation on a body.clientOpen77.animations.play(playerId, profileId, options?)Start a server-owned, synchronized RP action on a player.serverOpen77.animations.playAt(playerId, profileId, position, yaw?, options?)Play a profile at a world pose: the placed form of play (TaskStartScenarioAtPosition).serverOpen77.animations.playClip(playerId, clip, options?)Start a synchronized RP action on a player, addressed by clip name.serverOpen77.animations.playSelf(animation, thirdPerson?)Plays an emote on the local player, through a stand-in body.clientOpen77.animations.request(profileId, options?)Request a synchronized RP action for the local player.clientOpen77.animations.requestClip(clip, options?)Request a synchronized RP action for the local player by clip name.clientOpen77.animations.sequence(steps, options?)Request an ordered RP sequence for the local player.clientOpen77.animations.sequence(playerId, steps, options?)Schedule a server-owned sequence of RP profiles for a player.serverOpen77.animations.setPointing(enabled)Start or stop camera-directed finger pointing for the local player.clientOpen77.animations.state(playerId?)Read the last active RP state visible to this client.clientOpen77.animations.stop(entity)Stops whatever a body is playing and releases what was set up for it.clientOpen77.animations.stop(playerId, playbackId?)Stop an RP action owned by the calling server resource.serverOpen77.animations.stopAt(playbackId)Stop a placed action by its handle alone.serverOpen77.animations.stopSelf()Stops the local player's emote and removes the stand-in.clientOpen77.appearance.apply(snapshot)Applies a previously captured appearance snapshot to the local player.clientOpen77.appearance.apply(playerId, snapshot, options?)Restores a saved appearance snapshot on a player, without the client asking.serverOpen77.appearance.capture()Captures the local player's complete validated appearance snapshot.clientOpen77.appearance.capture(playerId)Asks a player's client for its current appearance snapshot.serverOpen77.appearance.captureBody()Capture the local native body appearance groups.clientOpen77.appearance.finishCommit()Finishes the current appearance commit transaction.clientOpen77.appearance.isOpen()Whether the local appearance editor is open.clientOpen77.appearance.open(options?)Opens the local Cyberpunk appearance editor.clientOpen77.appearance.switchBodyFamily(gender, resumeEditor?)Starts a guarded body-family transition.clientOpen77.appearance.takeBodyFamilyTransition()Consumes the pending body-family transition result.clientOpen77.character.aimedEntity()What the local player is aiming at, if it is a thing rather than scenery.clientOpen77.character.aimState()One coherent aim snapshot, with the staleness counter that makes it honest.clientOpen77.character.animation(entity?)The animation currently playing on this character.clientOpen77.character.boneAliases()The alias table the slot resolver uses, as data.clientOpen77.character.bonePosition(entity?, name)The world position of one of an entity's slots.clientOpen77.character.bones(entity?)Lists the slot names an entity actually publishes.clientOpen77.character.forward(entity?)The unit vector an entity is facing along.clientOpen77.character.frame(entity?)Reads an entity's position and its own three axes, in world space.clientOpen77.character.groundSpeed(entity?)Speed projected on the ground, without the vertical component.clientOpen77.character.health(entity?)Current health.clientOpen77.character.isAiming()Whether the local player is aiming down sights.clientOpen77.character.isAlive(entity?)Whether the character is alive.clientOpen77.character.isArmed(entity?)Whether a weapon is drawn.clientOpen77.character.isCrouched(entity?)Whether the character is crouching.clientOpen77.character.isDriver(entity?)Whether they occupy the driver's seat.clientOpen77.character.isEmoting(entity?)Whether they hold a workspot (an emote is running).clientOpen77.character.isFiring()Whether the local player is holding the trigger.clientOpen77.character.isFrozen()Whether the local body is being held still.clientOpen77.character.isGrounded(entity?)Whether the character is touching the ground.clientOpen77.character.isInVehicle(entity?)Whether the character is mounted in a vehicle.clientOpen77.character.isSliding(entity?)Whether the character is sliding.clientOpen77.character.isVaulting(entity?)Whether the character is vaulting.clientOpen77.character.offsetToWorld(entity?, offset)Turns a point in an entity's own frame into world coordinates.clientOpen77.character.position(entity?)The character's position.clientOpen77.character.seat(entity?)The seat occupied in a vehicle, if any.clientOpen77.character.setFrozen(frozen)Holds the local player's body still, without a server round trip.clientOpen77.character.speed(entity?)Instantaneous speed, all components.clientOpen77.character.state(entity?)One complete snapshot of a character.clientOpen77.character.weapon(entity?)The equipped weapon and its state.clientOpen77.character.worldToOffset(entity?, point)Turns a world point into an entity's own frame.clientOpen77.character.yaw(entity?)Horizontal orientation, in degrees.clientOpen77.clothing.clear(playerId)Asks a player's client to empty every clothing slot.serverOpen77.clothing.equip(playerId, record, options?)Asks a player's client to equip one clothing record.serverOpen77.clothing.requestSnapshot(playerId)Asks a player's client for its current clothing state.serverOpen77.clothing.set(playerId, wardrobe, options?)Applies a whole slot-to-record wardrobe to a player in one request.serverOpen77.clothing.unequip(playerId, slot)Asks a player's client to empty one clothing slot.serverOpen77.equipment.apply(slots, options?)Applies a table of local equipment slot values.clientOpen77.equipment.attached(slot)Reads the item actually attached at a local slot.clientOpen77.equipment.equip(record, slot?, options?)Equips a record in the local worn set.clientOpen77.equipment.family()Reads the local equipment body family.clientOpen77.equipment.info(record)Looks up metadata for one equipment record.clientOpen77.equipment.records(options?)Lists equipment records with optional slot and body-family filters.clientOpen77.equipment.registry()Reads the local worn equipment slot registry.clientOpen77.equipment.slots()Lists the supported clothing slot names and attachment slots.clientOpen77.equipment.tags(slot)Reads native tags associated with a local equipment slot.clientOpen77.equipment.unequip(slot)Removes equipment from a local worn slot.clientOpen77.equipment.visualSettled(slot, expected)Checks native visual readiness for an expected clothing slot value.clientOpen77.heldItems.hold(playerId, record, options?)Hold a native item on the presented player body, replicated to nearby clients.serverOpen77.heldItems.release(playerId, options?)Empties one of a player's equipment slots of the item this API put there.serverOpen77.heldItems.requestSnapshot(playerId)Asks a player's client what its ten equipment slots currently hold.serverOpen77.heldItems.slots()The ten equipment slot names Open77.heldItems accepts.serverOpen77.playerInteractions.accept(interactionId)Queue acceptance of the local player's offered invitation.clientOpen77.playerInteractions.cancel(interactionId?)Queue cancellation of an action the local player participates in; defaults to their current action.clientOpen77.playerInteractions.cancel(interactionId, reason?)Cancel an interaction owned by this resource.serverOpen77.playerInteractions.current(playerId?)Read a player's active reservation; defaults to the local player.clientOpen77.playerInteractions.current(playerId)Read the interaction reserving a player, including an unanswered invitation.serverOpen77.playerInteractions.decline(interactionId)Queue refusal of the local player's offered invitation.clientOpen77.playerInteractions.get(interactionId)Read one visible active interaction; missing is not an error.clientOpen77.playerInteractions.get(interactionId)Read a copied active state by opaque interaction ID.serverOpen77.playerInteractions.isReserved(playerId?)Check the visible reservation cache; defaults to the local player.clientOpen77.playerInteractions.isReserved(playerId)Check whether a player is exclusively reserved by this service.serverOpen77.playerInteractions.list()Read copied active states visible in this routing bucket.clientOpen77.playerInteractions.list()List active interactions owned by this resource only.serverOpen77.playerInteractions.request(actorId, targetId, kind, options?)Reserve and coordinate a two-player interaction.serverOpen77.playerInteractions.respond(interactionId, accepted)Queue acceptance or refusal of the local player's offered invitation. Only the target may respond.clientOpen77.playerInteractions.result(requestId)Read a cached server acknowledgement for a queued request; acknowledgements expire after30seconds.clientOpen77.players.all(options?)Lists every player this client currently knows about, ascending by player id.clientOpen77.players.all()Every authenticated player id, ascending.serverOpen77.players.allHealthStates()Lists all replicated player health snapshots known to the client.clientOpen77.players.allLifeStates()Lists all replicated canonical player life states known to the client.clientOpen77.players.allowAim(enabled)Allow or block a local-player action.clientOpen77.players.allowCrouch(enabled)Allow or block a local-player action.clientOpen77.players.allowDodge(enabled)Allow or block a local-player action.clientOpen77.players.allowInteraction(enabled)Allow or block a local-player action.clientOpen77.players.allowJump(enabled)Allow or block a local-player action.clientOpen77.players.allowRunning(enabled)Allow or block a local-player action.clientOpen77.players.allowShoot(enabled)Allow or block a local-player action.clientOpen77.players.allowWeapons(enabled)Allow or block a local-player action.clientOpen77.players.ban(playerId, reason?, durationSeconds?)Bans a player's device identity through the master and disconnects them now.serverOpen77.players.clearTasks(playerId)Ends this resource's motion lease, animation playback and freeze claim on one player.serverOpen77.players.closest(options?)The nearest player with a body.clientOpen77.players.closest(anchor, options?)The nearest player to a point or to another player.serverOpen77.players.damage(playerId, amount, options?)Applies authoritative damage to a player.serverOpen77.players.disconnect(playerId, reason?)Disconnects a player with a reason they see.serverOpen77.players.distance(a, b)The distance in metres between two players, two points, or one of each.serverOpen77.players.endpoint(playerId)The address a player is connecting from, as ip:port.serverOpen77.players.entity(playerId)The entity id of one player's body.clientOpen77.players.fade(playerId, out, durationMs?, options?)Cover or uncover one player's screen from the server.serverOpen77.players.fadeIn(playerId, durationMs?)Give one player's image back.serverOpen77.players.fadeOut(playerId, durationMs?, options?)Fade one player's screen to black and hold it.serverOpen77.players.forceOutOfVehicle(playerId, vehicleId?)Forces a player out of a vehicle, overriding the exit lock.serverOpen77.players.freezePosition(enabled)Request or release a native local-player freeze.clientOpen77.players.freezeRotation(enabled)Request or release a native local-player freeze.clientOpen77.players.fromEntity(entityId)Which player wears a given body.clientOpen77.players.get(playerId)Everything the host can answer about one player synchronously, with a dated transform.serverOpen77.players.getControlMask()Read the union of Open77 player-control block bits.clientOpen77.players.getDriveByState(playerId?)Reads local or remote vehicle drive-by state.clientOpen77.players.getDriveByState(playerId)Reads server-validated vehicle drive-by state.serverOpen77.players.getHealth(playerId)A player's health, armor and god-mode snapshot.serverOpen77.players.getHealthState(playerId?)Reads one replicated player health snapshot.clientOpen77.players.getHoloCallEyes(playerId?)Read the server-replicated blue eye-glow intent in the current routing bucket.clientOpen77.players.getHoloCallEyes(playerId)Read whether any server resource holds a player's holocall eye-glow lease.serverOpen77.players.getLifeState(playerId?)Reads the canonical replicated life state of one player.clientOpen77.players.getLifeState(playerId)A player's canonical life snapshot.serverOpen77.players.getLocalDeathContext()Reads the local player's replicated death context.clientOpen77.players.getModel(playerId?)Read this client's NPC presentation state for a player.clientOpen77.players.getModel(playerId)Read the authoritative model selection and owner's readiness.serverOpen77.players.getStats(playerId)A player's combined health and stamina snapshot.serverOpen77.players.getVehicleSeat(playerId?)Reads a replicated player's canonical vehicle-seat assignment.clientOpen77.players.getVehicleSeat(playerId)A player's canonical vehicle seat assignment.serverOpen77.players.getWanted(playerId)The wanted policy this server has decided for a player.serverOpen77.players.heal(playerId, amount)Heals a player by an amount.serverOpen77.players.identifier(playerId)A player's durable authenticated identifier.serverOpen77.players.identifiers(playerId)Every identifier Open77 holds for a player, as a table.serverOpen77.players.identity(playerId)An admitted player's authenticated identity.serverOpen77.players.inBucket(bucket)The authenticated players in one routing bucket, ascending.serverOpen77.players.inScope(viewerId)Return the players currently in a viewer's replication scope.serverOpen77.players.isAiming(playerId?)Graph-produced aiming state, including toggle aim.clientOpen77.players.isCrouching(playerId?)Crouched locomotion state.clientOpen77.players.isDead(playerId?)Whether a player is canonically dead or awaiting revive/respawn.clientOpen77.players.isDead(playerId)Whether a player is dead, revive-pending or respawn-pending.serverOpen77.players.isDiving(playerId?)Native underwater swimming state.clientOpen77.players.isDriveByEnabled(playerId?)Reads the effective vehicle drive-by permission.clientOpen77.players.isDriveByEnabled(playerId)Reads combined server policy for vehicle drive-by.serverOpen77.players.isDriver(playerId?)Mounted in the driver seat.clientOpen77.players.isFallDamageEnabled(playerId)Whether landings still hurt this player.serverOpen77.players.isFalling(playerId?)Falling phase.clientOpen77.players.isFrozen(playerId)Whether a player is currently held still.serverOpen77.players.isGhosted(playerId)Whether a player is currently non-solid.serverOpen77.players.isGrounded(playerId?)Locomotion ground contact.clientOpen77.players.isInDriveBy(playerId?)Reports whether a player is entering, using or leaving window combat.clientOpen77.players.isInDriveBy(playerId)Reports a fresh server-validated vehicle combat action.serverOpen77.players.isInScope(viewerId, subjectId)Check whether a player is in another player's native replication scope.serverOpen77.players.isInVehicle(playerId?)Native vehicle mounting state.clientOpen77.players.isJumping(playerId?)Jump or double-jump phase.clientOpen77.players.isLocalPuppetVisible()Reads the combined local-avatar visibility request.clientOpen77.players.isModelReady(playerId?)Check whether the model is ready on this client.clientOpen77.players.isModelReady(playerId)Read the model owner's native presentation acknowledgement.serverOpen77.players.isModelValid(record)Validate a Character record in the client's installed game data.clientOpen77.players.isPassenger(playerId?)Mounted in a non-driver seat.clientOpen77.players.isReloading(playerId?)Reloading state.clientOpen77.players.isShooting(playerId?)Graph trigger state, not confirmation of a projectile or damage.clientOpen77.players.isSliding(playerId?)Sliding locomotion state.clientOpen77.players.isSprinting(playerId?)Sprint state rather than a velocity threshold.clientOpen77.players.isSwimming(playerId?)Native surface-swimming or diving state.clientOpen77.players.isVaulting(playerId?)Vault traversal state.clientOpen77.players.isVisible(playerId)Whether a player's body is rendered by other clients.serverOpen77.players.kick(playerId, reason?)Alias of Open77.players.disconnect.serverOpen77.players.kill(playerId, options?)Kills a player authoritatively.serverOpen77.players.lastSeen(identifier)When an identity was last on this server, online or not.serverOpen77.players.local()The local player's id; keyword-named alias of localId.clientOpen77.players.locale(playerId)The language a player's own game runs in, as their client reported it at world-ready.serverOpen77.players.localId()The local player's id.clientOpen77.players.name(playerId)A player's display name.serverOpen77.players.nearby(radius, options?)Players with a body within radius, nearest first.clientOpen77.players.nearby(anchor, radius?, options?)The players within a radius of a point or of another player, nearest first.serverOpen77.players.observers(subjectId)Return the viewers currently observing a player.serverOpen77.players.ping(playerId)The transport's measured round-trip time for one player, in milliseconds.serverOpen77.players.position(playerId)A player's last known position and routing bucket.serverOpen77.players.positions()Every player's position in one call.serverOpen77.players.ragdoll(playerId, options)Puts a player's body on the ground for a bounded time; it gets up on its own.serverOpen77.players.requestLifeResync(playerId)Asks a client to re-apply the canonical life state.serverOpen77.players.requestScreenshot(playerId, options)Asks one client for a screenshot of its game view, delivered by that client to a URL the server names; resolves with the upload's receipt.serverOpen77.players.resetControls()Release every player-control block owned by the calling resource VM.clientOpen77.players.resetModel(playerId)Release this resource's model override and restore the original character.serverOpen77.players.respawn(playerId, options)Brings a DEAD player back to life at a chosen point.serverOpen77.players.restoreHealth(playerId)Fills a player's health pool.serverOpen77.players.restoreStamina(playerId)Fills a player's stamina pool.serverOpen77.players.revive(playerId, options?)Revives a player where they fell.serverOpen77.players.sessionStats(playerId)The live session of a connected player, and its history when the resource holds players.identity.history.serverOpen77.players.setArmor(playerId, armor)Sets a player's canonical armor.serverOpen77.players.setDownedDamageable(playerId, enabled)Whether a downed player can still be damaged.serverOpen77.players.setDriveByEnabled(playerId, enabled)Allows or denies a player's vehicle drive-by on the server.serverOpen77.players.setFallDamage(playerId, enabled)Switches one player's fall damage off or back on. Fall damage only -- not god mode.serverOpen77.players.setFrozen(playerId, frozen)Holds a player's body still, server-authoritative.serverOpen77.players.setGhosted(playerId, ghosted, options?)Makes a player non-solid, with an optional automatic clear.serverOpen77.players.setGodMode(playerId, enabled)Toggles a player's canonical damage immunity.serverOpen77.players.setHeading(playerId, yaw)Turns a living player to face a yaw.serverOpen77.players.setHealth(playerId, health)Sets a player's health.serverOpen77.players.setHoloCallEyes(playerId, enabled, options?)Synchronize a player's native blue holocall eye glow.serverOpen77.players.setLocalDriveByEnabled(enabled)Allows or denies native vehicle drive-by for the local player.clientOpen77.players.setLocalPuppetVisible(visible)Hides or restores the player's local avatar, including third person.clientOpen77.players.setMaxHealth(playerId, maxHealth)Sets a player's canonical maximum health.serverOpen77.players.setMaxStamina(playerId, maximum)Sets a player's canonical maximum stamina.serverOpen77.players.setMaxWanted(playerId, level)Sets the ceiling one player's wanted level may reach, 0 to 5.serverOpen77.players.setModel(playerId, record, options?)Select a server-owned NPC body for a connected player.serverOpen77.players.setRegen(playerId, pointsPerSecond)Sets a player's health regeneration rate.serverOpen77.players.setRegenEnabled(playerId, enabled)Turns a player's health regeneration on or off.serverOpen77.players.setStamina(playerId, value)Sets a player's stamina.serverOpen77.players.setStaminaRegen(playerId, pointsPerSecond)Sets a player's stamina regeneration rate.serverOpen77.players.setStaminaRegenEnabled(playerId, enabled)Turns a player's stamina regeneration on or off.serverOpen77.players.setVehicleExitLocked(playerId, locked, vehicleId?)Sets or clears a player's durable no-exit policy.serverOpen77.players.setVisible(playerId, visible)Hides a player's body from every other client, or shows it again.serverOpen77.players.setWanted(playerId, level)Sets one player's NCPD wanted level, 0 to 5.serverOpen77.players.spectate(playerId, targetId, options)Puts one player behind another player's shoulder, body and all.serverOpen77.players.spectating(playerId)Who this player is watching, or 0.serverOpen77.players.spectators(playerId)Everyone watching this player, ascending.serverOpen77.players.taskEnterVehicle(playerId, vehicleId, seat, options?)Seats a player through the vanilla entry animation.serverOpen77.players.taskLeaveVehicle(playerId, vehicleId?)Ejects a player from their current vehicle.serverOpen77.players.teleport(playerId, position, options?)Moves a living player, with no life transition.serverOpen77.players.warpIntoVehicle(playerId, vehicleId, seat, options?)Puts a player in a vehicle seat authoritatively.serverOpen77.puppets.setBody(playerId, body)Project a captured body onto a network player proxy.clientOpen77.puppets.setSlot(playerId, slot, record?)Project one remote equipment-slot override.clientOpen77.puppets.setWardrobe(playerId, snapshot)Project a remote wardrobe snapshot.clientOpen77.stats.get(playerId?)Reads the canonical health and stamina state for one player.clientOpen77.stats.get(playerId)A player's combined health and stamina snapshot.serverOpen77.stats.getHealth(playerId?)Reads one player's canonical health pool.clientOpen77.stats.getHealth(playerId)A player's health pool.serverOpen77.stats.getStamina(playerId?)Reads one player's canonical stamina pool.clientOpen77.stats.getStamina(playerId)A player's stamina pool.serverOpen77.stats.health(playerId?)Alias of Open77.stats.getHealth.clientOpen77.stats.health(playerId)Alias of Open77.stats.getHealth.serverOpen77.stats.restore(playerId, pool)Fills one pool.serverOpen77.stats.restoreHealth(playerId)Fills the health pool.serverOpen77.stats.restoreStamina(playerId)Fills the stamina pool.serverOpen77.stats.set(playerId, pool, value)Sets one pool's current value, in points.serverOpen77.stats.setHealth(playerId, value)Explicit health setter.serverOpen77.stats.setHealthMax(playerId, maximum)Explicit health maximum setter.serverOpen77.stats.setHealthRegenEnabled(playerId, enabled)Turns health regeneration on or off.serverOpen77.stats.setHealthRegenRate(playerId, pointsPerSecond)Sets the health regeneration rate.serverOpen77.stats.setMax(playerId, pool, maximum)Sets one pool's canonical maximum and clamps its current value.serverOpen77.stats.setRegenEnabled(playerId, pool, enabled)Turns one pool's regeneration on or off.serverOpen77.stats.setRegenRate(playerId, pool, pointsPerSecond)Sets one pool's regeneration rate, in points per second.serverOpen77.stats.setStamina(playerId, value)Explicit stamina setter.serverOpen77.stats.setStaminaMax(playerId, maximum)Explicit stamina maximum setter.serverOpen77.stats.setStaminaRegenEnabled(playerId, enabled)Turns stamina regeneration on or off.serverOpen77.stats.setStaminaRegenRate(playerId, pointsPerSecond)Sets the stamina regeneration rate.serverOpen77.stats.stamina(playerId?)Alias of Open77.stats.getStamina.clientOpen77.stats.stamina(playerId)Alias of Open77.stats.getStamina.serverOpen77.wardrobe.activate(index?)Activates a native outfit or returns to the worn set.clientOpen77.wardrobe.active()Reads the active native outfit index.clientOpen77.wardrobe.outfit(index)Returns slot operations bound to a native outfit index.client
Cyberware & abilities57
Open77.abilities.approveSlam(request, sequence, allowed)Admits or refuses a pending slam activation.clientOpen77.abilities.cancel(playerId)Cancels this resource's in-flight ability action, keeping the entitlement.serverOpen77.abilities.cancelSlam(request, sequence, reason)Cancels a slam activation, with a reason.clientOpen77.abilities.configureSlam(options)Configures the calling resource's native Ground Slam projector.clientOpen77.abilities.current(playerId)The player's current ability projection snapshot.serverOpen77.abilities.define(definition)Registers a server-owned ability definition for this resource.serverOpen77.abilities.grant(playerId, definition)Grants a defined ability to one player.serverOpen77.abilities.presentSlam(playerId, activationId, sequence, phase, airborne, elapsedMs)Projects a correlated, server-accepted Ground Slam phase for an observer.clientOpen77.abilities.releaseSlam()Releases this resource's ground-slam ownership.clientOpen77.abilities.requestSlam(request)Asks the native layer to begin a slam and returns its sequence.clientOpen77.abilities.revoke(playerId)Removes this resource's ability grant from a player and cancels its action.serverOpen77.abilities.slamActivity()The local character's current ground-slam activity, with its recent history.clientOpen77.abilities.slamState(request)The phase of a ground-slam configuration request.clientOpen77.chute.arm(gravity, descentRate, glideSpeed?)Arms the grav-chute with a gravity, descent rate and optional glide speed.clientOpen77.chute.disarm()Disarms the grav-chute.clientOpen77.chute.isArmed()Whether this client last accepted an arm or a disarm.clientOpen77.cyberware.activity(playerId)Read fresh authoritative Gorilla charge activity.serverOpen77.cyberware.activityPlayers()List players with fresh, armed, unexpired Gorilla charge holds.serverOpen77.cyberware.approveLegJump(request, sequence, allowed)Answer the owned native second-jump intent with the server's decision.clientOpen77.cyberware.attackState()Read local native Gorilla melee activity.clientOpen77.cyberware.bind(playerId, character)Bind the authenticated player to a server-selected durable character.serverOpen77.cyberware.cancel(playerId, ticket)Cancel an owned installation/removal before durable commit.serverOpen77.cyberware.captureArms()Capture the local native Gorilla Arms posture profiles.clientOpen77.cyberware.configureLegs(request, staminaManaged, maxAirborneMs, maxFallSpeed)Configure the owned ready legs adapter's admission limits.clientOpen77.cyberware.configureLocal(request, options)Configure native charge limits and stamina-override presence.clientOpen77.cyberware.current(playerId)Read the ready durable implant record.serverOpen77.cyberware.define(definition)Register resource-owned Gorilla Arms grades.serverOpen77.cyberware.effective(playerId)Read the ready implant including an active temporary loadout.serverOpen77.cyberware.grantLegLease(lease, epoch, budget, ttlMs)Hold the server's double-jump activation lease on the local body.clientOpen77.cyberware.install(playerId, definition, grade, options)Stage a durable Gorilla Arms installation.serverOpen77.cyberware.lease(playerId, definition, grade, options?)Stage a temporary implant without overwriting paid state.serverOpen77.cyberware.leaseState(playerId)Read a temporary loadout lease and restoration phase.serverOpen77.cyberware.legReportSent(reportSequence)Mark the pending leased jump report as sent.clientOpen77.cyberware.legsActivity()Read fresh native legs action and airborne state.clientOpen77.cyberware.legsState(request)Read the owned native legs projection phase.clientOpen77.cyberware.localState(request)Read the native equipment projection state for an owned request.clientOpen77.cyberware.newOperationId()Create an operation ID to retain across durable retries.serverOpen77.cyberware.presentArms(playerId, profile)Project or clear an owned Gorilla Arms appearance overlay.clientOpen77.cyberware.projectLegs(enabled)Queue native local double-jump legs installation or removal.clientOpen77.cyberware.projectLocal(enabled)Queue native local Gorilla equipment installation or removal.clientOpen77.cyberware.refreshLegLease(epoch, remaining, ttlMs)Refresh the held double-jump lease with the server's latest budget and lifetime.clientOpen77.cyberware.releaseLease(playerId, lease)Release this resource's temporary loadout and restore paid arms.serverOpen77.cyberware.releaseLegLease()Drop the held double-jump lease; presses go back to ask-and-wait.clientOpen77.cyberware.releaseLegs()Request owned native legs cleanup.clientOpen77.cyberware.remove(playerId, options)Stage a durable Gorilla Arms removal.serverOpen77.cyberware.unbind(playerId)Release this resource's character binding and runtime grants.serverOpen77.motion.cancel(playerId, id)Cancel this resource's authoritative motion lease.serverOpen77.motion.current(playerId)Read an authoritative living-motion lease.serverOpen77.motion.knockdown(entity, x, y, distance)Queue an owned native reaction on an exact local body.clientOpen77.motion.knockdown(playerId, options)Request bounded native living-player motion.serverOpen77.motion.launch(entity, x, y, push, lift)Queue an owned native character launch on an exact local body.clientOpen77.motion.launch(playerId, options)Request a bounded server-authorized character launch.serverOpen77.motion.predictAction(source, entity, x, y, expectedDamage)Predict a temporary reaction on a remote player proxy.clientOpen77.motion.predictionStats()Read bounded action-reaction prediction counters.clientOpen77.motion.refutePrediction(request)Blend a refused presentation-only prediction back to the live pose.clientOpen77.motion.state(request)Read the phase of this resource's native reaction.clientOpen77.motion.stop(request)Request cleanup of this resource's native reaction.client
Vehicles209
Open77.vehicles.adopt(playerId, description)Turns a client's description of a vanilla car into a canonical vehicle.serverOpen77.vehicles.adoptable(options?)Every engine-spawned vehicle near the player that the server does not own.clientOpen77.vehicles.ai.attachDriver(vehicleId, options?)Attaches a server-owned vehicle AI controller.serverOpen77.vehicles.ai.capacity()Reads the server-wide AI driver admission counts.serverOpen77.vehicles.ai.chase(vehicleId, options)Pursues a canonical entity using native autonomous pathing.serverOpen77.vehicles.ai.driveTo(vehicleId, options)Starts native autonomous driving to a world position.serverOpen77.vehicles.ai.follow(vehicleId, options)Continuously follows a canonical player, vehicle or NPC.serverOpen77.vehicles.ai.followRoute(vehicleId, options)Drives an ordered route of world points.serverOpen77.vehicles.ai.joinTraffic(vehicleId, options?)Enrolls a controlled vehicle in REDengine's own traffic simulation: it joins the nearest traffic lane and follows traffic indefinitely.serverOpen77.vehicles.ai.on(event, handler)Subscribes to this resource's vehicle AI lifecycle events.serverOpen77.vehicles.ai.panic(vehicleId, options)Requests a time-bounded native panic reaction on a running traffic enrollment.serverOpen77.vehicles.ai.removeDriver(vehicleId)Stops AI control and releases its driver seat.serverOpen77.vehicles.ai.setBehavior(vehicleId, behavior)Selects normal, cautious or aggressive AI behavior.serverOpen77.vehicles.ai.setSpeed(vehicleId, speed)Updates the native driving speed limit.serverOpen77.vehicles.ai.setTrafficPattern(vehicleId, pattern)Changes the native crowd move pattern of a running traffic enrollment.serverOpen77.vehicles.ai.state(vehicleId)Reads authoritative vehicle AI state.serverOpen77.vehicles.ai.stop(vehicleId)Cancels the active task and stops the vehicle.serverOpen77.vehicles.aimed()The replicated vehicle the local player is looking at.clientOpen77.vehicles.all()Lists every vehicle currently streamed to this client.clientOpen77.vehicles.all(bucket?)Lists authoritative server vehicles.serverOpen77.vehicles.applyProperties(id, props, options?)Alias for setProperties.serverOpen77.vehicles.areLightsOn(id)Whether a vehicle's headlights are lit at all.serverOpen77.vehicles.breakAllGlass(id, count?)Breaks a range of vehicle glass elements.serverOpen77.vehicles.breakGlass(id, glass)Breaks one vehicle glass element.serverOpen77.vehicles.breakLight(id, index)Breaks one vehicle light.serverOpen77.vehicles.breakTire(id, index)Breaks one vehicle tire.serverOpen77.vehicles.cancelPlayerSeatSwitch(playerId, transitionId)Cancels exactly one player seat-transition token.serverOpen77.vehicles.cancelSeatSwitch(transitionId)Requests cancellation of an active local seat transition.clientOpen77.vehicles.clearAllPerformance()Drops every performance ceiling, instance and record class alike.clientOpen77.vehicles.clearLightsHue(id)Hands the lights back the record's own colour.serverOpen77.vehicles.clearLockedForPlayer(id, playerId)Drops one player's lock exception.serverOpen77.vehicles.clearPerformance(vehicleId)Removes one vehicle's performance ceiling.clientOpen77.vehicles.clearPerformance(id)Hands a vehicle back its record's rated performance.serverOpen77.vehicles.clearPerformanceClass(record)Removes a TweakDB record's performance ceiling.clientOpen77.vehicles.closeDoor(id, door)Closes a door, trunk, or hood.serverOpen77.vehicles.closest(radiusOrOptions?)The nearest replicated vehicle.clientOpen77.vehicles.closest(anchor, options?)The nearest registered vehicle to a point or a player.serverOpen77.vehicles.closeWindow(id, window)Closes one side window.serverOpen77.vehicles.create(definition)Creates a server-authoritative network vehicle.serverOpen77.vehicles.damageBodyCell(id, cell, amount)Adds damage to one body cell.serverOpen77.vehicles.damageBodyZone(id, zone, amount)Adds damage across a body zone.serverOpen77.vehicles.describeAdoptable(engineEntity)The same description for one named engine-spawned chassis.clientOpen77.vehicles.detachedParts()Maps stable detached-part names to network bit indexes.serverOpen77.vehicles.detachPart(id, part)Detaches one vehicle panel authoritatively.serverOpen77.vehicles.doors()Door indexes for the door natives.serverOpen77.vehicles.explode(id)Detonates a vehicle through every viewer's own engine.serverOpen77.vehicles.flags()Bit values of a vehicle's flags field.serverOpen77.vehicles.forcePlayerOutOfVehicle(playerId, vehicleId?)Forces a player out of a network vehicle.serverOpen77.vehicles.freeSeats(id)Every free seat of a vehicle, in seat order.serverOpen77.vehicles.fromEntity(entityId)The replicated vehicle wearing an entity id.clientOpen77.vehicles.get(id)Reads one streamed server-owned vehicle.clientOpen77.vehicles.get(id)Returns one authoritative server vehicle snapshot.serverOpen77.vehicles.getActiveWeapons(vehicleId)Lists the attached weapons selected by the driver.clientOpen77.vehicles.getAdoptPolicy(bucket?)One routing bucket's adoption policy.serverOpen77.vehicles.getAppearance(id)The entity appearance variant this car wears.serverOpen77.vehicles.getDamage(id)Returns the canonical damage snapshot.serverOpen77.vehicles.getDamageProfile(record)Returns a resource-local vehicle damage profile.serverOpen77.vehicles.getDriver(id)The player driving this vehicle, or nil when nobody is.serverOpen77.vehicles.getEngineHealth(id)Vehicle health under its FiveM name.serverOpen77.vehicles.getHeading(id)The vehicle's heading in degrees.serverOpen77.vehicles.getHeadlightHue(id)Alias for getLightsHue.serverOpen77.vehicles.getHealth(id)A vehicle's health, 0 to 1.serverOpen77.vehicles.getLights(id)A vehicle's headlight mode as a word.serverOpen77.vehicles.getLightsHue(id)The CrystalCoat headlight hue in force, or nil.serverOpen77.vehicles.getPaint(id)Reads replicated authoritative paint for one streamed vehicle.clientOpen77.vehicles.getPaint(id)Reads authoritative vehicle paint.serverOpen77.vehicles.getPerformance(id)The performance ceiling in force, or nil.serverOpen77.vehicles.getPlayerSeat(playerId?)Reads a replicated player's canonical vehicle-seat assignment.clientOpen77.vehicles.getPlayerSeat(playerId)Reads one player's canonical vehicle-seat assignment.serverOpen77.vehicles.getPlayerSeatSwitch(playerId)Reads a player's active authoritative seat transition.serverOpen77.vehicles.getPosition(id)The vehicle's canonical position as a vector3.serverOpen77.vehicles.getProperties(id)Everything a garage has to store to put this exact car back.serverOpen77.vehicles.getSpeed(id)Scalar speed in metres per second.serverOpen77.vehicles.getSpeedKph(id)Scalar speed in kilometres per hour.serverOpen77.vehicles.getSteeringInput(vehicleId)Reads normalized vehicle steering input.clientOpen77.vehicles.getSteeringWheelAngle(vehicleId)Reads the actual rendered steering-wheel angle in degrees.clientOpen77.vehicles.getVehicleProperties(id)The FiveM-shaped name for getProperties.serverOpen77.vehicles.getVelocity(id)The vehicle's linear velocity as a vector3, in metres per second.serverOpen77.vehicles.getWeapon(vehicleId, mountIndex)Reads one weapon mount by its stable one-based index.clientOpen77.vehicles.getWeaponAim(vehicleId)Reads the Basilisk's captured or replicated turret inputs.clientOpen77.vehicles.getWeaponAmmo(vehicleId, mountIndex)Reads available native ammunition counters for a mounted weapon.clientOpen77.vehicles.getWeaponCount(vehicleId)Counts weapon objects attached to a streamed vehicle.clientOpen77.vehicles.getWeaponModel(record)Reads the weapon mounts declared by a vehicle model.clientOpen77.vehicles.getWeapons(vehicleId)Lists the weapon objects actually attached to a streamed vehicle.clientOpen77.vehicles.getWeaponState(vehicleId)Reads one coherent mounted-weapon snapshot.clientOpen77.vehicles.getWeaponType(vehicleId, mountIndex)Reads a mounted weapon's stable category.clientOpen77.vehicles.getYaw(id)Alias of Open77.vehicles.getHeading.serverOpen77.vehicles.honk(id, durationMs?)Alias of Open77.vehicles.triggerHorn.clientOpen77.vehicles.honk(id, durationMs?)Alias of Open77.vehicles.triggerHorn.serverOpen77.vehicles.isArmed(vehicleId)Checks whether a streamed vehicle actually has attached weapons.clientOpen77.vehicles.isAutoSeatSwitchEnabled()Reads the effective local automatic driver-takeover policy.clientOpen77.vehicles.isDoorOpen(id, door)Reads a canonical vehicle door, trunk, or hood state.clientOpen77.vehicles.isDoorOpen(id, door)Reads one canonical door opening state.serverOpen77.vehicles.isDrivable(id)Whether a vehicle is in service.serverOpen77.vehicles.isEngineOn(id)Whether a vehicle's engine is running.serverOpen77.vehicles.isFrozen(id)Whether a vehicle is pinned by the server.serverOpen77.vehicles.isLocked(id)Reads a vehicle's replicated entry-lock state.clientOpen77.vehicles.isLocked(id)Reads a vehicle's canonical entry-lock state.serverOpen77.vehicles.isLockedForPlayer(id, playerId)Is this vehicle locked as far as this one player is concerned?serverOpen77.vehicles.isPartDetached(id, part)Reads one canonical detached-part bit.serverOpen77.vehicles.isPlayerAutoSeatSwitchEnabled(playerId)Reads the player's effective server takeover policy.serverOpen77.vehicles.isPlayerExitLocked(playerId?)Reports the replicated exit-lock policy for a player.clientOpen77.vehicles.isPlayerExitLocked(playerId)Reports whether a player's canonical seat has exit lock enabled.serverOpen77.vehicles.isSirenOn(id)Whether a vehicle's siren is on.serverOpen77.vehicles.isVisibleTo(vehicleId, playerId)Reads actual server vehicle visibility for one player.serverOpen77.vehicles.isWeaponActive(vehicleId, mountIndex)Checks whether the driver selected a particular attached mount.clientOpen77.vehicles.isWindowOpen(id, window)Reads a canonical openable side-window state.clientOpen77.vehicles.isWindowOpen(id, window)Reads one canonical side-window opening state.serverOpen77.vehicles.lock(id)Locks a vehicle against ordinary entry.serverOpen77.vehicles.lockForAll(id)Locks a vehicle for everyone, revoking every exception.serverOpen77.vehicles.modelHasWeaponMounts(record)Checks whether a vehicle model declares any weapon mounts.clientOpen77.vehicles.nearby(radius, options?)Every replicated vehicle within a radius, nearest first.clientOpen77.vehicles.nearby(anchor, radius?, options?)Every registered vehicle within a radius of a point or a player, nearest first.serverOpen77.vehicles.occupantFlags()Bit values of a seat assignment's flags field.serverOpen77.vehicles.occupantInSeat(id, seat)Which player is in one seat of a replicated vehicle.clientOpen77.vehicles.occupantInSeat(id, seat)Who is in one seat of a vehicle.serverOpen77.vehicles.openDoor(id, door)Opens a door, trunk, or hood.serverOpen77.vehicles.openWindow(id, window)Opens one side window.serverOpen77.vehicles.owner(id)Who is simulating a vehicle, in what capacity, and since when.serverOpen77.vehicles.ratedTopSpeed(vehicleId)Gearing rating of a vehicle's TweakDB record, in km/h.clientOpen77.vehicles.registerDamageProfile(record, profile)Registers resource-local named damage zones and glass parts.serverOpen77.vehicles.releaseAdopted(engineEntity)Hands one engine-spawned chassis back to the population system.clientOpen77.vehicles.remove(id)Removes a server-authoritative network vehicle.serverOpen77.vehicles.removePlayerFromVehicle(playerId, vehicleId?)Alias for forced authoritative vehicle exit.serverOpen77.vehicles.repair(id, scope?)Repairs a selected vehicle damage scope.serverOpen77.vehicles.repairAllGlass(id)Repairs all vehicle glass.serverOpen77.vehicles.repairAllLights(id)Repairs every vehicle light.serverOpen77.vehicles.repairAllTires(id)Repairs all four vehicle tires.serverOpen77.vehicles.repairBodyCell(id, cell)Repairs one body cell.serverOpen77.vehicles.repairBodyZone(id, zone)Repairs every body cell in a zone.serverOpen77.vehicles.repairGlass(id, glass)Repairs one vehicle glass element.serverOpen77.vehicles.repairLight(id, index)Repairs one vehicle light.serverOpen77.vehicles.repairTire(id, index)Repairs one vehicle tire.serverOpen77.vehicles.requestAuthority(id, playerId)Asks that one client simulate a vehicle. A request, never an order.serverOpen77.vehicles.resetPaint(id)Restores a vehicle's authored paint.serverOpen77.vehicles.seatFree(id, seat)Whether one seat of a replicated vehicle is free.clientOpen77.vehicles.seatFree(id, seat)Whether one seat of a vehicle is free.serverOpen77.vehicles.seatName(seat)The canonical spelling of a seat name or index.serverOpen77.vehicles.seats()The four seat numbers; every seat native also takes the canonical names and their aliases.serverOpen77.vehicles.seatSwitchState()Reads the local canonical seat transition and automatic policy.clientOpen77.vehicles.setAdoptPolicy(policy, options?)Opens or closes one routing bucket to vehicle adoption.serverOpen77.vehicles.setAppearance(id, appearance)Swaps the appearance variant on a live car, on every viewer.serverOpen77.vehicles.setAutoSeatSwitchEnabled(enabled)Controls this client resource's automatic driver-takeover veto.clientOpen77.vehicles.setBodyCell(id, cell, value)Sets one body-damage cell.serverOpen77.vehicles.setBodyDamage(id, values)Replaces the complete body-damage grid.serverOpen77.vehicles.setBodyZone(id, zone, value)Sets all body cells in a zone.serverOpen77.vehicles.setControlLock(vehicleId, locked)Locks or releases a stopped vehicle's driving inputs.clientOpen77.vehicles.setDamage(id, damage)Replaces multiple canonical damage components at once.serverOpen77.vehicles.setDespawnWhenUnobserved(id, despawn)Removes a vehicle once nobody has had it streamed for thirty seconds.serverOpen77.vehicles.setDetachedPartMask(id, mask)Adds a canonical detached-part mask.serverOpen77.vehicles.setDoorMask(id, mask)Replaces the vehicle opening mask.serverOpen77.vehicles.setDoorOpen(id, door, opened)Sets one door, trunk, or hood opening state.serverOpen77.vehicles.setDrivable(id, drivable)Puts a vehicle in or out of service.serverOpen77.vehicles.setEngine(id, on)Starts or stops a vehicle's engine.serverOpen77.vehicles.setEngineHealth(id, health)Sets vehicle health under its FiveM name.serverOpen77.vehicles.setFrozen(vehicleId, frozen)Freezes or wakes a vehicle's native chassis physics.clientOpen77.vehicles.setFrozen(id, frozen)Pins a vehicle where it stands, or lets it go.serverOpen77.vehicles.setGlassBroken(id, glass, broken)Sets or clears one broken-glass bit.serverOpen77.vehicles.setGlassMask(id, mask)Replaces the broken-glass bit mask.serverOpen77.vehicles.setHeadlightColor(id, color)The same tint, from an RGB colour.serverOpen77.vehicles.setHeadlightColour(id, color)Alias for setHeadlightColor.serverOpen77.vehicles.setHealth(id, health)Sets a vehicle's health, 0 to 1.serverOpen77.vehicles.setHighBeams(id, on)Raises or drops the high beams without going dark.serverOpen77.vehicles.setLaunchVelocity(id, velocity)Starts a car nobody has simulated yet moving.serverOpen77.vehicles.setLightBroken(id, index, broken)Sets or clears one broken-light bit.serverOpen77.vehicles.setLightMask(id, mask)Replaces the broken-light bit mask.serverOpen77.vehicles.setLights(id, mode)Sets a vehicle's headlight mode.serverOpen77.vehicles.setLightsHue(id, hue)Tints the car's own lights.serverOpen77.vehicles.setLocked(id, locked)Sets or clears a vehicle's durable entry lock.serverOpen77.vehicles.setLockedForAll(id, locked)Sets the canonical entry lock and revokes every per-player exception.serverOpen77.vehicles.setLockedForPlayer(id, playerId, locked)Decides one player's view of a vehicle's entry lock.serverOpen77.vehicles.setPaint(id, paint)Sets authoritative paint on a canonical vehicle.serverOpen77.vehicles.setPartDetached(id, part, detached)Detaches one standard vehicle part.serverOpen77.vehicles.setPerformance(vehicleId, profile)Caps one vehicle's top speed and pickup on this client.clientOpen77.vehicles.setPerformance(id, profile)Caps one vehicle's top speed and pickup, from the server.serverOpen77.vehicles.setPerformanceClass(record, profile)Caps every present and future vehicle spawned from one TweakDB record.clientOpen77.vehicles.setPersistent(id, persistent)Exempts a vehicle from every automatic removal.serverOpen77.vehicles.setPlayerAutoSeatSwitchEnabled(playerId, enabled)Controls a resource-owned automatic takeover policy.serverOpen77.vehicles.setPlayerExitLocked(playerId, locked, vehicleId?)Prevents or permits a player-controlled vehicle exit.serverOpen77.vehicles.setPlayerIntoVehicle(playerId, vehicleId, seat, options?)Alias for authoritative player seat assignment.serverOpen77.vehicles.setProperties(id, props, options?)Applies a stored property table to a vehicle.serverOpen77.vehicles.setSiren(id, on)Turns a vehicle's siren on or off.serverOpen77.vehicles.setTimeToLive(id, ttlMs)Gives a vehicle a deadline, in milliseconds from now.serverOpen77.vehicles.setTireBroken(id, index, broken)Sets or clears one broken tire.serverOpen77.vehicles.setTireMask(id, mask)Replaces the broken-tire bit mask.serverOpen77.vehicles.setTransform(id, transform)Moves a vehicle authoritatively.serverOpen77.vehicles.setTtl(id, ttlMs)Alias of Open77.vehicles.setTimeToLive.serverOpen77.vehicles.setUndriveable(id, undriveable)Takes a vehicle out of service, or puts it back.serverOpen77.vehicles.setVehicleProperties(id, props, options?)The FiveM-shaped name for setProperties.serverOpen77.vehicles.setWindowOpen(id, window, opened)Sets one reversible side-window opening state.serverOpen77.vehicles.startEngine(id)Starts a vehicle's engine.serverOpen77.vehicles.stopEngine(id)Stops a vehicle's engine.serverOpen77.vehicles.switchPlayerSeat(playerId, seat)Reserves an animated seat change for a seated player.serverOpen77.vehicles.switchSeat(seat)Requests an animated move to another seat for the local player.clientOpen77.vehicles.taskPlayerEnter(playerId, vehicleId, seat, options?)Seats a player through the vanilla entry animation.serverOpen77.vehicles.taskPlayerEnterVehicle(playerId, vehicleId, seat)Presents an authorized replicated occupant with the staged entry path.clientOpen77.vehicles.taskPlayerEnterVehicle(playerId, vehicleId, seat, options?)Alias for the animated authoritative seat assignment.serverOpen77.vehicles.taskPlayerLeave(playerId, vehicleId?)Ejects a player from a network vehicle.serverOpen77.vehicles.taskPlayerLeaveVehicle(playerId, vehicleId?)Alias for the authoritative vehicle exit.serverOpen77.vehicles.triggerHorn(id, durationMs?)Sounds the horn of a locally simulated vehicle.clientOpen77.vehicles.triggerHorn(id, durationMs?)Sounds a synchronized vehicle horn.serverOpen77.vehicles.unlock(id)Unlocks a vehicle for ordinary entry.serverOpen77.vehicles.unlockForAll(id)Unlocks a vehicle for everyone, revoking every exception.serverOpen77.vehicles.unsupportedProperties()The FiveM vehicle-property names with no Cyberpunk counterpart, and why.serverOpen77.vehicles.update(id, patch)Updates canonical durable vehicle fields.serverOpen77.vehicles.warpPlayerIntoVehicle(playerId, vehicleId, seat)Presents a replicated player instantly in an authoritative vehicle seat.clientOpen77.vehicles.warpPlayerIntoVehicle(playerId, vehicleId, seat, options?)Assigns a player to an authoritative vehicle seat.serverOpen77.vehicles.whenStreamed(id, timeoutMs?)A promise that resolves once this client's projection of a vehicle is attached.clientOpen77.vehicles.windows()Window indexes for the glass natives.server
World & environment152
open77_doors.changes(cursor)Read a bounded feed of authoritative door changes.serveropen77_doors.configure(id, bucket, patch)Configure a door atomically on the server.serveropen77_doors.get(id)Read a door's latest replicated target state.clientopen77_doors.get(id, bucket?)Read the authoritative state of a world door.serveropen77_doors.linkElevator(id, bucket, elevatorId, floor)Link a landing door to its elevator and floor.serveropen77_doors.list(offset?, limit?)List door states within this client's interest.clientopen77_doors.list(bucket?, offset?, limit?)List registered doors with bounded pagination.serveropen77_doors.near(position, bucket, radius)Find the nearest authoritative doors.serveropen77_doors.npcStats()Count NPC door openings admitted and refused.serveropen77_doors.register(descriptor)Register or claim a world door for the calling resource.serveropen77_doors.remove(id, bucket)Release a door owned by this resource.serveropen77_doors.requestOpen(id, open)Ask the server to open or close an interactive door.clientopen77_doors.resolveAction(ticket, accept, reason?)Approve or refuse a pending owner-approved door action.serveropen77_doors.setAccess(id, bucket, playerId, allow)Grant or deny a connected player door access.serveropen77_doors.setActions(id, bucket, actions)Declare which door actions (force, pay, hack) a door accepts.serveropen77_doors.setAutomatic(id, bucket, automatic)Enable or disable authoritative proximity opening.serveropen77_doors.setDiscoveryEnabled(enabled)Enable or disable acceptance of new discovered doors.serveropen77_doors.setLocked(id, bucket, locked)Lock or unlock a shared door.serveropen77_doors.setNpcPassage(id, bucket, mode)Choose which network NPCs may open a door.serveropen77_doors.setOpen(id, bucket, open)Set a non-elevator door's target state.serveropen77_doors.setSealed(id, bucket, sealed)Seal or unseal a shared door.serverOpen77.doors.aimed()The streamed door currently under the crosshair.clientOpen77.doors.aimedAny()Reads the entity currently under the crosshair even when it is not a controllable Door.clientOpen77.doors.available()Whether the client door backend is available.clientOpen77.doors.clearInteractionPolicy(door)Removes this resource's interaction policy for a door.clientOpen77.doors.close(door, force?)Closes a door.clientOpen77.doors.closest(radius?)The closest streamed door around the local player.clientOpen77.doors.grantKey(door, holder)Grants an entity an opening token for a door.clientOpen77.doors.hasKey(door, holder)Whether an entity holds an opening token for a door.clientOpen77.doors.holders(door)The entities holding an opening token for a door.clientOpen77.doors.lock(door, force?)Locks a door.clientOpen77.doors.near(radius?)All streamed doors around the local player.clientOpen77.doors.open(door, force?)Opens a door.clientOpen77.doors.reset(door)Resets a door to its configured default state.clientOpen77.doors.revokeKey(door, holder)Revokes an entity's opening token for a door.clientOpen77.doors.seal(door, force?)Seals a door.clientOpen77.doors.setAutomaticClose(door, enabled)Enables or disables a door's automatic closing behavior.clientOpen77.doors.setInteractionAllowed(door, allowed)Pre-declares whether vanilla interaction may open a door.clientOpen77.doors.setLocked(door, locked, force?)Sets whether a door is locked.clientOpen77.doors.setOpen(door, open, force?)Sets whether a door is open.clientOpen77.doors.setSealed(door, sealed, force?)Sets whether a door is sealed.clientOpen77.doors.setState(door, state, force?)Sets a door state by name.clientOpen77.doors.sink(id, depth?)Moves a static or scenery door below the floor.clientOpen77.doors.state(door)A live snapshot of a streamed door.clientOpen77.doors.unlock(door, force?)Unlocks a door.clientOpen77.doors.unseal(door, force?)Unseals a door.clientOpen77.elevators.adopt(def)Takes a native lift under authoritative control.serverOpen77.elevators.all()Lists every replicated elevator state visible to the client.clientOpen77.elevators.all(bucket?)Every managed elevator, optionally filtered to one routing bucket.serverOpen77.elevators.call(id, floor, options?)Alias of Open77.elevators.goTo.serverOpen77.elevators.get(id)Reads one replicated elevator by Open77 ID.clientOpen77.elevators.get(id)Reads one elevator's canonical snapshot.serverOpen77.elevators.goTo(id, floor, options?)Starts authoritative travel to a floor.serverOpen77.elevators.nearby(radius?)Discovers streamed native elevators around the local player.clientOpen77.elevators.pause(id)Pauses authoritative movement.serverOpen77.elevators.remove(id)Releases a managed elevator.serverOpen77.elevators.request(id, floor, action)Submits a floor request to the authoritative server.clientOpen77.elevators.resume(id)Continues a paused journey.serverOpen77.elevators.setFlags(id, flags)Sets the power, lock, interaction and door policy bits.serverOpen77.elevators.teleport(id, floor)Moves a lift to a floor with no travel.serverOpen77.environment.clearBucket(bucket)Retires one routing bucket's environment override.serverOpen77.environment.getState(bucket)The canonical clock and weather state, right now.serverOpen77.environment.getTime()Lit l'horloge REDengine locale.clientOpen77.environment.isWeatherFrozen()Indique si la météo automatique vanilla est neutralisée.clientOpen77.environment.publishChange(state)Publishes the reserved onEnvironmentChanged event host-wide.serverOpen77.environment.setTime(hour, minute, second?)Projette une heure serveur dans REDengine.clientOpen77.environment.setTime(hour, minute, second, bucket)Sets the authoritative time of day every player projects.serverOpen77.environment.setTimeFrozen(frozen)Fige ou libère uniquement l'horloge du jeu.clientOpen77.environment.setTimeFrozen(frozen, bucket)Stops or resumes the authoritative clock where it stands.serverOpen77.environment.setTimeRate(rate, bucket)Sets how many game seconds pass per real second.serverOpen77.environment.setWeather(preset, transitionSeconds?, priority?)Applique un preset météo REDengine.clientOpen77.environment.setWeather(preset, transitionSeconds, bucket)Applies a synchronized weather preset over a transition.serverOpen77.environment.setWeatherFrozen(frozen)Désactive ou réactive le contrôleur météo automatique vanilla.clientOpen77.environment.setWeatherFrozen(frozen, bucket)Pins the current preset by stopping the random scheduler.serverOpen77.prevention.setEnabled(enabled)Turns NCPD dispatch on or off for this client.clientOpen77.prevention.setMaxWanted(level)Sets the ceiling the wanted level resets to, 0 to 5.clientOpen77.prevention.setWanted(level)Sets this client's NCPD wanted level, 0 to 5.clientOpen77.prevention.state()What was last requested of the prevention system, and whether the script loop acknowledged it.clientOpen77.props.all(bucket?)Every authoritative prop, optionally filtered to one routing bucket.serverOpen77.props.attach(propId, binding)Attach a resource-owned local prop to a rendered bone or vehicle.clientOpen77.props.attach(propId, binding, expectedRevision?)Set a synchronized prop binding.serverOpen77.props.attachedTo(parentType, parentId)List replicated props attached to one parent.serverOpen77.props.bones(parentType, parentId)List available named attachment slots on a streamed parent.clientOpen77.props.catalog()Always an empty table on the server.serverOpen77.props.clear()Removes every local prop this resource created.clientOpen77.props.clear()Removes every prop this resource owns and returns how many.serverOpen77.props.create(options)Creates a local, decorative prop owned by this resource.clientOpen77.props.create(def)Creates an authoritative, replicated world prop.serverOpen77.props.detach(propId)Detach a resource-owned local prop.clientOpen77.props.detach(propId, expectedRevision?)Release a synchronized prop binding.serverOpen77.props.get(id)Reads one prop's canonical snapshot.serverOpen77.props.getAttachment(propId)Read a prop's current replicated binding.serverOpen77.props.isAttached(propId)Check whether a prop has a binding.serverOpen77.props.list()Local props this resource owns, with what the renderer did with each.clientOpen77.props.nearest(position, radius?)Finds the nearest local prop owned by this resource.clientOpen77.props.project(serverId, options)Upserts a server-owned prop into the world, keyed by the server id.clientOpen77.props.projected(serverPropId)Inspect a replicated prop by its server ID.clientOpen77.props.remove(id)Removes a local prop this resource owns.clientOpen77.props.remove(id)Removes a prop this resource owns.serverOpen77.props.setAttachmentTransform(propId, offset?, rotation?, expectedRevision?)Change a binding's local offset and rotation.serverOpen77.props.setBucket(id, bucket)Moves a prop to another routing bucket.serverOpen77.props.setTransform(id, transform)Moves a local prop to a position and yaw.clientOpen77.props.setTransform(id, def)Moves and optionally rescales a prop this resource owns.serverOpen77.props.unproject(serverId)Stops projecting one server-owned prop.clientOpen77.props.unprojectAll()Stops projecting every server-owned prop.clientOpen77.props.update(id, patch)Patches a local prop this resource owns.clientOpen77.props.update(id, patch)Patches a prop this resource owns.serverOpen77.time.monotonic()Monotonic clock, in seconds.clientOpen77.time.monotonic()Server-monotonic seconds since the process started.serverOpen77.time.unix()Wall-clock seconds since 1970 UTC, fractional.serverOpen77.time.utc()The current instant as an ISO 8601 string.serverOpen77.travel.beginSettle(x, y, z, heading?, timeoutMs?)Raw half of teleportAndSettle: issues the teleport and returns a settle ticket.clientOpen77.travel.cancelSettle(ticket)Stops the live settle session.clientOpen77.travel.getNoclipSpeed()Returns the current native noclip speed for the local player.clientOpen77.travel.isMapPick()Whether the world-map double-click travel gesture is armed.clientOpen77.travel.isNoclip()Whether local-player noclip is currently active.clientOpen77.travel.setMapPick(enabled)Arms or disarms the world-map double-click travel gesture.clientOpen77.travel.setNoclip(enabled)Enables or disables native noclip for the local player.clientOpen77.travel.setNoclipSpeed(speed)Sets the local noclip movement speed.clientOpen77.travel.settleStatus(ticket)Reads the state of a settle ticket.clientOpen77.travel.teleport(x, y, z, heading?)Teleports the local player directly to a world transform.clientOpen77.travel.teleportAndSettle(position, heading?, options?)Teleports the local player and resolves when the body is really standing there.clientOpen77.world.clearArea(position, radius, options?)Removes the server-owned entities inside a radius and can suppress vanilla population there.serverOpen77.world.clearDeviceInteraction(target)Drops this resource's device-interaction policy for one target.clientOpen77.world.deviceInteractionEnabled(target)Whether a vanilla device prompt is currently allowed, across every resource.clientOpen77.world.deviceInteractionPolicies()Every standing device-interaction policy and who holds it.clientOpen77.world.district(position?)The district the local player is standing in.clientOpen77.world.entityGeometry(entity)Position, facing, orientation and loaded mesh bounds of one entity, for geometry built on top of it.clientOpen77.world.getPopulation(bucket)Reads the ambient population policy of one routing bucket.serverOpen77.world.getTimeScale()The engine's effective time scale, its simulation clock, and every live claim.clientOpen77.world.getTimeScale(bucket)Reads the time scale one routing bucket is held at.serverOpen77.world.groundZ(x, y, fromZ?)Height of the static ground below a point, by a downward ray.clientOpen77.world.groundZ(position, options?)The height of the static ground under a point, observed by the nearest connected client.serverOpen77.world.nearby(radius, filter?)Every object within a radius of the local player, nearest first.clientOpen77.world.nearest(radius, filter?)The closest object within a radius of the local player, or nil.clientOpen77.world.population()The ambient population policy the server set for this client's routing bucket.clientOpen77.world.raycast(from, to, options?)Traces a physics ray between two world points and returns the nearest blocking surface.clientOpen77.world.safeAreasEnabled()Whether the vanilla safe-area marking is currently in effect.clientOpen77.world.setDeviceInteractionEnabled(target, enabled)Turns a vanilla device prompt off, so a resource can put its own there.clientOpen77.world.setPopulation(bucket, options)Sets the ambient population density of one routing bucket.serverOpen77.world.setPreventionEnabled(bucket, enabled)Turns NCPD dispatch on or off for a whole routing bucket.serverOpen77.world.setSafeAreas(enabled)Turns the vanilla safe-area marking of staged interiors on or off for this session.clientOpen77.world.setTimeScale(scale, options?)Slows the local clock for a scripted beat: one claim per resource, eased, timed, released on stop.clientOpen77.world.setTimeScale(bucket, scale, options?)Slows the clock of every client in one routing bucket for a shared beat.serverOpen77.zones.bounds(zone)The zone's bounding volume: a planar centre and radius plus an optional height band.clientOpen77.zones.bounds(zone)The zone's bounding volume: a planar centre and radius plus an optional height band.serverOpen77.zones.contains(zone, point, options?)Is a point inside a zone? The one containment implementation both runtimes share.clientOpen77.zones.contains(zone, point, options?)Is a point inside a zone? The one containment implementation both runtimes share.serverOpen77.zones.containsPlayer(playerId, definition, options?)Server only. The single-player containment gate a grant should run before it acts.serverOpen77.zones.normalize(definition)Validates a zone definition once and precomputes everything a containment test needs.clientOpen77.zones.normalize(definition)Validates a zone definition once and precomputes everything a containment test needs.serverOpen77.zones.playersIn(definition, options?)Server only. Every player inside a zone, nearest to its anchor first, honouring routing buckets.server
NPCs, weapons & loot150
Open77.combat.createScope(definition)Enable scoped PvP for an explicit ready roster.serverOpen77.combat.getVehicleHits(playerId, sinceMs?)Returns the car impacts the server recorded on one player, with the culprit it found for each.serverOpen77.combat.offDamage(handler)Removes a previously installed damage arbiter.serverOpen77.combat.onDamage(handler)Installs a synchronous damage arbiter and returns it.serverOpen77.combat.removeScope(id)Remove this resource's scoped PvP permission.serverOpen77.combat.setDamageMultiplier(multiplier)Scales every damage application on the server.serverOpen77.combat.setFriendlyFire(enabled)Enables or disables global player-versus-player damage.serverOpen77.combat.setHeadshotMultiplier(multiplier)Scales damage from hits on the head.serverOpen77.combat.setKindDamageMultiplier(kind, multiplier)Overrides the damage of one attack kind.serverOpen77.combat.setTeam(playerId, teamId)Assigns a player to a combat team.serverOpen77.combat.setWeaponDamageMultiplier(weaponTdbId, multiplier)Overrides the damage of one weapon record.serverOpen77.consumables.configure(kind, options)Configures a grenade or healing kit.clientOpen77.consumables.configure(playerId, kind, options)Configures a grenade or healing kit.serverOpen77.consumables.equip(kind, record?)Equips the selected consumable on its hotkey.clientOpen77.consumables.equip(playerId, kind, record?)Equips the selected consumable on its hotkey.serverOpen77.consumables.get(kind)Reads cached consumable state.clientOpen77.consumables.get(playerId, kind)Reads cached consumable state.serverOpen77.consumables.reset(kind)Releases managed consumable capacity and regeneration.clientOpen77.consumables.reset(playerId, kind)Releases managed consumable capacity and regeneration.serverOpen77.consumables.setCount(kind, count)Sets usable consumable charges.clientOpen77.consumables.setCount(playerId, kind, count)Sets usable consumable charges.serverOpen77.consumables.setRecharge(kind, enabled)Controls native consumable regeneration.clientOpen77.consumables.setRecharge(playerId, kind, enabled)Controls native consumable regeneration.serverOpen77.consumables.setType(kind, record)Changes the selected consumable type.clientOpen77.consumables.setType(playerId, kind, record)Changes the selected consumable type.serverOpen77.consumables.snapshot(kind)Requests fresh native consumable state.clientOpen77.consumables.snapshot(playerId, kind)Requests fresh native consumable state.serverOpen77.consumables.unequip(kind)Clears the consumable hotkey and equipment slots.clientOpen77.consumables.unequip(playerId, kind)Clears the consumable hotkey and equipment slots.serverOpen77.loot.acceptPickup(id, item, quantity)Applique localement un pickup dΓ©jΓ acceptΓ© par le serveur.clientOpen77.loot.all(bucket?)Every loot drop, optionally filtered to one routing bucket.serverOpen77.loot.clear()Supprime toutes les projections locales et leurs prompts.clientOpen77.loot.create(def)Creates an authoritative ground loot drop.serverOpen77.loot.get(id)Reads one loot drop's snapshot.serverOpen77.loot.remove(id)Retire une projection locale de loot.clientOpen77.loot.remove(id)Removes a loot drop.serverOpen77.loot.requestPickup(id)Demande au serveur de ramasser un drop.clientOpen77.loot.setAuthorityEnabled(enabled)Active ou dΓ©sactive la projection de loot autoritaire.clientOpen77.loot.update(id, def)Patches an existing loot drop.serverOpen77.loot.upsert(drop)CrΓ©e ou met Γ jour la projection locale d'un drop serveur.clientOpen77.npcs.all(options?)Lists the NPCs this client can see, Open77-owned and optionally vanilla.clientOpen77.npcs.all(bucket?)Every authoritative NPC, optionally filtered to one routing bucket.serverOpen77.npcs.applyDamage(id, amount, source?, cause?)Applies authoritative damage to an NPC.serverOpen77.npcs.capacity()Reads allocated NPC counts and admission limits.serverOpen77.npcs.create(def)Creates an authoritative NPC.serverOpen77.npcs.currentTask(id)Returns the canonical active task ID for an NPC.clientOpen77.npcs.entity(id)Returns the ephemeral local Open77 entity handle for an NPC projection.clientOpen77.npcs.get(id)Reads one server-owned NPC currently known by this client.clientOpen77.npcs.get(id)Reads one NPC's canonical snapshot.serverOpen77.npcs.getAttitude(id)Reads back every attitude row an NPC states.serverOpen77.npcs.getBehavior(id)Reads the canonical behavior policy of an owned NPC.serverOpen77.npcs.getEquipment(id)The clothing set an owned NPC is dressed in, slot to record.serverOpen77.npcs.getGroup(id)The relationship group an NPC belongs to.serverOpen77.npcs.getRelationship(groupA, groupB)Reads back a declared group relationship.serverOpen77.npcs.isStreamedIn(id)Whether an NPC projection is attached and ready locally.clientOpen77.npcs.kill(id)Kills an NPC authoritatively.serverOpen77.npcs.owner(id)Who is simulating an NPC, and since when.serverOpen77.npcs.presence(id)Where an NPC is and who simulates it, in one O(1) read.serverOpen77.npcs.remove(id)Removes an authoritative NPC.serverOpen77.npcs.revive(id, health?)Revives an NPC, at full health by default.serverOpen77.npcs.setAIEnabled(id, enabled)Pauses or resumes a server-owned NPC's native AI and Open77 tasks.serverOpen77.npcs.setAiMode(id, mode)Chooses who drives an NPC.serverOpen77.npcs.setAppearance(id, appearance)Convenience patch for an NPC's appearance.serverOpen77.npcs.setAttitude(id, attitude, options?)Makes an NPC hostile, neutral or friendly toward a target.serverOpen77.npcs.setBehavior(id, behavior)Changes a server-owned NPC's native AI, combat, perception and voice policy.serverOpen77.npcs.setBucket(id, bucket)Moves an NPC to another routing bucket.serverOpen77.npcs.setCombatEnabled(id, enabled)Allows or suppresses a server-owned NPC's combat behavior.serverOpen77.npcs.setDamagePolicy(id, policy)Sets whether an NPC can be hurt or killed.serverOpen77.npcs.setEquipment(id, set)Sets the canonical clothing set of an owned NPC, slot to Items.* record. Whether a rig renders it is the client's answer, not this call's.serverOpen77.npcs.setGroup(id, group)Puts an NPC in a relationship group.serverOpen77.npcs.setHealth(id, health, maxHealth?)Convenience patch for an NPC's health and maximum.serverOpen77.npcs.setLoadout(id, loadout)Convenience patch for an NPC's loadout.serverOpen77.npcs.setPerceptionEnabled(id, enabled)Controls autonomous sensory acquisition for a server-owned NPC.serverOpen77.npcs.setRagdoll(id, enabled)Sets an NPC's canonical ragdoll state.serverOpen77.npcs.setRelationship(groupA, groupB, attitude)Declares how two of this resource's groups regard each other.serverOpen77.npcs.setTransform(id, def)Sets an NPC's canonical position and yaw.serverOpen77.npcs.setVoiceEnabled(id, enabled)Controls voice lines and barks of a server-owned NPC.serverOpen77.npcs.speak(id, voice, options)Queues one voice-over line from an NPC's own voiceset on every client streaming it. voice is a voContext name (greeting, fear_beg), never a sentence: the NPC cannot say arbitrary text. true is the line queued, not the line heard.serverOpen77.npcs.target(id)Who an NPC is currently fighting.serverOpen77.npcs.tasks.all(id)Every task currently queued or running on an NPC.serverOpen77.npcs.tasks.attack(id, target, options?)Orders an NPC to engage a target.serverOpen77.npcs.tasks.cancel(id, taskId)Cancels one queued or running task.serverOpen77.npcs.tasks.chase(id, target, options?)Drives an NPC's vehicle after a target.serverOpen77.npcs.tasks.clear(id, channel?)Clears queued and current tasks, optionally on one channel.serverOpen77.npcs.tasks.driveTo(id, position, options?)Drives an NPC's vehicle to a position.serverOpen77.npcs.tasks.driveWander(id, options?)Drives an NPC's vehicle along the road network indefinitely.serverOpen77.npcs.tasks.driving(id)The driving job an NPC is the attached driver of.serverOpen77.npcs.tasks.enqueue(id, taskType, parameters?, options?)Enqueues any supported task on an NPC.serverOpen77.npcs.tasks.enterVehicle(id, vehicleId, seat?, options?)Sends an NPC to a vehicle seat.serverOpen77.npcs.tasks.exitVehicle(id, options?)Takes an NPC out of whatever seat it is in.serverOpen77.npcs.tasks.face(id, target, options?)Rotates an NPC's body toward a world point.serverOpen77.npcs.tasks.flee(id, from, options?)Sends an NPC running away from something.serverOpen77.npcs.tasks.follow(id, target, options?)Makes an NPC follow a player, another NPC, or a point.serverOpen77.npcs.tasks.get(id, taskId)Reads one task's state.serverOpen77.npcs.tasks.guard(id, position, radius?, options?)Anchors an NPC to a position and lets it fight from there.serverOpen77.npcs.tasks.hold(id, options?)Holds an NPC's movement until cancelled or timed out.serverOpen77.npcs.tasks.lookAt(id, target, options?)Drives an NPC's look channel toward a player, NPC or point.serverOpen77.npcs.tasks.moveTo(id, position, options?)Walks or runs an NPC to a world point.serverOpen77.npcs.tasks.patrol(id, points, options?)Sends an NPC round a list of points.serverOpen77.npcs.tasks.playAnimation(id, animation, options?)Runs a full-body animation on an NPC.serverOpen77.npcs.tasks.setDriverAbility(id, ability)Maps a 0..1 driver ability onto the two levers the engine exposes.serverOpen77.npcs.tasks.stopDriving(id)Stops whatever an NPC's vehicle was doing.serverOpen77.npcs.tasks.traffic(id, options?)Puts an NPC into the game's own pedestrian traffic.serverOpen77.npcs.tasks.wait(id, durationMs, options?)Makes an NPC wait for a fixed time.serverOpen77.npcs.tasks.wander(id, options?)Lets an NPC wander with the supplied movement parameters.serverOpen77.npcs.tasks.workspot(id, reference, options?)Puts an NPC into an authored workspot scenario.serverOpen77.npcs.tasks.workspots(query?)The vanilla scenario catalogue a workspot task can name.serverOpen77.npcs.templates()The legacy alias catalogue of NPC templates.serverOpen77.npcs.update(id, def)Patches an NPC's canonical state.serverOpen77.npcs.voices()The documented bark vocabulary for speak, each name with the 2.31 source that plays it.serverOpen77.npcs.whenReady(id, timeoutMs?)A promise that resolves once this client's projection of an NPC is attached and behaving.clientOpen77.npcs.whenReady(id, timeoutMs?)A promise that resolves once at least one client has a ready body for an NPC.serverOpen77.weapons.activate(target, options?)Alias of Open77.weapons.setActive.clientOpen77.weapons.activate(playerId, target, options?)Alias of Open77.weapons.setActive.serverOpen77.weapons.all()Alias of Open77.weapons.snapshot.clientOpen77.weapons.applyBlast(blast)Applies a server-relayed weapon blast to the vehicles this client simulates.clientOpen77.weapons.assign(record, slot, options?)Assigns an exact TweakDB weapon template to a standard loadout slot.clientOpen77.weapons.assign(playerId, record, slot, options?)Assigns a weapon record to one of a player's three slots.serverOpen77.weapons.clear(playerId)Empties all three of a player's weapon slots in one request.serverOpen77.weapons.clearTuning()Disables this resource's weapon tuning and restores its modifiers.clientOpen77.weapons.components(slot)Lists every attachment slot of the weapon in a loadout slot, taken or empty.clientOpen77.weapons.components(playerId, slot)The parts installed on the weapon in a player's loadout slot, from the cache, synchronously.serverOpen77.weapons.gadgets()Lists the quick slots: which gadget is in each, how many, and which one is on the throw hotkey.clientOpen77.weapons.gadgets(playerId)A player's quick slots from the cache, synchronously: the count after the last throw, with its own age.serverOpen77.weapons.get(playerId)The server's cached view of a player's weapons, answered synchronously.serverOpen77.weapons.giveGadget(record, count?, options?)Grants a counted stack of grenades (or any quick-slot gadget) and puts it on the throw hotkey.clientOpen77.weapons.giveGadget(playerId, record, count?, options?)Grants a player a counted stack of grenades (or any quick-slot gadget), equipped and on the throw hotkey.serverOpen77.weapons.holster()Holsters the currently drawn right-hand weapon.clientOpen77.weapons.holster(playerId)Puts away whatever a player is holding.serverOpen77.weapons.remove(slot)Removes the weapon assigned to one standard slot.clientOpen77.weapons.remove(playerId, slot)Empties one of a player's three weapon slots.serverOpen77.weapons.removeComponent(slot, attachmentSlot)Empties one attachment slot of the weapon in a loadout slot; the part goes back to the inventory.clientOpen77.weapons.removeComponent(playerId, slot, attachmentSlot)Empties one attachment slot of the weapon in a player's loadout slot.serverOpen77.weapons.requestComponents(playerId, slot)Asks the owner for every attachment slot of the weapon in a loadout slot, taken or empty.serverOpen77.weapons.requestGadgets(playerId)Asks the owner for its quick slots: one row per slot with the gadget, its count and the hotkey flag.serverOpen77.weapons.requestSnapshot(playerId)Asks a player's client for its current weapon state.serverOpen77.weapons.setActive(target, options?)Selects and draws a standard weapon by slot or TweakDB template.clientOpen77.weapons.setActive(playerId, target, options?)Draws a weapon, by slot or by record.serverOpen77.weapons.setAmmo(slot, amounts)Sets exact spare and/or loaded ammunition for a weapon slot.clientOpen77.weapons.setAmmo(playerId, slot, amounts)Sets a slot's magazine and reserve ammunition.serverOpen77.weapons.setComponent(slot, part, options?)Installs a part (scope, muzzle, generic mod) into an attachment slot of the weapon in a loadout slot.clientOpen77.weapons.setComponent(playerId, slot, record, options?)Installs a part (scope, muzzle, generic mod) on the weapon in a player's loadout slot.serverOpen77.weapons.setTuning(record, options)Configures a resource-owned tuning profile for the local held weapon.clientOpen77.weapons.slots()Lists the three supported standard weapon slots.clientOpen77.weapons.snapshot()Requests the verified state of every standard weapon slot.clientOpen77.weapons.takeGadget(record?, count?)Takes grenades back: some units of a record, or every unit of the gadget on the throw hotkey.clientOpen77.weapons.takeGadget(playerId, record?, count?)Takes grenades back from a player: some units of a record, or every unit of the active gadget.serverOpen77.weapons.tuning()Reads this resource's native weapon tuning state and diagnostics.clientOpen77.weapons.unequip(slot)Alias of Open77.weapons.remove.clientOpen77.weapons.unequip(playerId, slot)Alias of Open77.weapons.remove.server
Interfaces & markers118
Open77.anchors.clear()Removes every world anchor owned by the calling resource.clientOpen77.anchors.create(options)Anchors a world point, projected by the plugin on every game frame.clientOpen77.anchors.frame()Open77.anchors.frame() -> { { id, projected, onScreen, x, y, depth,clientOpen77.anchors.list()Lists the calling resource's world anchors with their last projection.clientOpen77.anchors.remove(id)Removes one resource-owned world anchor.clientOpen77.anchors.update(id, patch)Patches a resource-owned world anchor.clientOpen77.blips.attachToEntity(id, entity, slot?, offset?)Makes a blip follow an Open77 entity.clientOpen77.blips.clear()Removes every blip owned by the current resource.clientOpen77.blips.clearWaypoint()Clears the player's map waypoint, whoever set it.clientOpen77.blips.create(options)Creates a resource-owned vanilla map pin.clientOpen77.blips.get(id)Reads one blip owned by the current resource.clientOpen77.blips.list()Lists blips owned by the current resource.clientOpen77.blips.remove(id)Removes one owned blip.clientOpen77.blips.setActive(id, active)Activates or deactivates a vanilla mappin.clientOpen77.blips.setColor(id, color)Sets an owned blip color or restores its source colors.clientOpen77.blips.setDescription(id, description)Sets the custom fullscreen-map description of an owned blip.clientOpen77.blips.setIcon(id, icon)Sets a declared SVG icon or restores the native sprite.clientOpen77.blips.setLabel(id, label)Changes the fullscreen-map tooltip title.clientOpen77.blips.setPosition(id, position)Moves a blip to a world position.clientOpen77.blips.setRange(id, metres)Switches a blip off beyond a distance and back on when the player returns.clientOpen77.blips.setSprite(id, sprite)Changes the vanilla mappin variant.clientOpen77.blips.setTitle(id, title)Sets the custom fullscreen-map title of an owned blip.clientOpen77.blips.setTrackingAlternative(id, target)Sets another owned blip as the routing alternative.clientOpen77.blips.setVisibleThroughWalls(id, visible)Changes vanilla through-wall visibility.clientOpen77.blips.setWaypoint(position)Places the player's map waypoint, replacing whatever was tracked.clientOpen77.blips.sprites()Lists every usable mappin variant in the current build.clientOpen77.blips.track(id)Selects this blip as the vanilla manually tracked destination.clientOpen77.blips.untrack(id)Safely clears manual tracking for this blip.clientOpen77.blips.update(id, patch)Updates several properties of an owned blip.clientOpen77.blips.waypoint()Where the player's map waypoint is, or nil when there is none.clientOpen77.chat.addSuggestion(target, command, help?, parameters?)Publishes one slash-command suggestion to a player's chat.serverOpen77.chat.addSuggestions(target, list)Publishes a list of slash-command suggestions at once.serverOpen77.chat.broadcast(message)Sends a chat message to every player.serverOpen77.chat.clear(target)Clears a player's local chat history.serverOpen77.chat.onMessage(handler)Observes every chat message the authority accepted.serverOpen77.chat.removeSuggestion(target, command)Withdraws one slash-command suggestion.serverOpen77.chat.send(playerId, message)Sends a chat message to one player, or to everyone with -1.serverOpen77.hud.clearNotify(channel?)Empties one vanilla notification channel.clientOpen77.hud.components()Lists the supported stock HUD component names.clientOpen77.hud.help(text, durationMs?)Vanilla on-screen help text. UNSUPPORTED on this build.clientOpen77.hud.isVisible(component)Reads the effective visibility of one stock HUD component.clientOpen77.hud.log(text)Adds one line to Cyberpunk's activity log.clientOpen77.hud.menu(preset)Queues a vanilla menu notification preset.clientOpen77.hud.notify(text, options?)Queues Cyberpunk's own five-second side notification.clientOpen77.hud.setCinematic(enabled, height?)Hides gameplay HUD and nonfocused resource interfaces with animated letterbox bars.clientOpen77.hud.setVisible(component, visible)Hides or restores one stock HUD component for this resource.clientOpen77.hud.state()Returns the complete effective stock-HUD visibility snapshot.clientOpen77.hud.subtitle(text, durationMs?)Vanilla narration subtitle. UNSUPPORTED on this build.clientOpen77.map.addTab(options)Add a resource WebUI tab beside the native Map tab.clientOpen77.map.cancelPick()Cancels this resource's outstanding native map request.clientOpen77.map.close()Closes a map session opened by this resource.clientOpen77.map.focus(position)Focus an owned map on a world position without moving the player.clientOpen77.map.getScreen()Read the native map shell, appearance and registered tabs.clientOpen77.map.getSelectedMarker()Reads the marker highlighted in the vanilla map.clientOpen77.map.getView()Read the native map camera and readiness snapshot.clientOpen77.map.getWaypoint()Reads the player's manual vanilla waypoint.clientOpen77.map.isOpen()Checks whether the vanilla world map is open.clientOpen77.map.open(options?)Opens the standalone native map, optionally focused on a world location.clientOpen77.map.pickPoint(options?)Lets the player select a native map point without travel.clientOpen77.map.recenter()Recenter an owned native map on the local player.clientOpen77.map.removeTab(id)Unregister this resource's map shell tab.clientOpen77.map.resetAppearance()Release this resource's map title and accent overrides.clientOpen77.map.selectTab(id)Select an owned WebUI tab or the native Map on an open shell.clientOpen77.map.setAccentColor(color)Set the native map shell's resource-owned accent color.clientOpen77.map.setCameraMode(mode)Select the native top-down or perspective map camera.clientOpen77.map.setTabLabel(id, label)Rename this resource's native map shell tab.clientOpen77.map.setTitle(text)Customize the upper-left native map shell title.clientOpen77.map.setZoomLevel(level)Select a native discrete zoom level on an owned map.clientOpen77.map.state()Reads a coherent native map snapshot.clientOpen77.markers.clear()Removes every 3D marker owned by the calling resource.clientOpen77.markers.create(options)Creates a resource-owned 3D world marker.clientOpen77.markers.get(id)Reads one 3D marker owned by the calling resource.clientOpen77.markers.list()Lists the calling resource's 3D markers.clientOpen77.markers.remove(id)Removes one resource-owned 3D marker.clientOpen77.markers.shapes()Lists the eight supported native 3D marker shapes.clientOpen77.markers.update(id, patch)Patches a resource-owned 3D marker.clientOpen77.nameplates.clear()Removes every nameplate override owned by the calling resource.clientOpen77.nameplates.remove(playerId)Removes the calling resource's nameplate override for one player.clientOpen77.nameplates.render(enabled)Draws remote-player nameplates natively, with no WebUI surface at all.clientOpen77.nameplates.set(playerId, options)Creates or updates the calling resource's nameplate override for a remote player.clientOpen77.nameplates.setTalking(playerId, talking)Shows or clears the native speaker icon on one remote player's nameplate.clientOpen77.nameplates.snapshot()Returns the currently rendered remote-player nameplates.clientOpen77.nameplates.stopStream()Stops the calling resource's native nameplate stream.clientOpen77.nameplates.stream(page)Streams the native nameplate projection to a page, once per game frame.clientOpen77.notifications.broadcast(definition)Sends one notification to every player.serverOpen77.notifications.clear(playerId?)Clears this resource's notifications for one player or for everyone.serverOpen77.notifications.dismiss(id)Dismisses one notification this resource sent.serverOpen77.notifications.send(playerId, definition)Sends a notification to one player.serverOpen77.notifications.update(id, patch)Patches a notification this resource sent.serverOpen77.screen.cancel(id)Cancels an owned native transition and restores the image immediately.clientOpen77.screen.capture(options?)Takes an in-process screenshot of the game's own rendered frame and resolves a promise with the encoded bytes.clientOpen77.screen.catalog()Lists supported native screen transition presets and backend availability.clientOpen77.screen.fadeIn(id, options?)Returns the image for this resource's active native fade.clientOpen77.screen.fadeOut(options?)Applies a native black or color-tinted quest fade (colored rendering is engine-controlled).clientOpen77.screen.isFaded()Is the screen covered right now, whoever covered it.clientOpen77.screen.isLoading()Whether the native loading-screen lifecycle is active.clientOpen77.screen.loadingState()Read native loading state, cycle ID, kind and real progress.clientOpen77.screen.mugshot(target?, options?)A head-and-shoulders picture of a body: a scripted camera cut in front of the face, one frame captured through it, the view handed straight back.clientOpen77.screen.nativeState()The engine's own fade state, unowned.clientOpen77.screen.state(id)Reads this resource generation's active or recent native transition.clientOpen77.screen.surface()What the last Present said about the back buffer: size, DXGI format and whether captures are possible.clientOpen77.screen.transition(preset, options?)Runs a native fade, bounded hold and return sequence.clientOpen77.screen.upload(capture, url, options?)POSTs a capture (or raw image bytes) to a URL and resolves a promise with the HTTP receipt.clientOpen77.webui.blocklist(rules)Pushes the operator's ad-blocklist (hosts and URL tokens) to the browser host, which only ever adds them to its compiled list.clientOpen77.webui.blocklistState()The browser host's receipt for the blocklist in force: revision, rule counts and the rules it refused.clientOpen77.webui.create(options)Creates a web surface.clientOpen77.webui.default()The surface declared by web_ui_page in the manifest.clientWebUI.Page.destroy()Destroys the surface.clientWebUI.Page.hasFocus()Check whether this resource-owned page currently owns keyboard or cursor focus.clientWebUI.Page.hide()Hides the surface.clientWebUI.Page.id()Numeric id of the surface.clientWebUI.Page.off(handlerId)Removes a handler registered with on.clientWebUI.Page.on(event, handler)Listens for an event the page raised with Open77.emit.clientWebUI.Page.reply(requestId, payload, ok?)Answers an invoke call made by the page.clientWebUI.Page.send(event, payload?)Sends an event to the page.clientWebUI.Page.setConsumedKeys(keys)Consume selected navigation keys while preserving gameplay input.clientWebUI.Page.setFocus(keyboard, cursor?, keepInput?)Gives the surface focus, cursor and keyboard separately.clientWebUI.Page.show()Shows the surface.client
Camera & input78
Open77.camera.activate(camId, options?)Takes the view with a scripted camera, optionally blending into it.clientOpen77.camera.aimRay(maxDistance?, options?)The ray from the camera along its forward vector: what the reticle points at.clientOpen77.camera.attach(camId?, entity?, offset?)Parents a scripted camera to an entity, or restores the player's own camera.clientOpen77.camera.cameras()This resource's scripted cameras, and whether it holds the view.clientOpen77.camera.clearOrbit()Releases this resource's preview orbit and framing.clientOpen77.camera.configureThirdPerson(options)Configures the playable third-person camera's framing, anchor, FOV and shoulder.clientOpen77.camera.create(options)Creates a scripted camera and returns its id.clientOpen77.camera.deactivate(options?)Gives the view back to the player, optionally blending out.clientOpen77.camera.destroy(camId)Destroys a scripted camera.clientOpen77.camera.detach(x, y, z)Detaches the camera from the body, with an offset in the body's own space.clientOpen77.camera.detachFrom(camId)Un-parents a scripted camera from its entity.clientOpen77.camera.follow(entity, options)Rides an entity: a camera behind it, aimed at it, both re-solved every frame.clientOpen77.camera.lookAt(camId, target)Points a scripted camera at a world point or an entity.clientOpen77.camera.orbit(yawDegrees)Sets this resource's preview orbit yaw on an active third-person rig.clientOpen77.camera.project(position)Projects a world point into normalized WebUI viewport coordinates.clientOpen77.camera.resetThirdPerson()Releases this resource's camera style and shake, restoring underlying framing and FOV.clientOpen77.camera.screenRay(x, y, maxDistance?)Unproject a normalized screen point into a world-space ray.clientOpen77.camera.screenRaycast(x, y, maxDistance?, options?)Pick a world surface/entity, with optional visible F7 self targeting.clientOpen77.camera.setFov(degrees)Sets the field of view, in degrees.clientOpen77.camera.setTransform(camId, position?, rotation?)Moves and/or turns a scripted camera.clientOpen77.camera.shake(camId?, preset, amplitude?, milliseconds?)Shakes a scripted camera with a named preset.clientOpen77.camera.shakeThirdPerson(options)Starts or replaces a finite positional shake on the caller's playable TPP style.clientOpen77.camera.stopShake(camId)Stops a scripted camera's shake immediately.clientOpen77.camera.stopThirdPersonShake()Immediately stops only the calling resource's third-person camera shake.clientOpen77.camera.thirdPerson(enabled, distance?, height?)Controls the legacy camera-only third-person path.clientOpen77.camera.thirdPersonState()Reads the requested third-person camera style and whether it is active or owned.clientOpen77.camera.unfollow(options)Ends a follow camera: blends the view back, then destroys it.clientOpen77.camera.unproject(x, y)The world ray behind a screen point.clientOpen77.camera.view()Where the view is: position, forward vector, field of view.clientOpen77.input.axis(axis)Reads one analogue control: a stick, a trigger, the cursor or a cumulative counter.clientOpen77.input.blockableActions()The actions that can really be blocked on this build, with mechanism and confidence.clientOpen77.input.blockAll(spec)Takes the player's whole gameplay control stream, sparing named exceptions.clientOpen77.input.blocks()Who currently holds which input blocks.clientOpen77.input.cursor()Read the OS cursor relative to the foreground game window.clientOpen77.input.devices()Lists the mouse and gamepad controls, and whether this machine can answer for each.clientOpen77.input.isActionBlocked(action)Reads whether one curated action is blocked right now, for anyone.clientOpen77.input.isCaptured()Whether another WebUI currently owns keyboard input.clientOpen77.input.isDown(control)Whether a key, mouse button or gamepad button is currently held.clientOpen77.input.keyFor(id)The effective key of one of this resource's own mappings.clientOpen77.input.mappings()Every registered key mapping across all running resources.clientOpen77.input.pointer()Where the pointer is, as 0..1 across the rendered image -- the overlay's own pointer when a WebUI holds the cursor.clientOpen77.input.rebind(resource, id, key)Sets and persists a new key for any mapping.clientOpen77.input.registerKeyMapping(spec)Declares a named, rebindable action bound to a key (twin of the RegisterKeyMapping global).clientOpen77.input.reset(resource, id)Restores a mapping to its registered default key.clientOpen77.input.setActionBlocked(action, blocked)Blocks or releases one curated input action for the calling resource.clientOpen77.input.setNativeActionBlocked(action, blocked)Blocks or restores one vanilla input action by its engine name.clientOpen77.input.unregisterKeyMapping(id)Removes a key mapping this resource declared.clientOpen77.perspective.applyPolicy(policy, perspective?)Applies a third-person policy received from the server.clientOpen77.perspective.clearThirdPersonOverride()Releases this resource's temporary FPP/TPP lock without changing player preference.clientOpen77.perspective.get()Returns the perspective actually in force.clientOpen77.perspective.policy()The perspective policy this resource set.serverOpen77.perspective.set(mode)Asks the perspective arbiter for first or third person.clientOpen77.perspective.setPolicy(policy, perspective?)Sets whether players on this server may use third person.serverOpen77.perspective.setThirdPerson(enabled, force?)Requests first/third person, optionally locking that view for this resource.clientOpen77.perspective.state()Reports the whole perspective decision.clientOpen77.perspective.toggle()Flips the standing request and returns the new mode.clientOpen77.photoMode.close()Closes Cyberpunk's native photo mode.clientOpen77.photoMode.isActive()Reports whether REDengine photo mode is active.clientOpen77.photoMode.open()Opens Cyberpunk's native photo mode.clientOpen77.photoMode.setEnabled(enabled)Opens or closes the native photo mode.clientOpen77.remoteCamera.bindHud(cameraId, rect)Shows one source in a native HUD rectangle and returns the binding id.clientOpen77.remoteCamera.bindings(cameraId?)This resource's bindings, optionally only those of one source.clientOpen77.remoteCamera.bindWebUI(cameraId, page, rect)Shows one source under a resource-owned transparent page and returns the binding id.clientOpen77.remoteCamera.bindWorld(cameraId, placement)Shows one source on a depth-tested world panel and returns the binding id.clientOpen77.remoteCamera.budget()The effective admission limits and current usage, read-only.clientOpen77.remoteCamera.capabilities()Reports output, presentation support, admission limits and asset requirements.clientOpen77.remoteCamera.create(view)Queues one independent capture source and returns its opaque id.clientOpen77.remoteCamera.destroy(cameraId)Retires a source and its bindings.clientOpen77.remoteCamera.get(cameraId)Snapshot of one owned source: requested pose, asynchronous state and demand.clientOpen77.remoteCamera.getBinding(bindingId)Snapshot of one binding: source, kind, requested options, state and reason.clientOpen77.remoteCamera.list()Every capture source this resource owns.clientOpen77.remoteCamera.unbind(bindingId)Retires one presentation and keeps its source alive.clientOpen77.remoteCamera.update(cameraId, patch)Applies a sparse pose, FOV or range patch to one owned source.clientOpen77.remoteCamera.updateBinding(bindingId, patch)Changes what a binding shows or where, without changing its identity.clientOpen77.remoteCamera.worldModels()Lists supported world-display profiles, dimensions and placement bases.clientOpen77.settings.request(group)Asks the script bridge to list the variables of a group.clientOpen77.settings.set(group, name, value)Writes a settings variable.clientOpen77.settings.values()The variables as the script last reported them.client
Voice & effects77
Open77.effects.all(bucket?)Every looping effect, optionally filtered to one routing bucket.serverOpen77.effects.attach(target, effect, options)Create a replicated effect bound to a typed target and native slot.serverOpen77.effects.catalog()Always an empty table on the server.serverOpen77.effects.clearScreen(playerId)Clears every server-driven screen effect on one player.serverOpen77.effects.create(def)Creates a looping world effect owned by this resource.serverOpen77.effects.explosion(position, options?)Detonates a blast at a point: VFX, area damage, and optionally the cars in it.serverOpen77.effects.fire(position, options?)Lights a script fire at a point: looping VFX plus a damage tick for whoever stands in it.serverOpen77.effects.fires(bucket?)Lists the fires this resource still has burning, ascending by id.serverOpen77.effects.get(id)Reads one looping effect's canonical snapshot.serverOpen77.effects.play(name, opts)Plays a one-shot world effect at a point.serverOpen77.effects.playOn(target, name, options?)Play an ephemeral native effect on a typed target.serverOpen77.effects.remove(id)Removes a looping effect this resource owns.serverOpen77.effects.removeFire(fireId)Puts one of this resource's fires out: the flames and the burning stop together.serverOpen77.effects.screen(playerId, name, options)Plays a full-screen post-process effect on one player's own view.serverOpen77.effects.screenCatalog()The screen-effect aliases this server will accept, ascending.serverOpen77.effects.sound(target, event, options?)Play spatial sound on a typed target with optional action deduplication.serverOpen77.effects.update(id, patch)Patches a looping effect this resource owns.serverOpen77.sfx.clear()Stops every SFX owned by the calling resource.clientOpen77.sfx.list()Lists active SFX owned by the calling resource.clientOpen77.sfx.play(event, options?)Starts resource-owned spatial audio on an entity.clientOpen77.sfx.play2d(event)Plays a non-spatialised (2D) Wwise event -- the frontend door.clientOpen77.sfx.playVoice(voice, options)Plays one voice-over line from an entity's own voiceset -- a bark, not a sound-bank event.clientOpen77.sfx.stop(id)Stops one SFX handle owned by the calling resource.clientOpen77.sound.broadcast(file, options?)Plays a file for every player on the server.serverOpen77.sound.play(target, file, options?)Plays an audio file this resource ships, for one player, for everyone, or for everyone in range.serverOpen77.sound.setPosition(target, id, position)Moves one of this resource's spatial sounds to a new world point.serverOpen77.sound.setVolume(target, id, volume)Changes a live sound's volume on an audience.serverOpen77.sound.stop(target, id)Stops one of this resource's sounds on an audience.serverOpen77.sound.stopAll(target?)Stops every sound this resource started, for an audience or for everyone.serverOpen77.vfx.attach(effectId, entity, slot, anchor?)Attach an owned world effect to a local native body slot.clientOpen77.vfx.catalog()Returns the curated stable world-VFX aliases and cooked paths.clientOpen77.vfx.clear()Stops every VFX owned by the calling resource.clientOpen77.vfx.list()Lists active VFX owned by the calling resource.clientOpen77.vfx.play(effect, options)Starts a resource-owned world VFX at a fixed transform.clientOpen77.vfx.playEntity(effect, options?)Starts a resource-owned authored VFX on an entity.clientOpen77.vfx.resolveTarget(target)Resolve a typed network target to its currently streamed local handle.clientOpen77.vfx.screen(name, options)Plays one of Cyberpunk's full-screen post-process effects on the local view.clientOpen77.vfx.screenCatalog()The curated screen-effect aliases and the engine effect name behind each.clientOpen77.vfx.setParameter(effectId, name, value)Set a scalar parameter on an owned native world effect.clientOpen77.vfx.stop(id)Stops one VFX handle owned by the calling resource.clientOpen77.vfx.update(effectId, options)Move an owned native world effect.clientOpen77.voice.addPlayer(channelId, playerId, options?)Adds a player to a voice channel.serverOpen77.voice.channels()Every canonical voice channel.serverOpen77.voice.createChannel(options)Creates a resource-owned voice channel.serverOpen77.voice.devices(flow?)Enumerates active native voice endpoints.clientOpen77.voice.getChannel(channelId)Reads one voice channel.serverOpen77.voice.getLipSyncStatus()Reads native mouth-presentation policy and tracked-player counts.clientOpen77.voice.getParticipant(playerId)Reads one player's voice participation.serverOpen77.voice.getPlayerLipSyncState(playerId)Reads a player's current facial binding and smoothed voice envelope.clientOpen77.voice.participants()Every voice participant, with proximity, mute/deaf and memberships.serverOpen77.voice.removeChannel(channelId)Removes a voice channel.serverOpen77.voice.removePlayer(channelId, playerId)Removes a player from a voice channel.serverOpen77.voice.selectDevice(flow, endpointId?)Selects a microphone or voice output endpoint.clientOpen77.voice.setCaptureEnabled(enabled)Enables or disables native microphone capture.clientOpen77.voice.setChannelPlayerMuted(channelId, playerId, muted?)Mutes one player in one channel.serverOpen77.voice.setChannelPlayerPermissions(channelId, playerId, options?)Sets a member's speak and listen rights independently.serverOpen77.voice.setChannelVolume(channelId, gain)Sets local gain for a voice route/channel.clientOpen77.voice.setDefaultProximityDistance(distance, applyToExisting?)Changes the default proximity reach.serverOpen77.voice.setEnabled(enabled?)Turns voice on or off for the whole server.serverOpen77.voice.setInputVolume(gain)Sets microphone gain.clientOpen77.voice.setLipSyncEnabled(enabled)Enables or suppresses local voice-driven mouth presentation.clientOpen77.voice.setMicrophoneTest(enabled)Enables local microphone loopback.clientOpen77.voice.setOutputVolume(gain)Sets the global remote-voice gain.clientOpen77.voice.setPlayerBlocked(playerId, blocked)Locally blocks or unblocks one remote talker.clientOpen77.voice.setPlayerDeaf(playerId, deaf?)Stops a player hearing anyone on the server.serverOpen77.voice.setPlayerLipSyncEnabled(playerId, enabled)Enables or suppresses voice-driven lipsync for one network player.clientOpen77.voice.setPlayerMuted(playerId, muted?)Stops a player being heard anywhere on the server.serverOpen77.voice.setPlayerVolume(playerId, gain)Sets one remote player's local playback gain.clientOpen77.voice.setProximity(playerId, options?)Enables, disables or tunes one player's proximity reach.serverOpen77.voice.setProximityDistance(distance)Requests a personal proximity-voice reach.clientOpen77.voice.setQuality(quality)Sets the global codec quality profile.serverOpen77.voice.setTransmitting(enabled, intent?)Sets PTT state and requested route intent.clientOpen77.voice.setVoiceActivation(enabled, threshold?)Enables VAD and sets its normalized threshold.clientOpen77.voice.status()Returns one native voice capture/render snapshot.clientOpen77.voice.status()Global voice quality, default proximity and relay counters.serverOpen77.voice.talkers()Lists native remote-talker playback state.clientOpen77.voice.updateChannel(channelId, patch?)Patches a voice channel.server
Network & sessions72
Open77.callbacks.call(name, ...?)Alias of Open77.net.call.clientOpen77.callbacks.callAwait(name, ...?)Alias of Open77.net.callAwait.clientOpen77.callbacks.callClient(playerId, name, ...?)Alias of Open77.net.callClient.serverOpen77.callbacks.callClientAwait(playerId, name, ...?)Alias of Open77.net.callClientAwait.serverOpen77.callbacks.register(name, handler)Alias of Open77.net.register.clientOpen77.callbacks.register(name, handler)Alias of Open77.net.register.serverOpen77.callbacks.unregister(name)Alias of Open77.net.unregister.clientOpen77.callbacks.unregister(name)Alias of Open77.net.unregister.serverOpen77.net.call(name, ...?)Asks the server a question and returns a promise for the answer.clientOpen77.net.callAwait(name, ...?)Asks the server a question and waits for the answer.clientOpen77.net.callClient(playerId, name, ...?)Asks one client a question and returns a promise for the answer.serverOpen77.net.callClientAwait(playerId, name, ...?)Asks one client a question and waits for the answer.serverOpen77.net.cancelLatent(id)Stops a latent stream that is still sending.serverOpen77.net.emitClient(event, playerId, ...)Sends an event to one client or every client; the same function as TriggerClientEvent.serverOpen77.net.emitLatent(name, target, bytesPerSecond, ...?)Sends a client event too large for one net event, paced at a byte rate; the same function as TriggerLatentClientEvent.serverOpen77.net.emitServer(event, ...?)Sends an event to the server.clientOpen77.net.latentStatus(id)Progress of one latent stream this resource started.serverOpen77.net.on(event, handler)Listens for an event coming from the server.clientOpen77.net.on(event, handler?)Registers an authenticated client event; the same function as RegisterNetEvent.serverOpen77.net.register(name, handler)Answers a callback the server sends with Open77.net.callClient.clientOpen77.net.register(name, handler)Answers a callback a client sends with Open77.net.call.serverOpen77.net.unregister(name)Stops answering a callback name registered with Open77.net.register.clientOpen77.net.unregister(name)Stops answering a callback name registered with Open77.net.register.serverOpen77.network.catalog()The catalog as of the last refresh.clientOpen77.network.connect(endpoint, name?)Joins an Open77 server.clientOpen77.network.disconnect()Leaves the current server.clientOpen77.network.identity()Reads the local Master-backed identity profile state.clientOpen77.network.identityUpdate(catalogUrl, displayName)Requests a signed username update from the Master.clientOpen77.network.refresh(url?)Asks the directory for the server catalog again.clientOpen77.network.status()State of the network session.clientOpen77.prediction.setPolicy(policy?)Sets the prediction policy this client applies before the server's verdict.clientOpen77.prediction.stats()Reads the live prediction policy, this client's round trip and per-family counters.clientOpen77.routingBuckets.getEntity(entityId)An entity's routing bucket.serverOpen77.routingBuckets.getPlayer(playerId)A player's routing bucket.serverOpen77.routingBuckets.setEntity(entityId, bucket)Moves an entity to another routing bucket.serverOpen77.routingBuckets.setLockdownMode(bucket, mode)Sets a bucket's entity lockdown mode.serverOpen77.routingBuckets.setPlayer(playerId, bucket)Moves a player to another routing bucket.serverOpen77.routingBuckets.setPopulationEnabled(bucket, enabled)Turns ambient population on or off for one bucket.serverOpen77.session.characterBootstrap()Reads the current character-bootstrap state.clientOpen77.session.failCharacterBootstrap(reason?)Marks character bootstrap as failed.clientOpen77.session.isMenuOpen()Whether any modal layer -- Open77's or the game's -- owns the screen.clientOpen77.session.isPauseMenuOpen()Whether the VANILLA pause menu is on screen.clientOpen77.session.launcherContext()What the launcher told this game process at boot.clientOpen77.session.loadPristine()Loads the local development world from Open77's bundled pristine save.clientOpen77.session.loadScreen()Describes the connected server's declared loading screen.clientOpen77.session.locale()The language the game runs in, as the engine's own settings store it.clientOpen77.session.menuState()Every modal layer at once, sampled in one instant.clientOpen77.session.openLauncher()Returns server selection to the desktop launcher.clientOpen77.session.openSettings()Opens the game's own settings screen without exposing the pause menu.clientOpen77.session.quitGame()Exits Cyberpunk 2077 to the desktop.clientOpen77.session.relaunchViaLauncher(serverId, endpoint)Hands the player to the launcher for a world this boot cannot serve.clientOpen77.session.requestCharacterCreator()Requests the native character creator.clientOpen77.session.resetCharacterBootstrap()Resets the local character-bootstrap transaction.clientOpen77.session.resolveCharacterBootstrap(family)Completes bootstrap with a selected body family.clientOpen77.session.setMenuReady(ready)Declares that this resource is able to serve the pause menu.clientOpen77.session.takeCharacterCreatorResult()Consumes the pending character-creator result.clientOpen77.state.allowRequest(selector, key, validator)Opts one bag key in to client write requests, behind a validator.serverOpen77.state.clear()Drops the stored state.serverOpen77.state.denyRequest(selector, key)Withdraws a client-writable bag key.serverOpen77.state.entity(kind, id?)The replicated state bag of one vehicle, NPC or prop, read-only.clientOpen77.state.entity(kind, id?)The replicated state bag of one vehicle, NPC or prop.serverOpen77.state.load()Reads back the value the previous VM stored.serverOpen77.state.localPlayer()The local player's own replicated state bag.clientOpen77.state.offChange(subscription)Stops a state-bag change subscription.clientOpen77.state.offChange(subscription)Stops a state-bag change subscription.serverOpen77.state.onChange(selector, key, handler)Watches state-bag changes matching a selector and a key.clientOpen77.state.onChange(selector, key, handler)Watches state-bag changes matching a selector and a key.serverOpen77.state.player(id)The replicated state bag of one player, read-only.clientOpen77.state.player(id)The replicated state bag of one player.serverOpen77.state.ready()Asks the server to resend every state bag this client may see.clientOpen77.state.request(selector, key, value)Asks the server to change one state-bag key.clientOpen77.state.save(value)Stores this resource's state so it survives a reload.server
Data & utilities173
Open77.assets.list()Lists generic files declared by the current resource.clientOpen77.assets.texture(path)Validates a declared PNG texture for resource APIs.clientOpen77.audio.destroy(id)DestroySound: local package audio.clientOpen77.audio.destroy(id)DestroySound: server-authoritative network package audio.serverOpen77.audio.getState(id)GetSoundState: local package audio.clientOpen77.audio.getState(id)GetSoundState: server-authoritative network package audio.serverOpen77.audio.pause(id)PauseSound: local package audio.clientOpen77.audio.pause(id)PauseSound: server-authoritative network package audio.serverOpen77.audio.play(id)PlaySound: local package audio.clientOpen77.audio.play(id)PlaySound: server-authoritative network package audio.serverOpen77.audio.play2D(asset, options?)Play2DSound: local package audio.clientOpen77.audio.play2D(asset, options?)Play2DSound: server-authoritative network package audio.serverOpen77.audio.play3D(asset, position, options?)Play3DSound: local package audio.clientOpen77.audio.play3D(asset, position, options?)Play3DSound: server-authoritative network package audio.serverOpen77.audio.seek(id, seconds)SeekSound: local package audio.clientOpen77.audio.seek(id, seconds)SeekSound: server-authoritative network package audio.serverOpen77.audio.setPosition(id, position)SetSoundPosition: local package audio.clientOpen77.audio.setPosition(id, position)SetSoundPosition: server-authoritative network package audio.serverOpen77.audio.setVolume(id, volume)SetSoundVolume: local package audio.clientOpen77.audio.setVolume(id, volume)SetSoundVolume: server-authoritative network package audio.serverOpen77.audio.stop(id)StopSound: local package audio.clientOpen77.audio.stop(id)StopSound: server-authoritative network package audio.serverOpen77.clipboard.setText(text)Writes UTF-8 text to the operating-system clipboard.clientOpen77.dash.call(operation, arguments?)Runs the resource-owned native Dash projector operation.clientOpen77.dash.cancel(playerId, activationId)Cancels a player's active Dash by its activation id.serverOpen77.dash.capabilities()Reports the supported Dash profile and implementation limits.serverOpen77.dash.current(playerId)Reads a player's Dash activity and projection state.serverOpen77.dash.define(definition)Registers an immutable, versioned Dash definition owned by this resource.serverOpen77.dash.grant(playerId, definitionId)Grants a player this resource's Dash capability and starts its native projection.serverOpen77.dash.revoke(playerId)Removes this resource's Dash grant from a player.serverOpen77.data.item(record)Looks up an Items.* clothing or item record in the game's live TweakDB.clientOpen77.data.item(record)Looks up an Items.* clothing or item record in the shipped 2.31 catalogue.serverOpen77.data.localize(key)Resolves a localisation key to the text the player would actually see.clientOpen77.data.localize(key)Refused on the server: localisation only exists inside the game.serverOpen77.data.npc(template)Looks up a Character.* NPC record in the game's live TweakDB.clientOpen77.data.npc(template)Looks up an NPC entity template path in the shipped 2.31 catalogue.serverOpen77.data.vehicle(record)Looks up a Vehicle.* record in the game's live TweakDB.clientOpen77.data.vehicle(record)Looks up a Vehicle.* record in the shipped 2.31 catalogue.serverOpen77.data.weapon(record)Looks up an Items.* weapon record in the game's live TweakDB.clientOpen77.data.weapon(record)Looks up a weapon record or hexadecimal TweakDBID in the shipped 2.31 catalogue.serverOpen77.database.insert(sql, params?, callback?)Runs an INSERT and returns the inserted id.serverOpen77.database.isReady()Whether the database has answered yet.serverOpen77.database.prepare(sql, params?, callback?)Alias of Open77.database.query.serverOpen77.database.query(sql, params?, callback?)Runs a SQL query and returns every row.serverOpen77.database.rawExecute(sql, params?, callback?)Alias of Open77.database.update.serverOpen77.database.ready(handler)Runs a handler once the database is reachable, or refuses when it never will be.serverOpen77.database.scalar(sql, params?, callback?)Runs a SQL query and returns one value.serverOpen77.database.single(sql, params?, callback?)Runs a SQL query and returns its first row.serverOpen77.database.transaction(statements, callback?)Runs several statements as one transaction.serverOpen77.database.update(sql, params?, callback?)Runs a statement and returns the affected-row result.serverOpen77.debug.command(commandLine)Runs one registered native laboratory command directly.clientOpen77.debug.eval(source, label?)Compiles and executes a bounded text-only Lua chunk in the privileged debug VM.clientOpen77.debug.redscript(command)Queues one bounded command through the REDscript debug bridge.clientOpen77.debugDraw.clear(tag?)Remove one tag's debug geometry, or every batch the calling resource drew.clientOpen77.debugDraw.set(tag, geometry)Draw resource-owned debug lines and triangles in the world under a tag, replacing that tag atomically.clientOpen77.gizmos.activate(handle)Acquires native input and begins editing an owned gizmo.clientOpen77.gizmos.active()Reads this resource's active gizmo, if any.clientOpen77.gizmos.cancel(handle)Restores the activation baseline and ends editing.clientOpen77.gizmos.capabilities(target?)Queries which transforms a target adapter supports.clientOpen77.gizmos.commit(handle)Accepts the current transform and ends editing.clientOpen77.gizmos.create(options)Creates a resource-owned native 3D gizmo.clientOpen77.gizmos.deactivate(handle)Cancels editing and releases the gizmo's input lease.clientOpen77.gizmos.destroy(handle)Removes an owned gizmo, cancelling any active preview.clientOpen77.gizmos.get(handle)Reads one owned gizmo's complete snapshot.clientOpen77.gizmos.list()Lists this resource generation's gizmo snapshots.clientOpen77.gizmos.redo(handle)Reapplies an undone gizmo edit.clientOpen77.gizmos.setTransform(handle, transform)Applies a numeric transform edit to the active gizmo.clientOpen77.gizmos.undo(handle)Undoes the last completed gizmo edit.clientOpen77.gizmos.update(handle, patch)Reconfigures an owned gizmo without replacing its target.clientOpen77.hacking.action(actionId)Reads one hacking action by id: the current upload or its bounded terminal receipt.serverOpen77.hacking.cancel(actionId)Cancels this provider's active upload.serverOpen77.hacking.capabilities()Reports the hacking schema, profiles, authority model and hard limits.serverOpen77.hacking.clear()Requests cleanup of the calling resource's hacking presentation.clientOpen77.hacking.clearNativeStatus(kind?)Releases this resource's owned native hacking statuses.clientOpen77.hacking.clearProtection(playerId)Clears only this provider's protection scope on a player.serverOpen77.hacking.configureProtection(playerId, options)Owns a safe-area or electrical-resistance scope on a player's current body.serverOpen77.hacking.define(definition)Registers this resource's hack definition and its grades.serverOpen77.hacking.defineIce(definition)Registers this resource's Self-ICE definition and its grades.serverOpen77.hacking.definePurge(definition)Registers this resource's active-purge definition and its grades.serverOpen77.hacking.nativeStatus(kind, durationMs)Applies a bounded native hacking status -- blind or weapon jam -- to the local player.clientOpen77.hacking.nativeStatusState()Reads the bounded native hacking status slots and their counters.clientOpen77.hacking.observe(playerId)Reads a streamed multiplayer target's position, camera angle and local visibility for real-time selection.clientOpen77.hacking.present(options)Queues this resource's native hacking warning, progress or outcome presentation.clientOpen77.hacking.purge(playerId, targetId, definitionId, gradeId, options)Purges uploads and statuses on a target through the actor's active-purge implant.serverOpen77.hacking.start(playerId, targetId, definitionId, gradeId, options)Starts an entitled hack upload from one player against a target.serverOpen77.hacking.state(playerId)Reads a player's authoritative hacking state.serverOpen77.hacking.statuses(playerId)Lists the owned statuses currently affecting a player.serverOpen77.http.listen(prefix, handler)Serves inbound HTTP under /<resource>/<prefix> on the server's opt-in listener.serverOpen77.http.request(url, callback?, method?, body?, headers?)Makes an outbound HTTP request; the same function as PerformHttpRequest.serverOpen77.http.routes()Lists the public routes this resource is serving.serverOpen77.http.unlisten(prefix)Removes one of this resource's inbound HTTP routes.serverOpen77.inspector.enable(enabled?)Turns the permanent aim ray on or off.clientOpen77.inspector.outline(enabled?)Outlines the aimed object, independently of the ray.clientOpen77.inspector.target()What the aim ray is currently pointing at.clientOpen77.interest.clear(playerId)Removes every interest point this resource holds for one player.serverOpen77.interest.remove(playerId, id)Removes one named replication-interest point from one player.serverOpen77.interest.set(playerId, id, options)Creates or replaces this resource's named replication-interest point for one player.serverOpen77.io.append(path, contents)Appends text to a file in this resource's data directory.serverOpen77.io.copy(source, destination, overwrite?)Copies a file inside this resource's data directory.serverOpen77.io.exists(path)Whether a path exists inside this resource's data directory.serverOpen77.io.list(directory?)Lists one directory inside this resource's data directory.serverOpen77.io.makeDirectory(path)Creates a directory and any missing parents.serverOpen77.io.move(source, destination, overwrite?)Moves or renames a file inside this resource's data directory.serverOpen77.io.read(path)Reads a UTF-8 text file from this resource's data directory.serverOpen77.io.readJson(path)Reads a file and decodes it with the bounded Open77 JSON codec.serverOpen77.io.remove(path)Removes one file.serverOpen77.io.stat(path)Reads one entry's metadata.serverOpen77.io.write(path, contents)Atomically replaces a UTF-8 text file in this resource's data directory.serverOpen77.io.writeJson(path, value)Encodes a value and writes it atomically.serverOpen77.kvp.clear(prefix?)Clears this resource's keys matching a prefix.clientOpen77.kvp.clear(prefix?)Clears this resource's keys matching a prefix.serverOpen77.kvp.compareAndSet(key, expected, replacement)Atomically changes a key when its typed value matches.clientOpen77.kvp.compareAndSet(key, expected, replacement)Atomically changes a key when its typed value matches.serverOpen77.kvp.delete(key)Deletes one persistent key.clientOpen77.kvp.delete(key)Deletes one persistent key.serverOpen77.kvp.find(prefix?, limit?)Finds typed entries by sorted key prefix.clientOpen77.kvp.find(prefix?, limit?)Finds typed entries by sorted key prefix.serverOpen77.kvp.get(key, default?)Reads one typed persistent value.clientOpen77.kvp.get(key, default?)Reads one typed persistent value.serverOpen77.kvp.has(key)Checks whether a persistent key exists.clientOpen77.kvp.has(key)Checks whether a persistent key exists.serverOpen77.kvp.increment(key, delta?)Atomically increments a numeric key.clientOpen77.kvp.increment(key, delta?)Atomically increments a numeric key.serverOpen77.kvp.keys(prefix?, limit?)Lists sorted keys matching a prefix.clientOpen77.kvp.keys(prefix?, limit?)Lists sorted keys matching a prefix.serverOpen77.kvp.set(key, value)Persists one typed value for this server address and resource.clientOpen77.kvp.set(key, value)Persists one typed value for this resource.serverOpen77.kvp.setIfAbsent(key, value)Stores a value only when its key is missing.clientOpen77.kvp.setIfAbsent(key, value)Stores a value only when its key is missing.serverOpen77.kvp.stats()Returns this resource store's usage and quotas.clientOpen77.kvp.stats()Returns this resource store's usage and quotas.serverOpen77.log.debug(message)Writes a debug line to this resource's client log.clientOpen77.log.debug(...)Writes a resource-prefixed debug line to the server log.serverOpen77.log.error(message)Writes an error line to this resource's client log.clientOpen77.log.error(...)Writes a resource-prefixed error line to the server log.serverOpen77.log.info(message)Writes an informational line to this resource's client log.clientOpen77.log.info(...)Writes a resource-prefixed informational line to the server log.serverOpen77.log.warn(message)Writes a warning line to this resource's client log.clientOpen77.log.warn(...)Writes a resource-prefixed warning line to the server log.serverOpen77.media.bind(definition)Creates a resource-owned world media screen.clientOpen77.media.clear()Releases all media-screen bindings owned by this resource.clientOpen77.media.list()Lists the calling resource's local media screens.clientOpen77.media.unbind(id)Removes an owned media-screen binding.clientOpen77.media.update(id, patch)Updates one of this resource's media screens.clientOpen77.metrics.gauge(name, value)Sets a resource-labelled gameplay gauge.serverOpen77.metrics.increment(name, amount?)Adds to a resource-labelled gameplay counter.serverOpen77.metrics.observe(name, seconds)Records a duration in a resource-labelled gameplay histogram.serverOpen77.movement.getWalkMode()Reads the walk-mode lease this resource holds on the local player.clientOpen77.movement.lock(kind, durationMs)Applies a bounded local movement lock -- freeze, cripple or heavy cripple -- to the local player.clientOpen77.movement.lockState()Reads the current client movement-lock slot and its lifecycle counters.clientOpen77.movement.setWalkMode(enabled, speed?)Asks the local player to walk at a bounded speed, as a lease this resource owns.clientOpen77.movement.unlock()Releases this resource's owned client movement lock.clientOpen77.pauseMenu.getAppearance(knownRevision?)Reads the effective pause-menu branding and revision.clientOpen77.pauseMenu.resetAppearance()Releases this resource's pause-menu branding.clientOpen77.pauseMenu.setAccentColor(color)Sets this resource's pause-menu accent.clientOpen77.pauseMenu.setLogo(pathOrUrl)Adds a server logo beside the OPEN//77 pause-menu logo.clientOpen77.reflex.cancel(playerId)Ends a player's running overdrive now; the grant and its cooldown are unchanged.serverOpen77.reflex.capabilities()The supported profile, the two tiers and the advertised boundary.serverOpen77.reflex.clear()Releases the reflex overdrive this resource holds on the local player.clientOpen77.reflex.current(playerId)The player's overdrive activity and projection, or nil without a grant.serverOpen77.reflex.define(definition)Registers a reflex-overdrive definition: a tier plus its economy.serverOpen77.reflex.grant(playerId, definition)Grants a defined overdrive to one player for the session.serverOpen77.reflex.overdrive(kind, durationMs)Applies the local reflex overdrive: a bounded real-time speed/handling buff.clientOpen77.reflex.revoke(playerId)Removes this resource's overdrive grant from a player.serverOpen77.reflex.state()Reads the local reflex-overdrive machine.clientOpen77.rtti.call(class, fn, instance, ...)Invokes a reflected game function using supported Lua values.clientOpen77.rtti.hook(class, fn, handler)Registers a synchronous hook for supported SDK calls to a game function.clientOpen77.rtti.release(ref)Releases a pinned RTTI object reference.clientOpen77.rtti.resolve(class, fn)Reads the RTTI signature of a native or scripted game function.clientOpen77.rtti.unhook(id)Removes a hook owned by the calling resource.clientOpen77.statuses.apply(playerId, targetId, definitionId, gradeId)Applies a configured, bounded status to a target using a registered grade.serverOpen77.statuses.list(playerId)Lists the owned statuses currently affecting a player.serverOpen77.statuses.remove(actionId)Removes this provider's status without reversing the damage it did.server
Core & resourcesclient
Global function
AddEventHandler
Listens for a local event.
-- client Β· _G
AddEventHandler(
event, -- string
handler -- function
)Description
Registers a callback on the current resource's local event bus. The handler is owned by the current resource generation and is discarded automatically when that generation stops or reloads; it never receives network traffic unless the event was separately registered as a network event.
Parameters 2
eventstring- Required
handlerfunction- Required
Returns
- handler id
Example
-- Run setup when this resource starts on the client
AddEventHandler("onClientResourceStart", function(name)
if name ~= GetCurrentResourceName() then return end
Open77.hud.notify("Welcome to the city")
end)Source information
ResourceHost.cpp:24468
LuaAddEventHandler