new const MaxVehicleSeats[212] =
{
4, 2, 2, 2, 4, 4, 1, 2, 2, 4, 2, 2, 2, 4, 2, 2, 4, 2, 4, 2, 4, 4, 2, 2, 2,
1, 4, 4, 4, 2, 1, 2, 1, 2, 2, 0, 2, 2, 4, 2, 4, 1, 2, 2, 2, 4, 1,
2, 1, 2, 0, 2, 1, 1, 1, 2, 2, 2, 4, 4, 2, 2, 1, 2, 1, 2, 4, 4, 2, 2, 4, 2, 1,
1, 2, 2, 1, 2, 2, 4, 2, 1, 4, 3, 1, 1, 1, 4, 4, 2, 4, 2, 4, 1, 2, 2, 2, 4, 4,
2, 2, 2, 2, 2, 2, 2, 2, 4, 2, 1, 1, 2, 1, 1, 2, 2, 4, 2, 2, 1, 1, 2, 2, 2, 2,
2, 2, 2, 2, 4, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 4, 2, 2, 2, 2, 2, 4, 4, 2, 2, 4,
4, 2, 1, 2, 2, 2, 2, 2, 2, 4, 4, 2, 2, 1, 2, 4, 4, 1, 0, 0, 1, 1, 2,
1, 2, 2, 4, 2, 4, 4, 2, 4, 1, 0, 4, 2, 2, 2, 2, 0, 0, 2, 2, 1, 1,
4, 4, 4, 2, 2, 2, 2, 2, 4, 2, 0, 0, 0, 4, 0, 0
};
const MAX_VEHICLE_SEATS = 4;
CMD:get(playerid, params[])
{
new Float:x, Float:y, Float:z;
new Float:veh_x = 2137.2124, Float:veh_y = -2493.8198, Float:veh_z = 13.5469;
for(new vehicleid, i, vehicletype = 400; vehicletype < 612; vehicletype++)
{
veh_x, veh_y, veh_z, 0.0, -1, -1, 100000);
veh_x -= 5.0;
for(i = 0; i < MAX_VEHICLE_SEATS; i++)
{
if(i >= MaxVehicleSeats[vehicletype-400])
continue;
GetVehicleSeatPos(vehicleid, i, x, y, z);
static const seat_name[][] =
{
"Водительское",
"Перед. пасс.",
"Зад. лев. пасс.",
"Зад. прав. пасс."
};
CreateDynamic3DTextLabel(seat_name[i], -1, x, y, z, 5.0);
}
}
SetPlayerPos(playerid
, 2137.2124, -2493.8198-10.0, 13.5469); return 1;
}
stock GetVehicleSeatPos(vehicleid, seatid, &Float:x, &Float:y, &Float:z)
{
switch(seatid)
{
case 0:
{
new Float:veh_pos_x;
new Float:veh_pos_y;
new Float:veh_pos_z;
new Float:v_wide;
new Float:buff;
new Float:seat_x;
new Float:seat_y;
new Float:seat_z;
x = veh_pos_x+seat_x/2.0-v_wide/2.0;
y = veh_pos_y + seat_y;
z = veh_pos_z + seat_z;
return 1;
}
case 1:
{
new Float:veh_pos_x;
new Float:veh_pos_y;
new Float:veh_pos_z;
new Float:v_wide;
new Float:buff;
new Float:seat_x;
new Float:seat_y;
new Float:seat_z;
x = veh_pos_x-seat_x/2.0+v_wide/2.0;
y = veh_pos_y + seat_y;
z = veh_pos_z + seat_z;
return 1;
}
case 2:
{
new Float:veh_pos_x;
new Float:veh_pos_y;
new Float:veh_pos_z;
new Float:v_wide;
new Float:buff;
new Float:seat_x;
new Float:seat_y;
new Float:seat_z;
x = veh_pos_x+seat_x/2.0-v_wide/2.0;
y = veh_pos_y + seat_y;
z = veh_pos_z + seat_z;
return 1;
}
case 3:
{
new Float:veh_pos_x;
new Float:veh_pos_y;
new Float:veh_pos_z;
new Float:v_wide;
new Float:buff;
new Float:seat_x;
new Float:seat_y;
new Float:seat_z;
x = veh_pos_x-seat_x/2.0+v_wide/2.0;
y = veh_pos_y + seat_y;
z = veh_pos_z + seat_z;
return 1;
}
}
return 0;
}
stock GetNearestVehicleID(playerid, Float:radius = FLOAT_INFINITY)
{
new vehicleid = INVALID_VEHICLE_ID;
new Float: dist;
new Float: pos_x, Float: pos_y, Float: pos_z;
for(new idx; idx < MAX_VEHICLES; idx ++)
{
if(dist < radius)
{
radius = dist,
vehicleid = idx;
}
}
return vehicleid;
}