Criação de Casas
Guia completo para adicionar e configurar casas no sistema DS-Homes
Criação de Casas
Este guia explica como adicionar e configurar casas no sistema DS-Homes. O sistema suporta dois tipos de interiores: MOD (Shells) e Nativos do GTA.
Tipos de Interiores
Interiores customizados que você adiciona ao servidor (shells, YMAPs, etc). São objetos que são spawados em uma dimensão separada.
Vantagens:
- Totalmente customizável
- Pode usar o mesmo interior em várias casas
- Fácil reutilização de configurações
Desvantagens:
- Requer recursos adicionais no servidor
- Precisa configurar offsets no
config/interiors.lua
Interiores que já existem no mapa do GTA (geralmente debaixo do chão).
Vantagens:
- Melhor performance (não cria objetos)
- Não precisa adicionar recursos extras
- Configuração mais simples
Desvantagens:
- Limitado aos interiores disponíveis no GTA
- Coordenadas absolutas (menos flexível)
Estrutura de Configuração
As casas são configuradas no arquivo config/homes.lua:
CFG['homes'] = {
{
},
}Configuração de Casa MOD
Exemplo Completo
{
name = 'Mansão Moderna',
slogan = "Luxo e Conforto",
coords = vector3(-232.6, 588.2, 190.54),
price = 500000,
isModInterior = true,
interior = 'shell_michael',
image = "https://example.com/mansion.png",
needsIptu = true,
type = 'house',
maxResidents = 10,
garagePrice = 50000
}Parâmetros Obrigatórios
Parâmetros Opcionais
Configuração de Apartamento
Apartamentos permitem múltiplas unidades no mesmo edifício.
Exemplo Completo
{
name = 'Edifício Downtown',
slogan = "Moderno e Central",
coords = vector3(-773.34, 313.1, 85.7),
price = 300000,
isModInterior = true,
interior = 'shell_apartment1',
image = "https://example.com/apartment.png",
needsIptu = true,
type = 'apartment',
maxResidents = 5,
maxApartments = 20,
garagePrice = 30000
}Parâmetro Adicional
Configuração de Casa Nativa
Exemplo Completo
{
name = 'Casa Underground',
slogan = "Interior Nativo",
coords = vector3(1381.98, -1544.94, 57.1),
price = 250000,
isModInterior = false,
interiorCoords = vector3(-141.19, -620.91, 168.82),
exitCoords = vector3(-142.0, -621.01, 168.94),
chestCoords = vector3(-129.07, -636.27, 168.82),
spawnHeading = 180.0,
image = "https://example.com/underground.png",
needsIptu = true,
type = 'house',
maxResidents = 8,
garagePrice = 40000
}Parâmetros Específicos
Como Pegar as Coordenadas
Para Interiores Nativos
Encontre o interior nativo
Procure listas de interiores do GTA V online (Franklin's House, Trevor's Trailer, etc.)
Teleporte-se para o interior
Use comandos de admin para teleportar ou procure a entrada natural no mapa
Use comandos in-game
Posicione-se na porta de saída: /getcoords
Posicione-se onde será o baú: /getcoords
Copie as coordenadas no formato vector3(x, y, z)
Para Interiores MOD
Teste o interior
/testinterior nome_do_shellPegue os offsets
Posicione-se em pontos importantes (porta, baú, etc)
Use o comando:
/getoffsetO sistema mostra o offset relativo para configurar no config/interiors.lua
Dicas e Boas Práticas
Nomes Únicos: Certifique-se de que cada propriedade tenha um nome único. O sistema usa o nome como identificador.
Imagens: Use URLs de CDN para melhor performance. Evite hospedar imagens localmente.
Preços: Considere o balanceamento econômico do servidor ao definir preços. IPTU é calculado como porcentagem do preço da casa (padrão: 15%).
Apartamentos: Ao usar type = 'apartment', o sistema gerencia automaticamente os números dos apartamentos. Não use o mesmo nome de edifício em múltiplas configurações.
Checklist de Configuração
Antes de adicionar uma nova casa, verifique:
- Nome único e descritivo
- Coordenadas da entrada testadas
- Preço balanceado com economia do servidor
- Tipo correto (
houseouapartment) - Se for MOD: interior configurado em
interiors.lua - Se for nativo: todas as coordenadas absolutas definidas
- Imagem(ns) acessível(is) via URL
- Testado in-game antes de liberar para jogadores
Exemplos Completos
{
name = 'Villa Del Sol',
slogan = "Luxo à beira-mar",
coords = vector3(-1290.0, 455.0, 97.0),
price = 1500000,
isModInterior = true,
interior = 'shell_trevor',
images = {
"https://example.com/villa1.png",
"https://example.com/villa2.png",
"https://example.com/villa3.png"
},
description = "Vila de luxo com vista panorâmica do oceano, piscina infinita e acabamento premium.",
needsIptu = true,
type = 'house',
maxResidents = 15,
garagePrice = 100000
}{
name = 'Residencial Center Park',
slogan = "Moradia acessível no centro",
coords = vector3(-600.0, 200.0, 75.0),
price = 150000,
isModInterior = true,
interior = 'shell_apartment1',
image = "https://example.com/apartment.png",
needsIptu = true,
type = 'apartment',
maxResidents = 3,
maxApartments = 50,
garagePrice = 25000
}{
name = 'Bunker Secreto',
slogan = "Privacidade total",
coords = vector3(2050.0, 2950.0, 47.0),
price = 800000,
isModInterior = false,
interiorCoords = vector3(1259.0, -2564.0, 42.0),
exitCoords = vector3(1260.5, -2566.0, 42.8),
chestCoords = vector3(1255.0, -2560.0, 42.8),
spawnHeading = 90.0,
image = "https://example.com/bunker.png",
needsIptu = false,
type = 'house',
maxResidents = 5,
garagePrice = 60000
}