Servidores de Jogos

Interiores e virtual worlds: organizando o mundo do servidor

Interiores e virtual worlds: organizando o mundo do servidor

Duas funções simples permitem que um único mapa de San Andreas abrigue centenas de casas, empresas e eventos ao mesmo tempo: interiores e virtual worlds.

Qual a diferença

  • Interior (SetPlayerInterior): diz ao cliente qual "conjunto" de ambiente carregar. O GTA SA tem interiores prontos (lojas, casas, bares) em IDs diferentes. Afeta o que o jogo mostra;
  • Virtual world (SetPlayerVirtualWorld): uma "dimensão" do servidor. Jogadores só veem jogadores, veículos e objetos do mesmo mundo. Afeta o que o servidor mostra.

O problema que eles resolvem

O GTA SA tem um número limitado de interiores. Se 50 casas usam o mesmo interior, todos os moradores se encontrariam no mesmo cômodo. Com um virtual world por casa, cada um fica na sua.

stock EntrarCasa(playerid, casaid)
{
    SetPlayerInterior(playerid, Casa[casaid][cInterior]);
    SetPlayerVirtualWorld(playerid, 1000 + casaid); // mundo único da casa
    SetPlayerPos(playerid, Casa[casaid][cIntX], Casa[casaid][cIntY], Casa[casaid][cIntZ]);
    return 1;
}

Organize faixas de mundos

Faixa Uso
0 Mundo principal
1-99 Eventos e minigames
1000-2999 Casas
3000-3999 Empresas
5000+ Prisão, tutorial, área de login

Documente a faixa para que ninguém use o mesmo número em dois sistemas.

Veículos também

Veículos têm mundo próprio (SetVehicleVirtualWorld) e interior (LinkVehicleToInterior). Ao teleportar um jogador dentro do veículo para outro mundo, mude os dois.

Objetos com Streamer

Crie objetos de interiores personalizados com o worldid e interiorid corretos. Assim eles só existem para quem está lá dentro.

Evite jogadores "presos"

Um erro comum: o jogador sai de um interior, mas continua no mundo 1000 e não vê ninguém. Garanta:

  • Ao sair, voltar para interior 0 e mundo 0 (ou o mundo de origem);
  • Ao morrer ou spawnar, resetar interior e mundo;
  • Ao desconectar, salvar a posição externa (entrada da casa), não a interna.

Usos criativos

  • Área de login/tutorial isolada;
  • Prisão em mundo próprio;
  • Arenas simultâneas de DM;
  • "Instâncias" de missões para grupos.

Hospede seu servidor com a VittHost

Nos planos OPENMP-BR da VittHost, seus sistemas de casas, empresas e eventos rodam em servidores no Brasil com painel Pterodactyl, proteção DDoS, MySQL incluso, compatibilidade total com scripts SA-MP e teste grátis de 3 dias.

Compartilhar:

Pronto para hospedar seu próximo projeto?

VPS com painel pré-instalado em 1 clique. Ativação imediata.

Ver planos VPS