[Ajuda] LHouse Nao perde grana
#1

Quando eu compro a casa, carro, vendo a casa e carro, o dinheiro nao diminui e nao aumenta, como se a casa fosse de graзa e carro tbm, mas nao ta de graзa, dinheiro diminui mas volta divono, alguem me ajuda?
pawn Код:
00}522 {25F700}- {FCEC00}NRG-500     {25F700}- {00EAFA}R$ 150.000,00 {FFFFFF} - MOTO\n");
                    ShowPlayerDialog(playerid, DialogModelosCarros, DIALOG_STYLE_LIST, "
{46FE00}Escolha um modelo e clique em continuar.", stringcat, "Continuar", "Voltar");
                    TogglePlayerControllable(playerid, 1);
                }
                case 4:
                {
                    new string[ 250 ];
                    if(CarroI[Casa][CarroModelo] != 0)
                    {
                        GetPlayerPos(playerid, X, Y, Z);
                        PlayerPlaySound(playerid, 1085, X, Y, Z);
                        SCM(playerid, ErroCor, "
{F90700}[ ERRO ] {FFFFFF}Sua casa casa tem um carro. Venda-o antes de vender sua casa.");
                        TogglePlayerControllable(playerid, 1);
                        return 1;
                    }
                    format(string, sizeof(string), "
{46FE00}Vocк deseja vender sua casa por {FFFFFF}R$%d{46FE00}?\n", CasaI[Casa][Preco]/2);
                    ShowPlayerDialog(playerid, DialogVenderCasa, DIALOG_STYLE_MSGBOX, "
{00F2FC}Vocк escolheu vender sua casa.", string, "Sim", "Nгo");
                    TogglePlayerControllable(playerid, 1);
                }
                case 5:
                {
                    ShowPlayerDialog(playerid, DialogVendaCasaPlayer, DIALOG_STYLE_INPUT, "
{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Digite o ID/Nome do player abaixo, й possнvel utilizar parte do nick quanto ID do player\n", "Prуximo", "Voltar");
                    TogglePlayerControllable(playerid, 1);
                }
                case 6:
                {
                    new string[ 250 ];
                    if(CasaI[Casa][AluguelAtivado] == 0)
                    {
                        GetPlayerPos(playerid, X, Y, Z);
                        PlayerPlaySound(playerid, 1085, X, Y, Z);
                        SCM(playerid, ErroCor, "
{F90700}[ ERRO ] {FFFFFF}Sua casa casa nгo estб sendo alugada. Ative o aluguel antes.");
                        TogglePlayerControllable(playerid, 1);
                        return 1;
                    }
                    if(!strcmp(CasaI[Casa][Locador], "
Ninguem", false))
                    {
                        GetPlayerPos(playerid, X, Y, Z);
                        PlayerPlaySound(playerid, 1085, X, Y, Z);
                        SCM(playerid, ErroCor, "
{F90700}[ ERRO ] {FFFFFF}Nгo tem ninguйm alugando sua casa no momento.");
                        TogglePlayerControllable(playerid, 1);
                        return 1;
                    }
                    format(string, sizeof(string), "
{46FE00}Vocк deseja despejar o locador {FFFFFF}%s{46FE00}, da sua casa?\n", CasaI[Casa][Locador]);
                    ShowPlayerDialog(playerid, DialogDespejarLocador, DIALOG_STYLE_MSGBOX, "
{00F2FC}Vocк escolheu despejar o locador da sua casa.", string, "Sim", "Nгo");
                    TogglePlayerControllable(playerid, 1);
                }
                case 7:
                {
                    new stringcat[ 300 ];
                    strcat(stringcat, "
Estacionar Carro\n");
                    strcat(stringcat, "
Mudar cor do carro\n");
                    strcat(stringcat, "
Escolher novo modelo\n");
                    strcat(stringcat, "
Mudar Placa\n");
                    strcat(stringcat, "
Rebocar Carro\n");
                    strcat(stringcat, "
Vender Carro\n");
                    ShowPlayerDialog(playerid, DialogMenuCarro, DIALOG_STYLE_LIST, "
Menu Carro", stringcat, "Selecionar", "Voltar");
                    TogglePlayerControllable(playerid, 1);
                }
            }
        }
        case DialogDespejarLocador:
        {
            if(!response)
            {
                MostrarDialogMenuCasa(playerid);
                return 1;
            }
            new Casa = ObterCasa(playerid);
            new ArquivoLocador[ 200 ], ArquivoCasa[ 200 ];
            if(IsPlayerConnected(CasaI[Casa][Locador]))
            {
                if(GetPlayerVirtualWorld(CasaI[Casa][Locador]) == Casa)
                {
                    SetPlayerPos(CasaI[Casa][Locador], CasaI[Casa][CasaX], CasaI[Casa][CasaY], CasaI[Casa][CasaZ]);
                    SetPlayerInterior(CasaI[Casa][Locador], 0);
                    SetPlayerVirtualWorld(CasaI[Casa][Locador], 0);
                }
            }
            new string[ 128 ], string2[ 128 ];
            format(string, sizeof(string), "
[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Vocк foi despejado. Procure {FFFFFF}%s {46FE00}para saber o motivo.", CasaI[Casa][Dono]);
            SCM(CasaI[Casa][Locador], -1, string);
            format(string2, sizeof(string2), "
[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Vocк despejou {FFFFFF}%s {46FE00}com sucesso, ele deve te procurar para saber o motivo.", CasaI[Casa][Locador]);
            SCM(playerid, -1, string2);
            new Nome2[MAX_PLAYER_NAME];
            GetPlayerName(CasaI[Casa][Locador], Nome2, MAX_PLAYER_NAME);
            new StringLog[ 700 ], Nome3[MAX_PLAYER_NAME]; GetPlayerName(playerid, Nome3, MAX_PLAYER_NAME);
            format(StringLog, sizeof(StringLog), "
O jogador %s[%d], despejou o locador %s da casa %d.", Nome3, playerid, Nome2, Casa);
            EscreverLog(LogCasas, StringLog);
            format(ArquivoLocador, sizeof(ArquivoLocador), "
LHouse/Locadores/%s.txt", CasaI[Casa][Locador]);
            format(ArquivoCasa, sizeof(ArquivoCasa), "
LHouse/Casas/Casa %d.txt", Casa);
            DOF2_RemoveFile(ArquivoLocador);
            format(CasaI[Casa][Locador], 24, "
Ninguem");
            DOF2_SetString(ArquivoCasa, "
Locador", "Ninguem");
            return 1;
        }
        case DialogVendaCasaPlayer:
        {
            if(!response)
            {
                MostrarDialogMenuCasa(playerid);
                return 1;
            }
            new giveid;
            if(sscanf(inputtext, "
u", giveid))
            {
                GetPlayerPos(playerid, X, Y, Z);
                PlayerPlaySound(playerid, 1085, X, Y, Z);
                ShowPlayerDialog(playerid, DialogVendaCasaPlayer, DIALOG_STYLE_INPUT, "
{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Digite o ID/Nome do player abaixo, й possнvel utilizar parte do nick quanto ID do player\n", "Prуximo", "Cancelar");
                return 1;
            }
            if(!IsPlayerConnected(giveid))
            {
                GetPlayerPos(playerid, X, Y, Z);
                PlayerPlaySound(playerid, 1085, X, Y, Z);
                SCM(playerid, ErroCor, "
{F90700}[ ERRO ] {FFFFFF}Jogador nгo conectado!");
                ShowPlayerDialog(playerid, DialogVendaCasaPlayer, DIALOG_STYLE_INPUT, "
{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Digite o ID/Nome do player abaixo, й possнvel utilizar parte do nick quanto ID do player\n", "Prуximo", "Cancelar");
                return 1;
            }
            new ArquivoLocador[ 200 ], ArquivoDono[ 200 ];
            GetPlayerName(giveid, Nome, MAX_PLAYER_NAME);
            format(ArquivoLocador, sizeof(ArquivoLocador), "
LHouse/Locadores/%s.txt", Nome);
            format(ArquivoDono, sizeof(ArquivoDono), "
LHouse/Donos/%s.txt", Nome);
            if(DOF2_FileExists(ArquivoLocador))
            {
                GetPlayerPos(playerid, X, Y, Z);
                PlayerPlaySound(playerid, 1085, X, Y, Z);
                SCM(playerid, ErroCor, "
{F90700}[ ERRO ] {FFFFFF}Este player jб й locador de uma casa!");
                ShowPlayerDialog(playerid, DialogVendaCasaPlayer, DIALOG_STYLE_INPUT, "
{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Digite o ID/Nome do player abaixo, й possнvel utilizar parte do nick quanto ID do player\n", "Prуximo", "Cancelar");
                return 1;
            }
            if(DOF2_FileExists(ArquivoDono))
            {
                GetPlayerPos(playerid, X, Y, Z);
                PlayerPlaySound(playerid, 1085, X, Y, Z);
                SCM(playerid, ErroCor, "
{F90700}[ ERRO ] {FFFFFF}Este player jб й dono de uma casa!");
                ShowPlayerDialog(playerid, DialogVendaCasaPlayer, DIALOG_STYLE_INPUT, "
{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Digite o ID/Nome do player abaixo, й possнvel utilizar parte do nick quanto ID do player\n", "Prуximo", "Cancelar");
                return 1;
            }
            if(playerid == giveid)
            {
                GetPlayerPos(playerid, X, Y, Z);
                PlayerPlaySound(playerid, 1085, X, Y, Z);
                SCM(playerid, ErroCor, "
{F90700}[ ERRO ] {FFFFFF}Vocк nгo pode vender a casa para vocк mesmo!");
                ShowPlayerDialog(playerid, DialogVendaCasaPlayer, DIALOG_STYLE_INPUT, "
{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Digite o ID/Nome do player abaixo, й possнvel utilizar parte do nick quanto ID do player\n", "Prуximo", "Cancelar");
                return 1;
            }
            PlayerReceberCasa = giveid;
            GetPlayerName(giveid, Nome, MAX_PLAYER_NAME);
            ShowPlayerDialog(playerid, DialogVendaCasaPlayer2, DIALOG_STYLE_INPUT, "
{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Agora digite o preзo abaixo e aguarde a confirmaзгo\n{FFFFFF}Use somente nъmeros.\n", "Prуximo", "Cancelar");
        }
        case DialogVendaCasaPlayer2:
        {
            new PrecoCasaVenda;
            if(!response)
            {
                MostrarDialogMenuCasa(playerid);
                return 1;
            }
            if(sscanf(inputtext, "
d", PrecoCasaVenda))
            {
                GetPlayerPos(playerid, X, Y, Z);
                PlayerPlaySound(playerid, 1085, X, Y, Z);
                ShowPlayerDialog(playerid, DialogVendaCasaPlayer2, DIALOG_STYLE_INPUT, "
{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Agora digite o preзo abaixo\n{FFFFFF}Use somente nъmeros.\n", "Prуximo", "Cancelar");
                return 1;}
Reply
#2

pawn Код:
//=========================================== [ STOCKS ] =============================//
stock MostrarMenuAdministrativo(playerid)
{
    new stringcat[1200];
    strcat(stringcat, "Visualizar interior\n");
    strcat(stringcat, "Alterar Preзo\n");
    strcat(stringcat, "Alterar Preзo Aluguel\n");
    strcat(stringcat, "Alterar Interior\n");
    strcat(stringcat, "Alterar Status\n");
    strcat(stringcat, "Mudar dono\n");
    strcat(stringcat, "Criar Carro\n");
    strcat(stringcat, "{FD0100}Vender Casa\n");
    strcat(stringcat, "{FD0100}Deletar Casa\n");
    ShowPlayerDialog(playerid, DialogEditarCasa, DIALOG_STYLE_LIST, "Menu Administrativo", stringcat, "Selecionar", "Cancelar");
    return 1;
}

stock MostrarDialogMenuCasa(playerid)
{
    GetPlayerName(playerid, Nome, 24);
    new Casa = ObterCasa(playerid);
    new stringcat[1200];
    if(!strcmp(CasaI[Casa][Dono], "Ninguem", true))
    {
        strcat(stringcat, "Comprar Casa\n");
        ShowPlayerDialog(playerid, DialogMenuCasaVenda, DIALOG_STYLE_LIST, "Menu Casa", stringcat, "Selecionar", "Cancelar");
        TogglePlayerControllable(playerid, 0);
    }
    else if(!strcmp(CasaI[Casa][Dono], Nome, true))
    {
        strcat(stringcat, "{00FAF7}Entrar em casa\n");
        strcat(stringcat, "{09FD00}Ativar{FFFFFF}/{FD0300}Desativar {FFFFFF}aluguel da casa\n");
        strcat(stringcat, "{09FD00}Trancar{FFFFFF}/{FD0300}Destrancar {FFFFFF}a casa\n");
        strcat(stringcat, "Comprar um carro para a casa\n");
        strcat(stringcat, "Vender sua casa\n");
        strcat(stringcat, "Vender sua casa para um player\n");
        strcat(stringcat, "Despejar Locador\n");
        if(CarroI[Casa][CarroModelo] != 0)
        {
            strcat(stringcat, "{00FAF7}MENU CARRO\n");
        }
        ShowPlayerDialog(playerid, DialogMenuCasaDono, DIALOG_STYLE_LIST, "Menu Casa", stringcat, "Selecionar", "Cancelar");
        TogglePlayerControllable(playerid, 0);
    }
    else if(strcmp(CasaI[Casa][Dono], Nome, true))
    {
        if(CasaI[Casa][AluguelAtivado] == 1)
        {
            if(strcmp(CasaI[Casa][Locador], Nome, true))
            {
                strcat(stringcat, "{00FAF7}Entrar na casa\n");
                strcat(stringcat, "Alugar casa\n");
                ShowPlayerDialog(playerid, DialogVisitanteLocando, DIALOG_STYLE_LIST, "Menu Casa", stringcat, "Selecionar", "Cancelar");
                TogglePlayerControllable(playerid, 0);
                return 1;
            }
            else
            {
                strcat(stringcat, "{00FAF7}Entrar em casa\n");
                strcat(stringcat, "{09FD00}Trancar{FFFFFF}/{FD0300}Destrancar {FFFFFF}a casa\n");
                strcat(stringcat, "{FD0100}Desalugar\n");
                ShowPlayerDialog(playerid, DialogMenuCasaLocador, DIALOG_STYLE_LIST, "Menu Casa", stringcat, "Selecionar", "Cancelar");
                TogglePlayerControllable(playerid, 0);
            }
        }
        else
        {
            ShowPlayerDialog(playerid, DialogVisitante, DIALOG_STYLE_MSGBOX, "Menu Casa", "{46FE00}Vocк deseja entrar nesta casa?", "Sim", "Nгo");
            TogglePlayerControllable(playerid, 0);
            return 1;
        }
    }
    new StringLog[ 700 ], Nome3[MAX_PLAYER_NAME]; GetPlayerName(playerid, Nome3, MAX_PLAYER_NAME);
    format(StringLog, sizeof(StringLog), "O jogador %s[%d], abriu o menu da casa %d.", Nome3, playerid, Casa);
    EscreverLog(LogCasas, StringLog);
    return 1;
}

stock MostrarDialogCriarCasa(playerid)
{
    if(!IsPlayerAdmin(playerid))
    {
        TextDrawShowForPlayer(playerid, SemAuto);
        SetTimerEx("EsconderTds", 2000, false, "i", playerid);
        GetPlayerPos(playerid, X, Y, Z);
        PlayerPlaySound(playerid, 1085, X, Y, Z);
        return 1;
    }
    new stringcat[1200];
    strcat(stringcat, "Interior {FB1300}1 {25F700}- {FCEC00}6 {FFFFFF}Comodos {25F700}- {00EAFA}R$ 65.000,00 \n");
    strcat(stringcat, "Interior {FB1300}2 {25F700}- {FCEC00}3 {FFFFFF}Comodos {25F700}- {00EAFA}R$ 37.000,00 \n");
    strcat(stringcat, "Interior {FB1300}3 {25F700}- {FCEC00}3 {FFFFFF}Comodos {25F700}- {00EAFA}R$ 37.000,00 \n");
    strcat(stringcat, "Interior {FB1300}4 {25F700}- {FCEC00}1 {FFFFFF}Comodo  {25F700}- {00EAFA}R$ 20.000,00 \n");
    strcat(stringcat, "Interior {FB1300}5 {25F700}- {FCEC00}1 {FFFFFF}Comodo  {25F700}- {00EAFA}R$ 20.000,00 \n");
    strcat(stringcat, "Interior {FB1300}6 {25F700}- {FCEC00}3 {FFFFFF}Comodos {25F700}- {00EAFA}R$ 150.000,00 {FFFFFF}| (Casa do CJ)\n");
    strcat(stringcat, "Interior {FB1300}7 {25F700}- {FCEC00}5 {FFFFFF}Comodos {25F700}- {00EAFA}R$ 320.000,00 \n");
    strcat(stringcat, "Interior {FB1300}8 {25F700}- {FCEC00}7 {FFFFFF}Comodos {25F700}- {00EAFA}R$ 120.000,00 \n");
    strcat(stringcat, "Interior {FB1300}9 {25F700}- {FCEC00}4 {FFFFFF}Comodos {25F700}- {00EAFA}R$ 95.000,00 \n");
    strcat(stringcat, "Interior {FB1300}10 {25F700}- {FCEC00}Muitos {FFFFFF}Comodos {25F700}- {00EAFA}R$ 1.200.000,00 {FFFFFF}| (Casa do Madd Dog)\n");
    strcat(stringcat, "Interior {FB1300}11 {25F700}- {FCEC00}7 {FFFFFF}Comodos {25F700}- {00EAFA}R$ 660.000,00 \n");
    ShowPlayerDialog(playerid, DialogCriarCasa, DIALOG_STYLE_LIST,"Criando Casa", stringcat, "Continuar", "Cancelar");
    return 1;
}

stock CriarCasa(casaid, Float:IconeX, Float:IconeY, Float:IconeZ, Float:InteriorX, Float:InteriorY, Float:InteriorZ, Float:InteriorFA, ValorCasa, InteriorCasa)
{
    new Arquivo[100];
    format(Arquivo, sizeof(Arquivo), "LHouse/Casas/Casa %d.txt", casaid);
    if(!DOF2_FileExists(Arquivo))
    {
        DOF2_CreateFile(Arquivo);
        CasaI[casaid][CasaX] = IconeX;
        CasaI[casaid][CasaY] = IconeY;
        CasaI[casaid][CasaZ] = IconeZ;
        CasaI[casaid][IntX] = InteriorX;
        CasaI[casaid][IntY] = InteriorY;
        CasaI[casaid][IntZ] = InteriorZ;
        CasaI[casaid][IntFA] = InteriorFA;
        CasaI[casaid][Interior] = InteriorCasa;
        CasaI[casaid][Preco] = ValorCasa;
        CasaI[casaid][VirtualWorld] = casaid;
        CasaI[casaid][Status] = 1;
        CasaI[casaid][AluguelAtivado] = 0;
        CasaI[casaid][AluguelPreco] = 0;
        CarroI[casaid][CarroCasa] = 0;
        CarroI[casaid][CarroModelo] = 0;
        CarroI[casaid][CarroX] = 0;
        CarroI[casaid][CarroY] = 0;
        CarroI[casaid][CarroZ] = 0;
        CarroI[casaid][CarroCor1] = 0;
        CarroI[casaid][CarroCor2] = 0;
        CarroI[casaid][PrecoCarro] = 0;
        DOF2_SetInt(Arquivo, "ID", casaid);
        DOF2_SetInt(Arquivo, "Preзo", ValorCasa);
        format(CasaI[casaid][Dono], 24, "Ninguem");
        DOF2_SetString(Arquivo, "Dono", "Ninguem");
        format(CasaI[casaid][Locador], 24, "Ninguem");
        DOF2_SetString(Arquivo, "Locador", "Ninguem");
        DOF2_SetInt(Arquivo, "Status", 1);
        DOF2_SetInt(Arquivo, "Interior", InteriorCasa);
        DOF2_SetFloat(Arquivo, "PosX", IconeX);
        DOF2_SetFloat(Arquivo, "PosY", IconeY);
        DOF2_SetFloat(Arquivo, "PosZ", IconeZ);
        DOF2_SetFloat(Arquivo, "InteriorX", InteriorX);
        DOF2_SetFloat(Arquivo, "InteriorY", InteriorY);
        DOF2_SetFloat(Arquivo, "InteriorZ", InteriorZ);
        DOF2_SetFloat(Arquivo, "InteriorFA", InteriorFA);
        DOF2_SetInt(Arquivo, "VirtualWorld", casaid);
        DOF2_SetInt(Arquivo, "AluguelAtivado", 0);
        DOF2_SetInt(Arquivo, "AluguelPreзo", 0);
        DOF2_SetInt(Arquivo, "ModeloCarro", 0);
        DOF2_SetFloat(Arquivo, "CarroX", 0);
        DOF2_SetFloat(Arquivo, "CarroY", 0);
        DOF2_SetFloat(Arquivo, "CarroZ", 0);
        DOF2_SetFloat(Arquivo, "Angulo", 0);
        DOF2_SetInt(Arquivo, "Cor1", 0);
        DOF2_SetInt(Arquivo, "Cor2", 0);
        DOF2_SetInt(Arquivo, "Valor", 0);
        DOF2_SaveFile();
    }
    else
    {
        CasaI[casaid][Preco] = DOF2_GetInt(Arquivo, "Preзo");
        CasaI[casaid][CasaX] = DOF2_GetFloat(Arquivo, "PosX");
        CasaI[casaid][CasaY] = DOF2_GetFloat(Arquivo, "PosY");
        CasaI[casaid][CasaZ] = DOF2_GetFloat(Arquivo, "PosZ");
        CasaI[casaid][IntX] = DOF2_GetFloat(Arquivo, "InteriorX");
        CasaI[casaid][IntY] = DOF2_GetFloat(Arquivo, "InteriorY");
        CasaI[casaid][IntZ] = DOF2_GetFloat(Arquivo, "InteriorZ");
        CasaI[casaid][Interior] = DOF2_GetInt(Arquivo, "Interior");
        CasaI[casaid][Status] = DOF2_GetInt(Arquivo, "Status");
        CasaI[casaid][AluguelAtivado] = DOF2_GetInt(Arquivo, "AluguelAtivado");
        CasaI[casaid][AluguelPreco] = DOF2_GetInt(Arquivo, "AluguelPreзo");
        CasaI[casaid][VirtualWorld] = DOF2_GetInt(Arquivo, "VirtualWorld");
        format(CasaI[casaid][Dono], 24, DOF2_GetString(Arquivo, "Dono"));
        format(CasaI[casaid][Locador], 24, DOF2_GetString(Arquivo, "Locador"));
    }
    new NomeStatus[20], NomeAluguel[20], textlabel[200];
    if(!strcmp(CasaI[casaid][Dono], "Ninguem", true))
    {
        PickupEntradaCasa[casaid] = CreateDynamicPickup(1273, 1, CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ]);
        PickupSaidaCasa[casaid] = CreateDynamicPickup(1318, 1, CasaI[casaid][IntX], CasaI[casaid][IntY], CasaI[casaid][IntZ]);
        MapIconCasa[casaid] = CreateDynamicMapIcon(CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ], 31, -1, -1, 0, -1, 100.0);
        if(CasaI[casaid][Status] == 1) NomeStatus = "Trancada";
        else if(CasaI[casaid][Status] == 0) NomeStatus = "Destrancada";
        format(textlabel, sizeof(textlabel), TextCasaVenda, CasaI[casaid][Dono], CasaI[casaid][Preco], NomeStatus, casaid);
        LabelCasa[casaid] = CreateDynamic3DTextLabel(textlabel, -1, CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ], 20.0);
    }
    else
    {
        if(CasaI[casaid][AluguelAtivado] == 1)
        {
            PickupEntradaCasa[casaid] = CreateDynamicPickup(1272, 1, CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ]);
            PickupSaidaCasa[casaid] = CreateDynamicPickup(1318, 1, CasaI[casaid][IntX], CasaI[casaid][IntY], CasaI[casaid][IntZ]);
            MapIconCasa[casaid] = CreateDynamicMapIcon(CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ], 32, -1, -1, 0, -1, 100.0);
            if(CasaI[casaid][Status] == 1) NomeStatus = "Trancada";
            else if(CasaI[casaid][Status] == 0) NomeStatus = "Destrancada";
            format(textlabel, sizeof(textlabel), TextCasaAluguel, CasaI[casaid][Dono], CasaI[casaid][Locador], CasaI[casaid][AluguelPreco], NomeStatus, casaid);
            LabelCasa[casaid] = CreateDynamic3DTextLabel(textlabel, -1, CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ], 20.0);
            return 1;
        }
        else
        {
            PickupEntradaCasa[casaid] = CreateDynamicPickup(1272, 1, CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ]);
            PickupSaidaCasa[casaid] = CreateDynamicPickup(1318, 1, CasaI[casaid][IntX], CasaI[casaid][IntY], CasaI[casaid][IntZ]);
            MapIconCasa[casaid] = CreateDynamicMapIcon(CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ], 32, -1, -1, 0, -1, 100.0);
            if(CasaI[casaid][Status] == 1) NomeStatus = "Trancada";
            else if(CasaI[casaid][Status] == 0) NomeStatus = "Destrancada";
            if(CasaI[casaid][AluguelAtivado] == 1) NomeAluguel = "Ativado";
            else if(CasaI[casaid][AluguelAtivado] == 0) NomeAluguel = "Desativado";
            format(textlabel, sizeof(textlabel), TextCasa, CasaI[casaid][Dono], NomeAluguel, NomeStatus, casaid);
            LabelCasa[casaid] = CreateDynamic3DTextLabel(textlabel, -1, CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ], 20.0);
            return 1;
        }
    }
    new StringLog[ 700 ];
    Iter_Add(Casas, casaid);
    format(StringLog, sizeof(StringLog), "-------- A CASA DE ID %d FOI CRIADA COM SUCESSO! --------", casaid);
    EscreverLog(LogSystem, StringLog);
    return 1;
}

public SalvarCasas()
{
    new Arquivo[200];
    foreach(new casaid : Casas)
    {
        format(Arquivo, sizeof(Arquivo), "LHouse/Casas/Casa %d.txt", casaid);
        if(DOF2_FileExists(Arquivo))
        {
            DOF2_SetInt(Arquivo, "ID", casaid);
            DOF2_SetInt(Arquivo, "Preзo", CasaI[casaid][Preco]);
            DOF2_SetString(Arquivo, "Dono", CasaI[casaid][Dono]);
            DOF2_SetString(Arquivo, "Locador", CasaI[casaid][Locador]);
            DOF2_SetInt(Arquivo, "Status", CasaI[casaid][Status]);
            DOF2_SetInt(Arquivo, "Interior", CasaI[casaid][Interior]);
            DOF2_SetFloat(Arquivo, "PosX", CasaI[casaid][CasaX]);
            DOF2_SetFloat(Arquivo, "PosY", CasaI[casaid][CasaY]);
            DOF2_SetFloat(Arquivo, "PosZ", CasaI[casaid][CasaZ]);
            DOF2_SetFloat(Arquivo, "InteriorX", CasaI[casaid][IntX]);
            DOF2_SetFloat(Arquivo, "InteriorY", CasaI[casaid][IntY]);
            DOF2_SetFloat(Arquivo, "InteriorZ", CasaI[casaid][IntZ]);
            DOF2_SetFloat(Arquivo, "InteriorFA", CasaI[casaid][IntFA]);
            DOF2_SetInt(Arquivo, "VirtualWorld", CasaI[casaid][VirtualWorld]);
            DOF2_SetInt(Arquivo, "AluguelAtivado", CasaI[casaid][AluguelAtivado]);
            DOF2_SetInt(Arquivo, "AluguelPreзo", CasaI[casaid][AluguelPreco]);
            DOF2_SetInt(Arquivo, "ModeloCarro", CarroI[casaid][CarroModelo]);
            DOF2_SetFloat(Arquivo, "CarroX", CarroI[casaid][CarroX]);
            DOF2_SetFloat(Arquivo, "CarroY", CarroI[casaid][CarroY]);
            DOF2_SetFloat(Arquivo, "CarroZ", CarroI[casaid][CarroZ]);
            DOF2_SetFloat(Arquivo, "Angulo", CarroI[casaid][Angulo]);
            DOF2_SetInt(Arquivo, "Cor1", CarroI[casaid][CarroCor1]);
            DOF2_SetInt(Arquivo, "Cor2", CarroI[casaid][CarroCor2]);
            DOF2_SetInt(Arquivo, "StatusCarro", CarroI[casaid][StatusCarro]);
            DOF2_SetInt(Arquivo, "Valor", CarroI[casaid][PrecoCarro]);
            DOF2_SetInt(Arquivo, "TempoRespawn", CarroI[casaid][TempoRespawn]);
            DOF2_SetString(Arquivo, "Placa", CarroI[casaid][PlacaCarro]);
            return 1;
        }
    }
    return 1;
}

public SalvarCasa(casaid)
{
    new Arquivo[200];
    format(Arquivo, sizeof(Arquivo), "LHouse/Casas/Casa %d.txt", casaid);
    if(DOF2_FileExists(Arquivo))
    {
        DOF2_SetInt(Arquivo, "ID", casaid);
        DOF2_SetInt(Arquivo, "Preзo", CasaI[casaid][Preco]);
        DOF2_SetString(Arquivo, "Dono", CasaI[casaid][Locador]);
        DOF2_SetString(Arquivo, "Locador", CasaI[casaid][Locador]);
        DOF2_SetInt(Arquivo, "Status", CasaI[casaid][Status]);
        DOF2_SetInt(Arquivo, "Interior", CasaI[casaid][Interior]);
        DOF2_SetFloat(Arquivo, "PosX", CasaI[casaid][CasaX]);
        DOF2_SetFloat(Arquivo, "PosY", CasaI[casaid][CasaY]);
        DOF2_SetFloat(Arquivo, "PosZ", CasaI[casaid][CasaZ]);
        DOF2_SetFloat(Arquivo, "InteriorX", CasaI[casaid][IntX]);
        DOF2_SetFloat(Arquivo, "InteriorY", CasaI[casaid][IntY]);
        DOF2_SetFloat(Arquivo, "InteriorZ", CasaI[casaid][IntZ]);
        DOF2_SetFloat(Arquivo, "InteriorFA", CasaI[casaid][IntFA]);
        DOF2_SetInt(Arquivo, "VirtualWorld", CasaI[casaid][VirtualWorld]);
        DOF2_SetInt(Arquivo, "AluguelAtivado", CasaI[casaid][AluguelAtivado]);
        DOF2_SetInt(Arquivo, "AluguelPreзo", CasaI[casaid][AluguelPreco]);
        DOF2_SetInt(Arquivo, "ModeloCarro", CarroI[casaid][CarroModelo]);
        DOF2_SetFloat(Arquivo, "CarroX", CarroI[casaid][CarroX]);
        DOF2_SetFloat(Arquivo, "CarroY", CarroI[casaid][CarroY]);
        DOF2_SetFloat(Arquivo, "CarroZ", CarroI[casaid][CarroZ]);
        DOF2_SetFloat(Arquivo, "Angulo", CarroI[casaid][Angulo]);
        DOF2_SetInt(Arquivo, "Cor1", CarroI[casaid][CarroCor1]);
        DOF2_SetInt(Arquivo, "Cor2", CarroI[casaid][CarroCor2]);
        DOF2_SetInt(Arquivo, "StatusCarro", CarroI[casaid][StatusCarro]);
        DOF2_SetInt(Arquivo, "Valor", CarroI[casaid][PrecoCarro]);
        DOF2_SetInt(Arquivo, "TempoRespawn", CarroI[casaid][TempoRespawn]);
        DOF2_SetString(Arquivo, "Placa", CarroI[casaid][PlacaCarro]);
        return 1;
    }
    return 1;
}

stock CriarCarroCasa(casaid, modeloid, Float:CarroPosX, Float:CarroPosY, Float:CarroPosZ, Float:AnguloPos, ValorCarro, Cor1, Cor2, temporespawn)
{
    new Arquivo[100];
    format(Arquivo, sizeof(Arquivo), "LHouse/Casas/Casa %d.txt", casaid);
    if(DOF2_FileExists(Arquivo))
    {
        if(DOF2_GetInt(Arquivo, "ModeloCarro") == 0)
        {
            CarroI[casaid][CarroModelo] = modeloid;
            CarroI[casaid][CarroX] = CarroPosX;
            CarroI[casaid][CarroY] = CarroPosY;
            CarroI[casaid][CarroZ] = CarroPosZ;
            CarroI[casaid][Angulo] = AnguloPos;
            CarroI[casaid][CarroCor1] = Cor1;
            CarroI[casaid][CarroCor2] = Cor2;
            CarroI[casaid][TempoRespawn] = temporespawn;
            CarroI[casaid][PrecoCarro] = ValorCarro;
            CarroI[casaid][StatusCarro] = 1;
            CarroI[casaid][PlacaCarro] = "LHouse S";
            DOF2_SetInt(Arquivo, "ModeloCarro", modeloid);
            DOF2_SetFloat(Arquivo, "CarroX", CarroPosX);
            DOF2_SetFloat(Arquivo, "CarroY", CarroPosY);
            DOF2_SetFloat(Arquivo, "CarroZ", CarroPosZ);
            DOF2_SetFloat(Arquivo, "Angulo", AnguloPos);
            DOF2_SetInt(Arquivo, "Cor1", Cor1);
            DOF2_SetInt(Arquivo, "Cor2", Cor2);
            DOF2_SetInt(Arquivo, "StatusCarro", 1);
            DOF2_SetInt(Arquivo, "Valor", ValorCarro);
            DOF2_SetInt(Arquivo, "TempoRespawn", temporespawn);
            DOF2_SetString(Arquivo, "Placa", CarroI[Casa][PlacaCarro]);
            DOF2_SaveFile();
            CarroI[casaid][CarroCasa] = CreateVehicle(CarroI[casaid][CarroModelo], CarroPosX, CarroPosY, CarroPosZ, AnguloPos, Cor1, Cor2, temporespawn);
        }
        else
        {
            CarroI[casaid][CarroModelo] = DOF2_GetInt(Arquivo, "ModeloCarro");
            CarroI[casaid][CarroX] = DOF2_GetInt(Arquivo, "CarroX");
            CarroI[casaid][CarroY] = DOF2_GetInt(Arquivo, "CarroY");
            CarroI[casaid][CarroZ] = DOF2_GetInt(Arquivo, "CarroZ");
            CarroI[casaid][Angulo] = DOF2_GetInt(Arquivo, "Angulo");
            CarroI[casaid][CarroCor1] = DOF2_GetInt(Arquivo, "Cor1");
            CarroI[casaid][CarroCor2] = DOF2_GetInt(Arquivo, "Cor2");
            CarroI[casaid][PrecoCarro] = DOF2_GetInt(Arquivo, "Valor");
            CarroI[casaid][StatusCarro] = DOF2_GetInt(Arquivo, "Valor");
            CarroI[casaid][TempoRespawn] = DOF2_GetInt(Arquivo, "StatusCarro");
            CarroI[casaid][PlacaCarro] = DOF2_GetString(Arquivo, "Placa");
            CarroI[casaid][CarroCasa] = CreateVehicle(CarroI[casaid][CarroModelo], CarroPosX, CarroPosY, CarroPosZ, AnguloPos, Cor1, Cor2, temporespawn);
            SetVehicleNumberPlate(CarroI[casaid][CarroCasa], CarroI[casaid][PlacaCarro]);
            new engine,lights,alarm,doors,bonnet,boot,objective;
            GetVehicleParamsEx(CarroI[casaid][CarroCasa], engine, lights, alarm, doors, bonnet, boot, objective);
            if(CarroI[casaid][StatusCarro] == 1)
            {
                SetVehicleParamsEx(CarroI[casaid][CarroCasa], engine, lights, alarm, 1, bonnet, boot, objective);
            }
            else
            {
                SetVehicleParamsEx(CarroI[casaid][CarroCasa], engine, lights, alarm, 0, bonnet, boot, objective);
            }
        }
    }
    new StringLog[ 700 ];
    format(StringLog, sizeof(StringLog), "-------- O CARRO DA CASA DE ID %d FOI CRIADO COM SUCESSO! --------", casaid);
    EscreverLog(LogSystem, StringLog);
    return 1;
}

stock ObterCasa(playerid)
{
    foreach(new i : Casas)
    {
        if(IsPlayerInRangeOfPoint(playerid, 2, CasaI[i][CasaX], CasaI[i][CasaY], CasaI[i][CasaZ]))
        {
            return i;
        }
        else if(IsPlayerInRangeOfPoint(playerid, 2, CasaI[i][IntX], CasaI[i][IntY], CasaI[i][IntZ]))
        {
            return i;
        }
    }
    return -255;
}

stock ObterCasaDono(playerid)
{
    new CaminhoArquivoDono[200], casa;
    GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
    format(CaminhoArquivoDono, sizeof(CaminhoArquivoDono), "LHouse/Donos/%s.txt", Nome);
    if(!DOF2_FileExists(CaminhoArquivoDono)) return -255;
    casa = DOF2_GetInt(CaminhoArquivoDono, "CasaID");
    return casa;
}

stock CriarCarrosCasasEx()
{
    new CarrosCriados;
    foreach(new Casas : Casas)
    {
        new CaminhoCarro[ 200 ];
        format(CaminhoCarro, sizeof(CaminhoCarro), "LHouse/Casas/Casa %d.txt", Casas);
        if(DOF2_GetInt(CaminhoCarro, "ModeloCarro") != 0)
        {
            CarroI[Casas][CarroModelo] = DOF2_GetInt(CaminhoCarro, "ModeloCarro");
            CarroI[Casas][CarroX] = DOF2_GetInt(CaminhoCarro, "CarroX");
            CarroI[Casas][CarroY] = DOF2_GetInt(CaminhoCarro, "CarroY");
            CarroI[Casas][CarroZ] = DOF2_GetInt(CaminhoCarro, "CarroZ");
            CarroI[Casas][Angulo] = DOF2_GetInt(CaminhoCarro, "Angulo");
            CarroI[Casas][CarroCor1] = DOF2_GetInt(CaminhoCarro, "Cor1");
            CarroI[Casas][CarroCor2] = DOF2_GetInt(CaminhoCarro, "Cor2");
            CarroI[Casas][PrecoCarro] = DOF2_GetInt(CaminhoCarro, "Valor");
            CarroI[Casas][TempoRespawn] = DOF2_GetInt(CaminhoCarro, "TempoRespawn");
            CarroI[Casas][StatusCarro] = DOF2_GetInt(CaminhoCarro, "StatusCarro");
            format(CarroI[Casas][PlacaCarro], 10, DOF2_GetString(CaminhoCarro, "Placa"));
            CarroI[Casas][CarroCasa] = CreateVehicle(CarroI[Casas][CarroModelo], CarroI[Casas][CarroX], CarroI[Casas][CarroY], CarroI[Casas][CarroZ], CarroI[Casas][Angulo], CarroI[Casas][CarroCor1], CarroI[Casas][CarroCor2], CarroI[Casas][TempoRespawn]);
            SetVehicleNumberPlate(CarroI[Casas][CarroCasa], CarroI[Casas][PlacaCarro]);
            CarrosCriados++;
            new NomeStatus[ 20 ];
            if(CarroI[Casas][StatusCarro] == 1) NomeStatus = "Trancado";
            else if(CarroI[Casas][StatusCarro] == 0) NomeStatus = "Destrancado";
            printf("|======================== CARRO %d ========================", Casas);
            printf("|                                                         ");
            printf("| X:                     %f.                       ", CarroI[Casas][CarroX]);
            printf("| Y:                     %f.                     ", CarroI[Casas][CarroY]);
            printf("| Z:                     %f.                        ", CarroI[Casas][CarroZ]);
            printf("| Cor1:                  %d.                               ", CarroI[Casas][CarroCor1]);
            printf("| Cor2:                  %d.                               ", CarroI[Casas][CarroCor2]);
            printf("| Placa:                 %s                           ", CarroI[Casas][PlacaCarro]);
            printf("|                                                         ");
            printf("| Status:                %s                      ", NomeStatus);
            printf("| Dono:                  %s                              ", CasaI[Casas][Dono]);
            printf("|                                                        ");
            new StringLog[ 700 ];
            format(StringLog, sizeof(StringLog), "-------- O CARRO DA CASA DE ID %d FOI CRIADO COM SUCESSO! --------", Casas);
            EscreverLog(LogSystem, StringLog);
            new engine,lights,alarm,doors,bonnet,boot,objective;
            GetVehicleParamsEx(CarroI[Casas][CarroCasa], engine, lights, alarm, doors, bonnet, boot, objective);
            if(CarroI[Casas][StatusCarro] == 1)
            {
                SetVehicleParamsEx(CarroI[Casas][CarroCasa], engine, lights, alarm, 1, bonnet, boot, objective);
            }
            else
            {
                SetVehicleParamsEx(CarroI[Casas][CarroCasa], engine, lights, alarm, 0, bonnet, boot, objective);
            }
        }
    }
    if(CarrosCriados == 0)
    {
        print("|                                                         ");
        print("| ATENЗГO: Nгo foi detectado nenhum carro de casa criado. ");
        print("|                                                         ");
        printf("|======================== LHOUSE =========================");
    }
    else
    {
        printf("|======================== LHOUSE =========================");
        printf("|                                                         ");
        printf("| Foram criados %d carros.                                 ", CarrosCriados);
        printf("|                                                         ");
        printf("|======================== LHOUSE =========================");
    }
    return 1;
}

stock CriarCasasEx()
{
    new casas;
    foreach(new casaid : Casas)
    {
        new Arquivo[ 200 ], NomeStatus[ 20 ], textlabel[ 250 ], NomeAluguel[ 20 ];
        format(Arquivo, sizeof(Arquivo), "LHouse/Casas/Casa %d.txt", casaid);
        if(DOF2_FileExists(Arquivo))
        {
            CasaI[casaid][Preco] = DOF2_GetInt(Arquivo, "Preзo");
            CasaI[casaid][AluguelAtivado] = DOF2_GetInt(Arquivo, "AluguelAtivado");
            CasaI[casaid][CasaX] = DOF2_GetFloat(Arquivo, "PosX");
            CasaI[casaid][CasaY] = DOF2_GetFloat(Arquivo, "PosY");
            CasaI[casaid][CasaZ] = DOF2_GetFloat(Arquivo, "PosZ");
            CasaI[casaid][IntX] = DOF2_GetFloat(Arquivo, "InteriorX");
            CasaI[casaid][IntY] = DOF2_GetFloat(Arquivo, "InteriorY");
            CasaI[casaid][IntZ] = DOF2_GetFloat(Arquivo, "InteriorZ");
            CasaI[casaid][VirtualWorld] = DOF2_GetInt(Arquivo, "VirtualWorld");
            CasaI[casaid][Interior] = DOF2_GetInt(Arquivo, "Interior");
            CasaI[casaid][Status] = DOF2_GetInt(Arquivo, "Status");
            CasaI[casaid][AluguelAtivado] = DOF2_GetInt(Arquivo, "AluguelAtivado");
            CasaI[casaid][AluguelPreco] = DOF2_GetInt(Arquivo, "AluguelPreзo");
            format(CasaI[casaid][Dono], 24, DOF2_GetString(Arquivo, "Dono"));
            format(CasaI[casaid][Locador], 24, DOF2_GetString(Arquivo, "Locador"));
            if(CasaI[casaid][Status] == 1) NomeStatus = "Trancada";
            else if(CasaI[casaid][Status] == 0) NomeStatus = "Destrancada";
            if(CasaI[casaid][AluguelAtivado] == 1) NomeAluguel = "Ativado";
            else if(CasaI[casaid][AluguelAtivado] == 0) NomeAluguel = "Desativado";
            casas++;
            printf("|========================= CASA %d ========================", casaid);
            printf("|                                                         ");
            printf("| X:                     %f.                     ", CasaI[casaid][CasaX]);
            printf("| Y:                     %f.                    ", CasaI[casaid][CasaY]);
            printf("| Z:                     %f.                      ", CasaI[casaid][CasaZ]);
            printf("| IntX:                  %f.                     ", CasaI[casaid][IntX]);
            printf("| IntY:                  %f.                    ", CasaI[casaid][IntY]);
            printf("| IntZ:                  %f.                     ", CasaI[casaid][IntZ]);
            printf("| VirtualWorld:          %d                                ", CasaI[casaid][VirtualWorld]);
            printf("| Interior:              %d                                ", CasaI[casaid][Interior]);
            printf("|                                                         ");
            printf("| Aluguel:               %s                       ", NomeAluguel);
            printf("| Status:                %s                         ", NomeStatus);
            printf("|                                                         ");
            printf("| Dono:                  %s                          ", CasaI[casaid][Dono]);
            printf("| Locador:               %s                          ", CasaI[casaid][Locador]);
            printf("|                                                         ");
            new StringLog[ 700 ];
            format(StringLog, sizeof(StringLog), "-------- A CASA DE ID %d FOI CRIADA COM SUCESSO! --------", casaid);
            EscreverLog(LogSystem, StringLog);
            if(!strcmp(CasaI[casaid][Dono], "Ninguem", true))
            {
                PickupEntradaCasa[casaid] = CreateDynamicPickup(1273, 1, CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ]);
                PickupSaidaCasa[casaid] = CreateDynamicPickup(1318, 1, CasaI[casaid][IntX], CasaI[casaid][IntY], CasaI[casaid][IntZ]);
                MapIconCasa[casaid] = CreateDynamicMapIcon(CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ], 31, -1, -1, 0, -1, 100.0);
                format(textlabel, sizeof(textlabel), TextCasaVenda, CasaI[casaid][Dono], CasaI[casaid][Preco], NomeStatus, casaid);
                LabelCasa[casaid] = CreateDynamic3DTextLabel(textlabel, -1, CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ], 20.0);
            }
            else
            {
                if(CasaI[casaid][AluguelAtivado] == 1)
                {
                    PickupEntradaCasa[casaid] = CreateDynamicPickup(1272, 1, CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ]);
                    PickupSaidaCasa[casaid] = CreateDynamicPickup(1318, 1, CasaI[casaid][IntX], CasaI[casaid][IntY], CasaI[casaid][IntZ]);
                    MapIconCasa[casaid] = CreateDynamicMapIcon(CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ], 32, -1, -1, 0, -1, 100.0);
                    format(textlabel, sizeof(textlabel), TextCasaAluguel, CasaI[casaid][Dono], CasaI[casaid][Locador], CasaI[casaid][AluguelPreco], NomeStatus, casaid);
                    LabelCasa[casaid] = CreateDynamic3DTextLabel(textlabel, -1, CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ], 20.0);
                }
                else
                {
                    PickupEntradaCasa[casaid] = CreateDynamicPickup(1272, 1, CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ]);
                    PickupSaidaCasa[casaid] = CreateDynamicPickup(1318, 1, CasaI[casaid][IntX], CasaI[casaid][IntY], CasaI[casaid][IntZ]);
                    MapIconCasa[casaid] = CreateDynamicMapIcon(CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ], 32, -1, -1, 0, -1, 100.0);
                    format(textlabel, sizeof(textlabel), TextCasa, CasaI[casaid][Dono], NomeAluguel, NomeStatus, casaid);
                    LabelCasa[casaid] = CreateDynamic3DTextLabel(textlabel, -1, CasaI[casaid][CasaX], CasaI[casaid][CasaY], CasaI[casaid][CasaZ], 20.0);
                }
            }
            Iter_Add(Casas, casaid);
        }
    }
    if(casas == 0)
    {
        printf("|======================== LHOUSE =========================");
        print("|                                                         ");
        print("| ATENЗГO: Nгo foi detectado nenhuma casa criada.         ");
        print("| Para criar uma, logue no servidor, entre na RCON        ");
        print("| e digite /criarcasa.                                    ");
        print("|                                                         ");
    }
    else
    {
        printf("|======================== LHOUSE =========================");
        printf("|                                                         ");
        printf("| Foram criadas %d casas.                                  ", casas);
        printf("|                                                         ");
    }
    return 1;
}

stock IsNumeric(const string[])
{
    for (new i = 0, j = strlen(string); i < j; i++)
    {
        if (string[i] > '9' || string[i] < '0') return 0;
    }
    return 1;
}

stock EntregarCarro(playerid)
{
    GetPlayerName(playerid, Nome, 24);
    new Casa = ObterCasaDono(playerid);
    new StringLog[ 700 ], Nome3[MAX_PLAYER_NAME]; GetPlayerName(playerid, Nome3, MAX_PLAYER_NAME);
    format(StringLog, sizeof(StringLog), "O jogador %s[%d], comprou um carro novo para a casa %d.", Nome3, playerid, Casa);
    EscreverLog(LogCarros, StringLog);
    #if LHOUSE_CITY == 1
        #if LHOUSE_MODO_ENTREGA == 0
            new rand = random(sizeof(SpawnRandomicoVeiculosLS));
            DefinindoCarroCasa[playerid] = 1;
            CarroDefinidoCasa[Casa] = CreateVehicle(CarroI[Casa][CarroModelo], SpawnRandomicoVeiculosLS[rand][0], SpawnRandomicoVeiculosLS[rand][1], SpawnRandomicoVeiculosLS[rand][2], SpawnRandomicoVeiculosLS[rand][3], 0, 0, 5*60);
            SetPlayerCheckpoint(playerid, SpawnRandomicoVeiculosLS[rand][0], SpawnRandomicoVeiculosLS[rand][1], SpawnRandomicoVeiculosLS[rand][2], 6);
            SCM(playerid, -1, "[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Seu carro foi marcado com um checkpoint, vб busca-lo!");
            return 1;
        #elseif LHOUSE_MODO_ENTREGA == 1
            new rand = random(sizeof(SpawnRandomicoVeiculosLS));
            DefinindoCarroCasa[playerid] = 1;
            CarroDefinidoCasa[Casa] = CreateVehicle(CarroI[Casa][CarroModelo], SpawnRandomicoVeiculosLS[rand][0], SpawnRandomicoVeiculosLS[rand][1], SpawnRandomicoVeiculosLS[rand][2], SpawnRandomicoVeiculosLS[rand][3], 0, 0, 5*60);
            PutPlayerInVehicle(playerid, CarroDefinidoCasa[Casa], 0);
            SCM(playerid, -1, "[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Estacione seu carro aonde quer que ele de spawn e digite {FFFFFF}/estacionar");
            return 1;
        #else
            new rand = random(sizeof(SpawnRandomicoVeiculosLS));
            DefinindoCarroCasa[playerid] = 1;
            CarroDefinidoCasa[Casa] = CreateVehicle(CarroI[Casa][CarroModelo], SpawnRandomicoVeiculosLS[rand][0], SpawnRandomicoVeiculosLS[rand][1], SpawnRandomicoVeiculosLS[rand][2], SpawnRandomicoVeiculosLS[rand][3], 0, 0, 5*60);
            SCM(playerid, -1, "[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Vб buscar seu carro na concessionбria grotti.");
            return 1;
        #endif
    #elseif LHOUSE_CITY == 2
        #if LHOUSE_MODO_ENTREGA == 0
            new rand = random(sizeof(SpawnRandomicoVeiculosSF));
            DefinindoCarroCasa[playerid] = 1;
            CarroDefinidoCasa[Casa] = CreateVehicle(CarroI[Casa][CarroModelo], SpawnRandomicoVeiculosSF[rand][0], SpawnRandomicoVeiculosSF[rand][1], SpawnRandomicoVeiculosSF[rand][2], SpawnRandomicoVeiculosSF[rand][3], 0, 0, 5*60);
            SetPlayerCheckpoint(playerid, SpawnRandomicoVeiculosSF[rand][0], SpawnRandomicoVeiculosSF[rand][1], SpawnRandomicoVeiculosSF[rand][2], 6);
            SCM(playerid, -1, "[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Seu carro foi marcado com um checkpoint, vб busca-lo!");
            return 1;
        #elseif LHOUSE_MODO_ENTREGA == 1
            new rand = random(sizeof(SpawnRandomicoVeiculosSF));
            DefinindoCarroCasa[playerid] = 1;
            CarroDefinidoCasa[Casa] = CreateVehicle(CarroI[Casa][CarroModelo], SpawnRandomicoVeiculosSF[rand][0], SpawnRandomicoVeiculosSF[rand][1], SpawnRandomicoVeiculosSF[rand][2], SpawnRandomicoVeiculosSF[rand][3], 0, 0, 5*60);
            PutPlayerInVehicle(playerid, CarroDefinidoCasa[Casa], 0);
            SCM(playerid, -1, "[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Estacione seu carro aonde quer que ele de spawn e digite {FFFFFF}/estacionar");
            return 1;
        #else
            new rand = random(sizeof(SpawnRandomicoVeiculosSF));
            DefinindoCarroCasa[playerid] = 1;
            CarroDefinidoCasa[Casa] = CreateVehicle(CarroI[Casa][CarroModelo], SpawnRandomicoVeiculosSF[rand][0], SpawnRandomicoVeiculosSF[rand][1], SpawnRandomicoVeiculosSF[rand][2], SpawnRandomicoVeiculosSF[rand][3], 0, 0, 5*60);
            SCM(playerid, -1, "[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Vб buscar seu carro na concessionбria Otto's Auto.");
            return 1;
        #endif
    #else
        #if LHOUSE_MODO_ENTREGA == 0
            new rand = random(sizeof(SpawnRandomicoVeiculosLV));
            DefinindoCarroCasa[playerid] = 1;
            CarroDefinidoCasa[Casa] = CreateVehicle(CarroI[Casa][CarroModelo], SpawnRandomicoVeiculosLV[rand][0], SpawnRandomicoVeiculosLV[rand][1], SpawnRandomicoVeiculosLV[rand][2], SpawnRandomicoVeiculosLV[rand][3], 0, 0, 5*60);
            SetPlayerCheckpoint(playerid, SpawnRandomicoVeiculosLV[rand][0], SpawnRandomicoVeiculosLV[rand][1], SpawnRandomicoVeiculosLV[rand][2], 6);
            SCM(playerid, -1, "[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Seu carro foi marcado com um checkpoint, vб busca-lo!");
            return 1;
       #elseif LHOUSE_MODO_ENTREGA == 1
            new rand = random(sizeof(SpawnRandomicoVeiculosLV));
            DefinindoCarroCasa[playerid] = 1;
            CarroDefinidoCasa[Casa] = CreateVehicle(CarroI[Casa][CarroModelo], SpawnRandomicoVeiculosLV[rand][0], SpawnRandomicoVeiculosLV[rand][1], SpawnRandomicoVeiculosLV[rand][2], SpawnRandomicoVeiculosLV[rand][3], 0, 0, 5*60);
            PutPlayerInVehicle(playerid, CarroDefinidoCasa[Casa], 0);
            SCM(playerid, -1, "[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Estacione seu carro aonde quer que ele de spawn e digite {FFFFFF}/estacionar");
            return 1;
        #else
            new rand = random(sizeof(SpawnRandomicoVeiculosLV));
            DefinindoCarroCasa[playerid] = 1;
            CarroDefinidoCasa[Casa] = CreateVehicle(CarroI[Casa][CarroModelo], SpawnRandomicoVeiculosLV[rand][0], SpawnRandomicoVeiculosLV[rand][1], SpawnRandomicoVeiculosLV[rand][2], SpawnRandomicoVeiculosLV[rand][3], 0, 0, 5*60);
            SCM(playerid, -1, "[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Vб buscar seu carro na Auto Bahn.");
            return 1;
        #endif
    #endif
}

stock Atualizar3DText(Casa)
{
    new NomeAluguel[20], textlabel[200], NomeStatus[20];
    if(!strcmp(CasaI[Casa][Dono], "Ninguem", true))
    {
        if(CasaI[Casa][Status] == 1) NomeStatus = "Trancada";
        else if(CasaI[Casa][Status] == 0) NomeStatus = "Destrancada";
        format(textlabel, sizeof(textlabel), TextCasaVenda, CasaI[Casa][Dono], CasaI[Casa][Preco], NomeStatus, Casa);
        UpdateDynamic3DTextLabelText(LabelCasa[Casa], -1, textlabel);
        return 1;
    }
    else if(strcmp(CasaI[Casa][Dono], "Ninguem", true))
    {
        if(CasaI[Casa][AluguelAtivado] == 1)
        {
            if(CasaI[Casa][Status] == 1) NomeStatus = "Trancada";
            else if(CasaI[Casa][Status] == 0) NomeStatus = "Destrancada";
            format(textlabel, sizeof(textlabel), TextCasaAluguel, CasaI[Casa][Dono], CasaI[Casa][Locador], CasaI[Casa][AluguelPreco], NomeStatus, Casa);
            UpdateDynamic3DTextLabelText(LabelCasa[Casa], -1, textlabel);
            return 1;
        }
        else
        {
            if(CasaI[Casa][Status] == 1) NomeStatus = "Trancada";
            else if(CasaI[Casa][Status] == 0) NomeStatus = "Destrancada";
            if(CasaI[Casa][AluguelAtivado] == 1) NomeAluguel = "Ativado";
            else if(CasaI[Casa][AluguelAtivado] == 0) NomeAluguel = "Desativado";
            format(textlabel, sizeof(textlabel), TextCasa, CasaI[Casa][Dono], NomeAluguel, NomeStatus, Casa);
            UpdateDynamic3DTextLabelText(LabelCasa[Casa], -1, textlabel);
            return 1;
        }
    }
    return 1;}
Reply
#3

alguem me ajuda?
Reply
#4

Na parte de compra da casa, use o GivePlayerMoney para debitar o preзo da casa
Reply
#5

Seu Anti-Money Hack deve estar ligado cara, ele geralmente detecta que alguem pegou dinheiro do alem e retira esse dinheiro
Reply
#6

mas nao tem anty hack --'
Reply
#7

Quote:
Originally Posted by aldair8
Посмотреть сообщение
mas nao tem anty hack --'
Ai depende, vocк conhece o GAMEMODE que vocк provavelmente baixou da net?
Reply
#8

Use isto:
Код:
pawn Code:
00}522 {25F700}- {FCEC00}NRG-500     {25F700}- {00EAFA}R$ 150.000,00 {FFFFFF} - MOTO\n");
                    ShowPlayerDialog(playerid, DialogModelosCarros, DIALOG_STYLE_LIST, "{46FE00}Escolha um modelo e clique em continuar.", stringcat, "Continuar", "Voltar");
                    TogglePlayerControllable(playerid, 1);
                }
                case 4:
                {
                    new string[ 250 ];
                    if(CarroI[Casa][CarroModelo] != 0)
                    {
                        GetPlayerPos(playerid, X, Y, Z);
                        PlayerPlaySound(playerid, 1085, X, Y, Z);
                        SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Sua casa casa tem um carro. Venda-o antes de vender sua casa.");
                        TogglePlayerControllable(playerid, 1);
                        return 1;
                    }
                    format(string, sizeof(string), "{46FE00}Vocк deseja vender sua casa por {FFFFFF}R$%d{46FE00}?\n", CasaI[Casa][Preco]/2);
                    ShowPlayerDialog(playerid, DialogVenderCasa, DIALOG_STYLE_MSGBOX, "{00F2FC}Vocк escolheu vender sua casa.", string, "Sim", "Nгo");
                    GivePlayerMoney(playerid,%d);//o player ganha o dinheiro da casa
                    TogglePlayerControllable(playerid, 1);
                }
                case 5:
                {
                    ShowPlayerDialog(playerid, DialogVendaCasaPlayer, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Digite o ID/Nome do player abaixo, й possнvel utilizar parte do nick quanto ID do player\n", "Prуximo", "Voltar");
                    TogglePlayerControllable(playerid, 1);
                }
                case 6:
                {
                    new string[ 250 ];
                    if(CasaI[Casa][AluguelAtivado] == 0)
                    {
                        GetPlayerPos(playerid, X, Y, Z);
                        PlayerPlaySound(playerid, 1085, X, Y, Z);
                        SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Sua casa casa nгo estб sendo alugada. Ative o aluguel antes.");
                        TogglePlayerControllable(playerid, 1);
                        return 1;
                    }
                    if(!strcmp(CasaI[Casa][Locador], "Ninguem", false))
                    {
                        GetPlayerPos(playerid, X, Y, Z);
                        PlayerPlaySound(playerid, 1085, X, Y, Z);
                        SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Nгo tem ninguйm alugando sua casa no momento.");
                        TogglePlayerControllable(playerid, 1);
                        return 1;
                    }
                    format(string, sizeof(string), "{46FE00}Vocк deseja despejar o locador {FFFFFF}%s{46FE00}, da sua casa?\n", CasaI[Casa][Locador]);
                    ShowPlayerDialog(playerid, DialogDespejarLocador, DIALOG_STYLE_MSGBOX, "{00F2FC}Vocк escolheu despejar o locador da sua casa.", string, "Sim", "Nгo");
                    TogglePlayerControllable(playerid, 1);
                }
                case 7:
                {
                    new stringcat[ 300 ];
                    strcat(stringcat, "Estacionar Carro\n");
                    strcat(stringcat, "Mudar cor do carro\n");
                    strcat(stringcat, "Escolher novo modelo\n");
                    strcat(stringcat, "Mudar Placa\n");
                    strcat(stringcat, "Rebocar Carro\n");
                    strcat(stringcat, "Vender Carro\n");
                    ShowPlayerDialog(playerid, DialogMenuCarro, DIALOG_STYLE_LIST, "Menu Carro", stringcat, "Selecionar", "Voltar");
                    TogglePlayerControllable(playerid, 1);
                    GivePlayerMoney(playerid,-DINHEIRO ESCOLHIDO PARA COMPRAR O CARRO - RECOMENDO 30k);
                }
            }
        }
        case DialogDespejarLocador:
        {
            if(!response)
            {
                MostrarDialogMenuCasa(playerid);
                return 1;
            }
            new Casa = ObterCasa(playerid);
            new ArquivoLocador[ 200 ], ArquivoCasa[ 200 ];
            if(IsPlayerConnected(CasaI[Casa][Locador]))
            {
                if(GetPlayerVirtualWorld(CasaI[Casa][Locador]) == Casa)
                {
                    SetPlayerPos(CasaI[Casa][Locador], CasaI[Casa][CasaX], CasaI[Casa][CasaY], CasaI[Casa][CasaZ]);
                    SetPlayerInterior(CasaI[Casa][Locador], 0);
                    GivePlayerMoney(playerid,-DINHEIRO ESCOLHIDO PARA COMPRAR O CARRO - RECOMENDO 30k);
                    SetPlayerVirtualWorld(CasaI[Casa][Locador], 0);
                }
            }
            new string[ 128 ], string2[ 128 ];
            format(string, sizeof(string), "[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Vocк foi despejado. Procure {FFFFFF}%s {46FE00}para saber o motivo.", CasaI[Casa][Dono]);
            SCM(CasaI[Casa][Locador], -1, string);
            format(string2, sizeof(string2), "[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Vocк despejou {FFFFFF}%s {46FE00}com sucesso, ele deve te procurar para saber o motivo.", CasaI[Casa][Locador]);
            SCM(playerid, -1, string2);
            new Nome2[MAX_PLAYER_NAME];
            GetPlayerName(CasaI[Casa][Locador], Nome2, MAX_PLAYER_NAME);
            new StringLog[ 700 ], Nome3[MAX_PLAYER_NAME]; GetPlayerName(playerid, Nome3, MAX_PLAYER_NAME);
            format(StringLog, sizeof(StringLog), "O jogador %s[%d], despejou o locador %s da casa %d.", Nome3, playerid, Nome2, Casa);
            EscreverLog(LogCasas, StringLog);
            format(ArquivoLocador, sizeof(ArquivoLocador), "LHouse/Locadores/%s.txt", CasaI[Casa][Locador]);
            format(ArquivoCasa, sizeof(ArquivoCasa), "LHouse/Casas/Casa %d.txt", Casa);
            DOF2_RemoveFile(ArquivoLocador);
            format(CasaI[Casa][Locador], 24, "Ninguem");
            DOF2_SetString(ArquivoCasa, "Locador", "Ninguem");
            return 1;
        }
        case DialogVendaCasaPlayer:
        {
            if(!response)
            {
                MostrarDialogMenuCasa(playerid);
                return 1;
            }
            new giveid;
            if(sscanf(inputtext, "u", giveid))
            {
                GetPlayerPos(playerid, X, Y, Z);
                PlayerPlaySound(playerid, 1085, X, Y, Z);
                ShowPlayerDialog(playerid, DialogVendaCasaPlayer, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Digite o ID/Nome do player abaixo, й possнvel utilizar parte do nick quanto ID do player\n", "Prуximo", "Cancelar");
                return 1;
            }
            if(!IsPlayerConnected(giveid))
            {
                GetPlayerPos(playerid, X, Y, Z);
                PlayerPlaySound(playerid, 1085, X, Y, Z);
                SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Jogador nгo conectado!");
                ShowPlayerDialog(playerid, DialogVendaCasaPlayer, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Digite o ID/Nome do player abaixo, й possнvel utilizar parte do nick quanto ID do player\n", "Prуximo", "Cancelar");
                return 1;
            }
            new ArquivoLocador[ 200 ], ArquivoDono[ 200 ];
            GetPlayerName(giveid, Nome, MAX_PLAYER_NAME);
            format(ArquivoLocador, sizeof(ArquivoLocador), "LHouse/Locadores/%s.txt", Nome);
            format(ArquivoDono, sizeof(ArquivoDono), "LHouse/Donos/%s.txt", Nome);
            if(DOF2_FileExists(ArquivoLocador))
            {
                GetPlayerPos(playerid, X, Y, Z);
                PlayerPlaySound(playerid, 1085, X, Y, Z);
                SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Este player jб й locador de uma casa!");
                ShowPlayerDialog(playerid, DialogVendaCasaPlayer, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Digite o ID/Nome do player abaixo, й possнvel utilizar parte do nick quanto ID do player\n", "Prуximo", "Cancelar");
                return 1;
            }
            if(DOF2_FileExists(ArquivoDono))
            {
                GetPlayerPos(playerid, X, Y, Z);
                PlayerPlaySound(playerid, 1085, X, Y, Z);
                SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Este player jб й dono de uma casa!");
                ShowPlayerDialog(playerid, DialogVendaCasaPlayer, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Digite o ID/Nome do player abaixo, й possнvel utilizar parte do nick quanto ID do player\n", "Prуximo", "Cancelar");
                return 1;
            }
            if(playerid == giveid)
            {
                GetPlayerPos(playerid, X, Y, Z);
                PlayerPlaySound(playerid, 1085, X, Y, Z);
                SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Vocк nгo pode vender a casa para vocк mesmo!");
                ShowPlayerDialog(playerid, DialogVendaCasaPlayer, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Digite o ID/Nome do player abaixo, й possнvel utilizar parte do nick quanto ID do player\n", "Prуximo", "Cancelar");
                return 1;
            }
            PlayerReceberCasa = giveid;
            GetPlayerName(giveid, Nome, MAX_PLAYER_NAME);
            ShowPlayerDialog(playerid, DialogVendaCasaPlayer2, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Agora digite o preзo abaixo e aguarde a confirmaзгo\n{FFFFFF}Use somente nъmeros.\n", "Prуximo", "Cancelar");
        }
        case DialogVendaCasaPlayer2:
        {
            new PrecoCasaVenda;
            if(!response)
            {
                MostrarDialogMenuCasa(playerid);
                return 1;
            }
            if(sscanf(inputtext, "d", PrecoCasaVenda))
            {
                GetPlayerPos(playerid, X, Y, Z);
                PlayerPlaySound(playerid, 1085, X, Y, Z);
                ShowPlayerDialog(playerid, DialogVendaCasaPlayer2, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu vender sua casa para um player.", "{46FE00}Agora digite o preзo abaixo\n{FFFFFF}Use somente nъmeros.\n", "Prуximo", "Cancelar");
                    GivePlayerMoney(playerid,%d);//%d й a quantidade que deposita na conta do cara
                return 1;}
Reply
#9

Cara Creio que isso FUncionarб melhor caso vc Integre ele no Gamemode Que vc usa atualmente!
Reply
#10

psy rock usar isso onde? como uma FS ou no Gamemod?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)