Skip to content

Casas ​

Casas, apartamentos, prédios e propriedades. O jogador compra à vista ou financiado, aluga, decora, divide chaves, instala fechaduras e alarmes e gerencia tudo pelo tablet. A staff cria interiores, portas e propriedades em jogo.

Precisa de: krs, bank, assets

Só funciona no framework krs. Usa também garages, skinshop e time_system.

Opcionais: kay_housing_shells (mais interiores), phone (app Casas do tablet), kay_organizations (imobiliária) e kay_missoes (missão do primeiro apartamento).

Instalação ​

cfg
ensure bank
ensure assets
ensure kay_housing_shells   # opcional, antes do kay_housing
ensure kay_housing

Coloque depois do krs. As tabelas são criadas sozinhas. Veja a ordem completa.

Pacote de shells ​

O kay_housing_shells é um pacote separado com interiores extras. O kay_housing procura o pacote ao iniciar e acrescenta o que ele traz a Config.Interiors.

Com o pacoteSem o pacote
Lista de interioresOs 11 interiores do pacote entram na categoria Casas: Ametista, Âmbar, Safira, Esmeralda, Topázio, Opala, Jade, Pérola, Água-marinha, Turquesa e ÔnixSó os interiores do kay_housing e do assets
Compra e aluguelFuncionam com todosFuncionam com os interiores disponíveis
Criador de interioresSem diferençaSem diferença

Sem o pacote, o script inicia sem erro.

Não remova o pacote se alguma casa usa um interior dele. A casa continua salva, mas o interior deixa de existir e a entrada falha. Ponha o pacote de volta para o jogador entrar de novo.

O pacote precisa estar iniciado antes do kay_housing. Com a pasta presente e sem o ensure, o servidor e os jogadores ficam com listas diferentes.

O assets é obrigatório e também acrescenta interiores: Rubi, Granada, Quartzo, Citrino, Diamante e os apartamentos I, II e amplo. Os prédios de Config.Buildings usam parte deles.

Como usar ​

Na porta, as dicas mostram a tecla.

TeclaO que faz
EVer o imóvel, entrar ou sair
GTocar a campainha. Dentro da casa, quem tem chave liga e desliga as luzes

Comprar. Em uma porta livre, escolha o interior, a mobília e a forma de pagamento. Antes de decidir, o jogador pode visitar o interior por PreviewSeconds segundos. O financiamento usa o plano house do bank. Com as parcelas atrasadas, o banco retoma a casa.

Alugar. O dono define o aluguel e o inquilino paga por semana. Em atraso além de Rent.Evict dias, o inquilino é despejado.

Prédios. Cada prédio de Config.Buildings tem uma porta e várias unidades. O motel é pago por dia.

Primeiro apartamento. Ao criar o personagem, o jogador recebe grátis uma unidade do prédio com Starter, por Rent.StarterDays dias. Com o kay_missoes ligado, ele recebe a missão "Seu novo lar".

Propriedades. São imóveis criados pela staff e pagos em diamantes por um número de dias.

Dentro da casa. Baú, guarda-roupa, decoração em modo câmera, móveis funcionais, contas de luz, água e internet, energia, música, assistente e garagem.

Segurança. O dono compra fechadura, alarme e câmera. Em serviço, a polícia (Security.Police) pode arrombar a porta e lacrar a casa. Ninguém entra em casa lacrada até a polícia liberar.

Imobiliária. Com o kay_organizations, os grupos de Realty.Groups mantêm imóveis em estoque e vendem com comissão.

Comandos ​

Todos exigem o grupo Admin, nível 2.

ComandoO que faz
/predio aqui <chave>Move a entrada do prédio para onde você está
/interior criar <nome>Cria um interior do mapa, com a saída onde você está
/interior ipl <id> <nome do ipl>Liga um IPL ao interior
/interior apagar <id>Apaga o interior, se nenhuma casa usar
/propriedade criar <diamantes> <dias> <categoria> <nome>Cria uma propriedade onde você está
/propriedade apagar <id>Apaga a propriedade
/predio aqui fantastic
/propriedade criar 500 30 Loja Loja da praia

As chaves de prédio são pinkcage, fantastic, rockford, morningwood, integrity e tinsel.

Permissão ​

Admin vê a aba Admin no app Casas do tablet. Ela busca casas e permite ir até a casa, trocar o dono, mudar o preço pago, quitar o financiamento, zerar atraso de aluguel e contas, resetar a segurança e apagar a casa. A mesma aba tem as seções de shells e de portas.

Configuração ​

Tudo fica em shared-side/config.lua e shared-side/utilities.lua. Os textos são só em português, sem suporte a ox:locale. O idioma não muda com ox:locale.

Casas:

OpçãoPadrãoO que muda
Price2000000Preço padrão de uma casa
MaxHouses3Casas por personagem
SellBack0.5Parte do preço devolvida na venda ao banco
MaxKeys6Chaves por casa
MaxAccess3Grupos com acesso por casa
KeyCopy500Preço da cópia de chave
Rekey2500Preço de trocar a fechadura
OrgManage2Nível do grupo que gerencia casa de organização
KeyDefaultsLock, StashPermissões iniciais de uma chave
PreviewSeconds45Tempo da visita, em segundos
DoorDistance1.5Distância da porta, em metros
StashWeight = 250, Slots = 50Baú
WardrobeSlots10Vagas do guarda-roupa
VipBronze, Prata, OuroGrupos VIP, do menor para o maior

As portas de casa no mapa ficam em shared-side/doors.lua.

Decoração e garagem:

OpçãoPadrãoO que muda
SellFurniture0.3Parte do preço devolvida ao vender um móvel
PaintPrice50Preço por pintura alterada
DecorRadius40.0Alcance da decoração dentro da casa, em metros
YardRadius22.0Alcance do quintal, em metros
Delivery.Seconds300Tempo até o móvel chegar na entrada da casa, em segundos
Garage.Price150000Preço da garagem
Garage.Move25000Preço de mudar a garagem de lugar
Garage.Radius60.0Distância máxima da entrada da garagem até a porta, em metros

Aluguel (Rent):

OpçãoPadrãoO que muda
City25000Aluguel padrão
Week604800Período, em segundos
Evict14Dias de atraso até o despejo
Max2Casas alugadas por personagem
MaxAsk500000Maior aluguel que o dono pode pedir
StarterDays7Dias grátis do primeiro apartamento

Segurança (Security):

OpçãoPadrãoO que muda
Police"Policia"Grupo da polícia
Locks60000, 180000, 450000Preço das fechaduras Reforçada, Blindada e Cofre
Alarms40000, 90000, 180000, 300000Preço dos 4 níveis de alarme
Camera60000Preço da câmera
BreachBase = 12000, PerTier = 10000Tempo para arrombar, em ms: base mais o valor por nível da fechadura
Seal604800Duração do lacre, em segundos
Cooldown120Espera entre dois alarmes da mesma casa, em segundos
Intrusion300Tempo dentro da casa depois de destrancar, em segundos

Prédios e imobiliária:

OpçãoPadrãoO que muda
Buildings6 prédiosPorta, unidades, interiores, preço e aluguel de cada prédio
Interiorsver config.luaInteriores: nome, categoria, VIP, saída e modelo
Realty.Groups"Imobiliaria"Grupos da imobiliária
Realty.Stock10Imóveis em estoque
Realty.Commission0.05Comissão da empresa
Realty.AgentShare0.4Parte da comissão para o corretor

Contas, em utilities.lua (Bills):

OpçãoPadrãoO que muda
EnabledtrueLiga as contas
Interval604800Período, em segundos
Grace14Dias de atraso até a punição
Punish"cut"cut corta os serviços, repossess retoma a casa
Services1200, 600, 500Preço de luz, água e internet

Para programadores ​

lua
-- servidor
exports.kay_housing:Homes(charId)            -- casas com chave
exports.kay_housing:HasHome(charId)          -- true se mora em alguma
exports.kay_housing:HasAccess(charId, id)    -- true se tem a chave
exports.kay_housing:Inside(charId)           -- id da casa onde está, ou false
exports.kay_housing:Coords(id)               -- coordenada da porta
exports.kay_housing:Survival(charId, source) -- tira o jogador de dentro da casa
exports.kay_housing:GarageAccess(id, charId)
exports.kay_housing:ChangeCharId(antigo, novo)
exports.kay_housing:Places(charId)           -- propriedades
exports.kay_housing:Deliver(charId, item, quantidade)  -- entrega no baú; id da casa ou false
exports.kay_housing:OrgStock(grupo)
exports.kay_housing:OrgPrice(grupo, id, venda, aluguel)
exports.kay_housing:OrgRelease(grupo, id, charId)

Para acrescentar interiores, crie um resource com config/kay_housing.lua, listado em files, com o nome kay_housing_shells ou assets:

lua
Config.Interiors[#Config.Interiors + 1] = {
	Key = "MeuInterior",
	Label = "Meu interior",
	Category = "Casas",
	Exit = vec3(0.0, 0.0, 1500.0),
	Shell = vec3(0.0, 0.0, 1500.0),
	Model = "meu_modelo"
}