Get Vehicle Color

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

/*

SA-MP "GetVehicleColor v2.1" Include


Copyright © 2011 RyDeR`
*/

#define PROPERTY_OFFSET(%0) \
((((%0) * ((%0) << 1)) << 2) + 65536)

stock n_AddStaticVehicle(modelID, Float: spawn_X, Float: spawn_Y, Float: spawn_Z,


Float: z_Angle, color1, color2)
{
if(color1 < 0 || color2 < 0)
{
color1 = random(127);
color2 = random(127);
}
modelID = AddStaticVehicle(modelID, spawn_X, spawn_Y, spawn_Z, z_Angle,
color1, color2);

new
colorStr[24]
;
format(colorStr, sizeof(colorStr), "%d-%d", color1, color2);
setproperty(_, "", PROPERTY_OFFSET(modelID), colorStr);

return modelID;
}

stock n_AddStaticVehicleEx(modelID, Float: spawn_X, Float: spawn_Y, Float: spawn_Z,


Float: z_Angle, color1, color2, respawn_Delay)
{
if(color1 < 0 || color2 < 0)
{
color1 = random(127);
color2 = random(127);
}
modelID = AddStaticVehicleEx(modelID, spawn_X, spawn_Y, spawn_Z, z_Angle,
color1, color2, respawn_Delay);

new
colorStr[24]
;
format(colorStr, sizeof(colorStr), "%d-%d", color1, color2);
setproperty(_, "", PROPERTY_OFFSET(modelID), colorStr);

return modelID;
}

stock n_CreateVehicle(modelID, Float: spawn_X, Float: spawn_Y, Float: spawn_Z,


Float: z_Angle, color1, color2, respawn_Delay)
{
if(color1 < 0 || color2 < 0)
{
color1 = random(127);
color2 = random(127);
}
modelID = CreateVehicle(modelID, spawn_X, spawn_Y, spawn_Z, z_Angle, color1,
color2, respawn_Delay);
new
colorStr[24]
;
format(colorStr, sizeof(colorStr), "%d-%d", color1, color2);
setproperty(_, "", PROPERTY_OFFSET(modelID), colorStr);

return modelID;
}

stock n_DestroyVehicle(vehicleID)
{
deleteproperty(_, "", PROPERTY_OFFSET(vehicleID));

return DestroyVehicle(vehicleID);
}

stock n_ChangeVehicleColor(vehicleID, color1, color2)


{
new
colorStr[24]
;
format(colorStr, sizeof(colorStr), "%d-%d", color1, color2);
setproperty(_, "", PROPERTY_OFFSET(vehicleID), colorStr);

return ChangeVehicleColor(vehicleID, color1, color2);


}

public OnVehicleRespray(playerid, vehicleid, color1, color2)


{
new
colorStr[24]
;
format(colorStr, sizeof(colorStr), "%d-%d", color1, color2);
setproperty(_, "", PROPERTY_OFFSET(vehicleid), colorStr);

if(funcidx("n_OnVehicleRespray") != -1)
{
return CallLocalFunction("n_OnVehicleRespray", "iiii", playerid,
vehicleid, color1, color2);
}
return 1;
}

stock GetVehicleColor(vehicleID, &color1, &color2)


{
vehicleID = PROPERTY_OFFSET(vehicleID);

if(existproperty(_, "", vehicleID))


{
new
colorStr[24],
strPos
;
getproperty(_, "", vehicleID, colorStr);
strunpack(colorStr, colorStr);

if((strPos = strfind(colorStr, "-")) != -1)


{
color1 = strval(colorStr);
color2 = strval(colorStr[strPos + 1]);
return 1;
}
}
return 0;
}

#define AddStaticVehicle n_AddStaticVehicle


#define AddStaticVehicleEx n_AddStaticVehicleEx
#define CreateVehicle n_CreateVehicle
#define DestroyVehicle n_DestroyVehicle
#define ChangeVehicleColor n_ChangeVehicleColor

#if defined _ALS_OnVehicleRespray


#undef OnVehicleRespray
#else
#define _ALS_OnVehicleRespray
#endif

#define OnVehicleRespray n_OnVehicleRespray

forward n_OnVehicleRespray(playerid, vehicleid, color1, color2);

You might also like