28.03.2015, 08:18 
	
	
	Olб galerinha do Fуrum SAMP, venho pedir uma ajudinha aqui. Estou criando meu sistema de propriedades, onde existe as funзхes Criar_Propriedade, Deletar_Propriedade e CarregarProp. Estгo logo abaixo:
E entгo as propriedades sгo salvas nesta pasta:

Mas se por exemplo, eu usar a funзгo Deletar_Propriedade, funcionarб perfeitamente, mas o problema й que quero que quando eu for criar outra, fique no lugar da que removi. Mas como fazer? '-' Quero apenas essa ajudinha, agradeзo desde jб!
	PHP код:
stock Criar_Propriedade(PropID, _pNome[], _pDono[], Float:_pX, Float:_pY, Float:_pZ, bool:_pComprada, _pValor, _pGanhando=-1)
{
    if(DOF2_FileExists(pProp(PropID))) return 0;
    DOF2_CreateFile(pProp(PropID));
    DOF2_SetInt(pProp(PropID), "Prop_ID", PropID);
    DOF2_SetString(pProp(PropID), "Prop_Nome", _pNome); //Nome da Propriedade
    DOF2_SetString(pProp(PropID), "Prop_Dono", _pDono); //Dono da Propriedade
    DOF2_SetFloat(pProp(PropID), "Prop_X", _pX); //Posiзгo X da Propriedade
    DOF2_SetFloat(pProp(PropID), "Prop_Y", _pY); //Posiзгo Y da Propriedade
    DOF2_SetFloat(pProp(PropID), "Prop_Z", _pZ); //Posiзгo Z da Propriedade
    DOF2_SetBool(pProp(PropID), "Prop_Comprada", _pComprada); //Se a Propriedade estб comprada, ou nгo.
    DOF2_SetInt(pProp(PropID), "Prop_Valor", _pValor);
    
    //Caso isto seja escolhido, irб auto-calcular o valor de ganho da propriedade, ou seja, 10% do valor original.
    if(_pGanhando == -1) DOF2_SetInt(pProp(PropID), "Prop_Ganhando", _pValor / 10);
    else DOF2_SetInt(pProp(PropID), "Prop_Ganhando", _pGanhando);
    return 1;
}
stock Deletar_Propriedade(PropID)
{
    if(!DOF2_FileExists(pProp(PropID))) return 0;
    
    DestroyDynamicPickup(PropInfo[PropID][Prop_Pickup]);
    DestroyDynamicMapIcon(PropInfo[PropID][Prop_MapIcon]);
    
    DOF2_RemoveFile(pProp(PropID));
    
    Propriedades_Criadas--;
    return 1;
}
stock CarregarProp(PropID)
{
    PropInfo[PropID][Prop_ID] = DOF2_GetInt(pProp(PropID), "Prop_ID"); //ID da Propriedade!
    format(PropInfo[PropID][Prop_Nome], 64, "%s", DOF2_GetString(pProp(PropID), "Prop_Nome")); //Nome da Propriedade
    format(PropInfo[PropID][Prop_Dono], MAX_PLAYER_NAME, "%s", DOF2_GetString(pProp(PropID), "Prop_Dono")); //Dono da Propriedade
    PropInfo[PropID][Prop_X] = DOF2_GetFloat(pProp(PropID), "Prop_X"); //Posiзгo X da Propriedade
    PropInfo[PropID][Prop_Y] = DOF2_GetFloat(pProp(PropID), "Prop_Y"); //Posiзгo Y da Propriedade
    PropInfo[PropID][Prop_Z] = DOF2_GetFloat(pProp(PropID), "Prop_Z"); //Posiзгo Z da Propriedade
    PropInfo[PropID][Prop_Comprada] = DOF2_GetBool(pProp(PropID), "Prop_Comprada"); //Se a Propriedade estб comprada, ou nгo.
    PropInfo[PropID][Prop_Valor]     = DOF2_GetInt(pProp(PropID), "Prop_Valor"); //Valor da Propriedade (Dinheiro preciso para comprб-la)
    PropInfo[PropID][Prop_Ganhando] = DOF2_GetInt(pProp(PropID), "Prop_Ganhando"); //10% do Valor acima - isso seria quanto o jogador irб ganhar a cada 30 minutos.
    if(PropInfo[PropID][Prop_Comprada]) //Se a propriedade for comprada...
    {
        PropInfo[PropID][Prop_Pickup] = CreateDynamicPickup(PICKUP_PROP_COMPRADA, 1, PropInfo[PropID][Prop_X], PropInfo[PropID][Prop_Y], PropInfo[PropID][Prop_Z]);
        PropInfo[PropID][Prop_MapIcon] = CreateDynamicMapIcon(PropInfo[PropID][Prop_X], PropInfo[PropID][Prop_Y], PropInfo[PropID][Prop_Z], ICONE_PROP_COMPRADA, -1);
    }
    else //Se a propriedade nгo estiver comprada...
    {
        PropInfo[PropID][Prop_Pickup] = CreateDynamicPickup(PICKUP_PROP_NORMAL, 1, PropInfo[PropID][Prop_X], PropInfo[PropID][Prop_Y], PropInfo[PropID][Prop_Z]);
        PropInfo[PropID][Prop_MapIcon] = CreateDynamicMapIcon(PropInfo[PropID][Prop_X], PropInfo[PropID][Prop_Y], PropInfo[PropID][Prop_Z], ICONE_PROP_NORMAL, -1);
    }
    return 1;
}
stock Contar_Propriedades()
{
    Propriedades_Criadas = 0;
    for(new i = 0; i < MAX_PROPRIEDADES_SERVIDOR; ++i)
    {
        if(DOF2_FileExists(pProp(i)))
        {
            Propriedades_Criadas++;
        }
    }
    return 1;
}
stock pProp(PropID)
{
    new Prop_String[30];
    format(Prop_String, sizeof(Prop_String), FOLDER_PROPRIEDADES, PropID);
    return Prop_String;
} 

Mas se por exemplo, eu usar a funзгo Deletar_Propriedade, funcionarб perfeitamente, mas o problema й que quero que quando eu for criar outra, fique no lugar da que removi. Mas como fazer? '-' Quero apenas essa ajudinha, agradeзo desde jб!




