[Ayuda] Problema con бngulos de coches
#1

Muy buenas! Tengo un problema, y es que tanto al usar "/v estacionar" como "/apark", al respawnear ese coche queda con el бngulo que tenнa en su anterior ubicaciуn, pero sin embargo si luego reinicio el servidor, aparece con el nuevo бngulo que quiero. їCуmo puedo solucionar eso? Muchas gracias!
Reply
#2

https://sampwiki.blast.hk/wiki/SetVehicleZAngle
https://sampwiki.blast.hk/wiki/GetVehicleZAngle
Reply
#3

Код:
GetVehiclePos(idcar, x, y, z);
			GetVehicleZAngle(idcar, a);
			CarInfo[idcar][cLocationx] = x;
			CarInfo[idcar][cLocationy] = y;
			CarInfo[idcar][cLocationz] = z;
			CarInfo[idcar][cAngle] = a;
Este es el cуdigo de ambas funciones... Establecer se establece, el problema es que solo carga si he reiniciado el servidor, por lo tanto quiero saber cual es la diferencia entre los comandos de respawn y la funciуn de carga de vehнculos, para poder arreglarlo.
Reply
#4

Postea las 2 cosas, el comando y la funciуn
Reply
#5

Код:
zcmd(apark, playerid, params[]){
	    new idcar = GetPlayerVehicleID(playerid),Float:x,Float:y,Float:z,Float:a;
        if(PlayerInfo[playerid][AdminMC] < 4) return Message(playerid, COLOR_GRAD2, "ЎNo autorizado!");
		if(AdminDuty[playerid] != 1 ) return Message(playerid, COLOR_GRAD2, "ЎNo estбs administrando!");
		{
			if(!IsPlayerInAnyVehicle(playerid)) return Message(playerid, COLOR_GRAD2, "ЎNo estбs en un vehнculo!");
			if(!IsAnOwnableCar(idcar)) return Message(playerid, COLOR_GRAD2, "ЎNo es un vehнculo en venta!");
   			GetVehiclePos(idcar, x, y, z);
			GetVehicleZAngle(idcar, a);
			CarInfo[idcar][cLocationx] = x;
			CarInfo[idcar][cLocationy] = y;
			CarInfo[idcar][cLocationz] = z;
			CarInfo[idcar][cAngle] = a;
			Message(playerid, COLOR_GRAD2, "Nuevas coordenadas guardadas. ЎAhora el vehнculo aparecerб aquн!");
			UpdateCars();
			}
		return 1;
 	}
Код:
function RespawnVehicle©
{
	if(IsAnOwnableCar©)
	{
	    SetVehicleToRespawn©;
	    SetVehiclePos(c, CarInfo[c][cLocationx],CarInfo[c][cLocationy],CarInfo[c][cLocationz]);
	    SetVehicleZAngle(c, CarInfo[c][cAngle]);
	    SetVehicleParamsEx(c ,0,0,0,CarInfo[c][cLock],0,0,0);
	    engineOn[c] = false;
	    ChangeVehicleColor(c, CarInfo[c][cColorOne], CarInfo[c][cColorTwo]);
	    Gas[c] = 100;
	}
	else
	{
        SetVehicleToRespawn©;
        SetVehicleParamsEx(c ,0,0,0,0,0,0,0);
	    engineOn[c] = false;
	    Gas[c] = 100;
	}
}
Код:
public LoadCar()
{
	new arrCoords[34][64], strFromFile2[256];
	new File: file = fopen("cars.cfg", io_read);
	if (file)
	{
	    printf("-========= Coches en venta =======-");
		new idx = VV;
		while (idx < sizeof(CarInfo))
		{
			fread(file, strFromFile2);
			split(strFromFile2, arrCoords, ',');
			CarInfo[idx][cModel] 		= strval(arrCoords[0]);
			CarInfo[idx][cLocationx] 	= floatstr(arrCoords[1]);
			CarInfo[idx][cLocationy] 	= floatstr(arrCoords[2]);
			CarInfo[idx][cLocationz] 	= floatstr(arrCoords[3]);
			CarInfo[idx][cAngle] 		= floatstr(arrCoords[4]);
			CarInfo[idx][cColorOne] 	= strval(arrCoords[5]);
			CarInfo[idx][cColorTwo] 	= strval(arrCoords[6]);
			strmid(CarInfo[idx][cOwner], arrCoords[7], 0, strlen(arrCoords[7]), 255);
			strmid(CarInfo[idx][cName], arrCoords[8], 0, strlen(arrCoords[8]), 255);
			CarInfo[idx][cValue] 		= strval(arrCoords[9]);
			CarInfo[idx][cOwned] 		= strval(arrCoords[10]);
			CarInfo[idx][cLock] 		= strval(arrCoords[11]);
			CarInfo[idx][cBattery] 		= strval(arrCoords[12]);
			CarInfo[idx][cSpoiler] 		= strval(arrCoords[13]);
			CarInfo[idx][cHood] 		= strval(arrCoords[14]);
			CarInfo[idx][cRoof] 		= strval(arrCoords[15]);
			CarInfo[idx][cSideskirt] 	= strval(arrCoords[16]);
			CarInfo[idx][cNitro] 		= strval(arrCoords[17]);
			CarInfo[idx][cLamps] 		= strval(arrCoords[18]);
			CarInfo[idx][cExhaust] 		= strval(arrCoords[19]);
			CarInfo[idx][cWheel] 		= strval(arrCoords[20]);
			CarInfo[idx][cHydraulics] 	= strval(arrCoords[21]);
			CarInfo[idx][cPaintjob] 	= strval(arrCoords[22]);
			CarInfo[idx][cFrontBumper] 	= strval(arrCoords[23]);
			CarInfo[idx][cRearBumper] 	= strval(arrCoords[24]);
			CarInfo[idx][cVents] 		= strval(arrCoords[25]);
			CarInfo[idx][cEmbargo] 		= strval(arrCoords[26]);
			CarInfo[idx][cMulta] 		= strval(arrCoords[27]);
			strmid(CarInfo[idx][cPlate], arrCoords[28], 0, strlen(arrCoords[28]), 255);
			CarInfo[idx][cGas] 			= strval(arrCoords[29]);
			CarInfo[idx][cAlarm] 		= strval(arrCoords[30]);
			CarInfo[idx][cVehTime]      = strval(arrCoords[31]);
			CarInfo[idx][cGPS]          = strval(arrCoords[32]);
		printf("(%d) %s",idx,CarInfo[idx][cName]);
			idx++;
		}
	}
	return 1;
}
Reply
#6

Hmm, quizбs el problema estй en la funciуn UpdateCars. Posteala si puedes tambiйn por favor.
Reply
#7

Ahн va

Код:
function UpdateCars()
{
    new idx, File: file2, coordsstring[256];
	idx = VV;
 	while (idx < sizeof(CarInfo))
  	{
		format(coordsstring, sizeof(coordsstring), "%d,%f,%f,%f,%f,%d,%d,%s,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%s,%d,%d,%d,%d\n",
		CarInfo[idx][cModel],
		CarInfo[idx][cLocationx],
		CarInfo[idx][cLocationy],
		CarInfo[idx][cLocationz],
		CarInfo[idx][cAngle],
		CarInfo[idx][cColorOne],
		CarInfo[idx][cColorTwo],
		CarInfo[idx][cOwner],
		CarInfo[idx][cName],
		CarInfo[idx][cValue],
		CarInfo[idx][cOwned],
		CarInfo[idx][cLock],
		CarInfo[idx][cBattery],
		CarInfo[idx][cSpoiler],
		CarInfo[idx][cHood],
		CarInfo[idx][cRoof],
		CarInfo[idx][cSideskirt],
		CarInfo[idx][cNitro],
		CarInfo[idx][cLamps],
		CarInfo[idx][cExhaust],
		CarInfo[idx][cWheel],
		CarInfo[idx][cHydraulics],
		CarInfo[idx][cPaintjob],
		CarInfo[idx][cFrontBumper],
		CarInfo[idx][cRearBumper],
		CarInfo[idx][cVents],
		CarInfo[idx][cEmbargo],
		CarInfo[idx][cMulta],
		CarInfo[idx][cPlate],
		CarInfo[idx][cGas],
		CarInfo[idx][cAlarm],
		CarInfo[idx][cVehTime],
		CarInfo[idx][cGPS]);
		
		if(idx == VV)	file2 = fopen("cars.cfg", io_write);
		else			file2 = fopen("cars.cfg", io_append);
		
		fwrite(file2, coordsstring);
		idx++;
		fclose(file2);
	}
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)