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;}