stock Car_Spawn(carid)
{
if (carid != -1 && CarData[carid][carExists])
{
if (IsValidVehicle(CarData[carid][carVehicle]))
DestroyVehicle(CarData[carid][carVehicle]);
if (CarData[carid][carColor1] == -1)
CarData[carid][carColor1] = random(127);
if (CarData[carid][carColor2] == -1)
CarData[carid][carColor2] = random(127);
CarData[carid][carVehicle] = CreateVehicle(CarData[carid][carModel], CarData[carid][carPos][0], CarData[carid][carPos][1], CarData[carid][carPos][2], CarData[carid][carPos][3], CarData[carid][carColor1], CarData[carid][carColor2], CoreVehicles[carid][vehFuel], (CarData[carid][carOwner] != 0) ? (-1) : (1200000));
if(strcmp(CarData[carid][carPlate], " ", true) == 0)
{
strmid(CarData[carid][carPlate], "NONE", 0, strlen("NONE"), 255);
}
if(strcmp(CarData[carid][carPlate], "NONE", true) == 0) SetVehicleNumberPlate(CarData[carid][carVehicle]," ");
else SetVehicleNumberPlate(CarData[carid][carVehicle],CarData[carid][carPlate]);
if (CarData[carid][carVehicle] != INVALID_VEHICLE_ID)
{
if (CarData[carid][carPaintjob] != -1)
{
ChangeVehiclePaintjob(CarData[carid][carVehicle], CarData[carid][carPaintjob]);
}
if (CarData[carid][carLocked])
{
new
engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(CarData[carid][carVehicle], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(CarData[carid][carVehicle], engine, lights, alarm, 1, bonnet, boot, objective);
}
for (new i = 0; i < 14; i ++)
{
if (CarData[carid][carMods][i]) AddVehicleComponent(CarData[carid][carVehicle], CarData[carid][carMods][i]);
}
ResetVehicle(CarData[carid][carVehicle]);
CoreVehicles[carid][vehFuel] = 50;
return 1;
}
}
return 0;
}
forward Car_Load();
public Car_Load()
{
static
rows,
fields,
str[128],
Total_Vehicle_Created;
cache_get_data(rows, fields, g_iHandle);
for (new i = 0; i < rows; i ++) if (i < MAX_DYNAMIC_CARS)
{
CarData[i][carExists] = true;
CarData[i][carID] = cache_get_field_int(i, "carID");
CarData[i][carModel] = cache_get_field_int(i, "carModel");
CarData[i][carOwner] = cache_get_field_int(i, "carOwner");
CarData[i][carPos][0] = cache_get_field_float(i, "carPosX");
CarData[i][carPos][1] = cache_get_field_float(i, "carPosY");
CarData[i][carPos][2] = cache_get_field_float(i, "carPosZ");
CarData[i][carPos][3] = cache_get_field_float(i, "carPosR");
CarData[i][carColor1] = cache_get_field_int(i, "carColor1");
CarData[i][carColor2] = cache_get_field_int(i, "carColor2");
CarData[i][carPaintjob] = cache_get_field_int(i, "carPaintjob");
CarData[i][carLocked] = cache_get_field_int(i, "carLocked");
CarData[i][carImpounded] = cache_get_field_int(i, "carImpounded");
CarData[i][carImpoundPrice] = cache_get_field_int(i, "carImpoundPrice");
CarData[i][carFaction] = cache_get_field_int(i, "carFaction");
CoreVehicles[i][vehFuel] = cache_get_field_int(i, "carFuel");
CarData[i][carTrunk] = cache_get_field_int(i, "carTrunk");
CarData[i][carPlate] = cache_get_field_int(i, "carPlate");
Total_Vehicle_Created ++;
for (new j = 0; j < 14; j ++)
{
if (j < 5)
{
format(str, sizeof(str), "carWeapon%d", j + 1);
CarData[i][carWeapons][j] = cache_get_field_int(i, str);
format(str, sizeof(str), "carAmmo%d", j + 1);
CarData[i][carAmmo][j] = cache_get_field_int(i, str);
}
format(str, sizeof(str), "carMod%d", j + 1);
CarData[i][carMods][j] = cache_get_field_int(i, str);
}
Car_Spawn(i);
}
for (new i = 0; i < MAX_DYNAMIC_CARS; i ++) if (CarData[i][carExists]) {
format(str, sizeof(str), "SELECT * FROM `carstorage` WHERE `ID` = '%d'", CarData[i][carID]);
mysql_tquery(g_iHandle, str, "OnLoadCarStorage", "d", i);
}
printf("[MYSQL]: %d Vehicles have been successfully loaded from the database.", Total_Vehicle_Created);
return 1;
}
Car_Create(ownerid, modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, type = 0)
{
for (new i = 0; i != MAX_DYNAMIC_CARS; i ++)
{
if (!CarData[i][carExists])
{
if (color1 == -1)
color1 = random(127);
if (color2 == -1)
color2 = random(127);
CarData[i][carExists] = true;
CarData[i][carModel] = modelid;
CarData[i][carOwner] = ownerid;
CarData[i][carPos][0] = x;
CarData[i][carPos][1] = y;
CarData[i][carPos][2] = z;
CarData[i][carPos][3] = angle;
CarData[i][carColor1] = color1;
CarData[i][carColor2] = color2;
CarData[i][carPaintjob] = -1;
CarData[i][carLocked] = false;
CarData[i][carImpounded] = -1;
CarData[i][carImpoundPrice] = 0;
CarData[i][carFaction] = type;
CarData[i][carTrunk] = 0;
strmid(CarData[i][carPlate], "NONE", 0, strlen("NONE"), 255);
SetVehicleNumberPlate(CarData[i][carVehicle],CarData[i][carPlate]);
for (new j = 0; j < 14; j ++)
{
if (j < 5)
{
CarData[i][carWeapons][j] = 0;
CarData[i][carAmmo][j] = 0;
}
CarData[i][carMods][j] = 0;
}
CarData[i][carVehicle] = CreateVehicle(modelid, x, y, z, angle, color1, color2, -1);
if (CarData[i][carVehicle] != INVALID_VEHICLE_ID) {
ResetVehicle(CarData[i][carVehicle]);
}
mysql_tquery(g_iHandle, "INSERT INTO `cars` (`carModel`) VALUES(0)", "OnCarCreated", "d", i);
return i;
}
}
return -1;
}
ormat(query, sizeof(query), "%s, `carImpounded` = '%d', `carImpoundPrice` = '%d', `carFaction` = '%d', `carWeapon1` = '%d', `carWeapon2` = '%d', `carWeapon3` = '%d', `carWeapon4` = '%d', `carWeapon5` = '%d', `carAmmo1` = '%d', `carAmmo2` = '%d', `carAmmo3` = '%d', `carAmmo4` = '%d', `carAmmo5` = '%d', `carFuel` = '%.4f', `carPlate` = '%s' WHERE `carID` = '%d'",//WHERE `entranceID` = '%d'",
query,
CarData[carid][carImpounded],
CarData[carid][carImpoundPrice],
CarData[carid][carFaction],
CarData[carid][carWeapons][0],
CarData[carid][carWeapons][1],
CarData[carid][carWeapons][2],
CarData[carid][carWeapons][3],
CarData[carid][carWeapons][4],
CarData[carid][carAmmo][0],
CarData[carid][carAmmo][1],
CarData[carid][carAmmo][2],
CarData[carid][carAmmo][3],
CarData[carid][carAmmo][4],
CoreVehicles[carid][vehFuel],
CarData[carid][carPlate],
CarData[carid][carID]
strmid(CarData[i][carPlate], "NONE", 0, strlen("NONE"), 255);
if(strcmp(CarData[carid][carPlate], "NONE", true) == 0) SetVehicleNumberPlate(CarData[carid][carVehicle]," ");
stock Car_Spawn(carid)
{
if (carid != -1 && CarData[carid][carExists])
{
if (IsValidVehicle(CarData[carid][carVehicle]))
DestroyVehicle(CarData[carid][carVehicle]);
if (CarData[carid][carColor1] == -1)
CarData[carid][carColor1] = random(127);
if (CarData[carid][carColor2] == -1)
CarData[carid][carColor2] = random(127);
CarData[carid][carVehicle] = CreateVehicle(CarData[carid][carModel], CarData[carid][carPos][0], CarData[carid][carPos][1], CarData[carid][carPos][2], CarData[carid][carPos][3], CarData[carid][carColor1], CarData[carid][carColor2], CoreVehicles[carid][vehFuel], (CarData[carid][carOwner] != 0) ? (-1) : (1200000));
if(strcmp(CarData[carid][carPlate], " ", true) == 0)
{
strmid(CarData[carid][carPlate], "NONE", 0, strlen("NONE"), 255);
}
if(strcmp(CarData[carid][carPlate], "NONE", true) == 0) SetVehicleNumberPlate(CarData[carid][carVehicle],"No Text");
else SetVehicleNumberPlate(CarData[carid][carVehicle],CarData[carid][carPlate]);
if (CarData[carid][carVehicle] != INVALID_VEHICLE_ID)
{
if (CarData[carid][carPaintjob] != -1)
{
ChangeVehiclePaintjob(CarData[carid][carVehicle], CarData[carid][carPaintjob]);
}
if (CarData[carid][carLocked])
{
new
engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(CarData[carid][carVehicle], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(CarData[carid][carVehicle], engine, lights, alarm, 1, bonnet, boot, objective);
}
for (new i = 0; i < 14; i ++)
{
if (CarData[carid][carMods][i]) AddVehicleComponent(CarData[carid][carVehicle], CarData[carid][carMods][i]);
}
ResetVehicle(CarData[carid][carVehicle]);
CoreVehicles[carid][vehFuel] = 50;
return 1;
}
}
return 0;
}
Код:
strmid(CarData[i][carPlate], "NONE", 0, strlen("NONE"), 255); Код:
if(strcmp(CarData[carid][carPlate], "NONE", true) == 0) SetVehicleNumberPlate(CarData[carid][carVehicle]," "); if I'm wrong please correct me sir .-., PHP код:
|
CMD:carplate(playerid, params[])
{
new plate[50],string[128];
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_WHITE, "You must be in a vehicle to use this !");
if(sscanf(params, "s[50]", plate)) SendClientMessage(playerid, COLOR_GREY, "USAGE: /carplate [PLATE NAME]");
else
{
if(PlayerData[playerid][pAdmin] >= 6)
{
new h = GetPlayerVehicleID(playerid);
strmid(CarData[h][carPlate], plate, 0, strlen(plate), 255);
format(string, sizeof(string), "Edited CarID: %d's Plate to %s.", h, plate);
SendClientMessage(playerid,COLOR_GREY,string);
}
else SendErrorMessage(playerid, "You don't have permission to use this command.");
}
return 1;
}
CMD:carplate(playerid, params[])
{
new plate[50],string[128];
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid, COLOR_WHITE, "You must be in a vehicle to use this !");
if(sscanf(params, "s[50]", plate)) SendClientMessage(playerid, COLOR_GREY, "USAGE: /carplate [PLATE NAME]");
else
{
if(PlayerData[playerid][pAdmin] >= 6)
{
new h = GetPlayerVehicleID(playerid);
strmid(CarData[h][carPlate], plate, 0, strlen(plate), 255);
format(string, sizeof(string), "Edited CarID: %d's Plate to %s.", h, plate);
SendClientMessage(playerid,COLOR_GREY,string);
SetVehicleNumberPlate(h, plate);
}
else SendErrorMessage(playerid, "You don't have permission to use this command.");
}
return 1;
}
32 length string on plate... Any higher will result in it not being shown at all. You also do need to set the vehicle to respawn to show the plate.
|
stock Car_Spawn(carid)
{
if (carid != -1 && CarData[carid][carExists])
{
if (IsValidVehicle(CarData[carid][carVehicle]))
DestroyVehicle(CarData[carid][carVehicle]);
if (CarData[carid][carColor1] == -1)
CarData[carid][carColor1] = random(127);
if (CarData[carid][carColor2] == -1)
CarData[carid][carColor2] = random(127);
CarData[carid][carVehicle] = CreateVehicle(CarData[carid][carModel], CarData[carid][carPos][0], CarData[carid][carPos][1], CarData[carid][carPos][2], CarData[carid][carPos][3], CarData[carid][carColor1], CarData[carid][carColor2], CoreVehicles[carid][vehFuel], (CarData[carid][carOwner] != 0) ? (-1) : (1200000));
if(strcmp(CarData[carid][carPlate], " ", true) == 0)
{
strmid(CarData[carid][carPlate], "NONE", 0, strlen("NONE"), 255);
}
if(strcmp(CarData[carid][carPlate], "NONE", true) == 0) SetVehicleNumberPlate(CarData[carid] here[carVehicle],CarData[carid][carPlate]); here
else SetVehicleNumberPlate(CarData[carid][carVehicle],CarData[carid][carPlate]); here
if (CarData[carid][carVehicle] != INVALID_VEHICLE_ID)
{
if (CarData[carid][carPaintjob] != -1)
{
ChangeVehiclePaintjob(CarData[carid][carVehicle], CarData[carid][carPaintjob]);
}
if (CarData[carid][carLocked])
{
new
engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(CarData[carid][carVehicle], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(CarData[carid][carVehicle], engine, lights, alarm, 1, bonnet, boot, objective);
}
for (new i = 0; i < 14; i ++)
{
if (CarData[carid][carMods][i]) AddVehicleComponent(CarData[carid][carVehicle], CarData[carid][carMods][i]);
}
ResetVehicle(CarData[carid][carVehicle]);
CoreVehicles[carid][vehFuel] = 50;
return 1;
}
}
return 0;
}
}
stock ResetVehicle(vehicleid)
{
if (1 <= vehicleid <= MAX_VEHICLES)
{
if (CoreVehicles[vehicleid][vehSirenOn] && IsValidDynamicObject(CoreVehicles[vehicleid][vehSirenObject]))
DestroyDynamicObject(CoreVehicles[vehicleid][vehSirenObject]);
CoreVehicles[vehicleid][vehFuel] = 100;
CoreVehicles[vehicleid][vehWindowsDown] = false;
CoreVehicles[vehicleid][vehTemporary] = 0;
CoreVehicles[vehicleid][vehLoads] = 0;
CoreVehicles[vehicleid][vehLoadType] = 0;
CoreVehicles[vehicleid][vehCrate] = INVALID_OBJECT_ID;
CoreVehicles[vehicleid][vehTrash] = 0;
CoreVehicles[vehicleid][vehRepairing] = 0;
CoreVehicles[vehicleid][vehSirenOn] = 0;
CoreVehicles[vehicleid][vehRadio] = 0;
CoreVehicles[vehicleid][vehLights] = 0;
}
return 1;
}
SetVehicleToRespawn
I'm pretty sure it is, but you need to
Код:
SetVehicleToRespawn |
stock RespawnVehicle(vehicleid)
{
new id = Car_GetID(vehicleid);
if (id != -1)
Car_Spawn(id);
else SetVehicleToRespawn(vehicleid);
ResetVehicle(vehicleid);
return 1;
}