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