Другое SAMPFUNCS | API C++

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
C++:
if (SF->getSAMP()->getInfo()->pPools->pObject->IsObjectExists(i))
{
    object_info *object = SF->getSAMP()->getInfo()->pPools->pObject->object[i]->pGTAEntity;
    if (object != nullptr)
    {
        x = object->base.matrix[4 * 3];
        y = object->base.matrix[4 * 3 + 1];
        z = object->base.matrix[4 * 3 + 2];

        rx = object->base.matrix[0];
        ry = object->base.matrix[1];
        rz = object->base.matrix[2];
    }
}
[/i]

Если не ошибаюсь и нашел правильно, то структура матрицы в sa:
Код:
0 - 12 -> Rotation Matrix (Grad)
16 - 28 -> Rotation Matrix (Looking)
48 - 60 -> Position Matrix
(делим оффсеты на 4, т.к. все параметры читаются 4 байтами и получаем необходимый нам):
0 - 12 -> Rotation Matrix:
Rot X = 0 -> 0
Rot Y = 4 -> 1
Rot Z = 8 -> 2​


Насчет движения: если есть такой флаг для объекта, ищи)), либо используй хук на RPC.
 
  • Нравится
Реакции: nazarik

nazarik

Новичок
5
0
C++:
if (SF->getSAMP()->getInfo()->pPools->pObject->IsObjectExists(i))
{
    object_info *object = SF->getSAMP()->getInfo()->pPools->pObject->object[i]->pGTAEntity;
    if (object != nullptr)
    {
        x = object->base.matrix[4 * 3];
        y = object->base.matrix[4 * 3 + 1];
        z = object->base.matrix[4 * 3 + 2];

        rx = object->base.matrix[0];
        ry = object->base.matrix[1];
        rz = object->base.matrix[2];
    }
}
[/i]

Если не ошибаюсь и нашел правильно, то структура матрицы в sa:
Код:
0 - 12 -> Rotation Matrix (Grad)
16 - 28 -> Rotation Matrix (Looking)
48 - 60 -> Position Matrix
(делим оффсеты на 4, т.к. все параметры читаются 4 байтами и получаем необходимый нам):
0 - 12 -> Rotation Matrix:
Rot X = 0 -> 0
Rot Y = 4 -> 1
Rot Z = 8 -> 2​


Насчет движения: если есть такой флаг для объекта, ищи)), либо используй хук на RPC.
Оу спасибо, теперь позиции обьектов выводит как надо, насчет ротации - что то не то.

Выводит: CreateObject(18850, 752.032410, -1207.830811, 7.010000, 1.000000, 0.000000, -0.000000);
P.S. диапозон [rot_x, y, z] у всех обьектов (от -1.000000 до 1.000000)
 

Trou

Известный
29
32
How Can i Wait On My Script ? Example::

Код:
SF->....AddMessageToChat(-1,"Hi");
.....(700)
SF->....AddMessageToChat(-1,"700 miliseconds passed");
 
Последнее редактирование модератором:

Tray228

Новичок
218
27
Как сделать включение\отключение какой либо функи (AntTweakBar!!!!!)
 

RakNet

Режим чтения
25
13
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Последнее редактирование: