AI Core
Mundo e ferramentasai-exitsleeping

ai-exitsleeping

Um jogador que sai do jogo fica no mundo como um corpo dormindo que outros podem carregar e colocar em veículos.

O ai-exitsleeping mantém no mundo os personagens que saíram do jogo. Quando um jogador sai do servidor ou volta para a tela de personagens, o personagem dele se deita como um corpo dormindo onde estava. Outros jogadores podem carregá-lo, colocá-lo em um veículo e tirá-lo de novo, e o dono acorda onde quer que o corpo tenha ido parar.

O que faz no jogo

  • Corpos dormindo. O corpo tem a aparência do personagem (pela camada de aparência do AI Core, então qualquer script de roupas suportado funciona) e uma das poses deitadas do painel. Todos os jogadores veem a mesma pose.
  • Carregar. Vá até um corpo e aperte a tecla de interação em Carry Sleeping Player. X (ou Stop Carrying) o coloca no chão onde você está. Você não pode carregar dentro de um veículo, caído ou algemado.
  • Veículos. Enquanto carrega, Put in Vehicle em um veículo senta o corpo em um banco de passageiro. Take Out Sleeping Player em um veículo com um corpo dentro o tira (você passa a carregá-lo).
  • Acordar. O próximo spawn do dono é onde o corpo está agora: no chão, no ombro de quem o carrega, ou no banco do veículo em que foi colocado.
  • Expiração. Os corpos de jogadores que saíram há mais tempo que os dias do painel são removidos.
  • Áreas escondidas e mundos privados. Nenhum corpo é deixado dentro de uma área escondida (painel), e corpos colocados ali ficam escondidos. Com Ignore private worlds ligado, jogadores dentro do interior de uma casa ou motel não deixam corpo e não veem nenhum.

Instalação

Instalado pela receita do AI Core. À mão: ensure ai-exitsleeping depois do ai-core. A tabela ai_exitsleeping_sleepers é criada na primeira inicialização.

Se o seu script de spawn posiciona o jogador por conta própria depois do spawn do ai-core, defina Wake up on como PlayerLoaded export (spawn script) e chame exports['ai-exitsleeping']:PlayerLoaded() a partir dele (veja a página para desenvolvedores).

Configurações do painel

Painel de administração > Exit Sleeping.

Aba: General

Quanto tempo os corpos dormindo ficam, até que distância são desenhados e o que os jogadores podem fazer com eles.

Sleeping bodies: um jogador que sai do jogo fica no mundo como um corpo dormindo onde saiu, e acorda onde o corpo foi parar.

ConfiguraçãoO que mudaUnidadePadrão
Keep bodies forOs corpos de jogadores que saíram há mais tempo que isso são removidos. 1-365.dias3
Draw distanceOs corpos dormindo aparecem quando um jogador chega a essa distância e desaparecem além dela. 5-60, passos de 0.5.m25
Ignore private worldsJogadores dentro de um mundo privado (o interior de uma casa ou quarto de motel) não deixam corpo quando saem do jogo e não veem corpos enquanto estão dentro.ligado / desligadoligado
Wake up onCharacter spawn (ai-core) ou PlayerLoaded export (spawn script). Mantenha o padrão, a menos que um script de spawn chame exports['ai-exitsleeping']:PlayerLoaded() depois do próprio spawn.Character spawn (ai-core)

Carrying and vehicles: os jogadores podem carregar um corpo dormindo, colocá-lo no banco de um veículo e tirá-lo de novo.

ConfiguraçãoO que mudaUnidadePadrão
Interaction distanceA que distância um jogador precisa estar para carregar um corpo ou alcançar um veículo. 1-10, passos de 0.5.m2.5
Server distance checkO servidor recusa uma ação de carregar ou de veículo feita de mais longe que isso (contra trapaças). 2-30, passos de 0.5.m6
Position checkCom que frequência o servidor atualiza onde estão os corpos carregados e os corpos em veículos, para que o dono acorde no lugar certo. 1-60.s5
Debug messagesImprime o que o script faz nos consoles do servidor e do cliente.ligado / desligadodesligado

Aba: Animations

As poses deitadas dos corpos dormindo e a animação de carregar. Cada animação é um Animation dictionary, um Animation name e Animation flags (flags de animação do GTA, 0-65535: 1 repete, 49 repete na parte de cima do corpo enquanto anda, 33 repete enquanto preso).

CartãoO que mudaPadrão
Lying posesCada corpo escolhe uma destas ao acaso; todos os jogadores veem a mesma pose. Até 20.amb@world_human_bum_slumped@male@laying_on_left_side@idle_a / idle_b, flags 1
Carrying playerA animação do jogador que carrega um corpo.missfinale_c2mcs_1 / fin_c2_mcs_1_camman, flags 49
Carried bodyA animação do corpo no ombro de quem carrega.nm / firemans_carry, flags 33

Carry position: onde o corpo carregado fica em quem o carrega.

ConfiguraçãoO que mudaUnidadePadrão
Bone indexÍndice do bone de quem carrega ao qual o corpo é preso (0 = a raiz do ped).0
Offset right-5 a 5, passos de 0.01.m0.2
Offset forward-5 a 5.m0.15
Offset up-5 a 5.m0.63
Rotation X-360 a 360, passos de 0.5.°0.5
Rotation Y-360 a 360.°0.5
Rotation Z-360 a 360.°5

Aba: Hidden areas

Lugares onde nenhum corpo dormindo é mostrado, como interiores ou zonas seguras. Um registro por área (New area / Delete area). Apagar uma área torna visíveis de novo os corpos dormindo dentro dela. Nenhuma vem pronta.

Area: jogadores que saem do jogo dentro dela não deixam corpo; corpos colocados dentro ficam escondidos (o dono ainda acorda ali).

ConfiguraçãoO que mudaUnidadePadrão para novos
NameO nome da área.
ShapeBall, Cylinder ou Polygon: uma esfera ou um cilindro ao redor de um ponto central, ou um polígono a partir de pontos de canto.Ball
CentreO meio da área (esfera e cilindro).ponto
RadiusMetros do centro até a borda (esfera e cilindro). 1-2000.m25
HeightMetros para cima e para baixo que a área alcança (cilindro: a partir do centro; polígono: além do seu canto mais baixo e mais alto). 0.5-1000.m10

Polygon corners (só polígono): adicione um canto em cada curva da borda, em ordem (câmera livre ou sua posição); um polígono precisa de pelo menos três, até 64. A forma é desenhada no mundo enquanto este campo está na tela.

Comandos

ComandoArgumentosQuemO que faz
/exitsleeptestnenhumAdministradores (ai.admin)Alterna seu próprio corpo dormindo (teste): cria um corpo onde você está, ou o remove.

Teclas

Tecla padrãoO que faz
XColoca no chão o jogador dormindo que você carrega

Limites conhecidos

  • Os corpos existem só no mundo compartilhado: dentro de um interior instanciado, um corpo carregado é colocado na sua última posição do lado de fora.
  • Depois de um reinício do servidor, todo corpo fica deitado no chão na sua última posição salva (os estados de carregado e sentado não são mantidos).
  • Um jogador que acorda poucos segundos depois que quem o carregava ou o veículo sumiu pode aparecer no último ponto salvo (o intervalo do Position check).

Nesta página