[Soporte] No se guardan las casas.
#1

Resulta que tengo un GM que funciona mediante MySQL. Para aсadir una casa uso /crearcasa y luego /editcasa, funcionan perfectamente, pero se pierden al reiniciar el servidor. Al igual que los negocios. No solo desaparece el pickup, tambiйn la existencia de la casa en sн, pese a que no haya pickup he probado de poner /info (cuando hay una casa sн funciona) y no sale nada.
ЎAyuda!

Es SavePropety para las casas:
Код:
SaveProperty(idx)
{
    new sql[1024];
    format(sql, 1024, "UPDATE casas SET EX=%f,EY=%f,EZ=%f,SX=%f,SY=%f,SZ=%f,Interior=%d,Owned=%d,Owner='%s',Nivel= %d,Costo=%d,Locked=%d WHERE id=%d",
	HouseInfo[idx][hEx],
	HouseInfo[idx][hEy],
	HouseInfo[idx][hEz],
	HouseInfo[idx][hSx],
	HouseInfo[idx][hSy],
	HouseInfo[idx][hSz],
	HouseInfo[idx][hInterior],
	HouseInfo[idx][hOwned],
	HouseInfo[idx][hOwner],
	HouseInfo[idx][hLevel],
	HouseInfo[idx][hValue],
	HouseInfo[idx][hLock],
	HouseInfo[idx][hId]);
	samp_mysql_query(sql);
	return 1;
}
El LoadPropety:
Код:
LoadProperty()
{
    samp_mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS);
    samp_mysql_select_db(MYSQL_DB);
	new sql[80], row[512];
	format(sql, sizeof(sql), "SELECT COUNT(*) FROM casas");
	samp_mysql_query(sql);
	samp_mysql_store_result();
	samp_mysql_fetch_row(row);
	hcount = strval(row);

	for (new idx=1; idx<=hcount; idx++)
	{
	    format(sql, sizeof(sql), "SELECT * FROM casas WHERE id=%d LIMIT 1", idx);
	    samp_mysql_query(sql);
	    samp_mysql_store_result();
     	samp_mysql_fetch_row(row);
		split(row, arrCoords, '|');
		HouseInfo[idx][hId] = strval(arrCoords[0]);
		HouseInfo[idx][hEx] = floatstr(arrCoords[1]);
		HouseInfo[idx][hEy] = floatstr(arrCoords[2]);
		HouseInfo[idx][hEz] = floatstr(arrCoords[3]);
		HouseInfo[idx][hSx] = floatstr(arrCoords[4]);
		HouseInfo[idx][hSy] = floatstr(arrCoords[5]);
		HouseInfo[idx][hSz] = floatstr(arrCoords[6]);
		HouseInfo[idx][hInterior] = strval(arrCoords[7]);
		HouseInfo[idx][hOwned] = strval(arrCoords[8]);
		format(HouseInfo[idx][hOwner],24,"%s", arrCoords[9]);
		HouseInfo[idx][hLevel] = strval(arrCoords[10]);
		HouseInfo[idx][hValue] = strval(arrCoords[11]);
		HouseInfo[idx][hLock] = strval(arrCoords[12]);
		HouseInfo[idx][hGun][0] = strval(arrCoords[13]);
		HouseInfo[idx][hAmmo][0] = strval(arrCoords[14]);
		HouseInfo[idx][hGun][1] = strval(arrCoords[15]);
		HouseInfo[idx][hAmmo][1] = strval(arrCoords[16]);
		HouseInfo[idx][hGun][2] = strval(arrCoords[17]);
		HouseInfo[idx][hAmmo][2] = strval(arrCoords[18]);
		HouseInfo[idx][hDroga] = strval(arrCoords[19]);
		HouseInfo[idx][hDroga2] = strval(arrCoords[20]);
		HouseInfo[idx][hDinero] = strval(arrCoords[21]);
	}
	return 1;
}
Y aquн el LoadHeadQuarter y el SaveHeadQuarter, que sн que se guardan al reiniciar:
Код:
LoadHeadQuarter()
{
    samp_mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS);
    samp_mysql_select_db(MYSQL_DB);
	new sql[80], row[512];
	format(sql, sizeof(sql), "SELECT COUNT(*) FROM headquarters");
	samp_mysql_query(sql);
	samp_mysql_store_result();
	samp_mysql_fetch_row(row);
	hqcount = strval(row);
	
	for (new idx=0; idx<hqcount; idx++)
	{
	    format(sql, sizeof(sql), "SELECT * FROM headquarters WHERE id=%d LIMIT 1", idx+1);
	    samp_mysql_query(sql);
	    samp_mysql_store_result();
     	samp_mysql_fetch_row(row);
		split(row, arrCoords, '|');
		format(HeadQuarterInfo[idx][hqName], 128, "%s", arrCoords[1]);
		HeadQuarterInfo[idx][hqFaccion] = strval(arrCoords[2]);
		HeadQuarterInfo[idx][hqEPos_x] = floatstr(arrCoords[3]);
		HeadQuarterInfo[idx][hqEPos_y] = floatstr(arrCoords[4]);
		HeadQuarterInfo[idx][hqEPos_z] = floatstr(arrCoords[5]);
		HeadQuarterInfo[idx][hqSPos_x] = floatstr(arrCoords[6]);
		HeadQuarterInfo[idx][hqSPos_y] = floatstr(arrCoords[7]);
		HeadQuarterInfo[idx][hqSPos_z] = floatstr(arrCoords[8]);
		HeadQuarterInfo[idx][hqInterior] = strval(arrCoords[9]);
		HeadQuarterInfo[idx][hqLocked] = strval(arrCoords[10]);
		HeadQuarterInfo[idx][hqCajaFuerte] = strval(arrCoords[11]);
		printf("HQ de la Facciуn: %d | X: %f Y:%f Z:%f | Interior: %d | Cerradura: %d | CF: $%d",
		    HeadQuarterInfo[idx][hqFaccion],
		    HeadQuarterInfo[idx][hqEPos_x],
		    HeadQuarterInfo[idx][hqEPos_y],
		    HeadQuarterInfo[idx][hqEPos_z],
		    HeadQuarterInfo[idx][hqInterior],
		    HeadQuarterInfo[idx][hqLocked],
		    HeadQuarterInfo[idx][hqCajaFuerte]);
	}
	printf("HQs Totales: %d",hqcount);
	return 1;
}

SaveHeadQuarter(i)
{
	new sql[1024];
	format(sql, sizeof(sql), "UPDATE headquarters SET Nombre='%s',Faccion=%d,EPos_X=%f,EPos_Y=%f,EPos_Z=%f,SPos_X=%f,SPos_Y=%f,SPos_Z=%f,Interior=%d,Locked=%d,CajaFuerte=%d WHERE id=%d LIMIT 1",
    HeadQuarterInfo[i][hqName],
	HeadQuarterInfo[i][hqFaccion],
	HeadQuarterInfo[i][hqEPos_x],
	HeadQuarterInfo[i][hqEPos_y],
	HeadQuarterInfo[i][hqEPos_z],
	HeadQuarterInfo[i][hqSPos_x],
	HeadQuarterInfo[i][hqSPos_y],
	HeadQuarterInfo[i][hqSPos_z],
	HeadQuarterInfo[i][hqInterior],
	HeadQuarterInfo[i][hqLocked],
	HeadQuarterInfo[i][hqCajaFuerte],
	i);
	samp_mysql_query(sql);
	return 1;
}
Reply
#2

Fijate al desconectarse el jugador
Reply
#3

Las casas funcionan perfectamente hasta que reinicio el servidor.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)