Описание:
Прикрепляет к игроку объект, созданный с помощью CreateObject.
Параметры:
objectid - ID созданного ранее объекта.
playerid - ID игрока.
Float:OffsetX - смещение по оси X.
Float:OffsetY - смещение по оси Y.
Float:OffsetZ - смещение по оси Z.
Float:RotX - поворот по оси X.
Float:RotY - поворот по оси Y.
Float:RotZ - поворот по оси Z.
Возвращаемое значение:
Функция всегда возвращает 0.
Примечания:- Не путайте эту функцию с SetPlayerAttachedObject.
В AttachObjectToPlayer используется ID объекта, созданного с помощью CreateObject, в SetPlayerAttachedObject - ID модели объекта.
- Функция возвращает 0 во всех случаях, поэтому нельзя определить успех её выполнения.
- По той же причине, что и выше, нельзя сделать с этой функцией оптимизацию возвращаемых значений.
Рассмотрим такую оптимизацию на примере SendClientMessage.
Без оптимизации:
if(strcmp(cmdtext
, "/sampletext", true) == 0) {
return 1;
}
С оптимизацией возвращаемого значения (к тому же, там всего 1 предложение и можно убрать фигурные скобки):
if(strcmp(cmdtext
, "/sampletext", true) == 0)
SendClientMessage в любом случае вернёт 1 (игрок подключен, раз это он вызвал команду).
С функцией AttachObjectToPlayer такой оптимизации проделать не получится, т.к. функция никогда не возвращает 1.
Пример использования:
// Простой редактор прикрепляемых объектов.
// Используйте /attachtest для создания объекта на вашем персонаже.
// Чтобы удалить прикреплённый объект, введите /attachtest ещё раз.
// Для работы требуются sscanf2 и DC_CMD (либо ZCMD).
CMD:attachtest(playerid, params[])
{ // by Daniel_Cortez \\ pro-pawn.ru
if(IsPlayerAdmin(playerid
)) // Проверку на админа замените на свою. return 1;
static objectid = 0;
if(objectid != 0) // Если объект уже создан - удалить его и вернуть управление.
{
objectid = 0;
}
static const usage_msg[] =
!"Использование: /attachtest [ID модели] "\
"[смещение по осям (X, Y, Z)] [поворот по осям]";
extract params -> new modelid, Float:ox, Float:oy, Float:oz, Float:rx=0.00, Float:ry=0.00, Float:rz=0.00;else
objectid
= CreateObject(modelid
, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00);}
Статью подготовил: Daniel_Cortez
Копирование данной статьи на других ресурсах без разрешения автора запрещено.