ai-doorlock para desenvolvedores
Exports do servidor, a API do ox_doorlock, chaves de GlobalState e o evento do ai-doorlock.
Para trancar ou destrancar portas a partir do seu próprio script, use doors.setLocked(id, locked, by?) e doors.isLocked(id) da lib (servidor). Eles passam pela camada de trancas de portas do ai-core e funcionam com qualquer script de trancas que o servidor rode. Os exports abaixo são o que a camada chama enquanto o ai-doorlock está ativo.
Uma porta é identificada pelo seu id do painel: a chave do registro em data/doors.json (mostrada na lista de portas do painel). Tipados como AiDoorlockServerExports em @aicore-fivem/shared.
import { resourceExport } from "@aicore-fivem/lib/server";
const doorlock = resourceExport("ai-doorlock");Exports do servidor
SetDoorState
Tranca ou destranca uma porta para todos, sem nenhuma verificação de acesso ou distância.
Lado: Servidor · Espera: não
SetDoorState(id: string, locked: boolean): voidexports['ai-doorlock']:SetDoorState(id, locked)Parâmetros
Prop
Type
Retorno
Nada. Um id que não é uma porta do painel não faz nada.
Exemplo
import { resourceExport } from "@aicore-fivem/lib/server";
const doorlock = resourceExport("ai-doorlock");
// Um bloqueio total: tranca todas as portas listadas da delegacia.
const STATION_DOORS = ["mrpd_front", "mrpd_back", "mrpd_back_gate"]; // ids padrão do painel
export function lockdown(): void {
for (const id of STATION_DOORS) doorlock.SetDoorState(id, true);
}IsLocked
Se uma porta está trancada agora.
Lado: Servidor · Espera: não
IsLocked(id: string): booleanlocal locked = exports['ai-doorlock']:IsLocked(id)Retorno
true quando trancada. false quando destrancada ou o id não é uma porta do painel.
ox_doorlock API
O ai-doorlock faz provide de ox_doorlock e responde a dois dos exports do servidor dele:
| Export | O que faz |
|---|---|
setDoorState(id, state) | O mesmo que SetDoorState: true ou 1 tranca, qualquer outro valor destranca. |
getDoor(id) | { id, name, state } (state 1 trancada, 0 destrancada; name é o nome do painel), ou nil para um id desconhecido. |
Outros exports do ox_doorlock não são respondidos.
GlobalState
O estado de tranca de cada porta é a chave de GlobalState door:<id> (true = trancada), legível no servidor e em todo cliente. Ela é removida quando a porta é apagada.
local locked = GlobalState['door:mrpd_front'] == trueEventos
| Nome | Tipo | O que faz |
|---|---|---|
ai-doorlock:toggle | callback do cliente | (id) -> { ok, locked }: um jogador alterna uma porta depois que o servidor verifica a distância e o acesso. Interno; limitado a 2 por segundo por jogador, e 500 ms por porta. |
ai-doorlock
Trancas de portas definidas no painel escolhendo a porta no mundo, com acesso por emprego e gangue e um único estado de tranca para todos.
ai-smallresources
Muitos recursos pequenos de gameplay, cada um com seu próprio interruptor no painel, mais teleportes, elevadores, assentos, amarrações e Discord Rich Presence.