[Ayuda] Problema con бngulos de coches -
davazi7 - 30.12.2013
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!
Respuesta: [Ayuda] Problema con бngulos de coches -
Adoniiz - 30.12.2013
https://sampwiki.blast.hk/wiki/SetVehicleZAngle
https://sampwiki.blast.hk/wiki/GetVehicleZAngle
Respuesta: [Ayuda] Problema con бngulos de coches -
davazi7 - 30.12.2013
Код:
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.
Respuesta: [Ayuda] Problema con бngulos de coches -
CrossOv3r - 30.12.2013
Postea las 2 cosas, el comando y la funciуn
Respuesta: [Ayuda] Problema con бngulos de coches -
davazi7 - 30.12.2013
Код:
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;
}
Respuesta: [Ayuda] Problema con бngulos de coches -
CrossOv3r - 30.12.2013
Hmm, quizбs el problema estй en la funciуn UpdateCars. Posteala si puedes tambiйn por favor.
Respuesta: [Ayuda] Problema con бngulos de coches -
davazi7 - 30.12.2013
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);
}
}