Vehicle Spawning Not Working -
jameskmonger - 06.10.2010
Here's my command:
Код:
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;
}
And here's IsAnyVehicleInRange:
Код:
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);
}
However, doing /buyvehicle gives me the message "There is no space - try another dealership."
What's wrong?
Re: Vehicle Spawning Not Working -
Voldemort - 06.10.2010
because your stock always return that there is some car try this
pawn Код:
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 1;
}
}
return 0;
}
and also cmd by self looks better as this
pawn Код:
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);
}
else if(!IsAnyVehicleInRange(3, 556.5441, -1283.1685, 17.2482))
{
CreateVehicle(586, 556.5441, -1283.1685, 17.2482, 180, -1, -1, 0);
}
else if(!IsAnyVehicleInRange(3, 549.0734, -1283.2427, 17.2482))
{
CreateVehicle(586, 549.0734, -1283.2427, 17.2482, 180, -1, -1, 0);
}
else if(!IsAnyVehicleInRange(3, 535.5510, -1283.3774, 17.2422))
{
CreateVehicle(586, 535.5510, -1283.3774, 17.2422, 180, -1, -1, 0);
}
else if(!IsAnyVehicleInRange(3, 528.6564, -1283.4464, 17.2422))
{
CreateVehicle(586, 528.6564, -1283.4464, 17.2422, 180, -1, -1, 0);
}
else if(!IsAnyVehicleInRange(3, 520.9333, -1288.3192, 17.2422))
{
CreateVehicle(586, 520.9333, -1288.3192, 17.2422, 180, -1, -1, 0);
}
else
{
SendClientMessage(playerid, 0xFFFFFFFF, "There is no space - try another dealership.");
}
}
return 1;
}
Dont use return, if you use else if thing
Re: Vehicle Spawning Not Working -
jameskmonger - 06.10.2010
Thankyou so much!