27.08.2012, 13:12
Estou usando o sistema casas do LOS (crйditos а ele), mas quando eu reinicio o server as casas nгo sгo criadas novamente. Se alguйm que usa ou nгo puder me ajudar eu agradaзo ou atй mesmo o LOS criador desse sistema.
public OnFilterScriptInit()
{
CriarCasasEx();
CriarCarrosCasasEx();
CriarLogs();
foreach(new casaid : Casas)
{
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);
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;
}
//No inicio do FS forward CriarCasasEx(); e no lugar de stock coloque o public CriarCasasEx(); Repita o processo nos outros.