Другое С/С++ Вопрос - Ответ

F0RQU1N and

Известный
1,309
493
1. Как рисовать на игроках? Способ из этого https://www.blast.hk/threads/25417/ урока не работает, крашит.
Циклом проходишся по всем игрокам, получаешь их координаты, конвертируешь в экранные и рисуешь, советую рисовать через рендер имгуя.
И кстати - всё работает)

2. Как вытащить из player data нажатие клавиш других игроков
Вроде как оно токо на сервер отправляется, а если нет, то также, как и с outcoming синхрой. Чекнул, ваще странно что самп эту инфу всем игрокам рассылает
 
Последнее редактирование:

zKuk

Активный
150
59
Парни помогите пожалуйста, как сделать текст над объектом типо вх asi r3
 

Savchik Blazer

Но я, мечту свою лелея...
Проверенный
672
292
Как получить координаты объекта по его ид(sfapi) ?
Как получить расстояние между координатами?
 

F0RQU1N and

Известный
1,309
493
Как получить координаты объекта по его ид(sfapi) ?
Получи от туда CObject, и там будет позиция

Как получить расстояние между координатами?
Как обычно
C++:
float GetDistance(float X, float Y, float Z, float XX, float YY, float ZZ) {
    return sqrt((X - XX) * (X - XX) + (Y - YY) * (Y - YY) + (Z - ZZ) * (Z - ZZ));
}
 
  • Нравится
Реакции: Savchik Blazer

Savchik Blazer

Но я, мечту свою лелея...
Проверенный
672
292
как сделать открытие/закрытие имгуи окна по команде?
 

killian228

Потрачен
12
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Что делать крашит игру


sampapi:
for (int i = 0; i < 1000 /*max_object*/; i++)
    {
        if (i >= 999) {
            ObjectIDs = false;
            i = 0;
            break;
        }

        if (sampapi::v037r3::RefNetGame()->GetObjectPool()->Get(i)->GetDistanceToLocalPlayer() < 2.f)
        {
            char buffer[64];
            sprintf_s(buffer, "Object id: %d", i);
            g_Chat->AddMessage(-1, buffer);
            ObjectIDs = false;
            i = 0;
            break;
        }
        Sleep(20);
    }

Суть кода: перебирает id объектов которые на дистанции 2-ух метров, и выводит в чат.
 

EclipsedFlow

Известный
Проверенный
1,040
459
Что делать крашит игру


sampapi:
for (int i = 0; i < 1000 /*max_object*/; i++)
    {
        if (i >= 999) {
            ObjectIDs = false;
            i = 0;
            break;
        }

        if (sampapi::v037r3::RefNetGame()->GetObjectPool()->Get(i)->GetDistanceToLocalPlayer() < 2.f)
        {
            char buffer[64];
            sprintf_s(buffer, "Object id: %d", i);
            g_Chat->AddMessage(-1, buffer);
            ObjectIDs = false;
            i = 0;
            break;
        }
        Sleep(20);
    }

Суть кода: перебирает id объектов которые на дистанции 2-ух метров, и выводит в чат.
C++:
for (int i = 0; i < 1000 /*max_object*/; i++)
{
    if (sampapi::v037r3::RefNetGame()->GetObjectPool()->Get(i)->DoesExits())
    {
        if (sampapi::v037r3::RefNetGame()->GetObjectPool()->Get(i)->GetDistanceToLocalPlayer() <= 2.0f)
        {
            char buffer[64];
            sprintf(buffer, "Object id: %d", i);
            g_Chat->AddMessage(-1, buffer);
        }
    }
}

Прочитай про цикл for как он работает и что делает
 

killian228

Потрачен
12
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
C++:
for (int i = 0; i < 1000 /*max_object*/; i++)
{
    if (sampapi::v037r3::RefNetGame()->GetObjectPool()->Get(i)->DoesExits())
    {
        if (sampapi::v037r3::RefNetGame()->GetObjectPool()->Get(i)->GetDistanceToLocalPlayer() <= 2.0f)
        {
            char buffer[64];
            sprintf(buffer, "Object id: %d", i);
            g_Chat->AddMessage(-1, buffer);
        }
    }
}

Прочитай про цикл for как он работает и что делает
Крашит