[Ajuda] carreegando .ini
#1

Bom ele nao esta carregando ...
pawn Код:
stock LoaderLombada()
{
    new ParameterName[50], ParameterValue[50], File:CFile, LineFromFile[50];
    format(Don, sizeof(Don), LocaSave, Quantidade);
    if (fexist(Don))
    {
        fread(CFile, LineFromFile);
        while (strlen(LineFromFile) > 0)
        {
             for (new i; i < MAX_LOMBADA; i++)
             {
                    if (strcmp(ParameterName, "LocalX", false) == 0)
                       LombadaInfo[i][PosX] = floatstr(ParameterValue);

                    if (strcmp(ParameterName, "LocalY", false) == 0)
                       LombadaInfo[i][PosY] = floatstr(ParameterValue);

                    if (strcmp(ParameterName, "LocalZ", false) == 0)
                       LombadaInfo[i][PosZ] = floatstr(ParameterValue);
             }

        }
        fclose(CFile);
        CreateObject(19425, LombadaInfo[Quantidade][PosX],LombadaInfo[Quantidade][PosY],LombadaInfo[Quantidade][PosZ]-3.0, 0.0, 0.0, 0.0, 300.00);
        print("Todas Lombadas Carregadar Com Sucesso!");
    }
}

Ele salva certinhu mas nao carrega.
Reply
#2

Alguem
Reply
#3

Usa fopen antes
Reply
#4

Quote:
Originally Posted by Viniborn
Посмотреть сообщение
Usa fopen antes

Assim

pawn Код:
stock LoaderLombada()
{
    new ParameterName[50], ParameterValue[50], File:CFile, LineFromFile[50];
    format(Don, sizeof(Don), LocaSave, Quantidade);
    if (fexist(Don))
    {
        fread(CFile, LineFromFile);
        while (strlen(LineFromFile) > 0)
        {
             for (new i; i < MAX_LOMBADA; i++)
             {
                   new File:example = fopen("%i.ini", io_write);
                   if(example)
                   {

                         if (strcmp(ParameterName, "LocalX", false) == 0)
                            LombadaInfo[i][PosX] = floatstr(ParameterValue);

                         if (strcmp(ParameterName, "LocalY", false) == 0)
                            LombadaInfo[i][PosY] = floatstr(ParameterValue);

                         if (strcmp(ParameterName, "LocalZ", false) == 0)
                            LombadaInfo[i][PosZ] = floatstr(ParameterValue);
                   }
             }

        }
        fclose(CFile);
        CreateObject(19425, LombadaInfo[Quantidade][PosX],LombadaInfo[Quantidade][PosY],LombadaInfo[Quantidade][PosZ]-3.0, 0.0, 0.0, 0.0, 300.00);
        print("Todas Lombadas Carregadar Com Sucesso!");
    }
}

ou assim

pawn Код:
stock LoaderLombada()
{
    new ParameterName[50], ParameterValue[50], File:CFile, LineFromFile[50];
    format(Don, sizeof(Don), LocaSave, Quantidade);
    if (fexist(Don))
    {
        fread(CFile, LineFromFile);
        while (strlen(LineFromFile) > 0)
        {
             for (new i; i < MAX_LOMBADA; i++)
             {
                   new File:example = fopen("%i.ini", Quantidade);
                   if(example)
                   {

                         if (strcmp(ParameterName, "LocalX", false) == 0)
                            LombadaInfo[i][PosX] = floatstr(ParameterValue);

                         if (strcmp(ParameterName, "LocalY", false) == 0)
                            LombadaInfo[i][PosY] = floatstr(ParameterValue);

                         if (strcmp(ParameterName, "LocalZ", false) == 0)
                            LombadaInfo[i][PosZ] = floatstr(ParameterValue);
                   }
             }

        }
        fclose(CFile);
        CreateObject(19425, LombadaInfo[Quantidade][PosX],LombadaInfo[Quantidade][PosY],LombadaInfo[Quantidade][PosZ]-3.0, 0.0, 0.0, 0.0, 300.00);
        print("Todas Lombadas Carregadar Com Sucesso!");
    }
}

Porem da um aviso

pawn Код:
warning 213: tag mismatch

Nesta linha

pawn Код:
new File:example = fopen("%i.ini", Quantidade);
Reply
#5

Vocк dб lendo sem ter aberto o arquivo.

pawn Код:
fread(CFile, LineFromFile);

Aqui vai um exemplo da wiki
pawn Код:
public OnPlayerConnect(playerid)
{
    new string[64]; // Cria a string para armazenar o texto lido
    new File:example = fopen("Startup.txt", io_read); // Abre o arquivo
    while(fread(example, string)) //Lк o arquivo linha por linha
    {
        if(strcmp(string, "Ban", true) == 0) //Se alguma linha contйm "Ban" o sistema irб banir o jogador
        {
            Ban(playerid);
        }
    }
    fclose(example);
    return 1;
}
Reply
#6

Porque nao ussa sscanf como separador?

posx|posy|posz|
Reply
#7

Quote:
Originally Posted by Viniborn
Посмотреть сообщение
Vocк dб lendo sem ter aberto o arquivo.

pawn Код:
fread(CFile, LineFromFile);

Aqui vai um exemplo da wiki
pawn Код:
public OnPlayerConnect(playerid)
{
    new string[64]; // Cria a string para armazenar o texto lido
    new File:example = fopen("Startup.txt", io_read); // Abre o arquivo
    while(fread(example, string)) //Lк o arquivo linha por linha
    {
        if(strcmp(string, "Ban", true) == 0) //Se alguma linha contйm "Ban" o sistema irб banir o jogador
        {
            Ban(playerid);
        }
    }
    fclose(example);
    return 1;
}

Porem sao varios arquivos , como fazer com varios arquivos?
Reply
#8

Faz um looping para lк-los
Reply
#9

Quote:
Originally Posted by Joao Pedro
Посмотреть сообщение
Faz um looping para lк-los

Exemplo
Reply
#10

Alguem
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)