13.09.2014, 12:20
(
Last edited by PawnOX; 13/09/2014 at 11:40 PM.
)
at this code, i put under on game mode init
then when a player is registering, After the player put his desired password in dialog box and then register the player instantly crash and there are some messages saying "Failed to load vehicle type: 451 bla bla bla" and when the player reconnect and then register again, everything will be okay. How can i fix this bug at my server.
STOCK
And some peoples saying the problem is, it creating false vehicle modfication causing to bug and crash the player, If this is your response, heres the code
Code:
LoadPlayerVehicles(playerid);
STOCK
pawn Code:
stock LoadPlayerVehicles(playerid)
{
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
printf(" Loading %s's vehicles.", playername);
for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
{
if(PlayerVehicleInfo[playerid][v][pvModelId] != 0 && PlayerVehicleInfo[playerid][v][pvImpounded] == 0)
{
PlayerCars++;
if(PlayerVehicleInfo[playerid][v][pvLocked] == 1) LockPlayerVehicle(playerid, PlayerVehicleInfo[playerid][v][pvId], PlayerVehicleInfo[playerid][v][pvLock]);
}
else if(PlayerVehicleInfo[playerid][v][pvModelId] == 0 && PlayerVehicleInfo[playerid][v][pvImpounded] != 0)
PlayerVehicleInfo[playerid][v][pvImpounded] = 0;
}
LoadAllPlayerVehicleMods(playerid);
}
pawn Code:
stock LoadAllPlayerVehicleMods(playerid)
{
print(" Loading all vehicles mods.");
for(new v = 0; v < MAX_PLAYERVEHICLES; v++)
{
if(PlayerVehicleInfo[playerid][v][pvModelId] != 0 && PlayerVehicleInfo[playerid][v][pvImpounded] == 0)
{
new paintjob = PlayerVehicleInfo[playerid][v][pvPaintJob];
new color1 = PlayerVehicleInfo[playerid][v][pvColor1];
new color2 = PlayerVehicleInfo[playerid][v][pvColor2];
if(PlayerVehicleInfo[playerid][v][pvPaintJob] != -1)
{
ChangeVehiclePaintjob(PlayerVehicleInfo[playerid][v][pvId], paintjob);
}
ChangeVehicleColor(PlayerVehicleInfo[playerid][v][pvId], color1, color2);
for(new m = 0; m < MAX_MODS; m++)
{
if (PlayerVehicleInfo[playerid][v][pvMods][m] >= 1000 && PlayerVehicleInfo[playerid][v][pvMods][m] <= 1193)
{
if (InvalidModCheck(GetVehicleModel(PlayerVehicleInfo[playerid][v][pvId]),PlayerVehicleInfo[playerid][v][pvMods][m]))
{
AddVehicleComponent(PlayerVehicleInfo[playerid][v][pvId], PlayerVehicleInfo[playerid][v][pvMods][m]);
}
else
{
printf("Removing invalid mod %d from model %d of %s", PlayerVehicleInfo[playerid][v][pvMods][m], GetVehicleModel(PlayerVehicleInfo[playerid][v][pvId]), GetPlayerNameEx(playerid));
PlayerVehicleInfo[playerid][v][pvMods][m] = 0;
}
}
}
}
}
}