Автор: HoRRoR
Code: Select all
stock CreateObjectsX(objectid,Float:px, Float:py, Float:pz, Float:rx, Float:ry, ammount, Float:radius, Float:angle=360.0, bool:circleangles=true, Float:rz=0.0) //by horr0r
{
if(ammount <= 1 || 0.0 <= angle > 360.0 || radius<=0.0) return false;
for(new i=0;i<=ammount;i++) CreateObject(objectid, px+floatsin((angle/ammount)*i, degrees)*radius, py+floatcos((angle/ammount)*i, degrees)*radius, pz, rx, ry, circleangles ? ((-angle/ammount)*i) : (rz));
return true;
}
Значение аргументов:
objectid - ид объекта [integer]
px - позиция X [float]
py - позиция Y [float]
pz - позиция Z [float]
rx - вращение по оси X [float]
ry - вращение по оси Y [float]
ammount - количество объектов [integer]
radius - дистанция от центра [float]
angle - градусы по которым будут распределены объекты [float] (не обязательно указывать значение при использовании, по дефолту 360 градусов)
circleangles - вращать по оси Z [bool] (не обязательно указывать значение при использовании, по дефолту включен)
rz - вращение по оси Z [float]
Пример:
Code: Select all
new Float:xpos[3];
GetPlayerPos(playerid, xpos[0], xpos[1], xpos[2]);
CreateObjectsX(782, xpos[0], xpos[1], xpos[2], 0.0, 0.0, 30, 10.0);
- Результат
- аргумент circleangles
- Аргумент включён
выключен
180 градусов