[Ajuda] Pequeno Problema
#1

Boas
Tenho um problema no gm em relaзгo as casas ficarem б venda automaticamente porque sempre que o dono de uma casa entra, em vez de actualizar sу a data da sua casa actualiza de todas as casas. Em baixo esta o codigo que me parece ser a origem do erro, serб que podem dar uma olhada.

Desde jб muito obrigado





Код:
public OnPlayerLogin(playerid,const string[])
{
bla bla bla etc...

DateProp(playerid);
}


public DateProp(playerid)
{

	
	new playername[MAX_PLAYER_NAME];
 GetPlayerName(playerid, playername, sizeof(playername));
 new curdate = getdate();
 for(new h = 0; h < sizeof(HouseInfo); h++)
 {
     if (strcmp(playername, HouseInfo[h][hOwner], true) == 0)
     {
     HouseInfo[h][hDate] = curdate;
     gravardata();
     }
 }

return 1;
}


public gravardata()
{
	if (gdebug >= 1){printf("DEBUG gravardata()");}
	new idx;
	new File: file2;
	while (idx < sizeof(HouseInfo))
	{
		new coordsstring[256];
		format(coordsstring, sizeof(coordsstring), "%d",HouseInfo[idx][hDate]);
		if(idx == 0)
		{
			file2 = fopen("LVHouses/property.cfg", io_write);
		}
		else
		{
			file2 = fopen("LVHouses/property.cfg", io_append);
		}
		fwrite(file2, coordsstring);
		idx++;
		fclose(file2);
	}
	return 1;

}




Exemplo de Algumas casas 
-2490.394775,129.588699,25.874300,1299.140014,-794.770019,1084.000000,0,0,0,0,0,0,O estado,Gang-house,3000000,0,0,5,0,0,0,1,0,389624,418,-1,-1,315,999,52
1735.049316,-1648.531005,27.230100,-794.806396,497.738037,1376.195312,1,1,1,1,1,1,SnK_Rafael, Plaza Apartamento,50000,1,1,1,1,1,1,1000,0,287200,522,0,0,315,15,0
1735.087768,-1660.219360,27.212699,301.299987,306.299987,1003.500000,0,0,0,0,0,0,[CK].[F]izzZ, Plaza Apartamento,50000,1,1,4,1,1,1,1000000000,0,10171802,477,-1,-1,315,15,0
1708.706054,-1664.761596,23.704299,260.600006,1238.800048,1084.199951,0,0,0,0,0,0,Kakuza.,Plaza Apartamento,250000,0,0,9,1,1,0,1,0,591,418,-1,-1,315,15,0
1708.716430,-1654.464477,23.701799,2526.399902,-1679.000000,1015.400024,0,0,0,0,0,0,[NXN][_M_]Ja_BaTeS,Plaza Apartamento,250000,1,1,1,1,1,0,100000,2,3087000,534,3,6,315,15,0

Mais uma vez obrigado
Reply
#2

Pelo que entendi as casas do seu servidor estгo ficando б venda automaticamente e vocк suspeita que o problema esteja na sua funзгo de atualizar a data das casas dos jogadores.



Bem, sua funзгo DateProp(playerid) estб correta uma vez que a mesma estб modificando apenas a variбvel HouseInfo[playerid][hDate], sendo playerid o ID do jogador que tem a data de sua casa atualizada .



Jб a funзгo gravardata() estб salvando a data de cada casa do servidor (somente a data) no arquivo property.cfg de forma desorganizada (ficando um pouco difнcil de fazer a leitura dele depois) e de modo que todo o conteъdo do arquivo seja apagado para dar lugar бs datas das casas, durante a escrita de dados .



Mas, й comum em servidores RP/RPG o arquivo property.cfg guardar todas as informaзхes das casas (preзo, localizaзгo, etc) .



Caso esse seja o caso do seu arquivo, entгo a funзгo gravardata() estaria removendo os dados do arquivo, impossibilitando a leitura e causando o problema citado por vocк .



Bem, para resolver o seu problema й necessбrio uma anбlise do conteъdo do arquivo property.cfg e das funзхes que salva/leem todos os dados das casas.




Espero ter ajudado .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)