Описание:
Прикрепляет к игроку объект, созданный с помощью 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.
Без оптимизации:
{ return 1; }
С оптимизацией возвращаемого значения (к тому же, там всего 1 предложение и можно убрать фигурные скобки):
SendClientMessage в любом случае вернёт 1 (игрок подключен, раз это он вызвал команду).
С функцией AttachObjectToPlayer такой оптимизации проделать не получится, т.к. функция никогда не возвращает 1.
Пример использования:
// Простой редактор прикрепляемых объектов. // Используйте /attachtest для создания объекта на вашем персонаже. // Чтобы удалить прикреплённый объект, введите /attachtest ещё раз. // Для работы требуются sscanf2 и DC_CMD (либо ZCMD). CMD:attachtest(playerid, params[]) { // by Daniel_Cortez \\ pro-pawn.ru 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 }
Статью подготовил: Daniel_Cortez
Специально для Pro-Pawn.ruКопирование данной статьи на других ресурсах без разрешения автора запрещено.