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

FordeD

Участник
98
11
Спрошу еще раз, может знает кто как над своим персонажем в SAMP вывести 3D текст который будет обновлять позицию если изменяются координаты игрока?
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Спрошу еще раз, может знает кто как над своим персонажем в SAMP вывести 3D текст который будет обновлять позицию если изменяются координаты игрока?
Рисуешь рендером.
Получаешь позицию своего педа, рисуешь с помощью созданного шрифта(stFontInfo*). Всё.
 

FordeD

Участник
98
11
Рисуешь рендером.
Получаешь позицию своего педа, рисуешь с помощью созданного шрифта(stFontInfo*). Всё.

Вроде как получил координаты, определил шрифт. Все равно работает
Код:
C++:
bool CALLBACK Present(CONST RECT *pSourceRect, CONST RECT *pDestRect, HWND hDestWindowOverride, CONST RGNDATA *pDirtyRegion)
{
    if (SUCCEEDED(SF->getRender()->BeginRender())) // если девайс готов к рисованию
    {
        float fPos[] = { PEDSELF->GetPosition()->fX, PEDSELF->GetPosition()->fY, PEDSELF->GetPosition()->fZ, };
        SF->getSAMP()->getInfo()->pPools->pText3D->Create3DText(100, "3D text", D3DCOLOR_ARGB(0xFF, 0xFF, 0xFF, 00), fPos, 100.0f, true, -1, -1);
        SF->getRender()->EndRender(); // завершаем рисование
    };

    return true; // возвращаем положительный результат
};

И вот вывод:
C++:
        pFont = SF->getRender()->CreateNewFont("Tahoma", 11, FCR_BORDER);
        SF->getRender()->registerD3DCallback(eDirect3DDeviceMethods::D3DMETHOD_PRESENT, HUD);

Строку stFontInfo *pFont; прописал после инклудов
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Божечки.
Стирай это всё.

Создай 3д текст.
В цикле просто SF->getSAMP()->getInfo()->pPools->pText3D->textLabel[100]->fPosition[0] = ...
 

FordeD

Участник
98
11
Божечки.
Стирай это всё.

Создай 3д текст.
В цикле просто SF->getSAMP()->getInfo()->pPools->pText3D->textLabel[100]->fPosition[0] = ...
что-то не так ...
C++:
char textLabel[100] = "Yeah!";
        SF->getSAMP()->getInfo()->pPools->pText3D->textLabel[100]->fPosition[0] = PEDSELF->GetPosition()->fX;
просто не пережевывает...
 

FordeD

Участник
98
11
В мейнлупе, а не коллбеке рендера.
на начало (SF) все время ругается куда не поставь. Вот что я забыл поставить?
C++:
char textLabel[] = "Yeah!";
        SF->getSAMP()->getInfo()->pPools->pText3D->textLabel[100]->fPosition[0] = PEDSELF->GetPosition()->fX;
        SF->getSAMP()->getInfo()->pPools->pText3D->textLabel[100]->fPosition[1] = PEDSELF->GetPosition()->fY;
        SF->getSAMP()->getInfo()->pPools->pText3D->textLabel[100]->fPosition[2] = PEDSELF->GetPosition()->fZ;
Не могу сообразить..
 

Dark_Knight

Me, me and me.
Друг
4,062
2,077
Проверяешь существует ли определенный 3д текст. Если нет - создаешь, иначе редактируешь.
 

FordeD

Участник
98
11
Проверяешь существует ли определенный 3д текст. Если нет - создаешь, иначе редактируешь.
попробую проверку завтра написать

Проверяешь существует ли определенный 3д текст. Если нет - создаешь, иначе редактируешь.
не подскажешь какого типа должны быть строки в mainloop
C++:
SF->getSAMP()->getInfo()->pPools->pText3D->textLabel[100]->fPosition[0] = PEDSELF->GetPosition()->fX;
            SF->getSAMP()->getInfo()->pPools->pText3D->textLabel[100]->fPosition[1] = PEDSELF->GetPosition()->fY;
            SF->getSAMP()->getInfo()->pPools->pText3D->textLabel[100]->fPosition[2] = PEDSELF->GetPosition()->fZ;
 
Последнее редактирование модератором: