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?