11.02.2012, 14:14
pawn Код:
stock ReturnRandomPolygon3(&Float:Point1[2],&Float:Point2[2],&Float:Point[2])
{
Point1[0] = (random(6000)-3000.0);
Point1[1] = (random(6000)-3000.0);
Point2[0] = (random(6000)-3000.0);
Point2[1] = (random(6000)-3000.0);
Point3[0] = (random(6000)-3000.0);
Point3[1] = (random(6000)-3000.0);
}
stock ReturnRandomPolygon3ex(&Float:Point1[2],&Float:Point2[2],&Float:Point3[2])//other function
{
Point1[0] = (random(6000)-3000.0);
Point1[1] = (random(6000)-3000.0);
while(IsPointInPoligon(Point1[0],Point1[1],...yourPolygon...)
{
Point1[0] = (random(6000)-3000.0);
Point1[1] = (random(6000)-3000.0);
}
Point2[0] = (random(6000)-3000.0);
Point2[1] = (random(6000)-3000.0);
while(IsPointInPoligon(Point2[0],Point2[1],...yourPolygon...)
{
Point2[0] = (random(6000)-3000.0);
Point2[1] = (random(6000)-3000.0);
}
Point3[0] = (random(6000)-3000.0);
Point3[1] = (random(6000)-3000.0);
while(IsPointInPoligon(Point3[0],Point3[1],...yourPolygon...)
{
Point3[0] = (random(6000)-3000.0);
Point3[1] = (random(6000)-3000.0);
}
}
example use:
new Float:Points[3][2];
ReturnRandomPolygon3(Points[0],Points[1],Points[2]);
Edit the functions so they meet your requirements..