[Ajuda] [FS]LHouse 2.0
#1

Ta funcionando, criei a casa, mas nao consigo comprar escrevo /comprarcasa e nao compra, alguem sabe o comando?
alguem sabe todos os comandos desse FS?

[pawno]#include < a_samp >
#include < zcmd >
#include < DOF2 >
#include < sscanf >
#include < streamer >
#include < Losgs >

/*-----------------------------------------------------------------------------------------------------------------
| 1 - Los Santos |
| 2 - San Fierro |
| 3 - Las Venturas |
|------------------------------------------------------------------------------------------------------------------*/
#define LHOUSE_CITY 1

/*-----------------------------------------------------------------------------------------------------------------
| 0 - Ativa checkpoint pro player atй o carro |
| 1 - Teletransporta o player quando comprar o carro |
| 2 - Envia mensagem com a localizaзгo do carro |
|------------------------------------------------------------------------------------------------------------------*/
#define LHOUSE_MODO_ENTREGA 1

/*-----------------------------------------------------------------------------------------------------------------
| ID da tecla que ao ser pressionada perto do carro, irб ativar/desativar o alarme |
| Por padrгo a tecla й Y (65536) |
|------------------------------------------------------------------------------------------------------------------*/
#define KEY_ALARME 65536


//===================== [ DIALOGS ] ==========================//
#define DialogCriarCasa 1335
#define DialogModelosCarrosTroca 1336
#define DialogMenuCarro 1337
#define DialogEstacionarCarro 1338
#define DialogCorCarro 1339
#define DialogModelosCarros 1340
#define DialogVenderCarro 1341
#define DialogStatusCasa 1342
#define DialogVenderCasa 1343
#define DialogMudarSpawnCasa 1344
#define DialogEditarCasa 1345
#define DialogEditarPrecoCasa 1346
#define DialogEditarPrecoAluguel 1347
#define DialogEditarInteriorCasa 1348
#define DialogEditarIDCasa 1349
#define DialogMenuCasaLocador 1350
#define DialogMenuCasaAluguel 1351
#define DialogMenuCasaDono 1352
#define DialogMenuCasaVenda 1353
#define DialogAluguel 1354
#define DialogPrecoAluguel 1355
#define DialogVendaCasaPlayer 1356
#define DialogVendaCasaPlayer2 1357
#define DialogVendaCasaPlayer3 1358
#define DialogConfirmarVenda 1359
#define DialogAlterarPlaca 1360
#define DialogRebocarCarro 1361
#define DialogDeletarCasa 1362
#define DialogAlterarDono 1364
#define DialogAlterarDonoPT2 1365
#define DialogPerguntaAdm 1366
#define DialogVenderCasaAdm 1367
#define DialogVisitante 1368
#define DialogCasas 1369
#define DialogCasasVenda 1370
#define DialogCasasAluguel 1371
#define DialogModelosCCriados 1372
#define DialogConfirmarAluguel 1373
#define DialogDespejarLocador 1374
#define DialogConfirmarDesaluguel 1375
#define DialogVisitanteLocando 1376

//======================== [ CORES ] ==============================//
#define ErroCor 0xFF0000AA

//======================== [ DEFINES ] ===========================//
#define TextCasaVenda "[{00FBFA} CASA A VENDA {FFFFFF}]\n{00BC00}Dono da Casa: {F6F6F6}%s\n{00BC00}Preзo: {F6F6F6}$%d\n{00BC00}Status: {F6F6F6}%s\n{00BC00}Nъmero: {F6F6F6}%d"
#define TextCasa "{00BC00}Dono da Casa: {F6F6F6}%s\n{00BC00}Aluguel: {F6F6F6}%s\n{00BC00}Status: {F6F6F6}%s\n{00BC00}Nъmero: {F6F6F6}%d"
#define TextCasaAluguel "{00BC00}Dono da Casa: {F6F6F6}%s\n{00BC00}Locador: {F6F6F6}%s\n{00BC00}Preзo Aluguel: {F6F6F6}$%d\n{00BC00}Status: {F6F6F6}%s\n{00BC00}Nъmero: {F6F6F6}%d"

#define TextCarroCasa "[{00FBFA} CARRO CASA {FFFFFF}]\n{00BC00}Dono: {F6F6F6}%s\n{00BC00}Status: {F6F6F6}%s\n{00BC00}Nъmero: {F6F6F6}%d"

#define MAX_CASAS 100
#define SCM SendClientMessage
#define SCMTA SendClientMessageToAll

#define LogCasas "LHouse/Logs/Casas.log"
#define LogCarros "LHouse/Logs/Carros.log"
#define LogADM "LHouse/Logs/Administraзгo.log"
#define LogSystem "LHouse/Logs/Sistema.log"

enum CInfo
{
Dono[MAX_PLAYER_NAME],
Float:CasaX,
Float:CasaY,
Float:CasaZ,
Float:IntX,
Float:IntY,
Float:IntZ,
Float:IntFA,
CasaID,
Preco,
AluguelAtivado,
AluguelPreco,
Locador[MAX_PLAYER_NAME],
Interior,
VirtualWorld,
TotalAPagar,
TotalAReceber,
Status
};
new CasaI[MAX_CASAS][CInfo];

enum CasaCarro
{
CarroCasa,
CarroModelo,
Float:CarroX,
Float:CarroY,
Float:CarroZ,
Float:Angulo,
CarroCor1,
CarroCor2,
CarroNovo,
PrecoCarro,
StatusCarro,
PlacaCarro[9],
TempoRespawn
};
new CarroI[MAX_CASAS][CasaCarro];

new Float:SpawnRandomicoVeiculosLS[5][4] =
{
{562.1305, -1289.1633, 17.2482, 8.3140},
{555.0199, -1289.7725, 17.2482, 8.3140},
{545.4489, -1290.3143, 17.2422, 5.4940},
{537.9535, -1290.5930, 17.2422, 5.4940},
{531.6931, -1289.9067, 17.2422, 5.4940}
};

new Float:SpawnRandomicoVeiculosLV[5][4] =
{
{2148.9365, 1408.1271, 10.8203, 357.5897},
{2142.3223, 1408.1522, 10.8203, 0.4097},
{2135.7615, 1408.5500, 10.8203, 0.4097},
{2129.6689, 1408.9573, 10.8203, 0.4097},
{2122.9722, 1408.7527, 10.8125, 0.4097}
};

new Float:SpawnRandomicoVeiculosSF[5][4] =
{
{-1660.8989, 1214.8601, 6.8225, 254.6284},
{-1662.4044, 1220.4973, 13.2328, 244.6268},
{-1658.1219, 1211.8868, 13.2439, 253.0740},
{-1665.8286, 1206.1846, 20.7260, 297.6071},
{-1656.9680, 1214.9564, 20.7159, 214.0509}
};

#pragma unused SpawnRandomicoVeiculosLV
#pragma unused SpawnRandomicoVeiculosSF

new
IDCasaReceberCarro,
VendaVeiculo,
PickupEntradaCasa[MAX_CASAS],
PickupSaidaCasa[MAX_CASAS],
MapIconCasa[MAX_CASAS],
Text3D:LabelCasa[MAX_CASAS],
Text3D:LabelCarro[MAX_CASAS],
SemLabel[MAX_CASAS],
Float:InteriorCasaX[MAX_PLAYERS],
Float:InteriorCasaY[MAX_PLAYERS],
Float:InteriorCasaZ[MAX_PLAYERS],
Float:InteriorCasaFA[MAX_PLAYERS],
PrecoCasaInt[MAX_PLAYERS],
InteriorCasaInt[MAX_PLAYERS],
DefinindoCarro[MAX_PLAYERS],
DefinindoCarroCasa[MAX_PLAYERS],
DefinindoCarroCasaPos[MAX_PLAYERS],
CarroDefinido[MAX_PLAYERS],
PlayerReceberCasa,
PrecoReceberCasa,
IDdaCasaSerVendida,
IDPlayerOferecendo,
Float:X,
Float:Y,
Float:Z,
hora, minuto, segundo,
SolicitouReboque[MAX_CASAS],
CarroDefinidoCasa[MAX_CASAS],
IDNovoDono,
Nome[MAX_PLAYER_NAME];

new
Text:CasaTrancada,
Text:CasaDestrancada,
Text:CarroTrancado,
Text:CarroDestrancado,
Text:AluguelDesativado,
Text:AluguelA,
Text:CarroVendido,
Text:CasaVendida,
Text:CasaEditada,
Text:BemVindo,
Text:VolteSempre,
Text:CasaCriada,
Text:SemAuto,
Text:CarroCriado,
Text:CasaDeletada,
Text:CarroComprado,
Text:CarroModificado;

//============================= [ FORWARDS ] ============================//
RebocarCarro();
EsconderTds(playerid);
CriarCCasa(playerid);
CobrarAluguel();
CriarLogs();
SalvarCasas();
SalvarCasa(casaid);
SpawnEmCasa(playerid);

//============================= [ PUBLICS ] ============================//
public OnPlayerEnterCheckpoint(playerid)
{
DisablePlayerCheckpoint(playerid);
return 1;
}

public OnPlayerDisconnect(playerid)
{
new Casa = ObterCasaDono(playerid);
if(DefinindoCarroCasa[playerid] == 1)
{
new StringLog[ 400 ];
GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], se desconectou e estava definindo o carro da casa %d", Nome, playerid, Casa);
EscreverLog(LogSystem, StringLog);
DestroyVehicle(CarroDefinidoCasa[Casa]);
}
return 1;
}

public SpawnEmCasa(playerid)
{
new Casa, CasaLocador;
GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
new ArquivoLocador[200], ArquivoCasa[200], ArquivoCasa2[200];
new CaminhoDono[ 200 ];
new StringLog[ 700 ];
format(CaminhoDono, sizeof(CaminhoDono), "LHouse/Donos/%s.txt", Nome);
Casa = DOF2_GetInt(CaminhoDono, "CasaID");
format(ArquivoLocador, sizeof(ArquivoLocador), "LHouse/Locadores/%s.txt", Nome);
CasaLocador = DOF2_GetInt(ArquivoLocador, "CasaID");
format(ArquivoCasa, sizeof(ArquivoCasa), "LHouse/Casas/Casa %d.txt", Casa);
format(ArquivoCasa2, sizeof(ArquivoCasa2), "LHouse/Casas/Casa %d.txt", CasaLocador);
if(DOF2_FileExists(CaminhoDono))
{
new valor1 = DOF2_GetInt(CaminhoDono, "ValorAreceber");
SetPlayerVirtualWorld(playerid, CasaI[Casa][VirtualWorld]);
SetPlayerPos(playerid, CasaI[Casa][IntX], CasaI[Casa][IntY], CasaI[Casa][IntZ]);
SetPlayerFacingAngle(playerid, CasaI[Casa][IntFA]);
SetPlayerInterior(playerid, CasaI[Casa][Interior]);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], foi spawnado na casa %d.", Nome, playerid, Casa);
EscreverLog(LogCasas, StringLog);
printf(StringLog);
if(valor1 != 0)
{
format(StringLog, sizeof(StringLog), "O jogador %s[%d], foi spawnado na casa %d, e coletou o aluguel de $%d.", Nome, playerid, Casa, CasaI[Casa][TotalAReceber]);
EscreverLog(LogCasas, StringLog);
GivePlayerMoney(playerid, CasaI[Casa][TotalAReceber]);
CasaI[Casa][TotalAReceber] = 0;
DOF2_SetInt(CaminhoDono, "ValorAreceber", CasaI[Casa][TotalAReceber]);
return 1;
}
return 1;
}
else if(DOF2_FileExists(ArquivoLocador))
{
new valor2 = DOF2_GetInt(ArquivoLocador, "ValorApagar");
SetPlayerVirtualWorld(playerid, CasaI[CasaLocador][VirtualWorld]);
SetPlayerPos(playerid, CasaI[CasaLocador][IntX], CasaI[CasaLocador][IntY], CasaI[CasaLocador][IntZ]);
SetPlayerFacingAngle(playerid, CasaI[CasaLocador][IntFA]);
SetPlayerInterior(playerid, CasaI[CasaLocador][Interior]);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], foi spawnado na casa %d.", Nome, playerid, CasaLocador);
EscreverLog(LogCasas, StringLog);
if(valor2 != 0)
{
if(GetPlayerMoney(playerid) < valor2)
{
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Vocк nгo tem dinheiro o suficiente para pagar o aluguel. Vocк foi despejado.");
format(CasaI[CasaLocador][Locador], 255, "Ninguem");
DOF2_SetString(ArquivoCasa2, "Locador", "Ninguem");
DOF2_RemoveFile(ArquivoLocador);
Atualizar3DText(CasaLocador);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], nгo tinha dinheiro o suficiente para pagar o aluguel da casa %d e foi despejado.", Nome, playerid, CasaLocador);
EscreverLog(LogCasas, StringLog);
return 1;
}
format(StringLog, sizeof(StringLog), "O jogador %s[%d], foi spawnado na casa %d e pagou $%d de aluguel.", Nome, playerid, CasaLocador, valor2);
EscreverLog(LogCasas, StringLog);
GivePlayerMoney(playerid, -valor2);
CasaI[CasaLocador][TotalAPagar] = 0;
DOF2_SetInt(ArquivoLocador, "ValorApagar", CasaI[CasaLocador][TotalAPagar]);
return 1;
}
return 1;
}
return 1;
}

public OnPlayerSpawn(playerid)
{
SetTimerEx("SpawnEmCasa", 500, false, "i", playerid);
return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_SECONDARY_ATTACK)
{
for(new Casa = 1; Casa < MAX_CASAS; Casa ++)
{
if(IsPlayerInRangeOfPoint(playerid, 1, CasaI[Casa][CasaX], CasaI[Casa][CasaY], CasaI[Casa][CasaZ]))
{
if(IsPlayerAdmin(playerid))
{
TogglePlayerControllable(playerid, 0);
ShowPlayerDialog(playerid, DialogPerguntaAdm, DIALOG_STYLE_MSGBOX, "{00F2FC}Escolha um menu.", "{46FE00}Qual menu vocк gostaria de ter acesso desta casa?", "Normal", "Admin.");
return 1;
}
MostrarDialogMenuCasa(playerid);
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1083, X, Y, Z);
}
else if(IsPlayerInRangeOfPoint(playerid, 1, CasaI[Casa][IntX], CasaI[Casa][IntY], CasaI[Casa][IntZ]))
{
if(GetPlayerVirtualWorld(playerid) == CasaI[Casa][VirtualWorld])
{
SetPlayerPos(playerid, CasaI[Casa][CasaX], CasaI[Casa][CasaY], CasaI[Casa][CasaZ]);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
TextDrawShowForPlayer(playerid, VolteSempre);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
new StringLog[ 400 ];
GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], saiu da casa %d", Nome, playerid, Casa);
EscreverLog(LogSystem, StringLog);
}
}
}
}
if(newkeys == KEY_ALARME)
{
for(new Casa = 1; Casa < MAX_CASAS; Casa++)
{
new CaminhoCasa[ 200 ];
GetPlayerName(playerid, Nome, 24);
new string[ 200 ];
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(CarroI[Casa][CarroCasa], engine, lights, alarm, doors, bonnet, boot, objective);
new Float:Pos[3];
GetVehiclePos(CarroI[Casa][CarroCasa], Pos[0], Pos[1], Pos[2]);
if(!IsPlayerInVehicle(playerid, CarroI[Casa][CarroCasa]))
{
if((!strcmp(CasaI[Casa][Dono], Nome, false)) || (!strcmp(CasaI[Casa][Locador], Nome, false)))
{
if(IsPlayerInRangeOfPoint(playerid, 30.0, Pos[0], Pos[1], Pos[2]))
{
if(CarroI[Casa][StatusCarro] == 1)
{
CarroI[Casa][StatusCarro] = 0;
DOF2_SetInt(CaminhoCasa, "StatusCarro", 0);
DOF2_SaveFile();
TextDrawShowForPlayer(playerid, CarroDestrancado);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
SetVehicleParamsEx(CarroI[Casa][CarroCasa], engine, lights, alarm, 0, bonnet, boot, objective);
new StringLog[ 400 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], trancou o carro da casa %d ", Nome, playerid, Casa);
EscreverLog(LogCarros, StringLog);
EscreverLog("LHouse/Logs/Carros.log", string);
new textlabel[ 200 ], NomeStatus[ 20 ];
if(CarroI[Casa][StatusCarro] == 1) NomeStatus = "Trancado";
else if(CarroI[Casa][StatusCarro] == 0) NomeStatus = "Destrancado";
format(textlabel, sizeof(textlabel), TextCarroCasa, CasaI[Casa][Dono], NomeStatus, Casa);
Update3DTextLabelText(LabelCarro[Casa], -1, textlabel);
GetPlayerPos(playerid, X, Y, Z);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerInRangeOfPoint(i, 20.0, X, Y, Z))
{
PlayerPlaySound(i, 1145, X, Y, Z);
PlayAudioStreamForPlayer(i, "http://samp-pt.com.br/LHouse/Alarme.mp3", Pos[0], Pos[1], Pos[2], 20.0);
}
}
}
else
{
CarroI[Casa][StatusCarro] = 1;
DOF2_SetInt(CaminhoCasa, "StatusCarro", 1);
DOF2_SaveFile();
TextDrawShowForPlayer(playerid, CarroTrancado);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
SetVehicleParamsEx(CarroI[Casa][CarroCasa], engine, lights, alarm, 1, bonnet, boot, objective);
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], destrancou o carro da casa %d", Nome, playerid, Casa);
EscreverLog(LogCarros, StringLog);
EscreverLog("LHouse/Logs/Carros.log", string);
new textlabel[ 200 ], NomeStatus[ 20 ];
if(CarroI[Casa][StatusCarro] == 1) NomeStatus = "Trancado";
else if(CarroI[Casa][StatusCarro] == 0) NomeStatus = "Destrancado";
format(textlabel, sizeof(textlabel), TextCarroCasa, CasaI[Casa][Dono], NomeStatus, Casa);
Update3DTextLabelText(LabelCarro[Casa], -1, textlabel);
GetPlayerPos(playerid, X, Y, Z);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerInRangeOfPoint(i, 20.0, X, Y, Z))
{
PlayerPlaySound(i, 1145, X, Y, Z);
PlayAudioStreamForPlayer(i, "http://samp-pt.com.br/LHouse/Alarme.mp3", Pos[0], Pos[1], Pos[2], 20.0);
}
}
}
}
}
}
}
}
return 1;
}

public OnFilterScriptInit()
{
CriarCasasEx();
CriarCarrosCasasEx();
CriarLogs();
for(new casaid = 1; casaid < MAX_CASAS; casaid++)
{
if(CarroI[casaid][CarroModelo] != 0)
{
new textlabel[ 200 ], NomeStatus[ 20 ];
if(CarroI[casaid][StatusCarro] == 1) NomeStatus = "Trancado";
else if(CarroI[casaid][StatusCarro] == 0) NomeStatus = "Destrancado";
format(textlabel, sizeof(textlabel), TextCarroCasa, CasaI[casaid][Dono], NomeStatus, casaid);
LabelCarro[casaid] = Create3DTextLabel(textlabel, -1, 0.0, 0.0, 0.0, 20.0, 0, 0);
Attach3DTextLabelToVehicle(LabelCarro[casaid], CarroI[casaid][CarroCasa], 0.0, 0.0, 0.0);
SetVehicleNumberPlate(CarroI[casaid][CarroCasa], CarroI[casaid][PlacaCarro]);
}
}
print("| ");
print("| Sistema de casas carregado com sucesso. ");
print("| ");
print("|========================= LHOUSE ========================");
new StringLog[ 700 ];
format(StringLog, sizeof(StringLog), "[ LHOUSE LOGS ] ----------- SISTEMA INICIADO -----------");
EscreverLog(LogSystem, StringLog);
SetTimer("RebocarCarro", 60000*3, true);
SetTimer("CobrarAluguel", 1000, true);
SetTimer("SalvarCasas", 60000*10, true);
//=============================== [ TEXTDRAWS ] ============================//
CasaTrancada = TextDrawCreate(445.000000, 306.000000, "Casa Trancada!");
TextDrawBackgroundColor(CasaTrancada, 255);
TextDrawFont(CasaTrancada, 1);
TextDrawLetterSize(CasaTrancada, 0.789999, 3.59999;
TextDrawColor(CasaTrancada, -16776961);
TextDrawSetOutline(CasaTrancada, 0);
TextDrawSetProportional(CasaTrancada, 1);
TextDrawSetShadow(CasaTrancada, 1);

CasaDestrancada = TextDrawCreate(404.000000, 306.000000, "Casa Destrancada!");
TextDrawBackgroundColor(CasaDestrancada, 255);
TextDrawFont(CasaDestrancada, 1);
TextDrawLetterSize(CasaDestrancada, 0.789999, 3.59999;
TextDrawColor(CasaDestrancada, 16711935);
TextDrawSetOutline(CasaDestrancada, 0);
TextDrawSetProportional(CasaDestrancada, 1);
TextDrawSetShadow(CasaDestrancada, 1);

CarroTrancado = TextDrawCreate(430.000000, 306.000000, "Carro Trancado!");
TextDrawBackgroundColor(CarroTrancado, 255);
TextDrawFont(CarroTrancado, 1);
TextDrawLetterSize(CarroTrancado, 0.789999, 3.59999;
TextDrawColor(CarroTrancado, -16776961);
TextDrawSetOutline(CarroTrancado, 0);
TextDrawSetProportional(CarroTrancado, 1);
TextDrawSetShadow(CarroTrancado, 1);

CarroDestrancado = TextDrawCreate(389.000000, 306.000000, "Carro Destrancado!");
TextDrawBackgroundColor(CarroDestrancado, 255);
TextDrawFont(CarroDestrancado, 1);
TextDrawLetterSize(CarroDestrancado, 0.789999, 3.59999;
TextDrawColor(CarroDestrancado, 16711935);
TextDrawSetOutline(CarroDestrancado, 0);
TextDrawSetProportional(CarroDestrancado, 1);
TextDrawSetShadow(CarroDestrancado, 1);

AluguelDesativado = TextDrawCreate(384.000000, 306.000000, "Aluguel Desativado!");
TextDrawBackgroundColor(AluguelDesativado, 255);
TextDrawFont(AluguelDesativado, 1);
TextDrawLetterSize(AluguelDesativado, 0.789999, 3.59999;
TextDrawColor(AluguelDesativado, -16776961);
TextDrawSetOutline(AluguelDesativado, 0);
TextDrawSetProportional(AluguelDesativado, 1);
TextDrawSetShadow(AluguelDesativado, 1);

AluguelA = TextDrawCreate(426.000000, 306.000000, "Aluguel Ativado!");
TextDrawBackgroundColor(AluguelA, 255);
TextDrawFont(AluguelA, 1);
TextDrawLetterSize(AluguelA, 0.789999, 3.59999;
TextDrawColor(AluguelA, 16711935);
TextDrawSetOutline(AluguelA, 0);
TextDrawSetProportional(AluguelA, 1);
TextDrawSetShadow(AluguelA, 1);

CarroVendido = TextDrawCreate(441.000000, 306.000000, "Carro Vendido!");
TextDrawBackgroundColor(CarroVendido, 255);
TextDrawFont(CarroVendido, 1);
TextDrawLetterSize(CarroVendido, 0.789999, 3.59999;
TextDrawColor(CarroVendido, -16776961);
TextDrawSetOutline(CarroVendido, 0);
TextDrawSetProportional(CarroVendido, 1);
TextDrawSetShadow(CarroVendido, 1);

CasaVendida = TextDrawCreate(456.000000, 306.000000, "Casa Vendida!");
TextDrawBackgroundColor(CasaVendida, 255);
TextDrawFont(CasaVendida, 1);
TextDrawLetterSize(CasaVendida, 0.789999, 3.59999;
TextDrawColor(CasaVendida, -16776961);
TextDrawSetOutline(CasaVendida, 0);
TextDrawSetProportional(CasaVendida, 1);
TextDrawSetShadow(CasaVendida, 1);

CasaEditada = TextDrawCreate(465.000000, 306.000000, "Casa Editada!");
TextDrawBackgroundColor(CasaEditada, 255);
TextDrawFont(CasaEditada, 1);
TextDrawLetterSize(CasaEditada, 0.789999, 3.59999;
TextDrawColor(CasaEditada, 16711935);
TextDrawSetOutline(CasaEditada, 0);
TextDrawSetProportional(CasaEditada, 1);
TextDrawSetShadow(CasaEditada, 1);

BemVindo = TextDrawCreate(489.000000, 306.000000, "Bem Vindo!");
TextDrawBackgroundColor(BemVindo, 255);
TextDrawFont(BemVindo, 1);
TextDrawLetterSize(BemVindo, 0.789999, 3.59999;
TextDrawColor(BemVindo, 16711935);
TextDrawSetOutline(BemVindo, 0);
TextDrawSetProportional(BemVindo, 1);
TextDrawSetShadow(BemVindo, 1);

VolteSempre = TextDrawCreate(452.000000, 306.000000, "Volte Sempre!");
TextDrawBackgroundColor(VolteSempre, 255);
TextDrawFont(VolteSempre, 1);
TextDrawLetterSize(VolteSempre, 0.789999, 3.59999;
TextDrawColor(VolteSempre, 16711935);
TextDrawSetOutline(VolteSempre, 0);
TextDrawSetProportional(VolteSempre, 1);
TextDrawSetShadow(VolteSempre, 1);

CasaCriada = TextDrawCreate(478.000000, 306.000000, "Casa Criada!");
TextDrawBackgroundColor(CasaCriada, 255);
TextDrawFont(CasaCriada, 1);
TextDrawLetterSize(CasaCriada, 0.789999, 3.59999;
TextDrawColor(CasaCriada, 16711935);
TextDrawSetOutline(CasaCriada, 0);
TextDrawSetProportional(CasaCriada, 1);
TextDrawSetShadow(CasaCriada, 1);

SemAuto = TextDrawCreate(412.000000, 306.000000, "Sem Autorizacao!");
TextDrawBackgroundColor(SemAuto, 255);
TextDrawFont(SemAuto, 1);
TextDrawLetterSize(SemAuto, 0.789999, 3.59999;
TextDrawColor(SemAuto, -16776961);
TextDrawSetOutline(SemAuto, 0);
TextDrawSetProportional(SemAuto, 1);
TextDrawSetShadow(SemAuto, 1);

CarroCriado = TextDrawCreate(463.000000, 306.000000, "Carro Criado!");
TextDrawBackgroundColor(CarroCriado, 255);
TextDrawFont(CarroCriado, 1);
TextDrawLetterSize(CarroCriado, 0.789999, 3.599997);
TextDrawColor(CarroCriado, 16711935);
TextDrawSetOutline(CarroCriado, 0);
TextDrawSetProportional(CarroCriado, 1);
TextDrawSetShadow(CarroCriado, 1);

CasaDeletada = TextDrawCreate(446.000000, 306.000000, "Casa Deletada!");
TextDrawBackgroundColor(CasaDeletada, 255);
TextDrawFont(CasaDeletada, 1);
TextDrawLetterSize(CasaDeletada, 0.789999, 3.599997);
TextDrawColor(CasaDeletada, -16776961);
TextDrawSetOutline(CasaDeletada, 0);
TextDrawSetProportional(CasaDeletada, 1);
TextDrawSetShadow(CasaDeletada, 1);

CarroComprado = TextDrawCreate(415.000000, 306.000000, "Carro Comprado!");
TextDrawBackgroundColor(CarroComprado, 255);
TextDrawFont(CarroComprado, 1);
TextDrawLetterSize(CarroComprado, 0.789999, 3.599997);
TextDrawColor(CarroComprado, 16711935);
TextDrawSetOutline(CarroComprado, 0);
TextDrawSetProportional(CarroComprado, 1);
TextDrawSetShadow(CarroComprado, 1);

CarroModificado = TextDrawCreate(407.000000, 306.000000, "Carro Modificado!");
TextDrawBackgroundColor(CarroModificado, 255);
TextDrawFont(CarroModificado, 1);
TextDrawLetterSize(CarroModificado, 0.789999, 3.599997);
TextDrawColor(CarroModificado, 16711935);
TextDrawSetOutline(CarroModificado, 0);
TextDrawSetProportional(CarroModificado, 1);
TextDrawSetShadow(CarroModificado, 1);
return 1;
}

public OnFilterScriptExit()
{
SalvarCasas();
DOF2_Exit();
new StringLog[ 700 ];
format(StringLog, sizeof(StringLog), "[ LHOUSE LOGS ] ----------- SISTEMA FINALIZADO -----------");
EscreverLog(LogSystem, StringLog);
return 1;
}

public RebocarCarro()
{
new string[128], casasrebocadas;
for(new Casas = 1; Casas < MAX_CASAS; Casas++)
{
if(SolicitouReboque[Casas] == 1)
{
casasrebocadas++;
SetVehicleToRespawn(CarroI[Casas][CarroCasa]);
SolicitouReboque[Casas] = 0;
format(string, sizeof(string), "O rebocador acabou de entregar os carros rebocados!");
}
}
if(casasrebocadas == 0) return 1;
SCMTA(-1, string);
return 1;
}

public EsconderTds(playerid)
{
TextDrawHideForPlayer(playerid, CasaTrancada);
TextDrawHideForPlayer(playerid, CasaDestrancada);
TextDrawHideForPlayer(playerid, CarroTrancado);
TextDrawHideForPlayer(playerid, CarroDestrancado);
TextDrawHideForPlayer(playerid, AluguelDesativado);
TextDrawHideForPlayer(playerid, AluguelA);
TextDrawHideForPlayer(playerid, CarroVendido);
TextDrawHideForPlayer(playerid, CasaVendida);
TextDrawHideForPlayer(playerid, CasaEditada);
TextDrawHideForPlayer(playerid, BemVindo);
TextDrawHideForPlayer(playerid, VolteSempre);
TextDrawHideForPlayer(playerid, CasaCriada);
TextDrawHideForPlayer(playerid, SemAuto);
TextDrawHideForPlayer(playerid, CarroCriado);
TextDrawHideForPlayer(playerid, CasaDeletada);
TextDrawHideForPlayer(playerid, CarroComprado);
TextDrawHideForPlayer(playerid, CarroModificado);
return 1;
}

public CriarLogs()
{
new string[ 200 ];
format(string, sizeof(string), "----------------------------- [ LOG CRIADO ] -----------------------------");
if(!LogExistir(LogCasas))
{
CriarLog(LogCasas);
EscreverLog(LogCasas, string);
}
if(!LogExistir(LogCarros))
{
CriarLog(LogCarros);
EscreverLog(LogCarros, string);
}
if(!LogExistir(LogADM))
{
CriarLog(LogADM);
EscreverLog(LogADM, string);
}
if(!LogExistir(LogSystem))
{
CriarLog(LogSystem);
EscreverLog(LogSystem, string);
}
return 1;
}

public CriarCCasa(playerid)
{
SCM(playerid, -1, "[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Agora estacione e digite {FFFFFF}/estacionar{46FE00}.");
DefinindoCarro[playerid] = 1;
GetPlayerPos(playerid, X, Y, Z);
CarroDefinido[playerid] = CreateVehicle(542, X, Y+8, Z, 0.0, 0, 0, 90000);
PutPlayerInVehicle(playerid, CarroDefinido[playerid], 0);
TextDrawShowForPlayer(playerid, CarroCriado);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
return 1;
}

public CobrarAluguel()
{
new casascobradas, jogadoresdespejados, iddono, idlocador, StringLog[ 700 ], Nome2[ MAX_PLAYER_NAME ], Nome3[ MAX_PLAYER_NAME ];
gettime(hora, minuto, segundo);
for(new i = 1; i < MAX_CASAS; i++)
{
new ArquivoDono[200], ArquivoLocador[200], ArquivoCasa[200], string[128];
format(ArquivoDono, sizeof(ArquivoDono), "LHouse/Donos/%s.txt", CasaI[i][Dono]);
format(ArquivoLocador, sizeof(ArquivoLocador), "LHouse/Locadores/%s.txt", CasaI[i][Locador]);
format(ArquivoCasa, sizeof(ArquivoCasa), "LHouse/Casas/Casa %d.txt", i);
if(DOF2_FileExists(ArquivoDono) || DOF2_FileExists(ArquivoLocador))
{
for(new ids = 0; ids < MAX_PLAYERS; ids++)
{
if(IsPlayerConnected(ids))
{
GetPlayerName(ids, Nome, MAX_PLAYER_NAME);
if(!strcmp(CasaI[i][Dono], Nome, true))
{
iddono = ids;
GetPlayerName(iddono, Nome2, MAX_PLAYER_NAME);
}
if(!strcmp(CasaI[i][Locador], Nome, true))
{
idlocador = ids;
GetPlayerName(idlocador, Nome3, MAX_PLAYER_NAME);
}
}
}
}
if(hora == 15)
{
if(minuto == 43)
{
if(segundo == 00)
{
if(strcmp(CasaI[i][Locador], "Ninguem", true))
{
casascobradas++;
CasaI[i][TotalAPagar] += CasaI[i][AluguelPreco];
CasaI[i][TotalAReceber] += CasaI[i][AluguelPreco];
DOF2_SetInt(ArquivoDono, "ValorAreceber", CasaI[i][TotalAReceber]);
DOF2_SetInt(ArquivoLocador, "ValorApagar", CasaI[i][TotalAPagar]);
if(IsPlayerConnected(iddono))
{
format(string, sizeof(string), "[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Hora de receber o aluguel! Vocк recebeu {FFFFFF}$%d {46FE00}do locador.", CasaI[i][TotalAReceber]);
SCM(iddono, -1, string);
GivePlayerMoney(iddono, CasaI[i][TotalAReceber]);
CasaI[i][TotalAReceber] = 0;
DOF2_SetInt(ArquivoDono, "ValorAreceber", CasaI[i][TotalAReceber]);
}
if(IsPlayerConnected(idlocador))
{
if(GetPlayerMoney(idlocador) < CasaI[i][TotalAPagar])
{
jogadoresdespejados++;
GetPlayerPos(idlocador, X, Y, Z);
PlayerPlaySound(idlocador, 1085, X, Y, Z);
SCM(idlocador, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Vocк nгo tem dinheiro o suficiente para pagar o aluguel. Vocк foi despejado.");
format(CasaI[i][Locador], 255, "Ninguem");
DOF2_SetString(ArquivoCasa, "Locador", "Ninguem");
DOF2_RemoveFile(ArquivoLocador);
Atualizar3DText(i);
return 1;
}
format(string, sizeof(string), "[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Hora de pagar o aluguel! Vocк pagou {FFFFFF}$%d {46FE00}de aluguel.", CasaI[i][TotalAPagar]);
SCM(idlocador, -1, string);
GivePlayerMoney(idlocador, -CasaI[i][TotalAPagar]);
CasaI[i][TotalAPagar] = 0;
DOF2_SetInt(ArquivoLocador, "ValorApagar", CasaI[i][TotalAPagar]);
}
}
format(StringLog, sizeof(StringLog), "Foram cobrado os alugueis de %d casas, %d jogadores que nгo tinham dinheiro para pagar aluguel estavam conectados e foram despejados.", casascobradas, jogadoresdespejados);
}
}
}
}
if(casascobradas != 0) return EscreverLog(LogSystem, StringLog);
return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
for(new casaid = 1; casaid < MAX_CASAS; casaid++)
{
if(newstate == PLAYER_STATE_DRIVER)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(vehicleid == CarroI[casaid][CarroCasa])
{
SemLabel[casaid] = 1;
Delete3DTextLabel(LabelCarro[casaid]);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], entrou no carro da casa %d.", Nome, playerid, casaid);
}
}
if(oldstate == PLAYER_STATE_DRIVER)
{
if(SemLabel[casaid] == 1)
{
if(CarroI[casaid][CarroModelo] != 0)
{
new textlabel[ 200 ], NomeStatus[ 20 ];
if(CarroI[casaid][StatusCarro] == 1) NomeStatus = "Trancado";
else if(CarroI[casaid][StatusCarro] == 0) NomeStatus = "Destrancado";
format(textlabel, sizeof(textlabel), TextCarroCasa, CasaI[casaid][Dono], NomeStatus, casaid);
LabelCarro[casaid] = Create3DTextLabel(textlabel, -1, 0.0, 0.0, 0.0, 20.0, 0, 0);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], saiu do carro da casa %d.", Nome, playerid, casaid);
Attach3DTextLabelToVehicle(LabelCarro[casaid], CarroI[casaid][CarroCasa], 0.0, 0.0, 0.0);
}
}
}
}
EscreverLog(LogCarros, StringLog);
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DialogPerguntaAdm:
{
if(response)
{
MostrarDialogMenuCasa(playerid);
return 1;
}
if(!response)
{
MostrarMenuAdministrativo(playerid);
return 1;
}
}
case DialogVisitante:
{
new Casa = ObterCasa(playerid);
if(response)
{
if(CasaI[Casa][Status] == 1)
{
TextDrawShowForPlayer(playerid, CasaTrancada);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
TogglePlayerControllable(playerid, 1);
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], tentou entrar na casa %d, mais ela estava trancada.", Nome, playerid, Casa);
EscreverLog(LogCasas, StringLog);
return 1;
}
else
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, CasaI[Casa][CasaX], CasaI[Casa][CasaY], CasaI[Casa][CasaZ]))
{
SetPlayerPos(playerid, CasaI[Casa][IntX], CasaI[Casa][IntY], CasaI[Casa][IntZ]);
SetPlayerVirtualWorld(playerid, CasaI[Casa][VirtualWorld]);
SetPlayerInterior(playerid, CasaI[Casa][Interior]);
TogglePlayerControllable(playerid, 1);
TextDrawShowForPlayer(playerid, BemVindo);
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], entrou na casa %d como visitante.", Nome, playerid, Casa);
EscreverLog(LogCasas, StringLog);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
}
}
}
else
{
TogglePlayerControllable(playerid, 1);
return 1;
}
}
case DialogVisitanteLocando:
{
new Casa = ObterCasa(playerid);
if(!response)
{
TogglePlayerControllable(playerid, 1);
return 1;
}
switch(listitem)
{
case 0:
{
if(CasaI[Casa][Status] == 1)
{
TextDrawShowForPlayer(playerid, CasaTrancada);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
TogglePlayerControllable(playerid, 1);
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], tentou entrar na casa %d, mais ela estava trancada.", Nome, playerid, Casa);
EscreverLog(LogCasas, StringLog);
return 1;
}
else
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, CasaI[Casa][CasaX], CasaI[Casa][CasaY], CasaI[Casa][CasaZ]))
{
SetPlayerPos(playerid, CasaI[Casa][IntX], CasaI[Casa][IntY], CasaI[Casa][IntZ]);
SetPlayerVirtualWorld(playerid, CasaI[Casa][VirtualWorld]);
SetPlayerInterior(playerid, CasaI[Casa][Interior]);
TogglePlayerControllable(playerid, 1);
TextDrawShowForPlayer(playerid, BemVindo);
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], entrou na casa %d como visitante.", Nome, playerid, Casa);
EscreverLog(LogCasas, StringLog);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
}
}
}
case 1:
{
new CaminhoDono[ 200 ];
GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(CaminhoDono, sizeof(CaminhoDono), "LHouse/Donos/%s.txt", Nome);
if(DOF2_FileExists(CaminhoDono))
{
new JaEDono = DOF2_GetInt(CaminhoDono, "CasaID"), string[128];
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
format(string, sizeof(string), "{F90700}[ ERRO ] {FFFFFF}Vocк jб й dono da casa %d! Nгo pode alugar uma casa.!", JaEDono);
SCM(playerid, ErroCor, string);
TogglePlayerControllable(playerid, 1);
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], tentou alugar a casa %d, mais ele jб й dono da casa %d e falhou.", Nome, playerid, Casa, JaEDono);
EscreverLog(LogCasas, StringLog);
return 1;
}
new stringcat[ 600 ], string[ 100 ], string2[ 100 ], string3[ 100 ];
GetPlayerName(IDPlayerOferecendo, Nome, MAX_PLAYER_NAME);
TogglePlayerControllable(IDPlayerOferecendo, 1);
strcat(stringcat, "{00F2FC}Apуs alugar a casa, o aluguel serб cobrado todo dia 00:00! Se vocк nгo estiver online\n");
strcat(stringcat, "o aluguel serб cobrado quando vocк entrar novamente no servidor.\n\n");
format(string, sizeof(string), "{00F2FC}Dono da casa a ser alugada: {FFFFFF}%s\n\n", CasaI[Casa][Dono]);
strcat(stringcat, string);
format(string2, sizeof(string2), "{00F2FC}Valor a ser pago pelo aluguel da casa: {FFFFFF}$%d\n", CasaI[Casa][AluguelPreco]);
strcat(stringcat, string2);
format(string3, sizeof(string3), "{00F2FC}ID da casa a ser alugada: {FFFFFF}%d\n", Casa);
strcat(stringcat, string3);
strcat(stringcat, "{FD0900}ATENЗГO:{FFFFFF} A casa dita acima vai ser alugada por vocк e vocк poderб trancar e destrancar a casa, tanto como nascerб nela.\nVocк tambйm vai poder trancar e destrancar o carro caso ela tiver, caso nгo tiver vocк pode ajudar o dono a comprar um\npagando seu aluguel regurlamente.\n");
strcat(stringcat, "Vocк deseja alugar a casa, baseada nas informaзхes acima descritas?\n");
ShowPlayerDialog(playerid, DialogConfirmarAluguel, DIALOG_STYLE_MSGBOX, "Venda de casa", stringcat, "Alugar", "Negar");
TogglePlayerControllable(playerid, 1);
}
}
}
case DialogConfirmarDesaluguel:
{
new ArquivoLocador[ 200 ], ArquivoCasa[ 200 ];
new Casa = ObterCasa(playerid);
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");
TogglePlayerControllable(playerid, 1);
DOF2_SetString(ArquivoCasa, "Locador", "Ninguem");
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], desalugou a casa %d.", Nome, playerid, Casa);
EscreverLog(LogCasas, StringLog);
return 1;
}
case DialogConfirmarAluguel:
{
if(!response) return 1;
new Casa = ObterCasa(playerid);
new ArquivoLocador[ 200 ], ArquivoCasa[ 200 ];
GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(ArquivoLocador, sizeof(ArquivoLocador), "LHouse/Locadores/%s.txt", Nome);
format(ArquivoCasa, sizeof(ArquivoCasa), "LHouse/Casas/Casa %d.txt", Casa);
if(DOF2_FileExists(ArquivoLocador))
{
new JaELocador = DOF2_GetInt(ArquivoLocador, "CasaID"), string[128];
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
format(string, sizeof(string), "{F90700}[ ERRO ] {FFFFFF}Vocк jб й locador da casa %d! Vocк sу pode ter 1 casa alugada!", JaELocador);
SCM(playerid, ErroCor, string);
TogglePlayerControllable(playerid, 1);
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], tentou alugar a casa %d, mais ele jб й locador da casa %d e falhou.", Nome, playerid, Casa, JaELocador);
EscreverLog(LogCasas, StringLog);
return 1;
}
format(CasaI[Casa][Locador], 24, Nome);
DOF2_CreateFile(ArquivoLocador);
DOF2_SetInt(ArquivoLocador, "CasaID", Casa);
DOF2_SetString(ArquivoCasa, "Locador", CasaI[Casa][Locador]);
SetPlayerPos(playerid, CasaI[Casa][IntX], CasaI[Casa][IntY], CasaI[Casa][IntZ]);
SetPlayerVirtualWorld(playerid, CasaI[Casa][VirtualWorld]);
SetPlayerInterior(playerid, CasaI[Casa][Interior]);
DOF2_SaveFile();
Atualizar3DText(Casa);
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], alugou a casa %d.", Nome, playerid, Casa);
EscreverLog(LogCasas, StringLog);
}
case DialogEditarCasa:
{
new Casa = ObterCasa(playerid);
if(!response)
{
TogglePlayerControllable(playerid, 1);
return 1;
}
switch(listitem)
{
case 0:
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, CasaI[Casa][CasaX], CasaI[Casa][CasaY], CasaI[Casa][CasaZ]))
{
SetPlayerPos(playerid, CasaI[Casa][IntX], CasaI[Casa][IntY], CasaI[Casa][IntZ]);
SetPlayerVirtualWorld(playerid, CasaI[Casa][VirtualWorld]);
SetPlayerInterior(playerid, CasaI[Casa][Interior]);
TogglePlayerControllable(playerid, 1);
TextDrawShowForPlayer(playerid, BemVindo);
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O administrador %s[%d], entrou na casa %d como administrador.", Nome, playerid, Casa);
EscreverLog(LogCasas, StringLog);
EscreverLog(LogADM, StringLog);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
}
}
case 1:
{
if(strcmp(CasaI[Casa][Dono], "Ninguem", true))
{
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Nгo й possнvel alterar o preзo de uma casa que nгo estб a venda.");
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O administrador %s[%d], tentou alterar o preзo da casa %d, mas ela nгo estб a venda.", Nome, playerid, Casa);
EscreverLog(LogADM, StringLog);
MostrarMenuAdministrativo(playerid);
return 1;
}
ShowPlayerDialog(playerid, DialogEditarPrecoCasa, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu alterar o preзo da casa.", "{46FE00}Digite o novo preзo que vocк quer abaixo\n{FFFFFF}Use somente nъmeros.\n", "Alterar", "Voltar");
TogglePlayerControllable(playerid, 1);
}
case 2:
{
if(CasaI[Casa][AluguelAtivado] == 0)
{
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Nгo й possнvel alterar o preзo de uma casa que nгo estб sendo alugada.");
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O administrador %s[%d], tentou alterar o preзo de aluguel da casa %d, mas ela nгo estб sendo alugada.", Nome, playerid, Casa);
EscreverLog(LogADM, StringLog);
MostrarMenuAdministrativo(playerid);
return 1;
}
ShowPlayerDialog(playerid, DialogEditarPrecoAluguel, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu alterar o preзo do aluguel.", "{46FE00}Digite o novo preзo que vocк quer abaixo\n{FFFFFF}Use somente nъmeros.\n", "Alterar", "Voltar");
TogglePlayerControllable(playerid, 1);
return 1;
}
case 3:
{
new stringcat[1200];
strcat(stringcat, "Interior {FB1300}1 {25F700}- {FCEC00}6 {FFFFFF}Comodos\n");
strcat(stringcat, "Interior {FB1300}2 {25F700}- {FCEC00}3 {FFFFFF}Comodos\n");
strcat(stringcat, "Interior {FB1300}3 {25F700}- {FCEC00}3 {FFFFFF}Comodos\n");
strcat(stringcat, "Interior {FB1300}4 {25F700}- {FCEC00}1 {FFFFFF}Comodo\n");
strcat(stringcat, "Interior {FB1300}5 {25F700}- {FCEC00}1 {FFFFFF}Comodo\n");
strcat(stringcat, "Interior {FB1300}6 {25F700}- {FCEC00}3 {FFFFFF}Comodos {25F700}- {FFFFFF}(Casa do CJ)\n");
strcat(stringcat, "Interior {FB1300}7 {25F700}- {FCEC00}5 {FFFFFF}Comodos\n");
strcat(stringcat, "Interior {FB1300}8 {25F700}- {FCEC00}7 {FFFFFF}Comodos\n");
strcat(stringcat, "Interior {FB1300}9 {25F700}- {FCEC00}4 {FFFFFF}Comodos\n");
strcat(stringcat, "Interior {FB1300}10 {25F700}- {FCEC00}Muitos {FFFFFF}Comodos {25F700}- {FFFFFF} (Casa do Madd Dog)\n");
strcat(stringcat, "Interior {FB1300}11 {25F700}- {FCEC00}7 {FFFFFF}Comodos\n");
ShowPlayerDialog(playerid, DialogEditarInteriorCasa, DIALOG_STYLE_LIST,"{00F2FC}Vocк escolheu alterar o interior da casa.", stringcat, "Continuar", "Voltar");
TogglePlayerControllable(playerid, 1);
}
case 4:
{
ShowPlayerDialog(playerid, DialogStatusCasa, DIALOG_STYLE_MSGBOX, "{00F2FC}Vocк escolheu mudar o status dessa casa.", "{46FE00}Oque vocк gostaria de fazer com o status atual da casa?\n", "Trancar", "Destrancar");
TogglePlayerControllable(playerid, 1);
}
case 5:
{
ShowPlayerDialog(playerid, DialogAlterarDono, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu alterar o dono da casa.", "{46FE00}Digite o {FFFFFF}ID {46FE00}ou {FFFFFF}nickname {46FE00}do novo dono", "Continuar", "Voltar");
TogglePlayerControllable(playerid, 1);
}
case 6:
{
if(CarroI[Casa][CarroModelo] != 0)
{
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Essa casa jб tem carro.");
MostrarMenuAdministrativo(playerid);
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O administrador %s[%d], tentou criar um carro para a casa %d, mas ela jб tem carro.", Nome, playerid, Casa);
EscreverLog(LogADM, StringLog);
return 1;
}
IDCasaReceberCarro = Casa;
SetTimerEx("CriarCCasa", 1000, false, "i", playerid);
TogglePlayerControllable(playerid, 1);
}
case 7:
{
if(!strcmp(CasaI[Casa][Dono], "Ninguem", true))
{
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Nгo й possнvel vender uma casa que jб estб a venda.");
MostrarMenuAdministrativo(playerid);
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O administrador %s[%d], tentou vender a casa %d, mas ela jб estб а venda.", Nome, playerid, Casa);
EscreverLog(LogADM, StringLog);
return 1;
}
ShowPlayerDialog(playerid, DialogVenderCasaAdm, DIALOG_STYLE_MSGBOX, "{00F2FC}Vocк escolheu botar essa casa a venda", "{46FE00}Vocк tem certeza que deseja botar essa casa a venda?", "Sim", "Nгo");
TogglePlayerControllable(playerid, 1);
}
case 8:
{
ShowPlayerDialog(playerid, DialogDeletarCasa, DIALOG_STYLE_MSGBOX, "{00F2FC}Vocк escolheu deletar casa.", "{46FE00}Se a casa ter dono, ele nгo vai ter o dinheiro que gastou na casa novamente.\n{FFFFFF}Vocк confirma essa aзгo?", "Deletar", "Voltar");
TogglePlayerControllable(playerid, 1);
}
}
}
case DialogVenderCasaAdm:
{
new Casa = ObterCasa(playerid), CaminhoArquivo[ 200 ], CaminhoDono[ 200 ], CaminhoLocador[ 200 ];
if(!response)
{
MostrarMenuAdministrativo(playerid);
return 1;
}
format(CaminhoArquivo, sizeof(CaminhoArquivo), "LHouse/Casas/Casa %d.txt", Casa);
format(CaminhoLocador, sizeof(CaminhoLocador), "LHouse/Locadores/%s.txt", CasaI[Casa][Locador]);
GetPlayerName(CasaI[Casa][Dono], Nome, MAX_PLAYER_NAME);
format(CaminhoDono, sizeof(CaminhoDono), "LHouse/Donos/%s.txt", Nome);
if(DOF2_FileExists(CaminhoDono)) return DOF2_RemoveFile(CaminhoDono);
format(CasaI[Casa][Dono], 255, "Ninguem");
format(CasaI[Casa][Locador], 255, "Ninguem");
DOF2_SetString(CaminhoArquivo, "Dono", "Ninguem");
DOF2_SetString(CaminhoArquivo, "Locador", "Ninguem");
if(DOF2_FileExists(CaminhoLocador)) return DOF2_RemoveFile(CaminhoLocador);
DOF2_RemoveFile(CaminhoDono);
DOF2_SaveFile();
DestroyDynamicPickup(PickupEntradaCasa[Casa]);
DestroyDynamicMapIcon(MapIconCasa[Casa]);
Atualizar3DText(Casa);
TextDrawShowForPlayer(playerid, CasaVendida);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O administrador %s[%d], botou a casa %d, а venda.", Nome, playerid, Casa);
EscreverLog(LogADM, StringLog);
MapIconCasa[Casa] = CreateDynamicMapIcon(CasaI[Casa][CasaX], CasaI[Casa][CasaY], CasaI[Casa][CasaZ], 31, -1, -1, 0, -1, 100.0);
PickupEntradaCasa[Casa] = CreateDynamicPickup(1273, 23, CasaI[Casa][CasaX], CasaI[Casa][CasaY], CasaI[Casa][CasaZ]);
}
case DialogAlterarDono:
{
if(!response)
{
MostrarMenuAdministrativo(playerid);
return 1;
}
if(sscanf(inputtext, "u", IDNovoDono))
{
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}ID ou nome invбlido!");
ShowPlayerDialog(playerid, DialogAlterarDono, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu alterar o dono da casa.", "{46FE00}Digite o {FFFFFF}ID {46FE00}ou {FFFFFF}nickname {46FE00}do novo dono", "Continuar", "Cancelar");
return 1;
}
if(!IsPlayerConnected(IDNovoDono))
{
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Player desconectado!");
ShowPlayerDialog(playerid, DialogAlterarDono, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu alterar o dono da casa.", "{46FE00}Digite o {FFFFFF}ID {46FE00}ou {FFFFFF}nickname {46FE00}do novo dono", "Continuar", "Cancelar");
return 1;
}
new CaminhoDono[ 200 ];
GetPlayerName(IDNovoDono, Nome, MAX_PLAYER_NAME);
format(CaminhoDono, sizeof(CaminhoDono), "LHouse/Donos/%s.txt", Nome);
if(DOF2_FileExists(CaminhoDono))
{
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Esse jogador tem uma casa!");
ShowPlayerDialog(playerid, DialogAlterarDono, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu alterar o dono da casa.", "{46FE00}Digite o {FFFFFF}ID {46FE00}ou {FFFFFF}nickname {46FE00}do novo dono", "Continuar", "Cancelar");
return 1;
}
new stringdialog[200], Casa;
Casa = ObterCasa(playerid);
GetPlayerName(IDNovoDono, Nome, MAX_PLAYER_NAME);
format(stringdialog, sizeof(stringdialog), "{00F2FC}Dono Atual: {FFFFFF}%s\n{00F2FC}Novo Dono: {FFFFFF}%s\n\n{46FE00}Vocк confirma estб aзгo?", CasaI[Casa][Dono], Nome);
ShowPlayerDialog(playerid, DialogAlterarDonoPT2, DIALOG_STYLE_MSGBOX, "{00F2FC}Vocк escolheu alterar o dono da casa.", stringdialog, "Sim", "Nгo");
}
case DialogAlterarDonoPT2:
{
if(!response)
{
MostrarMenuAdministrativo(playerid);
return 1;
}
new Casa, CaminhoCasa2[ 200 ], Nome2[ MAX_PLAYER_NAME ];
SCM(playerid, -1, "{00F2FC}Feito!");
Casa = ObterCasa(playerid);
GetPlayerName(IDNovoDono, Nome, 24);
GetPlayerName(CasaI[Casa][Dono], Nome2, MAX_PLAYER_NAME);
new StringLog[ 700 ], Nome3[MAX_PLAYER_NAME]; GetPlayerName(playerid, Nome3, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O administrador %s[%d], alterou o dono da casa %d, de %s para %s.", Nome3, playerid, Casa, Nome2, Nome);
EscreverLog(LogADM, StringLog);
format(CaminhoCasa2, sizeof(CaminhoCasa2), "LHouse/Casas/Casa %d.txt", Casa);
new CaminhoDono[ 200 ], CaminhoDonoNovo[ 200 ];
format(CaminhoDono, sizeof(CaminhoDono), "LHouse/Donos/%s.txt", Nome2);
format(CaminhoDonoNovo, sizeof(CaminhoDonoNovo), "LHouse/Donos/%s.txt", Nome);
DOF2_RenameFile(CaminhoDono, CaminhoDonoNovo);
DOF2_RemoveFile(CaminhoDono);
DOF2_SetString(CaminhoCasa2, "Dono", Nome);
format(CasaI[Casa][Dono], 255, Nome);
DOF2_SaveFile();
TextDrawShowForPlayer(playerid, CasaEditada);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
return 1;
}
case DialogDeletarCasa:
{
if(!response)
{
MostrarMenuAdministrativo(playerid);
return 1;
}
new Casa, CaminhoArquivo[ 150 ], CasaAtual[ 200 ], ChecarID[ 200 ];
Casa = ObterCasa(playerid);
new StringLog[ 700 ], Nome3[MAX_PLAYER_NAME]; GetPlayerName(playerid, Nome3, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O administrador %s[%d], deletou a casa %d.", Nome3, playerid, Casa);
EscreverLog(LogADM, StringLog);
format(CaminhoArquivo, sizeof(CaminhoArquivo), "LHouse/Casas/Casa %d.txt", Casa);
new CaminhoDono[ 200 ];
GetPlayerName(CasaI[Casa][Dono], Nome, MAX_PLAYER_NAME);
format(CaminhoDono, sizeof(CaminhoDono), "LHouse/Donos/%s.txt", Nome);
new CaminhoLocador[ 200 ], Nome2[MAX_PLAYER_NAME];
GetPlayerName(CasaI[Casa][Locador], Nome2, MAX_PLAYER_NAME);
format(CaminhoLocador, sizeof(CaminhoLocador), "LHouse/Locadores/%s.txt", Nome2);
if(DOF2_FileExists(CaminhoDono)) return DOF2_RemoveFile(CaminhoDono);
if(DOF2_FileExists(CaminhoLocador)) return DOF2_RemoveFile(CaminhoLocador);
DestroyDynamicPickup(PickupEntradaCasa[Casa]);
DestroyDynamicMapIcon(MapIconCasa[Casa]);
DestroyDynamic3DTextLabel(LabelCasa[Casa]);
if(CarroI[Casa][CarroModelo] != 0)
{
DestroyVehicle(CarroI[Casa][CarroCasa]);
}
DOF2_RemoveFile(CaminhoArquivo);
TextDrawShowForPlayer(playerid, CasaDeletada);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
format(CasaAtual, sizeof(CasaAtual), "LHouse/CasaAtual.txt");
for(new i = 1; i < MAX_CASAS; i++)
{
format(ChecarID, sizeof(ChecarID), "LHouse/Casas/Casa %d.txt", i);
if(!DOF2_FileExists(ChecarID))
{
DOF2_SetInt(CasaAtual, "IDAtual", i);
break;
}
}
DOF2_SaveFile();
return 1;
}
case DialogEditarPrecoCasa:
{
if(!response)
{
MostrarMenuAdministrativo(playerid);
return 1;
}
if(!IsNumeric(inputtext))
{
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Digite apenas nъmeros!");
ShowPlayerDialog(playerid, DialogEditarPrecoAluguel, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu alterar o preзo do aluguel.", "{46FE00}Digite o novo preзo que vocк quer abaixo\n{FFFFFF}Use somente nъmeros.\n", "Alterar", "Cancelar");
return 1;
}
if(!strlen(inputtext))
{
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Digite algo no campo ou cancele!");
ShowPlayerDialog(playerid, DialogEditarPrecoAluguel, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu alterar o preзo do aluguel.", "{46FE00}Digite o novo preзo que vocк quer abaixo\n{FFFFFF}Use somente nъmeros.\n", "Alterar", "Cancelar");
return 1;
}
new Casa, Arquivo[100];
Casa = ObterCasa(playerid);
format(Arquivo, sizeof(Arquivo), "LHouse/Casas/Casa %d.txt", Casa);
CasaI[Casa][Preco] = strval(inputtext);
DOF2_SetInt(Arquivo, "Preзo", CasaI[Casa][Preco]);
DOF2_SaveFile();
new StringLog[ 700 ], Nome3[MAX_PLAYER_NAME]; GetPlayerName(playerid, Nome3, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O administrador %s[%d], alterou o preзo da casa %d.", Nome3, playerid, Casa);
EscreverLog(LogADM, StringLog);
TextDrawShowForPlayer(playerid, CasaEditada);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
Atualizar3DText(Casa);
}
case DialogEditarPrecoAluguel:
{
if(!response)
{
MostrarMenuAdministrativo(playerid);
return 1;
}
if(!IsNumeric(inputtext))
{
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Digite apenas nъmeros!");
ShowPlayerDialog(playerid, DialogEditarPrecoCasa, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu alterar o preзo da casa.", "{46FE00}Digite o novo preзo que vocк quer abaixo\n{FFFFFF}Use somente nъmeros.\n", "Alterar", "Cancelar");
return 1;
}
if(!strlen(inputtext))
{
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Digite algo no campo ou cancele!");
ShowPlayerDialog(playerid, DialogEditarPrecoCasa, DIALOG_STYLE_INPUT, "{00F2FC}Vocк escolheu alterar o preзo da casa.", "{46FE00}Digite o novo preзo que vocк quer abaixo\n{FFFFFF}Use somente nъmeros.\n", "Alterar", "Cancelar");
return 1;
}
new Casa, Arquivo[100];
Casa = ObterCasa(playerid);
format(Arquivo, sizeof(Arquivo), "LHouse/Casas/Casa %d.txt", Casa);
CasaI[Casa][AluguelPreco] = strval(inputtext);
DOF2_SetInt(Arquivo, "AluguelPreзo", CasaI[Casa][AluguelPreco]);
DOF2_SaveFile();
new StringLog[ 700 ], Nome3[MAX_PLAYER_NAME]; GetPlayerName(playerid, Nome3, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O administrador %s[%d], alterou o preзo de aluguel da casa %d.", Nome3, playerid, Casa);
EscreverLog(LogADM, StringLog);
Atualizar3DText(Casa);
TextDrawShowForPlayer(playerid, CasaEditada);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
}
case DialogEditarInteriorCasa:
{
if(!response)
{
MostrarMenuAdministrativo(playerid);
return 1;
}
switch(listitem)
{
case 0:
{
InteriorCasaX[playerid] = 2196.84;
InteriorCasaY[playerid] = -1204.36;
InteriorCasaZ[playerid] = 1049.02;
InteriorCasaFA[playerid] = 94.0010;
InteriorCasaInt[playerid] = 6;
}
case 1:
{
InteriorCasaX[playerid] = 2259.38;
InteriorCasaY[playerid] = -1135.89;
InteriorCasaZ[playerid] = 1050.64;
InteriorCasaFA[playerid] = 275.3992;
InteriorCasaInt[playerid] = 10;
}
case 2:
{
InteriorCasaX[playerid] = 2282.99;
InteriorCasaY[playerid] = -1140.28;
InteriorCasaZ[playerid] = 1050.89;
InteriorCasaFA[playerid] = 358.4660;
InteriorCasaInt[playerid] = 11;
}
case 3:
{
InteriorCasaX[playerid] = 2233.69;
InteriorCasaY[playerid] = -1115.26;
InteriorCasaZ[playerid] = 1050.88;
InteriorCasaFA[playerid] = 358.4660;
InteriorCasaInt[playerid] = 5;
}
case 4:
{
InteriorCasaX[playerid] = 2218.39;
InteriorCasaY[playerid] = -1076.21;
InteriorCasaZ[playerid] = 1050.48;
InteriorCasaFA[playerid] = 95.2635;
InteriorCasaInt[playerid] = 1;
}
case 5:
{
InteriorCasaX[playerid] = 2496.00;
InteriorCasaY[playerid] = -1692.08;
InteriorCasaZ[playerid] = 1014.74;
InteriorCasaFA[playerid] = 177.8159;
InteriorCasaInt[playerid] = 3;
}
case 6:
{
InteriorCasaX[playerid] = 2365.25;
InteriorCasaY[playerid] = -1135.58;
InteriorCasaZ[playerid] = 1050.88;
InteriorCasaFA[playerid] = 359.0367;
InteriorCasaInt[playerid] = 8;
}
case 7:
{
InteriorCasaX[playerid] = 2317.77;
InteriorCasaY[playerid] = -1026.76;
InteriorCasaZ[playerid] = 1050.21;
InteriorCasaFA[playerid] = 359.0367;
InteriorCasaInt[playerid] = 9;
}
case 8:
{
InteriorCasaX[playerid] = 2324.41;
InteriorCasaY[playerid] = -1149.54;
InteriorCasaZ[playerid] = 1050.71;
InteriorCasaFA[playerid] = 359.0367;
InteriorCasaInt[playerid] = 12;
}
case 9:
{
InteriorCasaX[playerid] = 1260.6603;
InteriorCasaY[playerid] = -785.4005;
InteriorCasaZ[playerid] = 1091.9063;
InteriorCasaFA[playerid] = 270.9891;
InteriorCasaInt[playerid] = 5;
}
case 10:
{
InteriorCasaX[playerid] = 140.28;
InteriorCasaY[playerid] = 1365.92;
InteriorCasaZ[playerid] = 1083.85;
InteriorCasaFA[playerid] = 9.6901;
InteriorCasaInt[playerid] = 5;
}
}
new Casa;
Casa = ObterCasa(playerid);
new Arquivo[100];
format(Arquivo, sizeof(Arquivo), "LHouse/Casas/Casa %d.txt", Casa);
CasaI[Casa][IntX] = InteriorCasaX[playerid];
CasaI[Casa][IntY] = InteriorCasaY[playerid];
CasaI[Casa][IntZ] = InteriorCasaZ[playerid];
CasaI[Casa][IntFA] = InteriorCasaFA[playerid];
CasaI[Casa][Interior] = InteriorCasaInt[playerid];
DOF2_SetFloat(Arquivo, "InteriorX", InteriorCasaX[playerid]);
DOF2_SetFloat(Arquivo, "InteriorY", InteriorCasaY[playerid]);
DOF2_SetFloat(Arquivo, "InteriorZ", InteriorCasaZ[playerid]);
DOF2_SetFloat(Arquivo, "InteriorFA", InteriorCasaFA[playerid]);
DOF2_SetInt(Arquivo, "Interior", InteriorCasaInt[playerid]);
DOF2_SaveFile();
TextDrawShowForPlayer(playerid, CasaEditada);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
SCM(playerid, -1, "[ {FFEC00}LHouse{FFFFFF} ] {46FE00}Interior alterado com sucesso");
DestroyDynamicPickup(PickupSaidaCasa[Casa]);
PickupSaidaCasa[Casa] = CreateDynamicPickup(1318, 1, CasaI[Casa][IntX], CasaI[Casa][IntY], CasaI[Casa][IntZ]);
new StringLog[ 700 ], Nome3[MAX_PLAYER_NAME]; GetPlayerName(playerid, Nome3, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O administrador %s[%d], alterou o interior da casa %d.", Nome3, playerid, Casa);
EscreverLog(LogADM, StringLog);
}
case DialogMenuCasaVenda:
{
if(!response)
{
TogglePlayerControllable(playerid, 1);
return 1;
}
switch(listitem)
{
case 0:
{
new string[260], CaminhoArquivo[ 200 ], Casa, JaEDono;
Casa = ObterCasa(playerid);
GetPlayerName(playerid, Nome, 24);
new CaminhoDono[ 200 ];
GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(CaminhoDono, sizeof(CaminhoDono), "LHouse/Donos/%s.txt", Nome);
if(DOF2_FileExists(CaminhoDono))
{
JaEDono = DOF2_GetInt(CaminhoDono, "CasaID");
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
format(string, sizeof(string), "{F90700}[ ERRO ] {FFFFFF}Vocк jб й dono da casa %d! Vocк sу pode ter 1 casa!", JaEDono);
SCM(playerid, ErroCor, string);
TogglePlayerControllable(playerid, 1);
return 1;
}
new ArquivoLocador[ 200 ];
format(ArquivoLocador, sizeof(ArquivoLocador), "LHouse/Locadores/%s.txt", Nome);
if(DOF2_FileExists(ArquivoLocador))
{
JaEDono = DOF2_GetInt(ArquivoLocador, "CasaID");
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
format(string, sizeof(string), "{F90700}[ ERRO ] {FFFFFF}Vocк jб й locador da casa %d! Vocк sу pode ter 1 casa!", JaEDono);
SCM(playerid, ErroCor, string);
return 1;
}
format(CaminhoArquivo, sizeof(CaminhoArquivo), "LHouse/Casas/Casa %d.txt", Casa);
if(GetPlayerMoney(playerid) < CasaI[Casa][Preco])
{
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Vocк nгo tem dinheiro o suficiente.");
TogglePlayerControllable(playerid, 1);
return 1;
}
format(string, sizeof(string), "%s comprou a casa de id %d", Nome, Casa);
print(string);
if(!LogExistir("LHouse/Logs/Casas.log"))
{
CriarLog("LHouse/Logs/Casas.log");
EscreverLog("LHouse/Logs/Casas.log", string);
return 1;
}
EscreverLog("LHouse/Logs/Casas.log", string);
DOF2_CreateFile(CaminhoDono);
DOF2_SetInt(CaminhoDono, "CasaID", Casa);
GivePlayerMoney(playerid, -CasaI[Casa][Preco]);
format(CasaI[Casa][Dono], 24, Nome);
DOF2_SetString(CaminhoArquivo, "Dono", Nome);
CasaI[Casa][Status] = DOF2_SetInt(CaminhoArquivo,"Status", 0);
SetPlayerPos(playerid, CasaI[Casa][IntX], CasaI[Casa][IntY], CasaI[Casa][IntZ]);
SetPlayerVirtualWorld(playerid, CasaI[Casa][VirtualWorld]);
SetPlayerInterior(playerid, CasaI[Casa][Interior]);
DOF2_SaveFile();
DestroyDynamicPickup(PickupEntradaCasa[Casa]);
DestroyDynamicMapIcon(MapIconCasa[Casa]);
Atualizar3DText(Casa);
TextDrawShowForPlayer(playerid, BemVindo);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
PickupEntradaCasa[Casa] = CreateDynamicPickup(1272, 23, CasaI[Casa][CasaX], CasaI[Casa][CasaY], CasaI[Casa][CasaZ]);
MapIconCasa[Casa] = CreateDynamicMapIcon(CasaI[Casa][CasaX], CasaI[Casa][CasaY], CasaI[Casa][CasaZ], 32, -1, -1, 0, -1, 100.0);
TogglePlayerControllable(playerid, 1);
new StringLog[ 700 ], Nome3[MAX_PLAYER_NAME]; GetPlayerName(playerid, Nome3, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], comprou a casa %d.", Nome3, playerid, Casa);
EscreverLog(LogCasas, StringLog);
}
case 1:
{
MostrarMenuAdministrativo(playerid);
TogglePlayerControllable(playerid, 1);
}
}
}
case DialogMenuCasaLocador:
{
new Casa = ObterCasa(playerid);
if(!response)
{
TogglePlayerControllable(playerid, 1);
return 1;
}
switch(listitem)
{
case 0:
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, CasaI[Casa][CasaX], CasaI[Casa][CasaY], CasaI[Casa][CasaZ]))
{
SetPlayerPos(playerid, CasaI[Casa][IntX], CasaI[Casa][IntY], CasaI[Casa][IntZ]);
SetPlayerVirtualWorld(playerid, CasaI[Casa][VirtualWorld]);
SetPlayerInterior(playerid, CasaI[Casa][Interior]);
TogglePlayerControllable(playerid, 1);
TextDrawShowForPlayer(playerid, BemVindo);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], entrou na casa %d como locador.", Nome, playerid, Casa);
EscreverLog(LogCasas, StringLog);
}
}
case 1:
{
TogglePlayerControllable(playerid, 1);
ShowPlayerDialog(playerid, DialogStatusCasa, DIALOG_STYLE_MSGBOX, "{00F2FC}Vocк escolheu mudar o status da casa.", "{46FE00}Oque vocк gostaria de fazer com o status atual da casa?\n", "Trancar", "Destrancar");
return 1;
}
case 2:
{
new string[ 200 ];
format(string, sizeof(string), "{46FE00}Vocк deseja desalugar essa casa? {FFFFFF}(%d)\n", Casa);
ShowPlayerDialog(playerid, DialogConfirmarDesaluguel, DIALOG_STYLE_MSGBOX, "{00F2FC}Vocк escolheu desalugar a casa.", string, "Sim", "Nгo");
}
}
}
case DialogMenuCasaDono:
{
new Casa = ObterCasa(playerid);
if(!response)
{
TogglePlayerControllable(playerid, 1);
return 1;
}
switch(listitem)
{
case 0:
{
if(IsPlayerInRangeOfPoint(playerid, 5.0, CasaI[Casa][CasaX], CasaI[Casa][CasaY], CasaI[Casa][CasaZ]))
{
SetPlayerPos(playerid, CasaI[Casa][IntX], CasaI[Casa][IntY], CasaI[Casa][IntZ]);
SetPlayerVirtualWorld(playerid, CasaI[Casa][VirtualWorld]);
SetPlayerInterior(playerid, CasaI[Casa][Interior]);
TogglePlayerControllable(playerid, 1);
TextDrawShowForPlayer(playerid, BemVindo);
SetTimerEx("EsconderTds", 2000, false, "i", playerid);
new StringLog[ 700 ]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
format(StringLog, sizeof(StringLog), "O jogador %s[%d], entrou na casa %d como dono da casa.", Nome, playerid, Casa);
EscreverLog(LogCasas, StringLog);
}
}
case 1:
{
TogglePlayerControllable(playerid, 1);
ShowPlayerDialog(playerid, DialogAluguel, DIALOG_STYLE_MSGBOX, "{00F2FC}Aluguel.", "{46FE00}Oque vocк gostaria de fazer com o aluguel da sua casa?\n", "Ativar", "Desativar");
return 1;
}
case 2:
{
TogglePlayerControllable(playerid, 1);
ShowPlayerDialog(playerid, DialogStatusCasa, DIALOG_STYLE_MSGBOX, "{00F2FC}Vocк escolheu mudar o status da sua casa.", "{46FE00}Oque vocк gostaria de fazer com o status atual da sua casa?\n", "Trancar", "Destrancar");
return 1;
}
case 3:
{
if(CarroI[Casa][CarroModelo] != 0)
{
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1085, X, Y, Z);
SCM(playerid, ErroCor, "{F90700}[ ERRO ] {FFFFFF}Sua casa jб tem um carro. Venda-o antes.");
TogglePlayerControllable(playerid, 1);
return 1;
}
new stringcat[ 2500 ];
strcat(stringcat, "Modelo {FB1300}475 {25F700}- {FCEC00}Sabre {25F700}- {00EAFA}R$ 19.000,00 \n");
strcat(stringcat, "Modelo {FB1300}496 {25F700}- {FCEC00}Blista {25F700}- {00EAFA}R$ 25.000,00 \n");
strcat(stringcat, "Modelo {FB1300}560 {25F700}- {FCEC00}Sultan {25F700}- {00EAFA}R$ 26.000,00 \n");
strcat(stringcat, "Modelo {FB1300}401 {25F700}- {FCEC00}Bravura {25F700}- {00EAFA}R$ 27.000,00 \n");
strcat(stringcat, "Modelo {FB1300}404 {25F700}- {FCEC00}Perenniel {25F700}- {00EAFA}R$ 28.000,00 \n");
strcat(stringcat, "Modelo {FB1300}559 {25F700}- {FCEC00}Jester {25F700}- {00EAFA}R$ 29.000,00 \n");
strcat(stringcat, "Modelo {FB1300}402 {25F700}- {FCEC00}Buffalo {25F700}- {00EAFA}R$ 32.000,00 \n");
strcat(stringcat, "Modelo {FB1300}562 {25F700}- {FCEC00}Elegy {25F700}- {00EAFA}R$ 35.000,00 \n");
strcat(stringcat, "Modelo {FB1300}589 {25F700}- {FCEC00}Club {25F700}- {00EAFA}R$ 38.000,00 \n");
strcat(stringcat, "Modelo {FB1300}603 {25F700}- {FCEC00}Phoenix {25F700}- {00EAFA}R$ 42.000,00 \n");
strcat(stringcat, "Modelo {FB1300}400 {25F700}- {FCEC00}Landstalker {25F700}- {00EAFA}R$ 65.000,00 \n");
strcat(stringcat, "Modelo {FB1300}429 {25F700}- {FCEC00}Banshee {25F700}- {00EAFA}R$ 131.000,00 \n");
strcat(stringcat, "Modelo {FB1300}415 {25F700}- {FCEC00}Cheetah {25F700}- {00EAFA}R$ 145.000,00 \n");
strcat(stringcat, "Modelo {FB1300}411 {25F700}- {FCEC00}Infernus {25F700}- {00EAFA}R$ 150.000,00 \n");
strcat(stringcat, "Modelo {FB1300}409 {25F700}- {FCEC00}Limosine {25F700}- {00EAFA}R$ 230.000,00 \n");
strcat(stringcat, "Modelo {FB1300}477 {25F700}- {FCEC00}ZR-350 {25F700}- {00EAFA}R$ 250.000,00 \n");
strcat(stringcat, "Modelo {FB1300}506 {25F700}- {FCEC00}Super GT {25F700}- {00EAFA}R$ 500.000,00 \n");
strcat(stringcat, "Modelo {FB1300}541 {25F700}- {FCEC00}Bullet {25F700}- {00EAFA}R$ 700.000,00 \n");
strcat(stringcat, "Modelo {FB1300}451 {25F700}- {FCEC00}Turismo {25F700}- {00EAFA}R$ 850.000,00 \n");
strcat(stringcat, "Modelo {FB1300}468 {25F700}- {FCEC00}Sanchez {25F700}- {00EAFA}R$ 40.000,00 {FFFFFF} - MOTO\n");
strcat(stringcat, "Modelo {FB1300}461 {25F700}- {FCEC00}PCJ-600 {25F700}- {00EAFA}R$ 55.000,00 {FFFFFF} - MOTO\n");
strcat(stringcat, "Modelo {FB1300}521 {25F700}- {FCEC00}FCR-900 {25F700}- {00EAFA}R$ 60.000,00 {FFFFFF} - MOTO\n");
strcat(stringcat, "Modelo {FB1300}463 {25F700}- {FCEC00}Freeway {25F700}- {00EAFA}R$ 80.000,00 {FFFFFF} - MOTO\n");
strcat(stringcat, "Modelo {FB1300}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;
}[/pawno]
Reply
#2

FAIL, e [pawn] [*/pawn] sem o * ..

Topic# ai nгo mostra os cmds .-.
Reply
#3

como deleta pors zona? e vo arumar isso ae
Reply
#4

deleta oq amigo?
Reply
#5

como deleta port? zona se eu postar o download do FS LHouse vc tenta ver pra mim como comprar a casa e os comandos?
Reply
#6

andei procurando os cmds achei esses em tds sites .. da net SA:MP
do LHouse 2.0

Comandos
/casas - Vк as casas.
/gpscasa - Encontra uma casa.
/ircasa - Teleporta atй uma casa.
/estacionar - Estaciona seu veнculo.
/criarcasa - Cria uma casa dentro do jogo.

_

pois /comprarcasa nгo acho ;[
Reply
#7

cara, se eu postar o FS pra download vc ve se axa pra mim cara?
Reply
#8

man e dificio pq ai no fs nгo mostra o cmd..
Reply
#9

affs quem crio esse fs й um $%#
Reply
#10

olha no outro topico que vc crio.. postei sistema de carro & casa de meu gm.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)