for(new c=0;c<=c_h;c++)
{
PlayerInfo[playerid][pCarID] = c;
}
OnPlayerPickupPickup:
for(new h = 0; h <= m_h; h++)
{
IsPlayerInRangeOfPoint(playerid,HomeInfo[h][Entryx],HomeInfo[h][Entryy]
,HomeInfo[h][Entryz],2.0);
{
PlayerInfo[playerid][HID] = h;
}
}
|
Cars never have ID 0, they start at 1. Just make sure when loading the cars from your database that id 0 won't be spawned.
|
forward OnVehiclesLoad();
public OnVehiclesLoad()
{
new time = GetTickCount();
for(new c=0; c < cache_num_rows(); ++c) {
new ORM:ormid = CarInfo[c][ORM_ID] = orm_create("autosalons");
orm_addvar_int(ormid, CarInfo[c][ID], "ID");
orm_setkey(ormid, "ID");
orm_addvar_string(ormid, CarInfo[c][Owner], MAX_PLAYER_NAME, "Owner");
orm_addvar_int(ormid, CarInfo[c][Locked], "Locked");
orm_addvar_float(ormid, CarInfo[c][Vposx], "Vposx");
orm_addvar_float(ormid, CarInfo[c][Vposy], "Vposy");
orm_addvar_float(ormid, CarInfo[c][Vposz], "Vposz");
orm_addvar_float(ormid, CarInfo[c][Vposa], "Vposa");
orm_addvar_int(ormid, CarInfo[c][Model], "Model");
orm_addvar_int(ormid, CarInfo[c][Color1], "Color1");
orm_addvar_int(ormid, CarInfo[c][Color2], "Color2");
orm_addvar_int(ormid, CarInfo[c][Fuel], "Fuel");
orm_apply_cache(ormid, c);
c_h = c;
c_h++;
CarInfo[c][CarID] = CreateVehicle(CarInfo[c][Model], CarInfo[c][Vposx], CarInfo[c][Vposy], CarInfo[c][Vposz], CarInfo[c][Vposa], CarInfo[c][Color1], CarInfo[c][Color2], -1);
VFuel[c] = CarInfo[c][Fuel];
}
printf("%d Loaded Cars with %d ms",c_h,GetTickCount() - time);
return 1;
}
CMD:carid(playerid, params[])
{
SendMes(playerid, 0x131313, "{FFFFFF}%d",PlayerInfo[playerid][pCarID]);
return 1;
}
|
Cars never have ID 0, they start at 1. Just make sure when loading the cars from your database that id 0 won't be spawned.
|
|
In that case vehicle ID 1 wont be loaded. Because row index starts from 0. Means you'll have a car missing.
Show me the code how you create the vehicle. |
enum cInfo
{
ORM:ORM_ID,
ID,
Owner[MAX_PLAYER_NAME],
Locked,
Float:Vposx,
Float:Vposy,
Float:Vposz,
Float:Vposa,
Model,
Color1,
Color2,
CarID,
Fuel
};
new CarInfo[MAX_VEHICLES][cInfo];
new c_h = -1;
OnGameModeInit:
mysql_tquery(g_SQL, "SELECT * FROM `vehicles`", "OnVehiclesLoad", "");
forward OnVehiclesLoad();
public OnVehiclesLoad()
{
new time = GetTickCount();
for(new c=0; c < cache_num_rows(); ++c) {
new ORM:ormid = CarInfo[c][ORM_ID] = orm_create("vehicles");
orm_addvar_int(ormid, CarInfo[c][ID], "ID");
orm_setkey(ormid, "ID");
orm_addvar_string(ormid, CarInfo[c][Owner], MAX_PLAYER_NAME, "Owner");
orm_addvar_int(ormid, CarInfo[c][Locked], "Locked");
orm_addvar_float(ormid, CarInfo[c][Vposx], "Vposx");
orm_addvar_float(ormid, CarInfo[c][Vposy], "Vposy");
orm_addvar_float(ormid, CarInfo[c][Vposz], "Vposz");
orm_addvar_float(ormid, CarInfo[c][Vposa], "Vposa");
orm_addvar_int(ormid, CarInfo[c][Model], "Model");
orm_addvar_int(ormid, CarInfo[c][Color1], "Color1");
orm_addvar_int(ormid, CarInfo[c][Color2], "Color2");
orm_addvar_int(ormid, CarInfo[c][Fuel], "Fuel");
orm_apply_cache(ormid, c);
c_h = c;
c_h++;
CarInfo[c][CarID] = CreateVehicle(CarInfo[c][Model], CarInfo[c][Vposx], CarInfo[c][Vposy], CarInfo[c][Vposz], CarInfo[c][Vposa], CarInfo[c][Color1], CarInfo[c][Color2], -1);
VFuel[c] = CarInfo[c][Fuel];
}
printf("%d personal cars loaded with %d ms",c_h,GetTickCount() - time);
return 1;
}
OnPlayerStateChange:
if(newstate == PLAYER_STATE_DRIVER)
{
for(new c=0; c<=c_h; c++)
{
PlayerInfo[playerid][pCarID] = c;
}
}
CMD:carid(playerid, params[])
{
SendMes(playerid, 0x131313, "{FFFFFF}%d",PlayerInfo[playerid][pCarID]);
return 1;
}
CMD:s(playerid, params[])
{
CarInfo[PlayerInfo[playerid][pCarID]][Locked] = 20;
orm_save(CarInfo[PlayerInfo[playerid][pCarID]][ORM_ID]);
return 1;
}