Portal SAMP
[Include] easyHouses - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Lançamentos (https://portalsamp.com/forumdisplay.php?fid=26)
+---- Fórum: Includes (https://portalsamp.com/forumdisplay.php?fid=27)
+---- Tópico: [Include] easyHouses (/showthread.php?tid=5131)



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.