[AJUDA] LHouse 2.0
#1

Eu estou tentando mecher no sistema de casa do los Lhouse 2.0 forum.sa-mp.com/showthread.php?t=326008

So que estou com um bug, quando eu dou gmx, ou desligo o servidor, de qualquer forma, o sistema vai bugar, a print ja diz tudo:

http://i46.tinypic.com/29w0rqw.jpg

Aqui o cуdigo que faz o carregamento da casa:

OnGameModeExit
pawn Код:
SalvarCasas();
    DOF2_Exit();
    new StringLog[ 700 ];
    format(StringLog, sizeof(StringLog), "[ LHOUSE LOGS ]  ----------- SISTEMA FINALIZADO -----------");
    EscreverLog(LogSystem, StringLog);
OnGameModeInit
pawn Код:
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;
}
OnGameModeInit
pawn Код:
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);
//=============================== [ TEXTDRAWS ] ============================//
    CasaTrancada = TextDrawCreate(445.000000, 306.000000, "Casa Trancada!");
    TextDrawBackgroundColor(CasaTrancada, 255);
    TextDrawFont(CasaTrancada, 1);
    TextDrawLetterSize(CasaTrancada, 0.789999, 3.599998);
    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.599998);
    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.599998);
    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.599998);
    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.599998);
    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.599998);
    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.599998);
    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.599998);
    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.599998);
    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.599998);
    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.599998);
    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.599998);
    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.599998);
    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);
pawn Код:
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;
}
Alguйm poderia me ajudar, ja estou quase desistindo por causa desse sistema de casa, ja testei uns 10 sistema inclusive a maioria ingles, e sempre com o mesmo bug, sу achei um que funcionava corretamente apos o gmx sу que nгo era como eu queria.
Reply
#2

Depois que vocк efetuar o GMX, digite:

/rcon reloadfs LHouse

O ideal era ter postado no tуpico do LHouse ou ter me enviado uma MP, mais sem problemas

Abraзos.
Reply
#3

Eu coloquei esse sistema dentro do GM
Nunca mechi com esse negocio de FS, tudo eu coloco dentro do gm, e tambйm nгo uso rcon, deixei como PlayerInfo[playerid][pAdmin]
Reply
#4

Entгo vocк colocou algo errado, na hora do carregamento...

Isso sу acontece pelo GMX, ou se vocк reiniciar pelo console tambйm acontece?
Reply
#5

gmx, console tudo, sу funciona quando eu desconecto, logo etc. mais quando reinicio independente da forma, o negocio ja fica bugado assim
Reply
#6

Posta seu OnGameModeInit inteiro.
Reply
#7

O meu OnGameModeInit estб igual ao seu OnFilterScriptInit
Sу que tem alguns carros adicionados pickup etc.
Se eu nгo me engano, sу um minuto, vou testar o LHouse em sн pra ver se vai continuar o mesmo bug que estб no GM, ja respondo.
Reply
#8

O interessante mesmo eu colocando o LHouse como GM, ele da o mesmo bug.
Para adicionar o filterscript, eu coloco esse LHouse dentro da pasta filterscripts e coloco no console filterscripts LHouse Os comandos tudo vai funcionar normalmente? й assim que adiciona o FS?
Reply
#9

Nгo. Falta os plugins e tem que criar as pastas no scriptfiles.
Reply
#10

scriptfiles ta o LHouse tudo certo e as pasta com as infomaзхes da casa tudo certinho
Quanto ao plugin, eu tenho um streamer diferente do seu, quando eu coloco o seu da esses erro no console:

Код:
*** Streamer Plugin v2.6 by Incognito loaded ***

[19:48:11]   Loaded.
[19:48:11]  Loaded 2 plugins.

[19:48:11] 
[19:48:11] Filterscripts
[19:48:11] ---------------
[19:48:11]   Loaded 0 filterscripts.

[19:48:11] *** Streamer Plugin: Obsolete or invalid native "Streamer_RegisterInterface" found (script needs to be recompiled with the latest include file)
[19:48:11] *** Streamer Plugin: Obsolete or invalid native "Streamer_AddPlayer" found (script needs to be recompiled with the latest include file)
[19:48:11] *** Streamer Plugin: Obsolete or invalid native "Streamer_RemovePlayer" found (script needs to be recompiled with the latest include file)
[19:48:11] *** Streamer Plugin: Obsolete or invalid native "Streamer_VerifyPickup" found (script needs to be recompiled with the latest include file)
[19:48:11] *** Streamer Plugin: Obsolete or invalid native "Streamer_VerifyCheckpoint" found (script needs to be recompiled with the latest include file)
[19:48:11] Script[gamemodes/LHouse.amx]: Run time error 20: "Invalid index parameter (bad entry point)"
[19:48:11] Number of vehicle models: 0
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)