[Ajuda] Problema com Loop
#1

Oi gente, tudo bem? Entгo, hoje eu reparei em uma coisa, em uma Gamemode que estou fazendo do zero, que, na funзгo para carregar arquivos criados, ele cria meio que um fantasma, e creio que seja problema com o loop.

Caso nгo tenha entendido, exemplo:

Existe um arquivo "A" criado bonitinho na pasta "Fulando", porйm, ao ligar o servidor, aparece que foram carregados 2 arquivos.

Alguйm poderia me ajudar? E se nгo tiverem muito ocupados, poderia me explicar ou passar um tуpico explicando as funзхes do Loop.

PHP код:
stock GetHouses()
{
    new 
file[60];
    for(new 
1sizeof(HouseInfo) ; i++)
    {
         
format(file,sizeof(file), "Houses/%i.ini",i);
           if(!
DOF2_FileExists(file)) return i;
    }
    return -
1;

Observaзгo: Essa funзгo, й utilizada para a criaзгo/carregamento de arquivos das casas.
ObservaзгoІ: Caso precisem do outro cуdigo de carregamento, pois nele, tambйm se utiliza um loop me digam, mais creio que seja nessa stock que passei para vocкs.
Reply
#2

estб funзгo

PHP код:
stock GetHouses()
{
    new 
file[60];
    for(new 
1sizeof(HouseInfo) ; i++)
    {
         
format(file,sizeof(file), "Houses/%i.ini",i);
           if(!
DOF2_FileExists(file)) return i;
    }
    return -
1;

ele vai fazer um loop para saber se o arquivo existe, ou seja, no primeiro aquivo que ele encontrar que exista ele vai retornar o valor "i" e vai parar o loop.

Poste o carregamento das casas!
Reply
#3

Quote:
Originally Posted by Glederson_dom
Посмотреть сообщение
estб funзгo

PHP код:
stock GetHouses()
{
    new 
file[60];
    for(new 
1sizeof(HouseInfo) ; i++)
    {
         
format(file,sizeof(file), "Houses/%i.ini",i);
           if(!
DOF2_FileExists(file)) return i;
    }
    return -
1;

ele vai fazer um loop para saber se o arquivo existe, ou seja, no primeiro aquivo que ele encontrar que exista ele vai retornar o valor "i" e vai parar o loop.

Poste o carregamento das casas!
PHP код:
stock LoadHouses()
{
    new 
id GetHouses();
    for(new 
1idi++)
    {
        new 
file[80];
        
format(filesizeof(file), Housesi);
        if(
DOF2_FileExists(file))
        
format(HouseInfo[i][Owner], 200"%s"DOF2_GetString(file"Owner"));
        
format(HouseInfo[i][Adress], 200"%s"DOF2_GetString(file"Adress"));
        
HouseInfo[i][Owned] = DOF2_GetInt(file"Owned");
        
HouseInfo[i][Price] = DOF2_GetInt(file"Price");
        
HouseInfo[i][EnterX] = DOF2_GetFloat(file"EnterX");
        
HouseInfo[i][EnterY] = DOF2_GetFloat(file"EnterY");
        
HouseInfo[i][EnterZ] = DOF2_GetFloat(file"EnterZ");
        
HouseInfo[i][EnterA] = DOF2_GetFloat(file"EnterA");
        
HouseInfo[i][ExitX] = DOF2_GetFloat(file"ExitX");
        
HouseInfo[i][ExitY] = DOF2_GetFloat(file"ExitY");
        
HouseInfo[i][ExitZ] = DOF2_GetFloat(file"ExitZ");
        
HouseInfo[i][ExitA] = DOF2_GetFloat(file"ExitA");
        
HouseInfo[i][EnterInt] = DOF2_GetInt(file"EnterInt");
        
HouseInfo[i][EnterVW] = DOF2_GetInt(file"EnterVW");
        
HouseInfo[i][ExitInt] = DOF2_GetInt(file"ExitInt");
        
HouseInfo[i][ExitVW] = DOF2_GetInt(file"ExitVW");
        
HouseInfo[i][Locked] = DOF2_GetInt(file"Locked");
        if(
HouseInfo[i][Owned])
        {
            
HouseInfo[i][PickupID] = CreatePickup(12721HouseInfo[i][ExitX], HouseInfo[i][ExitY], HouseInfo[i][ExitZ], 0);
            
HouseInfo[i][Owned] = 1;
        }
        else
        {
            
HouseInfo[i][PickupID] = CreatePickup(12731HouseInfo[i][ExitX], HouseInfo[i][ExitY], HouseInfo[i][ExitZ], 0);
            
HouseInfo[i][Owned] = 0;
        }
    }
    
printf("Fort Carson Roleplay - Casas Carregadas %d"id);
    return 
1;

Tб aqui amigo! Entгo, o carregamento tem que comeзar do ID 1 atй o ID da ultima casa criada.
Reply
#4

Essa funзгo retornara quantos arquivos estiver na pasta Houses.
PHP код:
stock GetHouses()
{
    new
        
file[60], houses;
    for(new 
1<= sizeof(HouseInfo) ; i++)
    {
         
format(file,sizeof(file), "Houses/%i.ini",i);
           if(
DOF2_FileExists(file))houses++;
    }
    return 
houses;

Reply
#5

Quote:
Originally Posted by Glederson_dom
Посмотреть сообщение
PHP код:
stock GetHouses()
{
    new
        
file[60], houses;
    for(new 
1sizeof(HouseInfo) ; i++)
    {
         
format(file,sizeof(file), "Houses/%i.ini",i);
           if(!
DOF2_FileExists(file))houses++;
    }
    return 
houses;

Entгo, apareceu no prompt de comando, quando liga o serve, que carregou 231 casas, sendo que possui apenas 68 criadas.

@edit

Falando que tem agora 232 criadas.
Reply
#6

@corrigido edit a cima!
Reply
#7

Quote:
Originally Posted by Glederson_dom
Посмотреть сообщение
@corrigido edit a cima!
Arrumei maninho, se reparar, ali em

PHP код:
if(!DOF2_FileExists(file)) 
seria para verificar se o arquivo estar realmente criado, e se nгo estivesse, retornava por padrгo DOF2_CreateFile

sу que eu troquei o "!"

PHP код:
if(DOF2_FileExists(file)) 
E carregou corretamente.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)