colobot-data/help/cbot/R/object.txt

70 lines
7.4 KiB
Plaintext
Raw Normal View History

\b;Тип \c;object\n;
Используйте этот тип для переменных, которые должны содержать характеристики объекта, это может быть бот, здание, какие природные ископаемые, враг и так далее.
\c;\l;int\u cbot\int; object.category \n;\l;Категория\u cbot\category; объекта
\c;\l;point\u cbot\point; object.position \n;Положение объекта (x,y,z)
\c;\l;float\u cbot\float; object.orientation \n;Ориентация объекта (0..360)
\c;\l;float\u cbot\float; object.pitch \n;Передний/задний угол объекта
\c;\l;float\u cbot\float; object.roll \n;Правый/левый угол объекта
\c;\l;float\u cbot\float; object.energyLevel \n;Уровень энергии (0..1)
\c;\l;float\u cbot\float; object.shieldLevel \n;Уровень полей (0..1)
\c;\l;float\u cbot\float; object.temperature \n;Температура двигателя (0..1)
\c;\l;float\u cbot\float; object.altitude \n;Высота над землей
\c;object object.energyPack \n;Энергетические ячейки бота
\c;object object.load \n;Объект, который несет бот
\s;\c;category\n;
\n;\l;Категория\u cbot\category; объекта позволяет вам узнать, что это такое, то есть например какой это вид бота, здания, врага и так далее.
\s;\c;position\n;
Положение объекта на планете в метрах. Координаты \c;x\n; и \c;y\n; соответствуют положению на карте, а координата \c;z\n; соответствует высоте над (и соответственно под) уровнем моря.
\s;\c;orientation\n;
Ориентация объекта в градусах. Ориентация говорит вам о том, в каком направлении смотрит объект. Ориентация \c;0\n; соответствует объекту. который смотрит на восток, таким образом следуя положительному направлению оси \c;x\n;. Ориентация измеряется против часовой стрелки.
\s;\c;pitch\n;
Передний/задний угол робота. Уклон равный \c;0\n; означает, что бот стоит на ровно поверхности. Положительный наклон означает, что он смотрит вверх, а отрицательный, что он смотрит вниз.
\s;\c;roll\n;
Левый/правый угол бота в градусах. Положительное значение значит, что бот наклонен на левый бок, а отрицательное, что он клонится на правый бок.
\s;\c;energyLevel\n;
Уровень энергии может быть от 0 до 1. Обычная \l;энергетическая ячейка\u object\power;, которая полностью заряжена, будет возвращать значение \c;1\n;. \l;Ядерная энергетическая ячейка\u object\atomic; тоже не будет возвращать значение больше 1, просто это значение будет держаться дольше. Внимание: энергетический уровень бота всегда равен нулю, так как энергия содержится не в боте, а в энергетической ячейке. Чтобы определить энергетический уровень энергетической ячейки бота, вы должны написать \c;energyPack.energyLevel\n;.
\s;\c;shieldLevel\n;
Уровень полей робота или здания. Уровень \c;1\n; показывает, что поля превосходны. Каждый раз, когда по боту или зданию попадает пуля или же он сталкивается с другим объектом, уровень полей уменьшается. Когда уровень становится равным \c;0\n;, первая же пуля или столкновение приведут к уничтожению бота или здания.
Боты могут перезаряжать свои поля в \l;центре починки\u object\repair;. Поля здания восстанавливаются, если оно помещается внутрь защитной сферы \l;полевика\u object\botshld;.
\s;\c;temperature\n;
Температура реактивной струи \l;летающих ботов\u object\botgj;. \c;0\n; соответствует холодной струе. При их использовании температура растет по прогрессии. Когда она достигает значения \c;1\n;, двигатель перенагревается и прекращает работать до тех пор, пока немного не остынет.
\s;\c;altitude\n;
Координата положения \c;z\n; показывает высоту над уровнем моря, то есть \c;высота\n; показывает высоту над землей. Это значение имеет смысл только для \l;летающих ботов\u object\botgj; и для \l;ос\u object\wasp;. Для всех остальных объектов это значение равно нулю.
\s;\c;lifeTime\n;
The age of the object in seconds since it's creation.
\s;\c;energyCell\n;
Это особая информация, так как она возвращает информацию о другом объекте, в данном случае о энергетическом заряде. Это означает, что energyPack содержит все характеристики обычного объекта, например \c;категорию\n; (PowerCell или NuclearCell), \c;положение\n; (положение ячейки) и так далее.
Если вы хотите определить энергетический уровень робота, то вы должны проверить не \c;energyLevel\n;, а \c;energyPack.energyLevel\n;.
Если у бота нет энергетической ячейки, то \c;energyPack\n; вернет \c;null\n;.
\s;\c;load\n;
Эта информация также вернет описание целого объекта: описание объекта, который несет \l;несущий\u object\botgr;. Если он ничего не несет, то \c;load\n; вернет \c;null\n;.
\b;Примеры
Тип \c;object\n; возвращает особое значение \c;\l;null\u cbot\null;\n;, когда объект не существует. Например:
\c;
\s; object a;
\s; a = radar(BotGrabberRoller);
\s; if ( a == null ) // объект не существует ?
\s; {
\s; }
\s; if ( a.position.z > 50 ) // он на горе ?
\s; {
\s; }
\n;
\t;Смотри также
\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.