easyHouses - xbruno1000x - 25/10/2025
easyHouses - Sistema de Casas para SA-MP (v1.3.0)
Descrição
easyHouses é um módulo opcional para o easyEnex que adiciona um sistema completo de propriedades ao seu servidor SA-MP.
Permite criar, comprar, vender, alugar e transferir casas, com labels 3D, pickups dinâmicos e salvamento automático (DOF2 suportado).
Principais funcionalidades- Compra/Venda — Jogadores podem comprar casas (até 3 por jogador).
- Aluguel — Sistema de aluguel diário com cobrança automática e despejo por falta de pagamento.
- Transferência — Transferência de casas entre jogadores via comando.
- Trancamento Inteligente — Donos e inquilinos têm acesso mesmo com enex fechado; permissões por jogador.
- Pickups Dinâmicos — Modelos atualizados conforme status:
- 1273 — Casa à venda
- 1272 — Casa para alugar
- 19522 — Casa ocupada
- Labels 3D Completas — Mostram nome, dono, inquilino, preço, status e comandos possíveis.
- Salvamento com DOF2 — Persistência automática de dados(opcional).
- /definirvalor — Comando para o dono definir o preço do aluguel (0 desativa aluguel).
Correções e melhorias relevantes- Corrigido bug de permissões do Enex (entradas fechadas agora respeitam whitelist por jogador).
- Removida duplicação de labels 3D na entrada (easyEnex cria a label padrão; easyHouses substitui por label customizada).
- Labels atualizam corretamente ao trancar/destrancar a casa.
- Corrigido cálculo de aluguel: valores pagos ficam registrados e não são afetados por mudanças posteriores no preço.
- Labels mostram opção de aluguel quando aplicável (casa ocupada com aluguel disponível).
Instalação- Requisitos: YSI (y_iterate, y_hooks, y_timers), Streamer plugin. DOF2 recomendado para salvamento automático.
- Via sampctl:
sampctl package install xbruno1000x/easyEnex@v1.8.0
- Manual:
git clone https://github.com/xbruno1000x/easyEnex.git# Copie easyEnex.inc para sua pasta includes# Opcional: copie easyHouses.inc para usar o sistema de casas
Exemplo de uso rápido
Código: #include <YSI_Coding\y_iterate>
#include <streamer>
#include <easyEnex>
#include <extras/easyHouses> // Opcional
public OnGameModeInit()
{
House_Create(
"Casa Grove Street", // Nome
50000, // Preço de compra
500, // Preço de aluguel por dia
2495.0, -1688.0, 13.5, 0.0, // Entrada (x,y,z,ang)
223.0, 1287.0, 1082.1, 0.0, // Interior (x,y,z,ang)
1 // Interior ID
);
return 1;
}
Comandos (gamemode demo)- /comprarcasa - Comprar casa próxima
- /vendercasa - Vender sua casa
- /trancarcasa ou /tc - Trancar/destrancar
- /alugarcasa - Alugar casa disponível
- /desalugar - Cancelar aluguel
- /definirvalor [valor] - Dono define preço de aluguel (0 desativa)
- /transferircasa [playerid] - Transferir casa para outro jogador
- /minhascasas - Listar suas casas
Arquivo de configuração / Salvamento
O módulo salva cada casa em um arquivo (por padrão em `houses/%d.ini`) quando DOF2 está disponível; caso contrário, deve haver uma implementação do MySQL ou outro sistema de salvamento de sua preferencia nas callbacks OnHouseSave/OnHouseLoad para persistência customizada.
Links úteis
Autor & Licença
xBruno1000x — Licença MIT
Citar:Observação: Ao usar easyHouses, certifique-se de incluir easyEnex.inc antes de easyHouses.inc. DOF2 é opcional, mas recomendado para persistência sólida.
|