Quote:
Originally Posted by iJumbo
Well this is the function that i made by a mistake but is working so...
pawn Код:
stock CreateRandomPosInZonePerimeter(Count, Float:MinX, Float:MinY, Float:MaxX, Float:MaxY) { new Float:Width = floatabs(MaxX - MinX); new Float:Height = floatabs(MaxY - MinY); new Float:Perimeter = (Width * 2) + (Height * 2); for(new i = 0; i != Count; i++) { new Float:C[2],Float:dist = modulus(random(9000), Perimeter); if(dist <= Width) { C[0] = modulus(random(9000), Width) + MinX; C[1] = MinY; } else if(dist <= Width + Height) { C[0] = MaxX; C[1] = modulus(random(9000), Height) + MinY; } else if(dist <= (Width * 2) + Height) { C[0] = modulus(random(9000), Width) + MinX; C[1] = MaxY; } else { C[0] = MinX; C[1] = modulus(random(9000), Height) + MinY; } //Do something with X = (C[0]) Y = (C[1]) printf("%f : %f",C[0],C[1]); } }
pawn Код:
stock Float:modulus(Float:a, Float:b) { while(a > b) a -= b; return a; }
The modulus function i dont know if is ok :/
This return a random point * Count in a zone perimeter

|
Can u make a code which returns an random point Count in the zone area??