06.10.2010, 08:40
Here's my command:
And here's IsAnyVehicleInRange:
However, doing /buyvehicle gives me the message "There is no space - try another dealership."
What's wrong?
Код:
if (strcmp("/buyvehicle", cmdtext, true, 10) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 1, 542.2538, -1293.2178, 17.2422)) {
if(!IsAnyVehicleInRange(3, 563.0516, -1282.9344, 17.2482)) {
CreateVehicle(586, 563.0516, -1282.9344, 17.2482, 180, -1, -1, 0);
return 1;
} else if(!IsAnyVehicleInRange(3, 556.5441, -1283.1685, 17.2482)) {
CreateVehicle(586, 556.5441, -1283.1685, 17.2482, 180, -1, -1, 0);
return 1;
} else if(!IsAnyVehicleInRange(3, 549.0734, -1283.2427, 17.2482)) {
CreateVehicle(586, 549.0734, -1283.2427, 17.2482, 180, -1, -1, 0);
return 1;
} else if(!IsAnyVehicleInRange(3, 535.5510, -1283.3774, 17.2422)) {
CreateVehicle(586, 535.5510, -1283.3774, 17.2422, 180, -1, -1, 0);
return 1;
} else if(!IsAnyVehicleInRange(3, 528.6564, -1283.4464, 17.2422)) {
CreateVehicle(586, 528.6564, -1283.4464, 17.2422, 180, -1, -1, 0);
return 1;
} else if(!IsAnyVehicleInRange(3, 520.9333, -1288.3192, 17.2422)) {
CreateVehicle(586, 520.9333, -1288.3192, 17.2422, 180, -1, -1, 0);
return 1;
} else {
SendClientMessage(playerid, 0xFFFFFFFF, "There is no space - try another dealership.");
return 1;
}
}
return 1;
}
Код:
stock IsAnyVehicleInRange(Float:range, Float:x, Float:y, Float:z) {
for(new v=0;v<MAX_VEHICLES; v++) {
if(IsVehicleInRangeOfPoint(v,range,x,y,z)) //xyz location wherever you want
{
return true;
}
}
return 1;
}
stock IsVehicleInRangeOfPoint(vehicleid, Float:range, Float:x, Float:y, Float:z)
{
new Float:px, Float:py, Float:pz;
GetVehiclePos(vehicleid, px, py, pz);
px -= x; py -= y; pz -= z;
return ((px * px) + (py * py) + (pz * pz)) < (range * range);
}
What's wrong?

